| @@ -113,11 +113,10 @@ public class WxCardPayController extends BaseController { | |||||
| return new ResultData(mapList); | 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") | @PostMapping("scanCard") | ||||
| public ResultData scanCard(@RequestBody Map<String, String> paramMap, HttpServletRequest request) { | public ResultData scanCard(@RequestBody Map<String, String> paramMap, HttpServletRequest request) { | ||||
| String cardIdStr = paramMap.get("cardId"); | String cardIdStr = paramMap.get("cardId"); | ||||
| String cUserIdStr = paramMap.get("cUserId"); | |||||
| String totalFeeStr = paramMap.get("totalFee"); | String totalFeeStr = paramMap.get("totalFee"); | ||||
| if (StringUtils.isBlank(cardIdStr) || cardIdStr.equalsIgnoreCase(Constant.UNDEFINED)) { | if (StringUtils.isBlank(cardIdStr) || cardIdStr.equalsIgnoreCase(Constant.UNDEFINED)) { | ||||
| @@ -137,13 +136,13 @@ public class WxCardPayController extends BaseController { | |||||
| if (expiredtime.before(new Date())) { | if (expiredtime.before(new Date())) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"码已失效,请更新二维码后重试"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"码已失效,请更新二维码后重试"); | ||||
| } | } | ||||
| String cUserIdStr = decodeids[2]; | |||||
| if (StringUtils.isBlank(cUserIdStr) || cUserIdStr.equalsIgnoreCase(Constant.UNDEFINED)) { | if (StringUtils.isBlank(cUserIdStr) || cUserIdStr.equalsIgnoreCase(Constant.UNDEFINED)) { | ||||
| logger.error("cUserId不能为空"); | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cUserId不能为空"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cUserId不能为空"); | ||||
| } | } | ||||
| return saveECardCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr); | return saveECardCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr); | ||||
| }else { | }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); | 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; | Long cardId = null; | ||||
| try { | try { | ||||
| cardId = Long.valueOf(cardIdStr); | cardId = Long.valueOf(cardIdStr); | ||||
| @@ -223,7 +223,7 @@ public class WxCouponOrderController extends BaseController { | |||||
| } | } | ||||
| Map retmap = new HashMap(); | 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("expiredSeconds", Integer.parseInt(sysConfig.getConfigItemValue())); | ||||
| retmap.put("couponTenantId", couponTenantId); | retmap.put("couponTenantId", couponTenantId); | ||||
| return new ResultData(retmap); | return new ResultData(retmap); | ||||
| @@ -363,9 +363,10 @@ public class WxCouponOrderController extends BaseController { | |||||
| @GetMapping("cardDynamicId") | @GetMapping("cardDynamicId") | ||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| @ApiImplicitParam(name = "cardId", value = "卡ID", dataType = "string", paramType = "query", required = true), | @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)) { | if (StringUtils.isBlank(cardId) || cardId.equalsIgnoreCase(Constant.UNDEFINED)) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | ||||
| @@ -377,7 +378,7 @@ public class WxCouponOrderController extends BaseController { | |||||
| } | } | ||||
| Map retmap = new HashMap(); | 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("expiredSeconds", Integer.parseInt(sysConfig.getConfigItemValue())); | ||||
| retmap.put("cardTenantId", cardTenantId); | retmap.put("cardTenantId", cardTenantId); | ||||
| return new ResultData(retmap); | return new ResultData(retmap); | ||||
| @@ -166,18 +166,20 @@ public class WxCouponOrderCVo extends WxCouponOrder { | |||||
| public static final String arg = "&"; | 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)) { | if (StringUtils.isBlank(couponOrderId)) { | ||||
| return null; | return null; | ||||
| } | } | ||||
| StringBuffer sb = new StringBuffer().append(couponOrderId); | StringBuffer sb = new StringBuffer().append(couponOrderId); | ||||
| if (expiredSeconds > 0 ) { | if (expiredSeconds > 0 ) { | ||||
| sb.append(arg).append(DateUtils.date2String(DateUtils.getSecondsTimeAfter(expiredSeconds, new Date()))); | sb.append(arg).append(DateUtils.date2String(DateUtils.getSecondsTimeAfter(expiredSeconds, new Date()))); | ||||
| return Base64Util.encode(sb.toString().getBytes()); | |||||
| }else { | }else { | ||||
| sb.append(arg).append(DateUtils.date2String(DateUtils.getSecondsTimeAfter(Integer.MAX_VALUE, new Date()))); | 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) { | public static String getDecodeExpiredCouponOrderId(String couponOrderId) { | ||||
| @@ -188,6 +190,6 @@ public class WxCouponOrderCVo extends WxCouponOrder { | |||||
| } | } | ||||
| public static void main(String[] args) { | public static void main(String[] args) { | ||||
| System.out.println(calcuteExpiredCouponOrderId("632830267681071104",300)); | |||||
| System.out.println(calcuteExpiredCouponOrderId("632830267681071104",300,"632830267681071104")); | |||||
| } | } | ||||
| } | } | ||||