From ab6e26fe7ed1407afad2fa24675b69f68867aec4 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 28 Mar 2018 14:17:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E6=A3=80=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/service/impl/CouponServiceImpl.java | 105 ++++++++++++++++++++- .../main/resources/mainOrm/master/CouponMapper.xml | 2 +- 2 files changed, 103 insertions(+), 4 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java index 92ded98..451f31a 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java @@ -2,6 +2,7 @@ package com.lyms.platform.permission.service.impl; import com.alibaba.fastjson.JSON; import com.lyms.platform.biz.SequenceConstant; +import com.lyms.platform.biz.dal.IPatientDao; import com.lyms.platform.biz.service.GenSequenceIdService; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.RespBuilder; @@ -51,6 +52,9 @@ public class CouponServiceImpl implements CouponService { /** 2 = 儿童 */ private static final String CHILDREN = "2"; + @Autowired + private IPatientDao iPatientDao; + /** 3_{?} = 产妇 */ /** 产妇没有分娩记录且没有出院小结 */ private static final String MATERNAL_NCHILDBIRTH_NHOSPITAL = "3_1"; @@ -62,7 +66,7 @@ public class CouponServiceImpl implements CouponService { /** 建档 */ private static final String PUT_ON_RECORD = "4"; -@Autowired + @Autowired private WeixinQrcodeConfigService weixinQrcodeConfigService; @Autowired private CouponMapper couponMapper; @@ -119,8 +123,92 @@ public class CouponServiceImpl implements CouponService { Map param = new HashMap<>(); param.put("types", types); param.put("hospitalId", hospitalId); + + Integer start = null; + if (person.getType() == 1 || person.getType() == 3) + { + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("id").is(patientId)), Patients.class); + if (patients != null && patients.getType() == 3) + { + Date fmDate = patients.getFmDate(); + if (fmDate != null) + { + start = DateUtil.getDays(fmDate,new Date()); + } + } + else if (patients != null && patients.getType() == 1) + { + start = DateUtil.getWeek(patients.getLastMenses(),new Date()); + } + } + else if (person.getType() == 2) + { + BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(patientId)), BabyModel.class); + if (babyModel != null && babyModel.getBirth() != null) + { + start = DateUtil.getMonth(babyModel.getBirth(), new Date()); + + } + } + List> temps = couponMapper.findTemp(param); - if(CollectionUtils.isEmpty(temps)) { + + List> list = new ArrayList<>(); + //滦平县妇幼保健院 + if ("2100001377".equals(hospitalId)) + { + if (CollectionUtils.isNotEmpty(temps)) + { + for (Map map : temps) + { + Integer type = Integer.parseInt(map.get("type").toString()); + if (person.getType() == 1) + { + if (type != 2) + { + list.add(map); + } + } + else if (person.getType() == 3) + { + if (type != 6) + { + list.add(map); + } + } + } + + for (Map map : temps) + { + if (person.getType() == 1) + { + Integer type = Integer.parseInt(map.get("type").toString()); + Integer showStart = Integer.parseInt(map.get("show_start").toString()); + if (type == 2 && showStart >= start) + { + list.add(map); + } + } + else if (person.getType() == 3) + { + Integer type = Integer.parseInt(map.get("type").toString()); + Integer showStart = Integer.parseInt(map.get("show_start").toString()); + if (type == 6 && showStart >= start) + { + list.add(map); + } + } + } + } + + } + else + { + list.addAll(temps); + } + + + if(CollectionUtils.isEmpty(list)) { return RespBuilder.buildErro(ResponseCode.COUPON_TEMP_NOT_FOUND); } @@ -129,7 +217,7 @@ public class CouponServiceImpl implements CouponService { return RespBuilder.buildErro(ResponseCode.OUPON_HOSPITAL_NOT_BOUND_AREA); } - sendCoupon(temps, hospitalId, createUserId, userId, person.getType(), areaCode); + sendCoupon(list, hospitalId, createUserId, userId, person.getType(), areaCode); /** 记录为已经发放过优惠券 */ mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(patientId)), Update.update("isSendCoupon", true), Patients.class); @@ -686,6 +774,17 @@ public class CouponServiceImpl implements CouponService { if(StringUtils.isNotEmpty(peopleNum)) { map.put("peopleNum", peopleNum); } + map.put("days",0); + //滦平县妇幼保健院2100001377 + //滦平县妇幼保健院首次产检券 孕0-12周 改为 孕0-12周+6天 + if ("2100001377".equals(hospitalId)) + { + Integer show_end = Integer.parseInt(String.valueOf(map.get("show_end"))); + if (show_end == 12) + { + map.put("days",6); + } + } } restMap.put("couponInfos", couponInfos); return RespBuilder.buildSuccess(restMap); diff --git a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml index 3231f53..4acf725 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -59,7 +59,7 @@