Commit d142c75c25e27de771fb002b886c62c053f498d5
Exists in
master
and in
1 other branch
Merge remote-tracking branch 'origin/master'
Showing 12 changed files
- platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java
- platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
- platform-common/src/main/java/com/lyms/platform/common/result/PageResult.java
- platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PregnantInfoResult.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java
platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java
View file @
d142c75
| ... | ... | @@ -82,5 +82,9 @@ |
| 82 | 82 | List<Map<String,Object>> findUserSendInfo(Map<String, Object> param); |
| 83 | 83 | |
| 84 | 84 | Integer findUserSendInfoCount(Map<String, Object> param); |
| 85 | + | |
| 86 | + List<String> findSendUserIds(Map<String, Object> param); | |
| 87 | + | |
| 88 | + List<String> findUsedUserIds(Map<String, Object> param); | |
| 85 | 89 | } |
platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java
View file @
d142c75
| ... | ... | @@ -12,7 +12,7 @@ |
| 12 | 12 | * @Version: V1.0 |
| 13 | 13 | */ |
| 14 | 14 | public interface CouponService{ |
| 15 | - BaseObjectResponse create(String userId, String hospitalId, Integer createUserId); | |
| 15 | + BaseObjectResponse create(String userId, String hospitalId, Integer createUserId, String patientId); | |
| 16 | 16 | |
| 17 | 17 | BaseObjectResponse validate(String code, Integer type, String hospitalId); |
| 18 | 18 |
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java
View file @
d142c75
| ... | ... | @@ -25,6 +25,7 @@ |
| 25 | 25 | import org.springframework.data.mongodb.core.MongoTemplate; |
| 26 | 26 | import org.springframework.data.mongodb.core.query.Criteria; |
| 27 | 27 | import org.springframework.data.mongodb.core.query.Query; |
| 28 | +import org.springframework.data.mongodb.core.query.Update; | |
| 28 | 29 | import org.springframework.stereotype.Service; |
| 29 | 30 | |
| 30 | 31 | import java.util.*; |
| ... | ... | @@ -94,7 +95,7 @@ |
| 94 | 95 | }; |
| 95 | 96 | |
| 96 | 97 | @Override |
| 97 | - public BaseObjectResponse create(String userId, String hospitalId, Integer createUserId) { | |
| 98 | + public BaseObjectResponse create(String userId, String hospitalId, Integer createUserId, String patientId) { | |
| 98 | 99 | if(isCreated(userId, hospitalId)) { |
| 99 | 100 | return RespBuilder.buildErro(ResponseCode.COUPON_IS_CREATED); |
| 100 | 101 | } |
| ... | ... | @@ -124,6 +125,10 @@ |
| 124 | 125 | } |
| 125 | 126 | |
| 126 | 127 | sendCoupon(temps, hospitalId, createUserId, userId, person.getType(), areaCode); |
| 128 | + | |
| 129 | + /** 记录为已经发放过优惠券 */ | |
| 130 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(patientId)), Update.update("isSendCoupon", true), Patients.class); | |
| 131 | + | |
| 127 | 132 | return RespBuilder.buildSuccess(); |
| 128 | 133 | } |
| 129 | 134 |
platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml
View file @
d142c75
| ... | ... | @@ -239,6 +239,23 @@ |
| 239 | 239 | group by b.coupon_order, b.type, a.used_hospital_id |
| 240 | 240 | </select> |
| 241 | 241 | |
| 242 | + <select id="findUsedUserIds" parameterType="map" resultType="string"> | |
| 243 | + select distinct(b.user_id) | |
| 244 | + from organization a, coupon_info b, coupon_template c, coupon_type d | |
| 245 | + where a.id = b.used_hospital_id and b.coupon_template_id = c.id and c.type_id = d.id | |
| 246 | + and a.id = #{hid} | |
| 247 | + and d.type in | |
| 248 | + <foreach collection="couponType" open="(" close=")" separator="," item="type"> | |
| 249 | + #{type} | |
| 250 | + </foreach> | |
| 251 | + <if test="startDate != null"> | |
| 252 | + and b.use_date >= #{startDate} | |
| 253 | + </if> | |
| 254 | + <if test="endDate != null"> | |
| 255 | + and b.use_date <![CDATA[ < ]]> #{endDate} | |
| 256 | + </if> | |
| 257 | + </select> | |
| 258 | + | |
| 242 | 259 | <select id="findHospitalUsedInfo" parameterType="map" resultType="map"> |
| 243 | 260 | select a.id, count(distinct(b.user_id)) as user_used_count, count(1) as coupon_used_count, a.area_id, a.city_id, a.province_id |
| 244 | 261 | from organization a, coupon_info b, coupon_template c, coupon_type d |
| ... | ... | @@ -253,6 +270,23 @@ |
| 253 | 270 | </if> |
| 254 | 271 | <if test="endDate != null"> |
| 255 | 272 | and b.use_date <![CDATA[ < ]]> #{endDate} |
| 273 | + </if> | |
| 274 | + </select> | |
| 275 | + | |
| 276 | + <select id="findSendUserIds" parameterType="map" resultType="string"> | |
| 277 | + select distinct(b.user_id) | |
| 278 | + from organization a, coupon_info b, coupon_template c, coupon_type d | |
| 279 | + where a.id = b.create_hospital_id and b.coupon_template_id = c.id and c.type_id = d.id | |
| 280 | + and a.id = #{hid} | |
| 281 | + and d.type in | |
| 282 | + <foreach collection="couponType" open="(" close=")" separator="," item="type"> | |
| 283 | + #{type} | |
| 284 | + </foreach> | |
| 285 | + <if test="startDate != null"> | |
| 286 | + and b.create_date >= #{startDate} | |
| 287 | + </if> | |
| 288 | + <if test="endDate != null"> | |
| 289 | + and b.create_date <![CDATA[ < ]]> #{endDate} | |
| 256 | 290 | </if> |
| 257 | 291 | </select> |
| 258 | 292 |
platform-common/src/main/java/com/lyms/platform/common/result/PageResult.java
View file @
d142c75
platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java
View file @
d142c75
| ... | ... | @@ -247,6 +247,9 @@ |
| 247 | 247 | |
| 248 | 248 | private Integer isAutoFm; |
| 249 | 249 | |
| 250 | + // 是否发放过优惠券 | |
| 251 | + private boolean isSendCoupon; | |
| 252 | + | |
| 250 | 253 | public Integer getIsAutoFm() { |
| 251 | 254 | return isAutoFm; |
| 252 | 255 | } |
| ... | ... | @@ -1053,6 +1056,14 @@ |
| 1053 | 1056 | |
| 1054 | 1057 | public void setStreetRegisterId(String streetRegisterId) { |
| 1055 | 1058 | this.streetRegisterId = streetRegisterId; |
| 1059 | + } | |
| 1060 | + | |
| 1061 | + public boolean isSendCoupon() { | |
| 1062 | + return isSendCoupon; | |
| 1063 | + } | |
| 1064 | + | |
| 1065 | + public void setSendCoupon(boolean sendCoupon) { | |
| 1066 | + isSendCoupon = sendCoupon; | |
| 1056 | 1067 | } |
| 1057 | 1068 | |
| 1058 | 1069 | @Override |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java
View file @
d142c75
| ... | ... | @@ -57,9 +57,9 @@ |
| 57 | 57 | @RequestMapping(method = RequestMethod.POST) |
| 58 | 58 | @ResponseBody |
| 59 | 59 | @TokenRequired |
| 60 | - public BaseObjectResponse create(String userId, String hospitalId, HttpServletRequest request) { | |
| 60 | + public BaseObjectResponse create(String userId, String hospitalId, String patientId, HttpServletRequest request) { | |
| 61 | 61 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
| 62 | - return couponService.create(userId, hospitalId, loginState.getId()); | |
| 62 | + return couponService.create(userId, hospitalId, loginState.getId(), patientId); | |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | 65 | /** |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
View file @
d142c75
| ... | ... | @@ -1075,6 +1075,10 @@ |
| 1075 | 1075 | |
| 1076 | 1076 | private PregnantInfoResult getResult(Patients p) { |
| 1077 | 1077 | PregnantInfoResult result = new PregnantInfoResult(); |
| 1078 | + | |
| 1079 | + /** 是否发放过优惠券 */ | |
| 1080 | + result.setSendCoupon(p.isSendCoupon()); | |
| 1081 | + | |
| 1078 | 1082 | result.setId(p.getId()); |
| 1079 | 1083 | /**********孕妇基本信息***************/ |
| 1080 | 1084 | result.setPregnantName(p.getUsername()); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java
View file @
d142c75
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PregnantInfoResult.java
View file @
d142c75
| ... | ... | @@ -6,6 +6,9 @@ |
| 6 | 6 | * Created by Administrator on 2016/6/15. |
| 7 | 7 | */ |
| 8 | 8 | public class PregnantInfoResult { |
| 9 | + | |
| 10 | + private boolean isSendCoupon; | |
| 11 | + | |
| 9 | 12 | /***********孕妇基本信息***********/ |
| 10 | 13 | |
| 11 | 14 | //建档Id |
| ... | ... | @@ -135,6 +138,13 @@ |
| 135 | 138 | //分娩状态 0未终止妊娠 1终止妊娠 |
| 136 | 139 | private Integer dueStatus; |
| 137 | 140 | |
| 141 | + public boolean isSendCoupon() { | |
| 142 | + return isSendCoupon; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public void setSendCoupon(boolean sendCoupon) { | |
| 146 | + isSendCoupon = sendCoupon; | |
| 147 | + } | |
| 138 | 148 | |
| 139 | 149 | public Integer getDueStatus() { |
| 140 | 150 | return dueStatus; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
d142c75
| ... | ... | @@ -468,7 +468,13 @@ |
| 468 | 468 | Map<String, Object> sendInfo = couponMapper.findHospitalSendInfo(param); |
| 469 | 469 | |
| 470 | 470 | Map<String, Object> tempMap = packCouponMap(sendInfo, usedInfo, hNameMap, hid, xAxis, param); |
| 471 | + | |
| 471 | 472 | if(MapUtils.isNotEmpty(tempMap)) { |
| 473 | + /** 方法/使用人数id */ | |
| 474 | + List<String> sendUserIds = couponMapper.findSendUserIds(param); | |
| 475 | + List<String> usedUserIds = couponMapper.findUsedUserIds(param); | |
| 476 | + tempMap.put("sendUserIds", sendUserIds); | |
| 477 | + tempMap.put("usedUserIds", usedUserIds); | |
| 472 | 478 | couponReport.add(tempMap); |
| 473 | 479 | } |
| 474 | 480 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java
View file @
d142c75
| ... | ... | @@ -51,6 +51,7 @@ |
| 51 | 51 | * @return |
| 52 | 52 | */ |
| 53 | 53 | public List<Map<String, Object>> getListByGroup(List<Patients> patients) { |
| 54 | + | |
| 54 | 55 | Map<String, Integer> codeMap = new HashMap<>(); /** key为 provinceId_cityId_areaId_month */ |
| 55 | 56 | Map<Integer, Integer> otherMap = new HashMap<>(); /** key为 month */ |
| 56 | 57 |