diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java index 74a2a62..0ac5feb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java @@ -284,7 +284,7 @@ public class BabyCheckController extends BaseController{ * @param param * @return */ - @RequestMapping("/wx/babyMeasureInfo/saveOrUpdate") + @RequestMapping(method = RequestMethod.POST, value = "/wx/babyMeasureInfo/saveOrUpdate") @ResponseBody public BaseResponse babyMeasureInfoSaveOrUpdate(@RequestBody WxBabyMeasureRequest param){ return babyCheckFacade.babyMeasureInfoSaveOrUpdate(param); @@ -296,11 +296,24 @@ public class BabyCheckController extends BaseController{ * @param param * @return */ - @RequestMapping("/wx/babyMeasureInfo/list") + @RequestMapping(method = RequestMethod.POST, value = "/wx/babyMeasureInfo/list") @ResponseBody public BaseResponse babyMeasureInfoList(@RequestBody BaseQuery param){ return babyCheckFacade.babyMeasureInfoList(param); } + /** + * 获取在儿保小程序中当天填入的最新测量信息 + * + * @param param + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/babyMeasureInfo/detail") + @TokenRequired + @ResponseBody + public BaseResponse babyMeasureInfoDetail(@RequestBody BaseQuery param){ + return babyCheckFacade.babyMeasureInfoDetail(param); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 1630a9c..d64200c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -6,7 +6,9 @@ import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.dao.BaseQuery; import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.enums.*; +import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; @@ -2393,7 +2395,7 @@ public class BabyCheckFacade { public BaseResponse babyMeasureInfoSaveOrUpdate(WxBabyMeasureRequest param) { param.setType("2"); String pid = param.getPid(); - WxMeasureInfoModel model = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid)), WxMeasureInfoModel.class); + WxMeasureInfoModel model = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("type").is("2")), WxMeasureInfoModel.class); if (model == null){ List babyInfos = param.getBabyInfos(); Map map = babyInfos.get(0); @@ -2421,9 +2423,11 @@ public class BabyCheckFacade { } } if (!exist){ - dbBabyInfos.add(param.getBabyInfos().get(0)); + Map map = param.getBabyInfos().get(0); + map.put("createTime", DateUtil.getyyyy_MM_dd(new Date())); + dbBabyInfos.add(map); } - mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(model.getId())), MongoConvertHelper + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(model.getId()).and("type").is("2")), MongoConvertHelper .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)), WxMeasureInfoModel.class); return new BaseResponse(); } @@ -2437,11 +2441,46 @@ public class BabyCheckFacade { public BaseResponse babyMeasureInfoList(BaseQuery param) { MongoCondition condition = MongoCondition.newInstance("type", "2", MongoOper.IS); condition = condition.and("pid", param.getKeyword(), MongoOper.IS); - if (org.apache.commons.lang.StringUtils.isNotEmpty(param.getNeed())) { - long count = mongoTemplate.count(Query.query(Criteria.where("type").is("2").and("ped").is(param.getKeyword())), WxMeasureInfoModel.class); - param.mysqlBuild((int) count); - //condition.start(babyQuery.getOffset()).end(babyQuery.getLimit()); + MongoQuery mongoQuery = condition.toMongoQuery(); + // 分页数量 + long count = mongoTemplate.count(mongoQuery.convertToMongoQuery(), WxMeasureInfoModel.class); + param.mysqlBuild((int) count); + mongoQuery.start(param.getOffset()).end(param.getLimit()); + + List infoModels = mongoTemplate.find(mongoQuery.convertToMongoQuery(), WxMeasureInfoModel.class); + if (CollectionUtils.isEmpty(infoModels)){ + infoModels = new ArrayList(); + } + BaseListResponse baseResponse = new BaseListResponse(); + baseResponse.setData(infoModels); + baseResponse.setPageInfo(param.getPageInfo()); + return baseResponse; + } + + /** + * 获取在儿保小程序中当天填入的最新测量信息 + * + * @param param + * @return + */ + public BaseResponse babyMeasureInfoDetail(BaseQuery param) { + List models = mongoTemplate.find(Query.query(Criteria.where("pid").is(param.getKeyword()).and("type").is("2")), WxMeasureInfoModel.class); + BaseResponse baseResponse = new BaseResponse(); + if (CollectionUtils.isNotEmpty(models)){ + for (WxMeasureInfoModel model: models){ + List babyInfos = model.getBabyInfos(); + if (CollectionUtils.isNotEmpty(babyInfos)){ + for (Map map : babyInfos){ + String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + String dbCreateDime = map.get("createTime").toString(); + if (dbCreateDime.equals(currentDate)){ + baseResponse.setObject(map); + break; + } + } + } + } } - return null; + return baseResponse; } } \ No newline at end of file