Преглед изворни кода

//card

release_toaliyun_real
xhxu пре 3 година
родитељ
комит
61e521d3fa
24 измењених фајлова са 595 додато и 83 уклоњено
  1. +0
    -17
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java
  2. +30
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardPayController.java
  3. +30
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java
  4. +329
    -1
      mallinkAdmin/src/main/resources/db/migration/V2023031600001_cardspend.sql
  5. +5
    -5
      mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java
  6. +14
    -5
      mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java
  7. +14
    -7
      mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java
  8. +31
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  9. +15
    -4
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java
  10. +0
    -1
      mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java
  11. +7
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCardInfo.java
  12. +6
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java
  13. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java
  14. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java
  15. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendMerchantVo.java
  16. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java
  17. +5
    -2
      mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java
  18. +33
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java
  19. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  20. +40
    -19
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java
  21. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java
  22. +14
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  23. +3
    -1
      mallinkService/src/main/resources/mapper/WxCardInfoMapper.xml
  24. +5
    -3
      mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml

+ 0
- 17
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java Прегледај датотеку

@@ -117,23 +117,6 @@ public class WxCardInfoController extends BaseController {
return new ResultData(); 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("卡订单-导出数据") @ApiOperation("卡订单-导出数据")
@GetMapping("/exportCardOrder") @GetMapping("/exportCardOrder")
@SystemControllerLog(description = "卡订单-导出数据") @SystemControllerLog(description = "卡订单-导出数据")


+ 30
- 3
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.WxCardSpendMerchantVo;
import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardSpendVo;
import com.iformall.domain.vo.WxCardVo; 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.exception.MallinkException;
import com.iformall.service.WxCardInfoService; import com.iformall.service.WxCardInfoService;
import com.iformall.service.WxCardSpendService; import com.iformall.service.WxCardSpendService;
import com.iformall.service.WxMerchantService; import com.iformall.service.WxMerchantService;
import com.iformall.service.WxOrderService; import com.iformall.service.WxOrderService;
import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;


import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -91,6 +90,34 @@ public class WxCardPayController extends BaseController {
final PageInfo<WxCardVo> page = wxCardInfoService.listAsPage(wxCardVo, pageNum, pageSize); final PageInfo<WxCardVo> page = wxCardInfoService.listAsPage(wxCardVo, pageNum, pageSize);
return new ResultData(page); 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端储值卡交易流水(消费记录 + 补贴)列表接口") @ApiOperation("C端扫B端储值卡交易流水(消费记录 + 补贴)列表接口")
@GetMapping("cardSpendlist") @GetMapping("cardSpendlist")


+ 30
- 3
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.common.ResultData;
import com.iformall.controller.base.BaseController; import com.iformall.controller.base.BaseController;
import com.iformall.controller.mem.AsyncTask; 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.BaseEntity;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.MallUserInfo; 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.WxCardSpendVo;
import com.iformall.domain.vo.WxCouponPasswordCountInfoVO; import com.iformall.domain.vo.WxCouponPasswordCountInfoVO;
import com.iformall.domain.vo.WxCouponPasswordVo; 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.exception.MallinkException;
import com.iformall.service.WxCouponPasswordService; import com.iformall.service.WxCouponPasswordService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
@@ -134,6 +133,34 @@ public class WxCouponPasswordController extends BaseController {
final PageInfo<WxCouponPasswordVo> page = wxCouponPasswordService.listVoAsPage(wxCouponPassword, pageNum, pageSize); final PageInfo<WxCouponPasswordVo> page = wxCouponPasswordService.listVoAsPage(wxCouponPassword, pageNum, pageSize);
return new ResultData(page); 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("卡密记录导出") @ApiOperation("卡密记录导出")
@GetMapping("/exportData") @GetMapping("/exportData")


+ 329
- 1
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 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_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;





+ 5
- 5
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("cardId", cardInfo.getId());
map.put("amount", cardInfo.getAmount()); map.put("amount", cardInfo.getAmount());
map.put("remainAmount", cardInfo.getRemainingAmount()); 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){ }else if(type != null && type.intValue() == 0){
isECard = true; isECard = true;
cardInfo = wxCardInfoService.getById(Long.parseLong(cardIdStr)); cardInfo = wxCardInfoService.getById(Long.parseLong(cardIdStr));
@@ -121,6 +122,7 @@ public class WxCardInfoController extends BaseController {
map.put("amount", cardInfo.getAmount()); map.put("amount", cardInfo.getAmount());
map.put("remainAmount", cardInfo.getRemainingAmount()); map.put("remainAmount", cardInfo.getRemainingAmount());
map.put("cardType", cardInfo.getType()); map.put("cardType", cardInfo.getType());
map.put("payCheck",cardInfo.getPayCheck());
}else{ }else{
Long couponPasswordId = Long.parseLong(cardIdStr); Long couponPasswordId = Long.parseLong(cardIdStr);
//实体卡 //实体卡
@@ -129,21 +131,19 @@ public class WxCardInfoController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr);
} }


boolean isPassword = couponPasswordService.isNeedPassword(password);

cardInfo = wxCardInfoService.getByCouponPasswordId(couponPasswordId, password); cardInfo = wxCardInfoService.getByCouponPasswordId(couponPasswordId, password);
map.put("cardId", couponPasswordId); map.put("cardId", couponPasswordId);
if (null != cardInfo) { if (null != cardInfo) {
map.put("amount", cardInfo.getAmount()); map.put("amount", cardInfo.getAmount());
map.put("remainAmount", cardInfo.getRemainingAmount()); map.put("remainAmount", cardInfo.getRemainingAmount());
map.put("cardType", cardInfo.getType()); map.put("cardType", cardInfo.getType());
map.put("isPassword",isPassword);
map.put("payCheck",cardInfo.getPayCheck());
}else { }else {
//第一次刷卡的时候没有cardInfo //第一次刷卡的时候没有cardInfo
map.put("amount", password.getPrice()); map.put("amount", password.getPrice());
map.put("remainAmount", password.getPrice()); map.put("remainAmount", password.getPrice());
map.put("cardType", EnumCardInfoType.CARD.getCode()); map.put("cardType", EnumCardInfoType.CARD.getCode());
map.put("isPassword",isPassword);
map.put("payCheck",password.getPayCheck());
} }
} }
return new ResultData(map); return new ResultData(map);


