Commit 4a95b23d41bb8eb9bedfc3c67504106182187a94
1 parent
5e44b1ef5e
Exists in
master
and in
6 other branches
肌萎缩
Showing 2 changed files with 25 additions and 8 deletions
platform-common/src/main/java/com/lyms/platform/common/utils/BeanUtils.java
View file @
4a95b23
1 | 1 | package com.lyms.platform.common.utils; |
2 | 2 | |
3 | + | |
4 | +import org.springframework.beans.BeanWrapper; | |
5 | +import org.springframework.beans.BeanWrapperImpl; | |
6 | + | |
3 | 7 | import java.beans.BeanInfo; |
4 | 8 | import java.beans.Introspector; |
5 | 9 | import java.beans.PropertyDescriptor; |
6 | 10 | |
... | ... | @@ -10,7 +14,9 @@ |
10 | 14 | import java.lang.annotation.*; |
11 | 15 | import java.lang.reflect.Field; |
12 | 16 | import java.util.HashMap; |
17 | +import java.util.HashSet; | |
13 | 18 | import java.util.Map; |
19 | +import java.util.Set; | |
14 | 20 | |
15 | 21 | /** |
16 | 22 | * @auther HuJiaqi |
17 | 23 | |
... | ... | @@ -213,6 +219,20 @@ |
213 | 219 | throw new RuntimeException("创建String类型的bean异常" + e); |
214 | 220 | } |
215 | 221 | } |
222 | + public static String[] getNullPropertyNames (Object source) { | |
223 | + final BeanWrapper src = new BeanWrapperImpl(source); | |
224 | + PropertyDescriptor[] pds = src.getPropertyDescriptors(); | |
216 | 225 | |
226 | + Set<String> emptyNames = new HashSet<>(); | |
227 | + for(PropertyDescriptor pd : pds) { | |
228 | + Object srcValue = src.getPropertyValue(pd.getName()); | |
229 | + // 此处判断可根据需求修改 | |
230 | + if (srcValue == null) { | |
231 | + emptyNames.add(pd.getName()); | |
232 | + } | |
233 | + } | |
234 | + String[] result = new String[emptyNames.size()]; | |
235 | + return emptyNames.toArray(result); | |
236 | + } | |
217 | 237 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java
View file @
4a95b23
... | ... | @@ -50,12 +50,12 @@ |
50 | 50 | SmnModel smnModel = mongoTemplate.findOne(query, SmnModel.class); |
51 | 51 | if (smnModel != null) |
52 | 52 | { |
53 | - BeanUtils.copyProperties(param,smnModel); | |
54 | - smnModel.setHospitalId(hospitalId); | |
55 | - smnModel.setStatus(2); | |
53 | + BeanUtils.copyProperties(smnModel,param, com.lyms.platform.common.utils.BeanUtils.getNullPropertyNames(smnModel)); | |
54 | + param.setHospitalId(hospitalId); | |
55 | + param.setStatus(2); | |
56 | 56 | Query query1 = Query.query(Criteria.where("id").is(smnModel.getId())); |
57 | 57 | Update update = MongoConvertHelper |
58 | - .convertToNativeUpdate(ReflectionUtils.getUpdateField(smnModel)); | |
58 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); | |
59 | 59 | mongoTemplate.updateFirst(query1, update, SmnModel.class); |
60 | 60 | return new BaseResponse(); |
61 | 61 | } |
... | ... | @@ -107,7 +107,6 @@ |
107 | 107 | param.setResult(1); |
108 | 108 | } |
109 | 109 | } |
110 | - | |
111 | 110 | Query query = Query.query(Criteria.where("id").is(param.getId())); |
112 | 111 | Update update = MongoConvertHelper |
113 | 112 | .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); |
... | ... | @@ -122,9 +121,7 @@ |
122 | 121 | |
123 | 122 | if(StringUtils.isNotEmpty(param.getQueryNo())) |
124 | 123 | { |
125 | - query.addCriteria(Criteria.where("phone") | |
126 | - .is(param.getQueryNo()).orOperator(Criteria.where("cardNo").is(param.getQueryNo()) | |
127 | - .orOperator(Criteria.where("username").is(param.getQueryNo())))); | |
124 | + query.addCriteria(new Criteria().orOperator(Criteria.where("phone").is(param.getQueryNo()), Criteria.where("cardNo").is(param.getQueryNo()), Criteria.where("username").is(param.getQueryNo()))); | |
128 | 125 | } |
129 | 126 | |
130 | 127 |