From e4460870d4e959e5cc4549373c7c90e2b52f0e64 Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Thu, 30 May 2019 18:00:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E4=BF=9D=E5=B0=8F=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/BabyCheckController.java | 25 ++++++++ .../operate/web/facade/BabyCheckFacade.java | 67 +++++++++++++++++++++- .../operate/web/request/WxBabyMeasureRequest.java | 14 +++++ 3 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyMeasureRequest.java 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 48a3ac1..74a2a62 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 @@ -5,12 +5,14 @@ import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.dao.BaseQuery; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.BabyCheckFacade; import com.lyms.platform.operate.web.request.BabyCheckRequest; +import com.lyms.platform.operate.web.request.WxBabyMeasureRequest; import com.lyms.platform.permission.service.CouponService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -276,6 +278,29 @@ public class BabyCheckController extends BaseController{ return babyCheckFacade.getBabyReport(getUserId(request),babyId); } + /** + * 儿保小程序 - 儿童测量信息录入 + * + * @param param + * @return + */ + @RequestMapping("/wx/babyMeasureInfo/saveOrUpdate") + @ResponseBody + public BaseResponse babyMeasureInfoSaveOrUpdate(@RequestBody WxBabyMeasureRequest param){ + return babyCheckFacade.babyMeasureInfoSaveOrUpdate(param); + } + + /** + * 儿保小程序 - 儿童测量信息列表 + * + * @param param + * @return + */ + @RequestMapping("/wx/babyMeasureInfo/list") + @ResponseBody + public BaseResponse babyMeasureInfoList(@RequestBody BaseQuery param){ + return babyCheckFacade.babyMeasureInfoList(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 4c17910..1630a9c 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 @@ -3,12 +3,15 @@ package com.lyms.platform.operate.web.facade; import com.lyms.hospitalapi.qhdfy.QhdfyHisService; import com.lyms.platform.biz.service.*; 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.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; -import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.BabyCheckRequest; +import com.lyms.platform.operate.web.request.WxBabyMeasureRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.utils.MongoUtil; @@ -23,7 +26,6 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; @@ -2381,4 +2383,65 @@ public class BabyCheckFacade { return md; } } + + /** + * 儿保小程序 - 儿童测量信息录入 + * + * @param param + * @return + */ + 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); + if (model == null){ + List babyInfos = param.getBabyInfos(); + Map map = babyInfos.get(0); + map.put("createTime", DateUtil.getyyyy_MM_dd(new Date())); + param.setCreateTime(new Date()); + WxMeasureInfoModel wxModel = param; + mongoTemplate.insert(wxModel); + // 新增 + return new BaseResponse(); + } + param.setUpdateTime(new Date()); + List dbBabyInfos = model.getBabyInfos(); + boolean exist = false; + Map currentMap = param.getBabyInfos().get(0); + if (CollectionUtils.isNotEmpty(dbBabyInfos)){ + for (Map map: dbBabyInfos){ + String dbDate = map.get("createTime").toString(); + String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + if (dbDate.equals(currentDate)){ + exist = true; + map.putAll(currentMap); + // temperature 体温 height 身高 weight 体重 headWidth 头围 bust 胸围 feed 喂养 createTime 时间 + break; + } + } + } + if (!exist){ + dbBabyInfos.add(param.getBabyInfos().get(0)); + } + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(model.getId())), MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)), WxMeasureInfoModel.class); + return new BaseResponse(); + } + + /** + * 儿保小程序 - 儿童测量信息列表 + * + * @param param + * @return + */ + 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()); + } + return null; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyMeasureRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyMeasureRequest.java new file mode 100644 index 0000000..89a2e4f --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/WxBabyMeasureRequest.java @@ -0,0 +1,14 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.pojo.WxMeasureInfoModel; + +/** + * + * @Author dongqin + * @Description 儿保信息录入 + * @Date 15:30 2019/5/30 + */ + +public class WxBabyMeasureRequest extends WxMeasureInfoModel { + +} -- 1.8.3.1