Commit 4a95b23d41bb8eb9bedfc3c67504106182187a94

Authored by liquanyu
1 parent 5e44b1ef5e

肌萎缩

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