+ 14
- 5
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 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)){ }else if(EnumCardSpendFrom.phone.equals(cardPayType)){
return saveECardCardPayOrder(cardIdStr,null,totalFeeStr,cardPayType);
return saveECardCardPayOrder(cardIdStr,null,totalFeeStr,password,cardPayType);
}else{ }else{
if(cardPayType == null){ if(cardPayType == null){
cardPayType = EnumCardSpendFrom.card; 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; Long cUserId = null;
if(StringUtils.isNotBlank(cUserIdStr)){ if(StringUtils.isNotBlank(cUserIdStr)){
try { try {
@@ -216,6 +216,15 @@ public class WxCardPayController extends BaseController {
return new ResultData(ErrorCode.CARD_TRANSFERED); return new ResultData(ErrorCode.CARD_TRANSFERED);
} }
cUserId = cardInfo.getOwnerUserId(); 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); return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,cardPayType);
} }
@@ -234,8 +243,8 @@ public class WxCardPayController extends BaseController {
if (null == couponPassword) { if (null == couponPassword) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "卡未查询到"); 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)){ if(StringUtils.isBlank(password)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请输入支付密码"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请输入支付密码");
} }


+ 14
- 7
mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java Прегледај датотеку

@@ -8,6 +8,7 @@ import java.util.Map;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;


