|
|
|
@@ -29,10 +29,12 @@ public class WxCouponPasswordController extends BaseController { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxCouponService couponService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxOrderService orderService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "根据卡密领卡", notes = "{\"password\":\"String\",\"formId\":\"String\"}") |
|
|
|
@PostMapping("getCouponOrderByPassword") |
|
|
|
public ResultData getCouponOrderByPassword(@RequestBody Map<String, String> params) { |
|
|
|
@@ -68,28 +70,31 @@ public class WxCouponPasswordController extends BaseController { |
|
|
|
return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); |
|
|
|
} |
|
|
|
|
|
|
|
// 2. 设置已使用 |
|
|
|
try { |
|
|
|
WxCouponPassword updateCouponPwd = new WxCouponPassword(); |
|
|
|
updateCouponPwd.setId(couponPassword.getId()); |
|
|
|
updateCouponPwd.setStatus(EnumCouponPasswordStatus.USED.getCode()); |
|
|
|
couponPassword.setStatus(EnumCouponPasswordStatus.USED.getCode()); |
|
|
|
couponPasswordService.saveOrUpdate(updateCouponPwd); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error(e.getMessage()); |
|
|
|
return new ResultData(ErrorCode.DB_FAIL); |
|
|
|
} |
|
|
|
// 卡密领取卡券 |
|
|
|
Integer pwdStatus = couponPassword.getStatus(); |
|
|
|
setCouponPasswordStatus(couponPassword, EnumCouponPasswordStatus.USED); |
|
|
|
couponPassword.setStatus(EnumCouponPasswordStatus.USED.getCode()); |
|
|
|
|
|
|
|
// 3. 领取free coupon |
|
|
|
try { |
|
|
|
WxOrder order = orderService.saveFreeOrderForCoupon(cuUser, coupon, null, formId, couponPassword.getId()); |
|
|
|
} catch (MallinkException e) { |
|
|
|
setCouponPasswordStatus(couponPassword, EnumCouponPasswordStatus.getEnum(pwdStatus)); |
|
|
|
logger.error(e.getMessage()); |
|
|
|
return new ResultData(e.getErrorCode(), e.getMessage()); |
|
|
|
} catch (Exception e) { |
|
|
|
setCouponPasswordStatus(couponPassword, EnumCouponPasswordStatus.getEnum(pwdStatus)); |
|
|
|
logger.error(e.getMessage()); |
|
|
|
return new ResultData(500, e.getMessage()); |
|
|
|
} |
|
|
|
return new ResultData(); |
|
|
|
} |
|
|
|
|
|
|
|
private void setCouponPasswordStatus(WxCouponPassword couponPassword, EnumCouponPasswordStatus pwdStatus) { |
|
|
|
WxCouponPassword updateCouponPwd = new WxCouponPassword(); |
|
|
|
updateCouponPwd.setId(couponPassword.getId()); |
|
|
|
updateCouponPwd.setStatus(pwdStatus.getCode()); |
|
|
|
couponPasswordService.saveOrUpdate(updateCouponPwd); |
|
|
|
} |
|
|
|
|
|
|
|
} |