Commit 586075969efdbda64b71b037a1b714ebfca5e70d

Authored by litao@lymsh.com
1 parent 7bd16f01ed

1

Showing 6 changed files with 26 additions and 3 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java View file @ 5860759
... ... @@ -94,5 +94,7 @@
94 94 Map<String,String> findCouponByCode(Map<String,String> param);
95 95  
96 96 int updateCouponStatus(Map<String, String> param);
  97 +
  98 + CouponInfo findUserCoupon(Map<String, Object> param);
97 99 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java View file @ 5860759
1 1 package com.lyms.platform.permission.service;
2 2  
3 3 import com.lyms.platform.common.result.BaseObjectResponse;
4   -import com.lyms.platform.permission.model.CouponInfo;
5 4  
6 5 import java.util.List;
7 6 import java.util.Map;
... ... @@ -47,5 +46,7 @@
47 46 BaseObjectResponse validateUse(String code, Integer type, String hospitalId);
48 47  
49 48 int updateCouponStatus(Map<String, String> param);
  49 +
  50 + boolean validateUser(String userId, String code);
50 51 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java View file @ 5860759
... ... @@ -7,7 +7,6 @@
7 7 import com.lyms.platform.common.result.ResponseCode;
8 8 import com.lyms.platform.common.utils.DateUtil;
9 9 import com.lyms.platform.common.utils.HttpClientUtil;
10   -import com.lyms.platform.common.utils.JsonUtil;
11 10 import com.lyms.platform.common.utils.PropertiesUtil;
12 11 import com.lyms.platform.permission.dao.master.CouponMapper;
13 12 import com.lyms.platform.permission.model.CouponInfo;
... ... @@ -543,6 +542,15 @@
543 542 @Override
544 543 public int updateCouponStatus(Map<String, String> param) {
545 544 return couponMapper.updateCouponStatus(param);
  545 + }
  546 +
  547 + @Override
  548 + public boolean validateUser(String userId, String code) {
  549 + Map<String, Object> map = new HashMap<>();
  550 + map.put("userId", userId);
  551 + map.put("code", code);
  552 + CouponInfo couponInfo = couponMapper.findUserCoupon(map);
  553 + return couponInfo == null ? false : true;
546 554 }
547 555  
548 556 @Override
platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml View file @ 5860759
... ... @@ -23,6 +23,10 @@
23 23 sequence_id,create_date,use_date, operator_use_id, user_id,create_user_id,coupon_template_id,create_hospital_id,used_id,used_hospital_id,status,temp_hospital_id,temp_status
24 24 </sql>
25 25  
  26 + <select id="findUserCoupon" parameterType="map" resultMap="couponInfoMap">
  27 + select * from coupon_info where user_id = #{user_id} and sequence_id = #{code}
  28 + </select>
  29 +
26 30 <select id="getUserName" parameterType="string" resultType="string">
27 31 select name from users where id = #{id}
28 32 </select>
platform-common/src/main/java/com/lyms/platform/common/result/ResponseCode.java View file @ 5860759
... ... @@ -29,6 +29,7 @@
29 29 COUPON_IS_USERD(1004, "优惠券已被使用"),
30 30 COUPON_IS_DISABLED(1005, "优惠券已被禁用"),
31 31 COUPON_IS_USED(1006, "当前优惠劵已经在其他医院使用,不能重复使用"),
  32 + COUPON_IS_NOT_SELF(1007, "当前优惠劵不属于本人"),
32 33  
33 34 NEED_BUILD(1101, "未找到建档信息");
34 35  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java View file @ 5860759
... ... @@ -8,7 +8,9 @@
8 8 import com.lyms.platform.common.base.LoginContext;
9 9 import com.lyms.platform.common.result.BaseObjectResponse;
10 10 import com.lyms.platform.common.result.RespBuilder;
  11 +import com.lyms.platform.common.result.ResponseCode;
11 12 import com.lyms.platform.common.utils.PropertiesUtil;
  13 +import com.lyms.platform.common.utils.StringUtils;
12 14 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
13 15 import com.lyms.platform.permission.service.CouponService;
14 16 import com.lyms.platform.pojo.PlantformConfigModel;
... ... @@ -90,7 +92,12 @@
90 92 @RequestMapping(method = RequestMethod.GET, value = "/validate/{code}/{type}")
91 93 @ResponseBody
92 94 @TokenRequired
93   - public BaseObjectResponse validate(@PathVariable String code, @PathVariable Integer type, HttpServletRequest request) {
  95 + public BaseObjectResponse validate(@PathVariable String code, @PathVariable Integer type, String userId, HttpServletRequest request) {
  96 + if(StringUtils.isNotEmpty(userId)) {
  97 + if(!couponService.validateUser(userId, code)) { /** 优惠券不属于本人 */
  98 + return RespBuilder.buildErro(ResponseCode.COUPON_IS_USED);
  99 + }
  100 + }
94 101 return couponService.validate(code, type, autoMatchFacade.getHospitalId(getUserId(request)));
95 102 }
96 103