import com.iformall.enums.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 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.WxOrder;
import com.iformall.domain.po.base.BaseEntity.SortField; import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.vo.WxCardSpendVo; 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.exception.MallinkException;
import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCardInfoService; import com.iformall.service.WxCardInfoService;
@@ -85,16 +81,17 @@ public class WxCardPayController extends BaseController {
String cardIdStr = paramMap.get("cardId"); String cardIdStr = paramMap.get("cardId");
String merchantStr = paramMap.get("merchantId"); String merchantStr = paramMap.get("merchantId");
String totalFeeStr = paramMap.get("totalFee"); String totalFeeStr = paramMap.get("totalFee");
String password = paramMap.get("password");
Long memberId; Long memberId;
try { try {
memberId = getMemberId(); memberId = getMemberId();
} catch (Exception e) { } catch (Exception e) {
return new ResultData(Result.ERROR,e.getMessage()); 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(); String ipStr = getIpAddr();
logger.info("saveCardPayOrder: " + ipStr + " : cUserId:{} , cardIdStr:{},merchantStr:{},totalFeeStr:{}",cUserId,cardIdStr,cardIdStr,cardIdStr); logger.info("saveCardPayOrder: " + ipStr + " : cUserId:{} , cardIdStr:{},merchantStr:{},totalFeeStr:{}",cUserId,cardIdStr,cardIdStr,cardIdStr);
WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,getFinalTenantId()); WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,getFinalTenantId());
@@ -139,6 +136,16 @@ public class WxCardPayController extends BaseController {
logger.error("卡不存在: " + cardIdStr); logger.error("卡不存在: " + cardIdStr);
return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); 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()) { if (EnumCardInfoStatus.STOP.getCode().intValue() == cardInfo.getStatus().intValue()) {
return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用.");
} }


+ 31
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java Прегледај датотеку

@@ -62,6 +62,9 @@ public class WxCouponOrderController extends BaseController {
@Autowired @Autowired
private WxPayOrderService wxPayOrderService; private WxPayOrderService wxPayOrderService;


@Autowired
private WxCardInfoService wxCardInfoService;

//@RedisCache(expireTime = 100) //@RedisCache(expireTime = 100)
@ApiOperation("券包分页列表接口") @ApiOperation("券包分页列表接口")
@GetMapping("list") @GetMapping("list")
@@ -359,6 +362,34 @@ public class WxCouponOrderController extends BaseController {
} }
return wxCouponOrderService.cardDetailCUserVo(memberId,getTenantInfo(), couponOrderId); 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") @ApiOperation(value = "手动核销方式,电子卡获取动态id")
@GetMapping("cardDynamicId") @GetMapping("cardDynamicId")


+ 15
- 4
mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java Прегледај датотеку

@@ -181,7 +181,6 @@ public class WxCouponPasswordController extends BaseController {
// 卡密领取卡券 // 卡密领取卡券
Integer pwdStatus = couponPassword.getStatus(); Integer pwdStatus = couponPassword.getStatus();
setCouponPasswordStatus(couponPassword, EnumCouponPasswordStatus.USED,payCheckEnum,payPassword); setCouponPasswordStatus(couponPassword, EnumCouponPasswordStatus.USED,payCheckEnum,payPassword);
couponPassword.setStatus(EnumCouponPasswordStatus.USED.getCode());


// 3. 领取free coupon // 3. 领取free coupon
if (null == cardInfo || couponPassword.isDefaultUser()) { if (null == cardInfo || couponPassword.isDefaultUser()) {
@@ -207,10 +206,22 @@ public class WxCouponPasswordController extends BaseController {
WxCouponPassword updateCouponPwd = new WxCouponPassword(); WxCouponPassword updateCouponPwd = new WxCouponPassword();
updateCouponPwd.setId(couponPassword.getId()); updateCouponPwd.setId(couponPassword.getId());
updateCouponPwd.setStatus(pwdStatus.getCode()); 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); couponPasswordService.saveOrUpdate(updateCouponPwd);

couponPassword.setStatus(updateCouponPwd.getStatus());
couponPassword.setPayCheck(updateCouponPwd.getPayCheck());
couponPassword.setPayPassword(updateCouponPwd.getPayPassword());
couponPassword.setPaySettingRemark(updateCouponPwd.getPaySettingRemark());
} }
@ApiOperation(value = "查询卡详情") @ApiOperation(value = "查询卡详情")


+ 0
- 1
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 default_merchant_b_user = "defaultMerchantBUserId";
public static final String coupon_detail_show_selled = "couponDetailShowSelled"; public static final String coupon_detail_show_selled = "couponDetailShowSelled";
public static final String coupon_list_show_selled = "couponListShowSelled"; public static final String coupon_list_show_selled = "couponListShowSelled";
public static final String card_is_need_password = "cardIsNeedPassword";


} }

+ 7
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCardInfo.java Прегледај датотеку

