From 4682eaf2b4d7d47a01ccfe6d1bc942182fa260a6 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 7 Apr 2020 14:16:46 +0800 Subject: [PATCH] update --- .../platform/permission/service/CouponService.java | 1 + .../permission/service/impl/CouponServiceImpl.java | 64 +++++++++++++++++++++- .../operate/web/controller/CouponController.java | 14 +++++ 3 files changed, 76 insertions(+), 3 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java index 734f203..4782570 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/CouponService.java @@ -18,6 +18,7 @@ public interface CouponService{ BaseObjectResponse distErrorData(); BaseObjectResponse validate(String code, Integer type, String hospitalId); + BaseObjectResponse validate1(String code, Integer type, String hospitalId); BaseObjectResponse findList(String userId, String hospitalId, String url,Integer type); 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 2546c0c..2fa7ba9 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 @@ -436,9 +436,9 @@ public class CouponServiceImpl implements CouponService { if (couponInfo.getStatus() == -1) { return RespBuilder.buildErro(ResponseCode.COUPON_IS_DISABLED, patientsInfo); } -// if (couponInfo.getStatus() == 2) { -// return RespBuilder.buildErro(ResponseCode.COUPON_IS_USERD, patientsInfo); -// } + if (couponInfo.getStatus() == 2) { + return RespBuilder.buildErro(ResponseCode.COUPON_IS_USERD, patientsInfo); + } Map data = couponMapper.findValidateParam(param); if (MapUtils.isEmpty(data)) { @@ -470,6 +470,64 @@ public class CouponServiceImpl implements CouponService { } + + @Override + public BaseObjectResponse validate1(String code, Integer type, String hospitalId) { + Map param = new HashMap<>(); + param.put("code", code); + param.put("type", type); + List couponInfos = couponMapper.findList(param); + if (CollectionUtils.isEmpty(couponInfos)) + return RespBuilder.buildErro(ResponseCode.COUPON_NOT_FOUND); + if (couponInfos.size() > 1) + return RespBuilder.buildErro(ResponseCode.COUPON_NOT_UNIQUE); + + CouponInfo couponInfo = couponInfos.get(0); + Map patientsInfo = getPatientsInfo(couponInfo.getUserId()); + + if (couponInfo.getStatus() == 3) { + return RespBuilder.buildErro(ResponseCode.COUPON_IS_INVALID, patientsInfo); + } + if (couponInfo.getStatus() == -1) { + return RespBuilder.buildErro(ResponseCode.COUPON_IS_DISABLED, patientsInfo); + } + if (couponInfo.getStatus() == 2) { + patientsInfo.put("status",2); + } + else + { + patientsInfo.put("status",1); + } + + Map data = couponMapper.findValidateParam(param); + if (MapUtils.isEmpty(data)) { + return RespBuilder.buildErro(ResponseCode.COUPON_NOT_AVAILABLE, patientsInfo); + } + + PersonModel person = mongoTemplate.findById(couponInfo.getUserId(), PersonModel.class); + + /** 验证时间 */ + if (!validateDate(couponInfo.getUserId(), Integer.parseInt(data.get("actual_start").toString()), Integer.parseInt(data.get("actual_end").toString()), Integer.parseInt(data.get("unit_type").toString()), + data.get("create_hospital_id").toString(), Integer.parseInt(data.get("type").toString()), 2, person.getType())) + return RespBuilder.buildErro(ResponseCode.COUPON_TIME_OUT, patientsInfo); + + /** 验证区域 */ + if (!validateArea(data.get("area_type").toString(), couponInfo.getCreateHospitalId(), hospitalId)) { + return RespBuilder.buildErro(ResponseCode.COUPON_AREA_NO_USE, patientsInfo); + } + +// //验证优惠劵是否临时使用了 该功能属于秦皇岛区域 +// if (couponInfo.getTempStatus() != null && couponInfo.getTempStatus() == 1) { +// //验证临时使用的医院是不是当前登陆的医院 +// if (StringUtils.isNotEmpty(couponInfo.getTempHospitalId()) && !couponInfo.getTempHospitalId().equals(hospitalId)) { +// return RespBuilder.buildErro(ResponseCode.COUPON_IS_USED); +// } +// } + + + return RespBuilder.buildSuccess(patientsInfo); + } + @Override public BaseObjectResponse validateUse(String code, Integer type, String hospitalId) { Map param = new HashMap<>(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java index 33d5413..26d78cf 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponController.java @@ -115,6 +115,20 @@ public class CouponController extends BaseController { + @RequestMapping(method = RequestMethod.GET, value = "/validate1/{code}/{type}") + @ResponseBody + @TokenRequired + public BaseObjectResponse validate1(@PathVariable String code, @PathVariable Integer type, String userId, HttpServletRequest request) { + if(StringUtils.isNotEmpty(userId)) { + if(!couponService.validateUser(userId, code)) { /** 优惠券不属于本人 */ + return RespBuilder.buildErro(ResponseCode.COUPON_IS_NOT_SELF); + } + } + return couponService.validate1(code, type, autoMatchFacade.getHospitalId(getUserId(request))); + } + + + /** * 获取当前登陆医生所属医院的所有人员 * @param request -- 1.8.3.1