diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java index d34dfa7d0..1607dc64c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java @@ -117,23 +117,6 @@ public class WxCardInfoController extends BaseController { return new ResultData(); } - @ApiOperation("卡完结") - @PostMapping("/finishCard") - @SystemControllerLog(description = "储值卡支付-卡完结") - public ResultData finishCard(@RequestBody WxCardInfo wxCardInfo) { - String ipStr = getIpAddr(); - logger.info("cardPay/finishCard: " + ipStr + " :" + wxCardInfo.toString()); - if (wxCardInfo == null) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); - } - if (wxCardInfo.getId() == null) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件ID为空"); - } - wxCardInfo.updateTenantInfo(getTenantInfo()); - int remainShareAmount = wxCardSpendService.finishCard(wxCardInfo); - return new ResultData(remainShareAmount); - } - @ApiOperation("卡订单-导出数据") @GetMapping("/exportCardOrder") @SystemControllerLog(description = "卡订单-导出数据") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardPayController.java index 81a9b9094..59994815d 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardPayController.java @@ -12,14 +12,13 @@ import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCardSpendMerchantVo; import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardVo; -import com.iformall.enums.EnumMerchantSubsidySource; -import com.iformall.enums.EnumMerchantSubsidyType; -import com.iformall.enums.EnumPayType; +import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.service.WxCardInfoService; import com.iformall.service.WxCardSpendService; import com.iformall.service.WxMerchantService; import com.iformall.service.WxOrderService; +import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; import io.swagger.annotations.Api; @@ -91,6 +90,34 @@ public class WxCardPayController extends BaseController { final PageInfo page = wxCardInfoService.listAsPage(wxCardVo, pageNum, pageSize); return new ResultData(page); } + + @ApiOperation(value = "修改支付安全设置") + @PostMapping("updatePayPassword") + public ResultData updatePayPassword(@RequestBody WxCardInfo cardInfo) { + logger.info("updatePayPassword: " + getIpAddr() + cardInfo.toString()); + if(cardInfo.getId() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id为空"); + } + if(cardInfo.getPayCheck() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付设置为空"); + } + EnumCouponPasswordPayCheck payCheckEnum = null; + try { + payCheckEnum = EnumCouponPasswordPayCheck.getEnum(cardInfo.getPayCheck()); + }catch (Exception e) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付校验方式非法"); + } + if (null == payCheckEnum) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付校验方式非法"); + } + if (EnumCouponPasswordPayCheck.PASSWORD.equals(payCheckEnum)) { + if (StringUtils.isBlank(cardInfo.getPayPassword()) || cardInfo.getPayPassword().equalsIgnoreCase(Constant.UNDEFINED)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付密码不能为空"); + } + } + + return wxCardInfoService.updatePayPassword(cardInfo, EnumCUserFrom.FROM_MALL_USER_INFO); + } @ApiOperation("C端扫B端储值卡交易流水(消费记录 + 补贴)列表接口") @GetMapping("cardSpendlist") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java index 589d6bb5e..cfd6cc61f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java @@ -9,6 +9,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.controller.mem.AsyncTask; +import com.iformall.domain.po.WxCardInfo; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.MallUserInfo; @@ -17,9 +18,7 @@ import com.iformall.domain.po.WxCouponPassword; import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCouponPasswordCountInfoVO; import com.iformall.domain.vo.WxCouponPasswordVo; -import com.iformall.enums.EnumCouponPasswordStatus; -import com.iformall.enums.EnumCouponSubsidyType; -import com.iformall.enums.EnumYesOrNo; +import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.service.WxCouponPasswordService; import com.iformall.utils.Constant; @@ -134,6 +133,34 @@ public class WxCouponPasswordController extends BaseController { final PageInfo page = wxCouponPasswordService.listVoAsPage(wxCouponPassword, pageNum, pageSize); return new ResultData(page); } + + @ApiOperation(value = "修改支付安全设置") + @PostMapping("updatePayPassword") + public ResultData updatePayPassword(@RequestBody WxCouponPassword couponPassword) { + logger.info("updatePayPassword: " + getIpAddr() + couponPassword.toString()); + if(couponPassword.getId() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id为空"); + } + if(couponPassword.getPayCheck() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付设置为空"); + } + EnumCouponPasswordPayCheck payCheckEnum = null; + try { + payCheckEnum = EnumCouponPasswordPayCheck.getEnum(couponPassword.getPayCheck()); + }catch (Exception e) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付校验方式非法"); + } + if (null == payCheckEnum) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付校验方式非法"); + } + if (EnumCouponPasswordPayCheck.PASSWORD.equals(payCheckEnum)) { + if (StringUtils.isBlank(couponPassword.getPayPassword()) || couponPassword.getPayPassword().equalsIgnoreCase(Constant.UNDEFINED)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付密码不能为空"); + } + } + + return wxCouponPasswordService.updatePayPassword(couponPassword, EnumCUserFrom.FROM_MALL_USER_INFO); + } @ApiOperation("卡密记录导出") @GetMapping("/exportData") diff --git a/mallinkAdmin/src/main/resources/db/migration/V2023031600001_cardspend.sql b/mallinkAdmin/src/main/resources/db/migration/V2023031600001_cardspend.sql index f8270bdc8..126ececb9 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V2023031600001_cardspend.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V2023031600001_cardspend.sql @@ -5,4 +5,332 @@ ADD COLUMN `settlement_status` smallint(2) NOT NULL DEFAULT 0 COMMENT '结算状 update wx_card_spend set settlement_status = pay_status where pay_status in (1,2); -update wx_card_spend set pay_status = 0 where pay_status in (1,2); \ No newline at end of file +update wx_card_spend set pay_status = 0 where pay_status in (1,2); + + + + + +ALTER TABLE `mallink`.`wx_card_info` +ADD COLUMN `pay_check` smallint(2) NOT NULL DEFAULT 0 AFTER `coupon_password`, +ADD COLUMN `pay_password` varchar(50) AFTER `pay_check`; + +ALTER TABLE `mallink`.`wx_coupon_password` +ADD COLUMN `pay_check` smallint(2) NOT NULL DEFAULT 0 AFTER `password`; + + +ALTER TABLE `mallink`.`wx_card_info` +ADD COLUMN `pay_setting_remark` varchar(255) AFTER `pay_password`; + +ALTER TABLE `mallink`.`wx_coupon_password` +ADD COLUMN `pay_setting_remark` varchar(255) AFTER `pay_password`; + + +ALTER TABLE `mallink`.`wx_coupon_0` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_1` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_2` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_3` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_4` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_5` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_6` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_7` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_8` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_9` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_10` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_11` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_12` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_13` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_14` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_15` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_16` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_17` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_18` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_19` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_20` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_21` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_22` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_23` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_24` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_25` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_26` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_27` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_28` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_29` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_30` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_31` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_32` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_33` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_34` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_35` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_36` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_37` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_38` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_39` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_40` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_41` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_42` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_43` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_44` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_45` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_46` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_47` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_48` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_49` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_50` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_51` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_52` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_53` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_54` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_55` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_56` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_57` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_58` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_59` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_60` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_61` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_62` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_63` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_64` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_65` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_66` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_67` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_68` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_69` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_70` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_71` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_72` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_73` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_74` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_75` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_76` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_77` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_78` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_79` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_80` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_81` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_82` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_83` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_84` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_85` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_86` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_87` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_88` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_89` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_90` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_91` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_92` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_93` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_94` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_95` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_96` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_97` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_98` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; +ALTER TABLE `mallink`.`wx_coupon_99` +ADD COLUMN `is_recharge` smallint(2) DEFAULT 0 COMMENT '是否可充值' AFTER `password_support`, +ADD COLUMN `used_password` varchar(50) COMMENT '使用密码' AFTER `is_recharge`; + + +delete from sys_config where id = 7; +delete from sys_config_value where config_item_id = 7; + + + + diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java index 2353b195e..87b7e3d16 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java @@ -110,7 +110,8 @@ public class WxCardInfoController extends BaseController { map.put("cardId", cardInfo.getId()); map.put("amount", cardInfo.getAmount()); map.put("remainAmount", cardInfo.getRemainingAmount()); - map.put("cardType", cardInfo.getType()); + map.put("cardType", cardInfo.getType()); + map.put("payCheck",cardInfo.getPayCheck()); }else if(type != null && type.intValue() == 0){ isECard = true; cardInfo = wxCardInfoService.getById(Long.parseLong(cardIdStr)); @@ -121,6 +122,7 @@ public class WxCardInfoController extends BaseController { map.put("amount", cardInfo.getAmount()); map.put("remainAmount", cardInfo.getRemainingAmount()); map.put("cardType", cardInfo.getType()); + map.put("payCheck",cardInfo.getPayCheck()); }else{ Long couponPasswordId = Long.parseLong(cardIdStr); //实体卡 @@ -129,21 +131,19 @@ public class WxCardInfoController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr); } - boolean isPassword = couponPasswordService.isNeedPassword(password); - cardInfo = wxCardInfoService.getByCouponPasswordId(couponPasswordId, password); map.put("cardId", couponPasswordId); if (null != cardInfo) { map.put("amount", cardInfo.getAmount()); map.put("remainAmount", cardInfo.getRemainingAmount()); map.put("cardType", cardInfo.getType()); - map.put("isPassword",isPassword); + map.put("payCheck",cardInfo.getPayCheck()); }else { //第一次刷卡的时候没有cardInfo map.put("amount", password.getPrice()); map.put("remainAmount", password.getPrice()); map.put("cardType", EnumCardInfoType.CARD.getCode()); - map.put("isPassword",isPassword); + map.put("payCheck",password.getPayCheck()); } } return new ResultData(map); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java index 8b7d29d06..00dff1bb5 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -176,9 +176,9 @@ public class WxCardPayController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cUserId不能为空"); } - return saveECardCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr,cardPayType); + return saveECardCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr,password,cardPayType); }else if(EnumCardSpendFrom.phone.equals(cardPayType)){ - return saveECardCardPayOrder(cardIdStr,null,totalFeeStr,cardPayType); + return saveECardCardPayOrder(cardIdStr,null,totalFeeStr,password,cardPayType); }else{ if(cardPayType == null){ cardPayType = EnumCardSpendFrom.card; @@ -187,7 +187,7 @@ public class WxCardPayController extends BaseController { } } - private ResultData saveECardCardPayOrder(String cardIdStr,String cUserIdStr,String totalFeeStr,EnumCardSpendFrom cardPayType) { + private ResultData saveECardCardPayOrder(String cardIdStr,String cUserIdStr,String totalFeeStr,String password,EnumCardSpendFrom cardPayType) { Long cUserId = null; if(StringUtils.isNotBlank(cUserIdStr)){ try { @@ -216,6 +216,15 @@ public class WxCardPayController extends BaseController { return new ResultData(ErrorCode.CARD_TRANSFERED); } cUserId = cardInfo.getOwnerUserId(); + + if(EnumYesOrNo.YES.getCode().equals(cardInfo.getPayCheck())){ + if(StringUtils.isBlank(password)){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请输入支付密码"); + } + if(!password.equals(cardInfo.getPayPassword())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"密码输入错误"); + } + } return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,cardPayType); } @@ -234,8 +243,8 @@ public class WxCardPayController extends BaseController { if (null == couponPassword) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "卡未查询到"); } - boolean isPassword = wxCouponPasswordService.isNeedPassword(couponPassword); - if(isPassword){ + + if(EnumYesOrNo.YES.getCode().equals(couponPassword.getPayCheck())){ if(StringUtils.isBlank(password)){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请输入支付密码"); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java index 05af7dee2..6dd5081a0 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -8,6 +8,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; +import com.iformall.enums.*; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,11 +34,6 @@ import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.base.BaseEntity.SortField; import com.iformall.domain.vo.WxCardSpendVo; -import com.iformall.enums.EnumCardInfoStatus; -import com.iformall.enums.EnumCreditLockedStatus; -import com.iformall.enums.EnumMerchantStatus; -import com.iformall.enums.EnumMerchantSubsidySource; -import com.iformall.enums.EnumPayWay; import com.iformall.exception.MallinkException; import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCardInfoService; @@ -85,16 +81,17 @@ public class WxCardPayController extends BaseController { String cardIdStr = paramMap.get("cardId"); String merchantStr = paramMap.get("merchantId"); String totalFeeStr = paramMap.get("totalFee"); + String password = paramMap.get("password"); Long memberId; try { memberId = getMemberId(); } catch (Exception e) { return new ResultData(Result.ERROR,e.getMessage()); } - return saveCardPayOrder(memberId,cardIdStr,merchantStr,totalFeeStr); + return saveCardPayOrder(memberId,cardIdStr,merchantStr,password,totalFeeStr); } - private ResultData saveCardPayOrder(Long cUserId,String cardIdStr,String merchantStr,String totalFeeStr) { + private ResultData saveCardPayOrder(Long cUserId,String cardIdStr,String merchantStr,String password,String totalFeeStr) { String ipStr = getIpAddr(); logger.info("saveCardPayOrder: " + ipStr + " : cUserId:{} , cardIdStr:{},merchantStr:{},totalFeeStr:{}",cUserId,cardIdStr,cardIdStr,cardIdStr); WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,getFinalTenantId()); @@ -139,6 +136,16 @@ public class WxCardPayController extends BaseController { logger.error("卡不存在: " + cardIdStr); return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); } + + if(EnumYesOrNo.YES.getCode().equals(cardInfo.getPayCheck())){ + if(StringUtils.isBlank(password)){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请输入支付密码"); + } + if(!password.equals(cardInfo.getPayPassword())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"密码输入错误"); + } + } + if (EnumCardInfoStatus.STOP.getCode().intValue() == cardInfo.getStatus().intValue()) { return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 7acdbf0f9..c335ff6e7 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -62,6 +62,9 @@ public class WxCouponOrderController extends BaseController { @Autowired private WxPayOrderService wxPayOrderService; + @Autowired + private WxCardInfoService wxCardInfoService; + //@RedisCache(expireTime = 100) @ApiOperation("券包分页列表接口") @GetMapping("list") @@ -359,6 +362,34 @@ public class WxCouponOrderController extends BaseController { } return wxCouponOrderService.cardDetailCUserVo(memberId,getTenantInfo(), couponOrderId); } + + @ApiOperation(value = "修改支付安全设置") + @PostMapping("updatePayPassword") + public ResultData updatePayPassword(@RequestBody WxCardInfo cardInfo) { + logger.info("updatePayPassword: " + getIpAddr() + cardInfo.toString()); + if(cardInfo.getId() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id为空"); + } + if(cardInfo.getPayCheck() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付设置为空"); + } + EnumCouponPasswordPayCheck payCheckEnum = null; + try { + payCheckEnum = EnumCouponPasswordPayCheck.getEnum(cardInfo.getPayCheck()); + }catch (Exception e) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付校验方式非法"); + } + if (null == payCheckEnum) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付校验方式非法"); + } + if (EnumCouponPasswordPayCheck.PASSWORD.equals(payCheckEnum)) { + if (StringUtils.isBlank(cardInfo.getPayPassword()) || cardInfo.getPayPassword().equalsIgnoreCase(Constant.UNDEFINED)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "支付密码不能为空"); + } + } + + return wxCardInfoService.updatePayPassword(cardInfo,EnumCUserFrom.FROM_C_USER_BASIC_INFO); + } @ApiOperation(value = "手动核销方式,电子卡获取动态id") @GetMapping("cardDynamicId") diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java index 319855a01..543948f79 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java @@ -181,7 +181,6 @@ public class WxCouponPasswordController extends BaseController { // 卡密领取卡券 Integer pwdStatus = couponPassword.getStatus(); setCouponPasswordStatus(couponPassword, EnumCouponPasswordStatus.USED,payCheckEnum,payPassword); - couponPassword.setStatus(EnumCouponPasswordStatus.USED.getCode()); // 3. 领取free coupon if (null == cardInfo || couponPassword.isDefaultUser()) { @@ -207,10 +206,22 @@ public class WxCouponPasswordController extends BaseController { WxCouponPassword updateCouponPwd = new WxCouponPassword(); updateCouponPwd.setId(couponPassword.getId()); updateCouponPwd.setStatus(pwdStatus.getCode()); - if (null != payCheckEnum && payCheckEnum.getCode().intValue() == EnumCouponPasswordPayCheck.PASSWORD.getCode().intValue()) { - updateCouponPwd.setPayPassword(payPassword); - } + if(null != payCheckEnum){ + if(EnumCouponPasswordPayCheck.NO_CHECK.equals(payCheckEnum)){ + updateCouponPwd.setPayCheck(EnumCouponPasswordPayCheck.NO_CHECK.getCode()); + updateCouponPwd.setPayPassword(""); + }else if(EnumCouponPasswordPayCheck.PASSWORD.equals(payCheckEnum)){ + updateCouponPwd.setPayCheck(EnumCouponPasswordPayCheck.PASSWORD.getCode()); + updateCouponPwd.setPayPassword(payPassword); + } + updateCouponPwd.setPaySettingRemark("通过卡密领卡设置"); + } couponPasswordService.saveOrUpdate(updateCouponPwd); + + couponPassword.setStatus(updateCouponPwd.getStatus()); + couponPassword.setPayCheck(updateCouponPwd.getPayCheck()); + couponPassword.setPayPassword(updateCouponPwd.getPayPassword()); + couponPassword.setPaySettingRemark(updateCouponPwd.getPaySettingRemark()); } @ApiOperation(value = "查询卡详情") diff --git a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java index 9a43875ae..a79c45bd5 100644 --- a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java +++ b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java @@ -7,6 +7,5 @@ public class SysConfigConstant { public static final String default_merchant_b_user = "defaultMerchantBUserId"; public static final String coupon_detail_show_selled = "couponDetailShowSelled"; public static final String coupon_list_show_selled = "couponListShowSelled"; - public static final String card_is_need_password = "cardIsNeedPassword"; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCardInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCardInfo.java index 7d1bef413..6de9c5858 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCardInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCardInfo.java @@ -30,6 +30,12 @@ public class WxCardInfo extends TenantEntity { protected List couponPasswordIdList; @io.swagger.annotations.ApiModelProperty(value="卡密",name="couponPassword") protected String couponPassword; + @io.swagger.annotations.ApiModelProperty(value="卡安全设置 EnumCouponPasswordPayCheck",name="payCheck") + protected Integer payCheck; + @io.swagger.annotations.ApiModelProperty(value="密码",name="payPassword") + private String payPassword; + @io.swagger.annotations.ApiModelProperty(value="",name="paySettingRemark") + private String paySettingRemark; @io.swagger.annotations.ApiModelProperty(value="卡类型EnumCardInfoType",name="type") protected Integer type; @io.swagger.annotations.ApiModelProperty(value = "券ID", name = "couponId") @@ -83,4 +89,5 @@ public class WxCardInfo extends TenantEntity { protected Date enddate; @TableField(exist = false) private List couponIdList; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index 10a618c2b..9de66a744 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -194,6 +194,12 @@ public class WxCoupon extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="卡密是否支持(0:不支持,1支持)",name="passwordSupport") private Integer passwordSupport; + @io.swagger.annotations.ApiModelProperty(value="是否可以充值",name="isRecharge") + private Integer isRecharge; + + @io.swagger.annotations.ApiModelProperty(value="使用密码",name="usedPassword") + private String usedPassword; + @io.swagger.annotations.ApiModelProperty(value="1:A端发卷,2:B端发卷",name="sourceType") private Integer sourceType; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java index ab90e940f..4c5fdf72d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java @@ -29,9 +29,13 @@ public class WxCouponPassword extends TenantEntity { @Excel(name = "兑换码", width = 20, orderNum = "2") @io.swagger.annotations.ApiModelProperty(value="卡密",name="password") private String password; + @io.swagger.annotations.ApiModelProperty(value="卡安全设置 EnumCouponPasswordPayCheck",name="payCheck") + protected Integer payCheck; @Excel(name = "密码", width = 20, orderNum = "3") @io.swagger.annotations.ApiModelProperty(value="密码",name="payPassword") private String payPassword; + @io.swagger.annotations.ApiModelProperty(value="",name="paySettingRemark") + private String paySettingRemark; @TableField(exist = false) private String passwordLike; @Excel(name = "状态", width = 20, replace = {"初始_0", "发送中_1", "已发出_2", "已使用_3", "不可用_4"}, orderNum = "5") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java index 4853a6cca..11ecdf5cc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java @@ -45,6 +45,9 @@ public class WxCardCVo extends WxCouponOrder { @io.swagger.annotations.ApiModelProperty(value = "卡面额余额", name = "remainingAmount") private Integer remainingAmount; + @io.swagger.annotations.ApiModelProperty(value="卡安全设置 EnumCouponPasswordPayCheck",name="payCheck") + protected Integer payCheck; + @io.swagger.annotations.ApiModelProperty(value="卡消费列表",name="cardSpendList") private List cardSpendList; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendMerchantVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendMerchantVo.java index e440a19cc..6114d9128 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendMerchantVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendMerchantVo.java @@ -13,10 +13,10 @@ public class WxCardSpendMerchantVo { private Long merchantId; @Excel(name = "商户名称", width = 20, orderNum = "2") private String merchantName; - @Excel(name = "类型", width = 20, orderNum = "3", replace = {"付款_0", "退款_1"}) + @Excel(name = "结算类型", width = 20, orderNum = "3", replace = {"付款_0", "退款_1"}) private Integer payType; private BigDecimal total; - @Excel(name = "交易总金额(元)", width = 20, orderNum = "4") + @Excel(name = "总金额(元)", width = 20, orderNum = "4") private String totalStr; private BigDecimal fee; @Excel(name = "总手续费(元)", width = 20, orderNum = "5") diff --git a/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java index d28a98e0c..753392edc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java @@ -1,6 +1,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; import com.iformall.domain.po.WxCardInfo; import com.iformall.domain.po.WxCardTransferInfo; import com.iformall.domain.po.WxCoupon; @@ -8,6 +9,7 @@ import com.iformall.domain.po.WxCouponPassword; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCardTransferVo; import com.iformall.domain.vo.WxCardVo; +import com.iformall.enums.EnumCUserFrom; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -66,4 +68,5 @@ public interface WxCardInfoService { */ void updAmount(WxCardInfo cardInfo,Integer amount,Integer remainingAmount,Integer remainingShareFeeAmount); + ResultData updatePayPassword(WxCardInfo cardInfo, EnumCUserFrom userFrom); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java index 2573e966e..dc24613c5 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java @@ -1,13 +1,16 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCouponPassword; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCardPriceTemplate; import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCouponPasswordCountInfoVO; import com.iformall.domain.vo.WxCouponPasswordVo; +import com.iformall.enums.EnumCUserFrom; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -65,7 +68,7 @@ public interface WxCouponPasswordService { * @param couponId * @param inventory */ - void mkPasswords(TenantEntity tenantEntity, Long couponId, Integer inventory); + void mkPasswords(WxCoupon coupon); /** * 导出兑换码 @@ -88,5 +91,5 @@ public interface WxCouponPasswordService { void exportTemplate(HttpServletRequest request, HttpServletResponse response); void importPrice(MallUserInfo user,String importKey, WxCardPriceTemplate template); - boolean isNeedPassword(WxCouponPassword password); + ResultData updatePayPassword(WxCouponPassword couponPassword, EnumCUserFrom userFrom); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java index a18c82f36..9761a493a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java @@ -18,14 +18,7 @@ import com.iformall.domain.vo.WxCardTransferVo; import com.iformall.domain.vo.WxCardVo; import com.iformall.domain.vo.WxCouponOrderBVo; import com.iformall.domain.vo.WxCouponPasswordVo; -import com.iformall.enums.EnumCacheKey; -import com.iformall.enums.EnumCardInfoStatus; -import com.iformall.enums.EnumCardInfoType; -import com.iformall.enums.EnumCouponOrderStatus; -import com.iformall.enums.EnumCouponPasswordStatus; -import com.iformall.enums.EnumCouponPasswordSupport; -import com.iformall.enums.EnumCouponType; -import com.iformall.enums.EnumYesOrNo; +import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxCardInfoMapper; import com.iformall.mapper.WxCardTransferInfoMapper; @@ -344,6 +337,9 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { } cardInfo.setCouponPasswordId(couponPassword.getId()); cardInfo.setCouponPassword(couponPassword.getPassword()); + cardInfo.setPayCheck(couponPassword.getPayCheck()); + cardInfo.setPayPassword(couponPassword.getPayPassword()); + cardInfo.setPaySettingRemark(couponPassword.getPaySettingRemark()); cardInfo.setCUserId(Constant.defaultCUserId); cardInfo.setOwnerUserId(Constant.defaultCUserId); cardInfo.setServiceFeeAmount(0); @@ -424,6 +420,35 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { } } + @Override + @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) + public ResultData updatePayPassword(WxCardInfo cardInfo, EnumCUserFrom userFrom) { + WxCardInfo wxCardInfo = wxCardInfoMapper.selectById(cardInfo.getId()); + if(wxCardInfo == null){ + return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode()); + } + WxCardInfo updateCIF = new WxCardInfo(); + updateCIF.setId(cardInfo.getId()); + updateCIF.setPayCheck(cardInfo.getPayCheck()); + if(EnumCouponPasswordPayCheck.PASSWORD.getCode().equals(cardInfo.getPayCheck())){ + updateCIF.setPayPassword(cardInfo.getPayPassword()); + }else{ + updateCIF.setPayPassword(""); + } + updateCIF.setPaySettingRemark(userFrom.getMessage()); + wxCardInfoMapper.updateById(updateCIF); + if(wxCardInfo.getCouponPasswordId() != null){ + WxCouponPassword updateCPwd = new WxCouponPassword(); + updateCPwd.setId(wxCardInfo.getCouponPasswordId()); + updateCPwd.setPayCheck(updateCIF.getPayCheck()); + updateCPwd.setPayPassword(updateCIF.getPayPassword()); + updateCPwd.setPaySettingRemark(updateCIF.getPaySettingRemark()); + couponPasswordMapper.updateById(updateCPwd); + } + + return new ResultData(); + } + private List toTransferVoList(List transferList,TenantEntity tenantEntity) { List retList = new ArrayList(); if (null != transferList && transferList.size() > 0 ) { 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 b8c1a94ed..5f3546c67 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -2415,6 +2415,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { cvo.setAmount(cardInfo.getAmount()); cvo.setRemainingAmount(cardInfo.getRemainingAmount()); cvo.setSupportTransfer(cardInfo.getSupportTransfer()); + cvo.setPayCheck(cardInfo.getPayCheck()); } cvo.setWxCardInfo(cardInfo); return cvo; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java index 04cdacdc2..40468a067 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java @@ -3,12 +3,11 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; import com.iformall.common.SysConfigConstant; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; -import com.iformall.enums.EnumCouponOrderStatus; -import com.iformall.enums.EnumCouponPasswordStatus; -import com.iformall.enums.EnumYesOrNo; +import com.iformall.enums.*; import com.iformall.domain.vo.WxCUserBasicInfoVo; import com.iformall.domain.vo.WxCardPriceTemplate; import com.iformall.domain.vo.WxCardSpendVo; @@ -231,13 +230,13 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { } @Override - public void mkPasswords(TenantEntity tenantEntity, Long couponId, Integer inventory) { + public void mkPasswords(WxCoupon coupon) { String strAll = "0123456789abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ"; // 1.获取 coupon short 1 int couponShort = 0; String couponShortStr = "0"; WxCouponPassword pwQ = new WxCouponPassword(); - pwQ.updateTenantInfo(tenantEntity); + pwQ.updateTenantInfo(coupon); List pwgList = wxCouponPasswordMapper.findCouponGroupList(pwQ); couponShort = pwgList.size(); int dospt = strAll.length(); @@ -258,7 +257,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { if (!pwList.stream().anyMatch(oPwd->oPwd.equals(pwd))) { //判断是否已经在数据库里面是否存在了 WxCouponPassword pwQ1 = new WxCouponPassword(); - pwQ1.updateTenantInfo(tenantEntity); + pwQ1.updateTenantInfo(coupon); pwQ1.setPassword(pwd); List palist = wxCouponPasswordMapper.findList(pwQ1); if (null != palist && palist.size() > 0 ) { @@ -270,7 +269,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { continue; } - if (pwList.size() >= inventory) { + if (pwList.size() >= coupon.getInventory()) { break; } } @@ -281,11 +280,18 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { for (int i=0;i + + @@ -26,7 +28,7 @@ - `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`c_user_id`,`owner_user_id`,`coupon_password_id`,`coupon_password`,`type`, + `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`c_user_id`,`owner_user_id`,`coupon_password_id`,`coupon_password`,`pay_check`,`type`, `transaction_id`,`amount`,`sale_amount`,`remaining_amount`,`service_fee_amount`,`share_fee_amount`,`remaining_share_fee_amount`, `rate_amount`,`create_date`,`update_date`,`support_transfer`,`status` diff --git a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml index 665866898..74d39de68 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml @@ -9,6 +9,7 @@ + @@ -21,7 +22,8 @@ - `id`,`tenant_id`,`parent_tenant_id`,`price`,`coupon_id`,`coupon_short`,`password`,`pay_password`,`status`,`sended_phone`,`card_id`,`create_date`,`update_date`,`expire_date`,`present_id`,`is_stop` + `id`,`tenant_id`,`parent_tenant_id`,`price`,`coupon_id`,`coupon_short`,`password`,`pay_password`,`status`, + `sended_phone`,`card_id`,`create_date`,`update_date`,`expire_date`,`present_id`,`is_stop` @@ -117,11 +119,11 @@ - INSERT INTO wx_coupon_password (`id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`coupon_short`,`password`,`pay_password`,`status`,`create_date`,`update_date`) + INSERT INTO wx_coupon_password (`id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`coupon_short`,`password`,`pay_check`,`pay_password`,`pay_setting_remark`,`status`,`create_date`,`update_date`) VALUES ( - #{item.id},#{item.tenantId},#{item.parentTenantId},#{item.couponId},#{item.couponShort},#{item.password},#{item.payPassword},#{item.status}, + #{item.id},#{item.tenantId},#{item.parentTenantId},#{item.couponId},#{item.couponShort},#{item.password},#{item.payCheck},#{item.payPassword},#{item.paySettingRemark},#{item.status}, #{item.createDate},#{item.updateDate} )