@@ -30,6 +30,12 @@ public class WxCardInfo extends TenantEntity {
protected List<Long> couponPasswordIdList; protected List<Long> couponPasswordIdList;
@io.swagger.annotations.ApiModelProperty(value="卡密",name="couponPassword") @io.swagger.annotations.ApiModelProperty(value="卡密",name="couponPassword")
protected String 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") @io.swagger.annotations.ApiModelProperty(value="卡类型EnumCardInfoType",name="type")
protected Integer type; protected Integer type;
@io.swagger.annotations.ApiModelProperty(value = "券ID", name = "couponId") @io.swagger.annotations.ApiModelProperty(value = "券ID", name = "couponId")
@@ -83,4 +89,5 @@ public class WxCardInfo extends TenantEntity {
protected Date enddate; protected Date enddate;
@TableField(exist = false) @TableField(exist = false)
private List<Long> couponIdList; private List<Long> couponIdList;

} }

+ 6
- 0
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") @io.swagger.annotations.ApiModelProperty(value="卡密是否支持(0:不支持,1支持)",name="passwordSupport")
private Integer 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") @io.swagger.annotations.ApiModelProperty(value="1:A端发卷,2:B端发卷",name="sourceType")
private Integer sourceType; private Integer sourceType;




+ 4
- 0
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") @Excel(name = "兑换码", width = 20, orderNum = "2")
@io.swagger.annotations.ApiModelProperty(value="卡密",name="password") @io.swagger.annotations.ApiModelProperty(value="卡密",name="password")
private String password; private String password;
@io.swagger.annotations.ApiModelProperty(value="卡安全设置 EnumCouponPasswordPayCheck",name="payCheck")
protected Integer payCheck;
@Excel(name = "密码", width = 20, orderNum = "3") @Excel(name = "密码", width = 20, orderNum = "3")
@io.swagger.annotations.ApiModelProperty(value="密码",name="payPassword") @io.swagger.annotations.ApiModelProperty(value="密码",name="payPassword")
private String payPassword; private String payPassword;
@io.swagger.annotations.ApiModelProperty(value="",name="paySettingRemark")
private String paySettingRemark;
@TableField(exist = false) @TableField(exist = false)
private String passwordLike; private String passwordLike;
@Excel(name = "状态", width = 20, replace = {"初始_0", "发送中_1", "已发出_2", "已使用_3", "不可用_4"}, orderNum = "5") @Excel(name = "状态", width = 20, replace = {"初始_0", "发送中_1", "已发出_2", "已使用_3", "不可用_4"}, orderNum = "5")


+ 3
- 0
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") @io.swagger.annotations.ApiModelProperty(value = "卡面额余额", name = "remainingAmount")
private Integer remainingAmount; private Integer remainingAmount;


@io.swagger.annotations.ApiModelProperty(value="卡安全设置 EnumCouponPasswordPayCheck",name="payCheck")
protected Integer payCheck;

@io.swagger.annotations.ApiModelProperty(value="卡消费列表",name="cardSpendList") @io.swagger.annotations.ApiModelProperty(value="卡消费列表",name="cardSpendList")
private List<WxCardSpendVo> cardSpendList; private List<WxCardSpendVo> cardSpendList;




+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendMerchantVo.java Прегледај датотеку

@@ -13,10 +13,10 @@ public class WxCardSpendMerchantVo {
private Long merchantId; private Long merchantId;
@Excel(name = "商户名称", width = 20, orderNum = "2") @Excel(name = "商户名称", width = 20, orderNum = "2")
private String merchantName; 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 Integer payType;
private BigDecimal total; private BigDecimal total;
@Excel(name = "交易总金额(元)", width = 20, orderNum = "4")
@Excel(name = "总金额(元)", width = 20, orderNum = "4")
private String totalStr; private String totalStr;
private BigDecimal fee; private BigDecimal fee;
@Excel(name = "总手续费(元)", width = 20, orderNum = "5") @Excel(name = "总手续费(元)", width = 20, orderNum = "5")


+ 3
- 0
mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java Прегледај датотеку

@@ -1,6 +1,7 @@
package com.iformall.service; package com.iformall.service;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCardInfo; import com.iformall.domain.po.WxCardInfo;
import com.iformall.domain.po.WxCardTransferInfo; import com.iformall.domain.po.WxCardTransferInfo;
import com.iformall.domain.po.WxCoupon; 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.po.base.TenantEntity;
import com.iformall.domain.vo.WxCardTransferVo; import com.iformall.domain.vo.WxCardTransferVo;
import com.iformall.domain.vo.WxCardVo; import com.iformall.domain.vo.WxCardVo;
import com.iformall.enums.EnumCUserFrom;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@@ -66,4 +68,5 @@ public interface WxCardInfoService {
*/ */
void updAmount(WxCardInfo cardInfo,Integer amount,Integer remainingAmount,Integer remainingShareFeeAmount); void updAmount(WxCardInfo cardInfo,Integer amount,Integer remainingAmount,Integer remainingShareFeeAmount);


ResultData updatePayPassword(WxCardInfo cardInfo, EnumCUserFrom userFrom);
} }

