From 81f0a8c9e78a6f9e70ad862e0c64cdc6f319520c Mon Sep 17 00:00:00 2001 From: xhxu Date: Sun, 16 Jan 2022 14:30:08 +0800 Subject: [PATCH] =?UTF-8?q?/=E3=80=81.test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponOrderController.java | 89 +++++++++++++++++++ .../TestControllerReturnAspect.java | 8 +- .../impl/WxCouponOrderServiceImpl.java | 2 + 3 files changed, 95 insertions(+), 4 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 752e177eb..865cc2544 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -432,4 +432,93 @@ public class WxCouponOrderController extends BaseController { memCouponFromDspService.couponOrderFromDsp(tenantEntity, member.getPhone()); return new ResultData(); } + + + @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}") + @PostMapping("verify") + public ResultData verify(@RequestBody Map paramMap) { + logger.info("couponOrderController.verify:" + paramMap.toString()); + String couponOrderIdStr = paramMap.get("couponOrderId"); + if (StringUtils.isBlank(couponOrderIdStr)) { + logger.error("couponOrderId不能为空: " + paramMap.toString()); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + Long couponOrderId = 0L; + try { + couponOrderId = Long.valueOf(couponOrderIdStr); + } catch (NumberFormatException e) { + couponOrderId = 0L; + logger.error("couponOrderId参数不正确: " + paramMap.toString()); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + + WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.detailCUserVo(couponOrderIdStr,getTenantInfo()); + + if (wxCouponOrderCVo == null) + return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); + + WxCUserBasicInfo member; + try { + member = getCacheMember(); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + + Date now = new Date(); + if (wxCouponOrderCVo.getValidType().equals(EnumCouponValidType.BETWEEN_TWO_TIME.getCode())){ +// && !wxCouponOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())) { + if(wxCouponOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())){ + if (wxCouponOrderCVo.getPickStartDate().after(now)) { + logger.error("此券有效期未开始:" + couponOrderIdStr); + return new ResultData(ErrorCode.COUPON_ORDER_IS_EARLIER_THAN_VALIDDATE); + } + if (wxCouponOrderCVo.getPickEndDate().before(now)) { + logger.error("此券有效期已结束:" + couponOrderIdStr); + return new ResultData(ErrorCode.COUPON_ORDER_IS_LATER_THAN_VALIDDATE); + } + }else{ + if (wxCouponOrderCVo.getValidStartDate().after(now)) { + logger.error("此券有效期未开始:" + couponOrderIdStr); + return new ResultData(ErrorCode.COUPON_ORDER_IS_EARLIER_THAN_VALIDDATE); + } + if (wxCouponOrderCVo.getValidEndDate().before(now)) { + logger.error("此券有效期已结束:" + couponOrderIdStr); + return new ResultData(ErrorCode.COUPON_ORDER_IS_LATER_THAN_VALIDDATE); + } + } + + } else { + if (wxCouponOrderCVo.getExpiredTime().before(now)) { + logger.error("此券已过期:" + couponOrderIdStr); + return new ResultData(ErrorCode.COUPON_IS_EXPIRED); + } + } + + WxCouponOrder wxCouponOrder = wxCouponOrderService.getById(couponOrderId,getTenantInfo().getTenantId()); + if (wxCouponOrder == null) { + logger.error("券ID不存在:" + couponOrderId); + return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); + } + if(!member.getId().equals(wxCouponOrder.getCUserId())){ + logger.error("此券不属于此人:" + member.getId()); + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + } + WxCouponOrder couponOrder = null; + try { + couponOrder = wxCouponOrderService.verify(wxCouponOrder,null,EnumCouponVerifyType.VERIFY_C); + } catch (MallinkException e) { + logger.error("核销异常: " + e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } catch (Exception e) { + logger.error("核销异常: " + e.getMessage()); + return new ResultData(ErrorCode.VERIFY_ERROR, e.getMessage()); + } + + if (couponOrder != null && couponOrder.getMerchantId() != null) { + wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId()); + } + + return new ResultData(couponOrder); + } + } diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/TestControllerReturnAspect.java b/mallinkCApi/src/main/java/com/iformall/interceptor/TestControllerReturnAspect.java index 958c19fa6..e08d206b3 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/TestControllerReturnAspect.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/TestControllerReturnAspect.java @@ -24,17 +24,17 @@ import lombok.extern.slf4j.Slf4j; * @author alascor * */ -@Aspect -@Configuration +//@Aspect +//@Configuration @Slf4j public class TestControllerReturnAspect { - @Pointcut("execution(* com.iformall.controller.*Controller.*(..))") +// @Pointcut("execution(* com.iformall.controller.*Controller.*(..))") public void excudeService() { } - @Around("excudeService()") +// @Around("excudeService()") public Object doAround(ProceedingJoinPoint pjp) throws Throwable { RequestAttributes ra = RequestContextHolder.getRequestAttributes(); ServletRequestAttributes sra = (ServletRequestAttributes) ra; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index caa996322..fb8ad16ae 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -322,6 +322,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { private PageInfo findListOfVerifiedByDateForBUser(TenantEntity tenantEntity,Long merchantId,Date startDate,Date endDate,Integer pageIndex,Integer pageSize) { Map dateMap = new HashMap(); + dateMap.put("tenantId",tenantEntity.getTenantId()); dateMap.put("startDate", startDate); dateMap.put("endDate", endDate); @@ -342,6 +343,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { private PageInfo findListOfOrderedByDateForBUser(TenantEntity tenantEntity,Long merchantId,Date startDate,Date endDate,Integer pageIndex,Integer pageSize) { Map dateMap = new HashMap(); + dateMap.put("tenantId",tenantEntity.getTenantId()); dateMap.put("startDateTimes", startDate.getTime()); dateMap.put("endDateTimes", endDate.getTime()); List merchantIdList = new ArrayList();