diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java index a0960a5ac..8f8f850c8 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -113,11 +113,10 @@ public class WxCardPayController extends BaseController { return new ResultData(mapList); } - @ApiOperation(value = "微信B端扫储值卡码支付订单", notes = "params:{\"cardId\":\"String\",\"cUserId\":\"String\",\"totalFee\":\"String(元)\"}") + @ApiOperation(value = "微信B端扫储值卡码支付订单", notes = "params:{\"cardId\":\"String\",\"totalFee\":\"String(元)\"}") @PostMapping("scanCard") public ResultData scanCard(@RequestBody Map paramMap, HttpServletRequest request) { String cardIdStr = paramMap.get("cardId"); - String cUserIdStr = paramMap.get("cUserId"); String totalFeeStr = paramMap.get("totalFee"); if (StringUtils.isBlank(cardIdStr) || cardIdStr.equalsIgnoreCase(Constant.UNDEFINED)) { @@ -137,13 +136,13 @@ public class WxCardPayController extends BaseController { if (expiredtime.before(new Date())) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"码已失效,请更新二维码后重试"); } + String cUserIdStr = decodeids[2]; if (StringUtils.isBlank(cUserIdStr) || cUserIdStr.equalsIgnoreCase(Constant.UNDEFINED)) { - logger.error("cUserId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cUserId不能为空"); } return saveECardCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr); }else { - return savePasswordCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr); + return savePasswordCardPayOrder(cardIdStr,totalFeeStr); } } @@ -172,7 +171,7 @@ public class WxCardPayController extends BaseController { return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,EnumPayWay.PAY_WAY_WECHAT); } - public ResultData savePasswordCardPayOrder(String cardIdStr,String cUserIdStr,String totalFeeStr) { + public ResultData savePasswordCardPayOrder(String cardIdStr,String totalFeeStr) { Long cardId = null; try { cardId = Long.valueOf(cardIdStr); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index ac28d4753..1dd358acd 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -223,7 +223,7 @@ public class WxCouponOrderController extends BaseController { } Map retmap = new HashMap(); - retmap.put("dynamicId", WxCouponOrderCVo.calcuteExpiredCouponOrderId(couponOrderId,Integer.parseInt(sysConfig.getConfigItemValue()))); + retmap.put("dynamicId", WxCouponOrderCVo.calcuteExpiredCouponOrderId(couponOrderId,Integer.parseInt(sysConfig.getConfigItemValue()),null)); retmap.put("expiredSeconds", Integer.parseInt(sysConfig.getConfigItemValue())); retmap.put("couponTenantId", couponTenantId); return new ResultData(retmap); @@ -363,9 +363,10 @@ public class WxCouponOrderController extends BaseController { @GetMapping("cardDynamicId") @ApiImplicitParams({ @ApiImplicitParam(name = "cardId", value = "卡ID", dataType = "string", paramType = "query", required = true), - @ApiImplicitParam(name = "cardTenantId", value = "券tenantID", dataType = "string", paramType = "query", required = false) + @ApiImplicitParam(name = "cardTenantId", value = "券tenantID", dataType = "string", paramType = "query", required = true), + @ApiImplicitParam(name = "cUserId", value = "会员ID", dataType = "string", paramType = "query", required = true) }) - public ResultData cardDynamicId(String cardId,String cardTenantId) { + public ResultData cardDynamicId(String cardId,String cardTenantId,String cUserId) { if (StringUtils.isBlank(cardId) || cardId.equalsIgnoreCase(Constant.UNDEFINED)) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); @@ -377,7 +378,7 @@ public class WxCouponOrderController extends BaseController { } Map retmap = new HashMap(); - retmap.put("dynamicId", WxCouponOrderCVo.calcuteExpiredCouponOrderId(cardId,Integer.parseInt(sysConfig.getConfigItemValue()))); + retmap.put("dynamicId", WxCouponOrderCVo.calcuteExpiredCouponOrderId(cardId,Integer.parseInt(sysConfig.getConfigItemValue()),cUserId)); retmap.put("expiredSeconds", Integer.parseInt(sysConfig.getConfigItemValue())); retmap.put("cardTenantId", cardTenantId); return new ResultData(retmap); diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java index e3e8a71ca..a86d54033 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java @@ -166,18 +166,20 @@ public class WxCouponOrderCVo extends WxCouponOrder { public static final String arg = "&"; - public static String calcuteExpiredCouponOrderId(String couponOrderId,int expiredSeconds) { + public static String calcuteExpiredCouponOrderId(String couponOrderId,int expiredSeconds,String cUserId) { if (StringUtils.isBlank(couponOrderId)) { return null; } StringBuffer sb = new StringBuffer().append(couponOrderId); if (expiredSeconds > 0 ) { sb.append(arg).append(DateUtils.date2String(DateUtils.getSecondsTimeAfter(expiredSeconds, new Date()))); - return Base64Util.encode(sb.toString().getBytes()); }else { sb.append(arg).append(DateUtils.date2String(DateUtils.getSecondsTimeAfter(Integer.MAX_VALUE, new Date()))); - return Base64Util.encode(sb.toString().getBytes()); } + if (StringUtils.isNotBlank(cUserId)) { + sb.append(arg).append(cUserId); + } + return Base64Util.encode(sb.toString().getBytes()); } public static String getDecodeExpiredCouponOrderId(String couponOrderId) { @@ -188,6 +190,6 @@ public class WxCouponOrderCVo extends WxCouponOrder { } public static void main(String[] args) { - System.out.println(calcuteExpiredCouponOrderId("632830267681071104",300)); + System.out.println(calcuteExpiredCouponOrderId("632830267681071104",300,"632830267681071104")); } }