+ 5
- 2
mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java Прегледај датотеку

@@ -1,13 +1,16 @@
package com.iformall.service; package com.iformall.service;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponPassword; import com.iformall.domain.po.WxCouponPassword;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCardPriceTemplate; import com.iformall.domain.vo.WxCardPriceTemplate;
import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardSpendVo;
import com.iformall.domain.vo.WxCouponPasswordCountInfoVO; import com.iformall.domain.vo.WxCouponPasswordCountInfoVO;
import com.iformall.domain.vo.WxCouponPasswordVo; import com.iformall.domain.vo.WxCouponPasswordVo;
import com.iformall.enums.EnumCUserFrom;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@@ -65,7 +68,7 @@ public interface WxCouponPasswordService {
* @param couponId * @param couponId
* @param inventory * @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 exportTemplate(HttpServletRequest request, HttpServletResponse response);
void importPrice(MallUserInfo user,String importKey, WxCardPriceTemplate template); void importPrice(MallUserInfo user,String importKey, WxCardPriceTemplate template);


boolean isNeedPassword(WxCouponPassword password);
ResultData updatePayPassword(WxCouponPassword couponPassword, EnumCUserFrom userFrom);
} }

+ 33
- 8
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.WxCardVo;
import com.iformall.domain.vo.WxCouponOrderBVo; import com.iformall.domain.vo.WxCouponOrderBVo;
import com.iformall.domain.vo.WxCouponPasswordVo; 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.exception.MallinkException;
import com.iformall.mapper.WxCardInfoMapper; import com.iformall.mapper.WxCardInfoMapper;
import com.iformall.mapper.WxCardTransferInfoMapper; import com.iformall.mapper.WxCardTransferInfoMapper;
@@ -344,6 +337,9 @@ public class WxCardInfoServiceImpl implements WxCardInfoService {
} }
cardInfo.setCouponPasswordId(couponPassword.getId()); cardInfo.setCouponPasswordId(couponPassword.getId());
cardInfo.setCouponPassword(couponPassword.getPassword()); cardInfo.setCouponPassword(couponPassword.getPassword());
cardInfo.setPayCheck(couponPassword.getPayCheck());
cardInfo.setPayPassword(couponPassword.getPayPassword());
cardInfo.setPaySettingRemark(couponPassword.getPaySettingRemark());
cardInfo.setCUserId(Constant.defaultCUserId); cardInfo.setCUserId(Constant.defaultCUserId);
cardInfo.setOwnerUserId(Constant.defaultCUserId); cardInfo.setOwnerUserId(Constant.defaultCUserId);
cardInfo.setServiceFeeAmount(0); 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<WxCardTransferVo> toTransferVoList(List<WxCardTransferInfo> transferList,TenantEntity tenantEntity) { private List<WxCardTransferVo> toTransferVoList(List<WxCardTransferInfo> transferList,TenantEntity tenantEntity) {
List<WxCardTransferVo> retList = new ArrayList<WxCardTransferVo>(); List<WxCardTransferVo> retList = new ArrayList<WxCardTransferVo>();
if (null != transferList && transferList.size() > 0 ) { if (null != transferList && transferList.size() > 0 ) {


+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Прегледај датотеку

@@ -2415,6 +2415,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
cvo.setAmount(cardInfo.getAmount()); cvo.setAmount(cardInfo.getAmount());
cvo.setRemainingAmount(cardInfo.getRemainingAmount()); cvo.setRemainingAmount(cardInfo.getRemainingAmount());
cvo.setSupportTransfer(cardInfo.getSupportTransfer()); cvo.setSupportTransfer(cardInfo.getSupportTransfer());
cvo.setPayCheck(cardInfo.getPayCheck());
} }
cvo.setWxCardInfo(cardInfo); cvo.setWxCardInfo(cardInfo);
return cvo; return cvo;


+ 40
- 19
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.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.common.SysConfigConstant; import com.iformall.common.SysConfigConstant;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity; 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.WxCUserBasicInfoVo;
import com.iformall.domain.vo.WxCardPriceTemplate; import com.iformall.domain.vo.WxCardPriceTemplate;
import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardSpendVo;
@@ -231,13 +230,13 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService {
} }
@Override @Override
public void mkPasswords(TenantEntity tenantEntity, Long couponId, Integer inventory) {
public void mkPasswords(WxCoupon coupon) {
String strAll = "0123456789abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ"; String strAll = "0123456789abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ";
// 1.获取 coupon short 1 // 1.获取 coupon short 1
int couponShort = 0; int couponShort = 0;
String couponShortStr = "0"; String couponShortStr = "0";
WxCouponPassword pwQ = new WxCouponPassword(); WxCouponPassword pwQ = new WxCouponPassword();
pwQ.updateTenantInfo(tenantEntity);
pwQ.updateTenantInfo(coupon);
List<WxCouponPassword> pwgList = wxCouponPasswordMapper.findCouponGroupList(pwQ); List<WxCouponPassword> pwgList = wxCouponPasswordMapper.findCouponGroupList(pwQ);
couponShort = pwgList.size(); couponShort = pwgList.size();
int dospt = strAll.length(); int dospt = strAll.length();
@@ -258,7 +257,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService {
if (!pwList.stream().anyMatch(oPwd->oPwd.equals(pwd))) { if (!pwList.stream().anyMatch(oPwd->oPwd.equals(pwd))) {
//判断是否已经在数据库里面是否存在了 //判断是否已经在数据库里面是否存在了
WxCouponPassword pwQ1 = new WxCouponPassword(); WxCouponPassword pwQ1 = new WxCouponPassword();
pwQ1.updateTenantInfo(tenantEntity);
pwQ1.updateTenantInfo(coupon);
pwQ1.setPassword(pwd); pwQ1.setPassword(pwd);
List<WxCouponPassword> palist = wxCouponPasswordMapper.findList(pwQ1); List<WxCouponPassword> palist = wxCouponPasswordMapper.findList(pwQ1);
if (null != palist && palist.size() > 0 ) { if (null != palist && palist.size() > 0 ) {
@@ -270,7 +269,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService {
continue; continue;
} }


if (pwList.size() >= inventory) {
if (pwList.size() >= coupon.getInventory()) {
break; break;
} }
} }
@@ -281,11 +280,18 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService {
for (int i=0;i<pwList.size();i++) { for (int i=0;i<pwList.size();i++) {
WxCouponPassword newOne = new WxCouponPassword(); WxCouponPassword newOne = new WxCouponPassword();
newOne.setId(idWorker.nextId()); newOne.setId(idWorker.nextId());
newOne.updateTenantInfo(tenantEntity);
newOne.setCouponId(couponId);
newOne.updateTenantInfo(coupon);
newOne.setCouponId(coupon.getId());
newOne.setCouponShort(couponShortStr); newOne.setCouponShort(couponShortStr);
newOne.setPassword(pwList.get(i)); 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.setStatus(EnumCouponPasswordStatus.INIT.getCode());
newOne.setCreateDate(curDate); newOne.setCreateDate(curDate);
newOne.setUpdateDate(curDate); newOne.setUpdateDate(curDate);
@@ -388,16 +394,31 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService {
} }


@Override @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();
} }






+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java Прегледај датотеку

@@ -618,7 +618,7 @@ public class WxCouponServiceImpl implements WxCouponService {


if (record.getPasswordSupport() != null && record.getPasswordSupport().equals(EnumCouponPasswordSupport.SUPPORTED.getCode())) { if (record.getPasswordSupport() != null && record.getPasswordSupport().equals(EnumCouponPasswordSupport.SUPPORTED.getCode())) {
// todo 生成卡密无法修改, 调整 // todo 生成卡密无法修改, 调整
couponPasswordService.mkPasswords(record, record.getId(), record.getInventory());
couponPasswordService.mkPasswords(record);
} }


record.setCreateDate(new Date()); record.setCreateDate(new Date());


+ 14
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Прегледај датотеку

@@ -1510,6 +1510,9 @@ public class WxOrderServiceImpl implements WxOrderService {
cardInfo.setOwnerUserId(user.getId()); cardInfo.setOwnerUserId(user.getId());
cardInfo.setCUserId(user.getId()); cardInfo.setCUserId(user.getId());
cardInfo.setSupportTransfer(coupon.getSupportTransfer()); cardInfo.setSupportTransfer(coupon.getSupportTransfer());
cardInfo.setPayCheck(couponPassWord.getPayCheck());
cardInfo.setPayPassword(couponPassWord.getPayPassword());
cardInfo.setPaySettingRemark(couponPassWord.getPaySettingRemark());
wxCardInfoMapper.updateById(cardInfo); wxCardInfoMapper.updateById(cardInfo);
}else { }else {
cardInfo = new WxCardInfo(); cardInfo = new WxCardInfo();
@@ -1525,7 +1528,17 @@ public class WxOrderServiceImpl implements WxOrderService {
//后置卡券可能没有面额 //后置卡券可能没有面额
cardInfo.setAmount(couponPassWord.getPrice()); cardInfo.setAmount(couponPassWord.getPrice());
cardInfo.setRemainingAmount(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.setCUserId(user.getId());
cardInfo.setOwnerUserId(user.getId()); cardInfo.setOwnerUserId(user.getId());
if (!coupon.checkIsFree()) { if (!coupon.checkIsFree()) {


+ 3
- 1
mallinkService/src/main/resources/mapper/WxCardInfoMapper.xml Прегледај датотеку

@@ -11,6 +11,8 @@
<result column="type" jdbcType="INTEGER" property="type" /> <result column="type" jdbcType="INTEGER" property="type" />
<result column="coupon_password_id" jdbcType="BIGINT" property="couponPasswordId" /> <result column="coupon_password_id" jdbcType="BIGINT" property="couponPasswordId" />
<result column="coupon_password" jdbcType="VARCHAR" property="couponPassword" /> <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="transaction_id" jdbcType="VARCHAR" property="transactionId" />
<result column="amount" jdbcType="INTEGER" property="amount" /> <result column="amount" jdbcType="INTEGER" property="amount" />
<result column="sale_amount" jdbcType="INTEGER" property="saleAmount" /> <result column="sale_amount" jdbcType="INTEGER" property="saleAmount" />
@@ -26,7 +28,7 @@
</resultMap> </resultMap>
<sql id="allColumns"> <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`, `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` `rate_amount`,`create_date`,`update_date`,`support_transfer`,`status`
</sql> </sql>


+ 5
- 3
mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml Прегледај датотеку

@@ -9,6 +9,7 @@
<result column="coupon_id" jdbcType="BIGINT" property="couponId" /> <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
<result column="coupon_short" jdbcType="VARCHAR" property="couponShort" /> <result column="coupon_short" jdbcType="VARCHAR" property="couponShort" />
<result column="password" jdbcType="VARCHAR" property="password" /> <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="pay_password" jdbcType="VARCHAR" property="payPassword" />
<result column="status" jdbcType="INTEGER" property="status" /> <result column="status" jdbcType="INTEGER" property="status" />
<result column="sended_phone" jdbcType="VARCHAR" property="sendedPhone" /> <result column="sended_phone" jdbcType="VARCHAR" property="sendedPhone" />
@@ -21,7 +22,8 @@
</resultMap> </resultMap>
<sql id="allColumns"> <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>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -117,11 +119,11 @@
</select> </select>


<insert id="insertCouponPasswds" parameterType="java.util.List"> <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 VALUES
<foreach collection="list" item="item" index="index" separator=","> <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} #{item.createDate},#{item.updateDate}
) )
</foreach> </foreach>


Loading…
Откажи
Сачувај