| @@ -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 = "卡订单-导出数据") | |||
| @@ -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<WxCardVo> 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") | |||
| @@ -246,4 +273,24 @@ public class WxCardPayController extends BaseController { | |||
| } | |||
| @ApiOperation(value = "卡充值") | |||
| @PostMapping("rechargeAmount") | |||
| public ResultData rechargeAmount(@RequestBody WxCardInfo cardInfo) { | |||
| logger.info("rechargeAmount: " + getIpAddr() + cardInfo.toString()); | |||
| if(cardInfo.getId() == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id为空"); | |||
| } | |||
| if(cardInfo.getAmount() == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "充值金额为空"); | |||
| } | |||
| if(cardInfo.getAmount() <= 0){ | |||
| return new ResultData(ErrorCode.CARD_IS_NOT_RECHARGE.getCode(), "充值金额需大于0"); | |||
| } | |||
| if(Constant.UNDEFINED.equals(cardInfo.getTransactionId())){ | |||
| cardInfo.setTransactionId(null); | |||
| } | |||
| return wxCardInfoService.rechargeAmount(cardInfo); | |||
| } | |||
| } | |||
| @@ -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<WxCouponPasswordVo> 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") | |||
| @@ -4,5 +4,335 @@ 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); | |||
| update wx_card_spend set pay_from=5 where pay_type=1; | |||
| delete from sys_config where id = 7; | |||
| delete from sys_config_value where config_item_id = 7; | |||
| 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`; | |||
| update wx_card_spend set pay_status = 0 where pay_status in (1,2); | |||
| @@ -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); | |||
| @@ -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(),"请输入支付密码"); | |||
| } | |||
| @@ -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(),"卡已被禁用."); | |||
| } | |||
| @@ -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") | |||
| @@ -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 = "查询卡详情") | |||
| @@ -264,6 +264,7 @@ public enum ErrorCode{ | |||
| CARD_TRANSFERED(9004, "卡已被领取"), | |||
| CARD_TRANSFER_INVALID(9005, "卡转赠已失效"), | |||
| CARD_SUBSIDY_NOT_SET(9006, "卡补贴未设置"), | |||
| CARD_IS_NOT_RECHARGE(9007, "该卡不支持充值"), | |||
| /** | |||
| * 卡消费 | |||
| @@ -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"; | |||
| } | |||
| @@ -30,6 +30,12 @@ public class WxCardInfo extends TenantEntity { | |||
| protected List<Long> 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<Long> couponIdList; | |||
| } | |||
| @@ -197,6 +197,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; | |||
| @@ -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") | |||
| @@ -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<WxCardSpendVo> cardSpendList; | |||
| @@ -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") | |||
| @@ -37,6 +37,9 @@ public class WxCardVo extends WxCardInfo { | |||
| @io.swagger.annotations.ApiModelProperty(value="购买须知",name="remark") | |||
| private String remark; | |||
| @io.swagger.annotations.ApiModelProperty(value="是否可以充值",name="isRecharge") | |||
| private Integer isRecharge; | |||
| public String getPriceStr() { | |||
| return new BigDecimal(price == null ? 0 : price).divide(new BigDecimal(100)).toPlainString(); | |||
| } | |||
| @@ -27,6 +27,8 @@ public class WxCouponPasswordVo extends TenantEntity { | |||
| protected Long id; | |||
| @Excel(name = "卡名称", width = 20, orderNum = "2", prefix = "") | |||
| protected String couponTitile; | |||
| @io.swagger.annotations.ApiModelProperty(value="是否可以充值",name="isRecharge") | |||
| private Integer isRecharge; | |||
| @Excel(name = "卡密", width = 20, orderNum = "3", prefix = "") | |||
| @io.swagger.annotations.ApiModelProperty(value = "卡密", name = "couponPassword") | |||
| private String couponPassword; | |||
| @@ -12,6 +12,10 @@ public enum EnumCardSpendFrom { | |||
| card(2,"B扫实体卡收款"), | |||
| phone(3,"B手机号查询收款"), | |||
| pay(4,"C扫B付款"), | |||
| refund(5,"B退款"), | |||
| recharge(10,"A充值"), | |||
| ; | |||
| public static EnumCardSpendFrom getEnum(Integer code) { | |||
| @@ -10,7 +10,9 @@ public enum EnumPayType { | |||
| PAY_AUTO_REFUND(2, "自动退款"), | |||
| PAY_ADMIN_REFUND(3, "A端退款"), | |||
| PAY_POS_REFUND(4, "POS发起退款"), | |||
| PAY_C_REFUND(5, "用户自己发起退款"); | |||
| PAY_C_REFUND(5, "用户自己发起退款"), | |||
| PAY_CARD_RECHARGE(10, "卡充值"); | |||
| public static EnumPayType getEnum(Integer code) { | |||
| for (EnumPayType value : values()) { | |||
| @@ -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,7 @@ public interface WxCardInfoService { | |||
| */ | |||
| void updAmount(WxCardInfo cardInfo,Integer amount,Integer remainingAmount,Integer remainingShareFeeAmount); | |||
| ResultData updatePayPassword(WxCardInfo cardInfo, EnumCUserFrom userFrom); | |||
| ResultData rechargeAmount(WxCardInfo cardInfo); | |||
| } | |||
| @@ -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); | |||
| } | |||
| @@ -1,43 +1,27 @@ | |||
| package com.iformall.service.impl; | |||
| import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | |||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||
| import com.github.pagehelper.PageHelper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.WxCUserBasicInfo; | |||
| import com.iformall.domain.po.WxCardInfo; | |||
| import com.iformall.domain.po.WxCardTransferInfo; | |||
| import com.iformall.domain.po.WxCoupon; | |||
| import com.iformall.domain.po.WxCouponChannel; | |||
| import com.iformall.domain.po.WxCouponOrder; | |||
| import com.iformall.domain.po.WxCouponPassword; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| 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; | |||
| import com.iformall.mapper.WxCouponChannelMapper; | |||
| import com.iformall.mapper.WxCouponMapper; | |||
| import com.iformall.mapper.WxCouponOrderMapper; | |||
| import com.iformall.mapper.WxCouponPasswordMapper; | |||
| import com.iformall.mapper.*; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxCUserBasicInfoService; | |||
| import com.iformall.service.WxCardInfoService; | |||
| import com.iformall.service.WxCouponService; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import com.iformall.utils.RedisLock; | |||
| import org.apache.commons.beanutils.BeanUtils; | |||
| @@ -96,6 +80,9 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { | |||
| @Autowired | |||
| WxCardTransferInfoMapper wxCardTransferInfoMapper; | |||
| @Autowired | |||
| WxCardSpendMapper wxCardSpendMapper; | |||
| @@ -201,7 +188,8 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { | |||
| co.setSalePrice(coupon.getSalePrice()); | |||
| co.setPrice(coupon.getPrice()); | |||
| co.setSubsidyType(coupon.getSubsidyType()); | |||
| co.setSubsidyNum(coupon.getSubsidyNum()); | |||
| co.setSubsidyNum(coupon.getSubsidyNum()); | |||
| co.setIsRecharge(coupon.getIsRecharge()); | |||
| } | |||
| //couponOrder | |||
| WxCouponOrder couponOrder = couponOrderMap.get(coo.getId()); | |||
| @@ -344,6 +332,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 +415,102 @@ 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); | |||
| } | |||
| 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(); | |||
| } | |||
| @Override | |||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | |||
| public ResultData rechargeAmount(WxCardInfo cardInfo) { | |||
| WxCardInfo wxCardInfo = wxCardInfoMapper.selectById(cardInfo.getId()); | |||
| if(wxCardInfo == null){ | |||
| return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); | |||
| } | |||
| WxCoupon wxCoupon = wxCouponMapper.selectById(wxCardInfo.getCouponId(), wxCardInfo.getTenantId()); | |||
| if(wxCoupon == null){ | |||
| return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); | |||
| } | |||
| if(EnumYesOrNo.NO.getCode().equals(wxCoupon.getIsRecharge())){ | |||
| return new ResultData(ErrorCode.CARD_IS_NOT_RECHARGE); | |||
| } | |||
| if(!wxCoupon.checkIsFree()){ | |||
| return new ResultData(ErrorCode.CARD_IS_NOT_RECHARGE.getCode(),"有价券不支持充值"); | |||
| } | |||
| if(wxCoupon.getSubsidyNum() != null && wxCoupon.getSubsidyNum() > 0){ | |||
| return new ResultData(ErrorCode.CARD_IS_NOT_RECHARGE.getCode(),"有补贴不支持充值"); | |||
| } | |||
| Date currentDate = new Date(); | |||
| WxCardSpend record = new WxCardSpend(); | |||
| record.updateTenantInfo(cardInfo); | |||
| record.setPayType(EnumPayType.PAY_CARD_RECHARGE.getCode()); | |||
| record.setCardId(cardInfo.getId()); | |||
| if(StringUtils.isBlank(cardInfo.getTransactionId())){ | |||
| Long yyyyMMddHHmmss = Long.valueOf(DateUtils.date2String(currentDate, "yyyyMMddHHmmss")); | |||
| record.setOrderId(yyyyMMddHHmmss);//默认当前日期为订单号 | |||
| } | |||
| WxCardSpend wxCardSpend = wxCardSpendMapper.selectOne(new QueryWrapper<>(record)); | |||
| if(wxCardSpend != null){ | |||
| logger.error("当前已存在充值订单, "); | |||
| throw new MallinkException(ErrorCode.CARD_IS_NOT_RECHARGE.getCode(),"当前已存在充值订单,请确认是否重复充值"); | |||
| } | |||
| this.updAmount(wxCardInfo,cardInfo.getAmount(),cardInfo.getAmount(),null); | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| record.setOwnerId(wxCardInfo.getOwnerUserId()); | |||
| record.setMerchantId(0l);//充值订单无商户 | |||
| record.setPayFrom(EnumCardSpendFrom.recharge.getCode()); | |||
| record.setDeductionAmount(cardInfo.getAmount()); | |||
| record.setRemark("充值"); | |||
| record.setPayment(0); | |||
| record.setRealPayment(0); | |||
| record.setCardBeforeAmount(wxCardInfo.getRemainingAmount()); | |||
| record.setCardRemainAmount(wxCardInfo.getRemainingAmount()+cardInfo.getAmount()); | |||
| record.setCardBeforeRealAmount(0); | |||
| record.setCardRemainRealAmount(0); | |||
| record.setPayStatus(EnumCardSpendStatus.NOT_PAY.getCode());// | |||
| record.setCreateDate(currentDate); | |||
| record.setUpdateDate(currentDate); | |||
| try { | |||
| wxCardSpendMapper.insert(record); | |||
| } catch (Exception e) { | |||
| logger.error("card spend insert error"); | |||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "card spend 插入出错!"); | |||
| } | |||
| return new ResultData(); | |||
| } | |||
| private List<WxCardTransferVo> toTransferVoList(List<WxCardTransferInfo> transferList,TenantEntity tenantEntity) { | |||
| List<WxCardTransferVo> retList = new ArrayList<WxCardTransferVo>(); | |||
| if (null != transferList && transferList.size() > 0 ) { | |||
| @@ -310,7 +310,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||
| if (null != orderUpdate.getCUserId() && (!Constant.defaultCUserId.equals(orderUpdate.getCUserId()))) { | |||
| // 成长值 | |||
| try { | |||
| orderUpdate.setPayment(real_payment); | |||
| orderUpdate.setPayment(payment); | |||
| wxScoreRulesService.addScore2(coupon,EnumScoreType.CONSUMPTION, orderUpdate, coupon.getBusiness()); | |||
| } catch (Exception e) { | |||
| logger.error("成长值:" + e.getMessage()); | |||
| @@ -329,7 +329,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||
| creditHistory.setFinalTenantId(record.getFinalTenantId()); | |||
| creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode()); | |||
| creditHistory.setBusinessId(coupon.getBusiness()); | |||
| creditHistory.setSpend(real_payment); | |||
| creditHistory.setSpend(payment); | |||
| //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 | |||
| creditHistory.setMerchantId(record.getMerchantId()); | |||
| WxMerchant wxMerchant = wxMerchantMapper.selectById(record.getMerchantId()); | |||
| @@ -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; | |||
| @@ -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; | |||
| @@ -162,6 +161,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { | |||
| WxCoupon coupon = couponMap.get(coo.getCouponId()); | |||
| if (null != coupon) { | |||
| co.setCouponTitile(coupon.getTitle()); | |||
| co.setIsRecharge(coupon.getIsRecharge()); | |||
| } | |||
| } | |||
| co.setCouponPassword(coo.getPassword()); | |||
| @@ -231,13 +231,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<WxCouponPassword> pwgList = wxCouponPasswordMapper.findCouponGroupList(pwQ); | |||
| couponShort = pwgList.size(); | |||
| int dospt = strAll.length(); | |||
| @@ -258,7 +258,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<WxCouponPassword> palist = wxCouponPasswordMapper.findList(pwQ1); | |||
| if (null != palist && palist.size() > 0 ) { | |||
| @@ -270,7 +270,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { | |||
| continue; | |||
| } | |||
| if (pwList.size() >= inventory) { | |||
| if (pwList.size() >= coupon.getInventory()) { | |||
| break; | |||
| } | |||
| } | |||
| @@ -281,11 +281,18 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { | |||
| for (int i=0;i<pwList.size();i++) { | |||
| WxCouponPassword newOne = new WxCouponPassword(); | |||
| newOne.setId(idWorker.nextId()); | |||
| newOne.updateTenantInfo(tenantEntity); | |||
| newOne.setCouponId(couponId); | |||
| newOne.updateTenantInfo(coupon); | |||
| newOne.setCouponId(coupon.getId()); | |||
| newOne.setCouponShort(couponShortStr); | |||
| newOne.setPassword(pwList.get(i)); | |||
| newOne.setPayPassword(AppUtils.getSortPwd()); | |||
| if(StringUtils.isNotBlank(coupon.getUsedPassword())){ | |||
| newOne.setPayCheck(EnumYesOrNo.YES.getCode()); | |||
| newOne.setPayPassword(coupon.getUsedPassword()); | |||
| }else{ | |||
| newOne.setPayCheck(EnumYesOrNo.NO.getCode()); | |||
| newOne.setPayPassword(""); | |||
| } | |||
| newOne.setPaySettingRemark("来源卡默认配置"); | |||
| newOne.setStatus(EnumCouponPasswordStatus.INIT.getCode()); | |||
| newOne.setCreateDate(curDate); | |||
| newOne.setUpdateDate(curDate); | |||
| @@ -388,16 +395,31 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { | |||
| } | |||
| @Override | |||
| public boolean isNeedPassword(WxCouponPassword password) { | |||
| boolean isPassword = false; | |||
| //如果配置是否需要输入密码 | |||
| SysConfig config = sysConfigService.getByKey(SysConfigConstant.card_is_need_password, password); | |||
| if(config != null && "1".equals(config.getConfigItemValue())){ | |||
| if(StringUtils.isNotBlank(password.getPayPassword())){ | |||
| isPassword = true; | |||
| } | |||
| public ResultData updatePayPassword(WxCouponPassword couponPassword, EnumCUserFrom userFrom) { | |||
| WxCouponPassword wxCouponPassword = wxCouponPasswordMapper.selectById(couponPassword.getId()); | |||
| if(wxCouponPassword == null){ | |||
| return new ResultData(ErrorCode.COUPON_PASSWORD_NOT_FOUND); | |||
| } | |||
| WxCouponPassword updCP = new WxCouponPassword(); | |||
| updCP.setId(couponPassword.getId()); | |||
| updCP.setPayCheck(couponPassword.getPayCheck()); | |||
| if(EnumCouponPasswordPayCheck.PASSWORD.getCode().equals(couponPassword.getPayCheck())){ | |||
| updCP.setPayPassword(couponPassword.getPayPassword()); | |||
| }else{ | |||
| updCP.setPayPassword(""); | |||
| } | |||
| updCP.setPaySettingRemark(userFrom.getMessage()); | |||
| wxCouponPasswordMapper.updateById(updCP); | |||
| if(wxCouponPassword.getCardId() != null){ | |||
| WxCardInfo updateCI = new WxCardInfo(); | |||
| updateCI.setId(wxCouponPassword.getCardId()); | |||
| updateCI.setPayCheck(updCP.getPayCheck()); | |||
| updateCI.setPayPassword(updCP.getPayPassword()); | |||
| updateCI.setPaySettingRemark(updCP.getPaySettingRemark()); | |||
| wxCardInfoMapper.updateById(updateCI); | |||
| } | |||
| return isPassword; | |||
| return new ResultData(); | |||
| } | |||
| @@ -618,7 +618,7 @@ public class WxCouponServiceImpl implements WxCouponService { | |||
| if (record.getPasswordSupport() != null && record.getPasswordSupport().equals(EnumCouponPasswordSupport.SUPPORTED.getCode())) { | |||
| // todo 生成卡密无法修改, 调整 | |||
| couponPasswordService.mkPasswords(record, record.getId(), record.getInventory()); | |||
| couponPasswordService.mkPasswords(record); | |||
| } | |||
| record.setCreateDate(new Date()); | |||
| @@ -1042,7 +1042,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||
| boolean isChannelStockReduce = false; | |||
| boolean isChannelPrice = false; | |||
| Integer currentPrice = coupon.getSalePrice(); | |||
| Long couponChannelId = null; | |||
| if (null != couponChannel ) { | |||
| couponChannelId = couponChannel.getId(); | |||
| if (null != couponChannel.getChannelStock()) { | |||
| isChannelStockReduce = true; | |||
| } | |||
| @@ -1051,9 +1053,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||
| isChannelPrice = true; | |||
| } | |||
| } | |||
| if (isChannelStockReduce) { | |||
| setCouponChanenlStockCache(couponChannel.getId(), coupon.getTitle(),coupon.getTenantId()); | |||
| setCouponChanenlStockCache(couponChannelId, coupon.getTitle(),coupon.getTenantId()); | |||
| }else { | |||
| setCouponStockCache(coupon.getId(),coupon.getTitle(),coupon.getTenantId()); | |||
| // 检查 优惠券 库存 | |||
| @@ -1108,7 +1110,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||
| isReduceStock = false; | |||
| } | |||
| if (isReduceStock) { | |||
| wxOrderServiceHelper.reduceStock(isChannelStockReduce,coupon,couponChannel.getId(), number); | |||
| wxOrderServiceHelper.reduceStock(isChannelStockReduce,coupon,couponChannelId, number); | |||
| } | |||
| reduceResult.setChannelStockReduce(isChannelStockReduce); | |||
| reduceResult.setCurrentPrice(currentPrice); | |||
| @@ -1499,6 +1501,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||
| cardInfo.setOwnerUserId(user.getId()); | |||
| cardInfo.setCUserId(user.getId()); | |||
| cardInfo.setSupportTransfer(coupon.getSupportTransfer()); | |||
| cardInfo.setPayCheck(couponPassWord.getPayCheck()); | |||
| cardInfo.setPayPassword(couponPassWord.getPayPassword()); | |||
| cardInfo.setPaySettingRemark(couponPassWord.getPaySettingRemark()); | |||
| wxCardInfoMapper.updateById(cardInfo); | |||
| }else { | |||
| cardInfo = new WxCardInfo(); | |||
| @@ -1514,7 +1519,17 @@ public class WxOrderServiceImpl implements WxOrderService { | |||
| //后置卡券可能没有面额 | |||
| cardInfo.setAmount(couponPassWord.getPrice()); | |||
| cardInfo.setRemainingAmount(couponPassWord.getPrice()); | |||
| } | |||
| cardInfo.setPayCheck(couponPassWord.getPayCheck()); | |||
| cardInfo.setPayPassword(couponPassWord.getPayPassword()); | |||
| cardInfo.setPaySettingRemark(couponPassWord.getPaySettingRemark()); | |||
| }else{ | |||
| if(StringUtils.isNotBlank(coupon.getUsedPassword())){ | |||
| cardInfo.setPayCheck(EnumYesOrNo.YES.getCode()); | |||
| cardInfo.setPayPassword(coupon.getUsedPassword()); | |||
| } | |||
| cardInfo.setPaySettingRemark("来源于卡默认配置"); | |||
| } | |||
| cardInfo.setCUserId(user.getId()); | |||
| cardInfo.setOwnerUserId(user.getId()); | |||
| if (!coupon.checkIsFree()) { | |||
| @@ -1282,7 +1282,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||
| record.setId(idWorker.nextId()); | |||
| record.setOwnerId(cardSend.getOwnerId()); | |||
| record.setMerchantId(cardSend.getMerchantId()); | |||
| record.setPayFrom(EnumCardSpendFrom.C.getCode()); | |||
| record.setPayFrom(EnumCardSpendFrom.refund.getCode()); | |||
| record.setDeductionAmount(refundFee); | |||
| record.setRemark("退款"); | |||
| @@ -11,6 +11,8 @@ | |||
| <result column="type" jdbcType="INTEGER" property="type" /> | |||
| <result column="coupon_password_id" jdbcType="BIGINT" property="couponPasswordId" /> | |||
| <result column="coupon_password" jdbcType="VARCHAR" property="couponPassword" /> | |||
| <result column="pay_check" jdbcType="INTEGER" property="payCheck" /> | |||
| <result column="pay_password" jdbcType="VARCHAR" property="payPassword" /> | |||
| <result column="transaction_id" jdbcType="VARCHAR" property="transactionId" /> | |||
| <result column="amount" jdbcType="INTEGER" property="amount" /> | |||
| <result column="sale_amount" jdbcType="INTEGER" property="saleAmount" /> | |||
| @@ -26,7 +28,7 @@ | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `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` | |||
| </sql> | |||
| @@ -55,6 +55,8 @@ | |||
| <result column="conditions" jdbcType="VARCHAR" property="conditions"/> | |||
| <result column="approval_type" property="approvalType"/> | |||
| <result column="password_support" property="passwordSupport"/> | |||
| <result column="is_recharge" jdbcType="INTEGER" property="isRecharge"/> | |||
| <result column="used_password" jdbcType="VARCHAR" property="usedPassword"/> | |||
| <result column="content_type" property="contentType"/> | |||
| <result column="html" property="html"/> | |||
| <result column="source_type" jdbcType="INTEGER" property="sourceType"/> | |||
| @@ -131,7 +133,7 @@ | |||
| c.`valid_type`,c.`valid_start_date`,c.`valid_end_date`,c.pick_start_date,c.pick_end_date,c.`valid_days`,c.`detail`,c.`price`,c.tail_price,c.orig_price,c.`unit`,c.`remain_inventory`,c.`inventory`, | |||
| c.`remark`,c.`status`,c.`create_date`,c.`update_date`,c.`business`,c.`sub_business`,c.`support_transfer`,c.`subsidy_num`,c.`subsidy_type`,c.`is_after_set_price`, | |||
| c.`press_limit_num`, c.`press_limit_hours`,c.`press_pay_reduce_stock`, c.`auto_refund`,c.`credit_price`,c.`credit_refund`,c.`put_apply_status`,c.`stock_apply_status`,c.`cancle_apply_status`, | |||
| c.`conditions`,c.approval_type,c.content_type,c.source_type,c.merchant_type,c.password_support,c.gift_list,c.product_type,c.category_id,c.goods_id | |||
| c.`conditions`,c.approval_type,c.content_type,c.source_type,c.merchant_type,c.password_support,c.is_recharge,c.used_password,c.gift_list,c.product_type,c.category_id,c.goods_id | |||
| </sql> | |||
| <sql id="statusColumns"> | |||
| @@ -483,7 +485,7 @@ | |||
| select | |||
| <include refid="allColumns"/> | |||
| from wx_coupon c | |||
| <include refid="dynamicWhereConditions"/> | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||
| <update id="updateStockAndValidDate" parameterType="com.iformall.domain.po.WxCoupon"> | |||
| @@ -9,6 +9,7 @@ | |||
| <result column="coupon_id" jdbcType="BIGINT" property="couponId" /> | |||
| <result column="coupon_short" jdbcType="VARCHAR" property="couponShort" /> | |||
| <result column="password" jdbcType="VARCHAR" property="password" /> | |||
| <result column="pay_check" jdbcType="INTEGER" property="payCheck" /> | |||
| <result column="pay_password" jdbcType="VARCHAR" property="payPassword" /> | |||
| <result column="status" jdbcType="INTEGER" property="status" /> | |||
| <result column="sended_phone" jdbcType="VARCHAR" property="sendedPhone" /> | |||
| @@ -21,7 +22,8 @@ | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `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` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -117,11 +119,11 @@ | |||
| </select> | |||
| <insert id="insertCouponPasswds" parameterType="java.util.List"> | |||
| 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 | |||
| <foreach collection="list" item="item" index="index" separator=","> | |||
| ( | |||
| #{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} | |||
| ) | |||
| </foreach> | |||