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 |