Просмотр исходного кода

//password

release_toaliyun_real
xhxu 3 лет назад
Родитель
Сommit
08bdd88b8e
6 измененных файлов: 53 добавлений и 28 удалений
  1. +3
    -0
      mallinkAdmin/src/main/resources/db/migration/V2023030800001__coupon_press.sql
  2. +9
    -12
      mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java
  3. +17
    -4
      mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java
  4. +1
    -0
      mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java
  6. +21
    -12
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java

+ 3
- 0
mallinkAdmin/src/main/resources/db/migration/V2023030800001__coupon_press.sql Просмотреть файл

@@ -1,2 +1,5 @@
ALTER TABLE `mallink`.`wx_coupon_password` ALTER TABLE `mallink`.`wx_coupon_password`
ADD COLUMN `pay_password` varchar(50) COMMENT '支付密码' AFTER `password`; ADD COLUMN `pay_password` varchar(50) COMMENT '支付密码' AFTER `password`;


INSERT INTO `mallink`.`sys_config`(`id`, `config_item_key`, `config_item_remark`, `create_date`, `update_date`, `status`) VALUES (7, 'cardIsNeedPassword', '实体购物卡是否需要密码', '2023-03-08 10:49:15', '2023-03-08 10:49:15', 0);

+ 9
- 12
mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java Просмотреть файл

@@ -2,19 +2,15 @@ package com.iformall.controller;


import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCardInfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponPassword;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.common.SysConfigConstant;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardSpendVo;
import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.domain.vo.WxCouponOrderCVo;
import com.iformall.enums.EnumCardInfoType; import com.iformall.enums.EnumCardInfoType;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.pay.WxPayConstant; import com.iformall.pay.WxPayConstant;
import com.iformall.service.PosBrunService;
import com.iformall.service.WxCardInfoService;
import com.iformall.service.WxCouponPasswordService;
import com.iformall.service.WxCouponService;
import com.iformall.service.*;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;


@@ -43,6 +39,9 @@ public class WxCardInfoController extends BaseController {
@Autowired @Autowired
private WxCouponPasswordService couponPasswordService; private WxCouponPasswordService couponPasswordService;

@Autowired
private SysConfigService sysConfigService;
@Autowired @Autowired
private WxCouponService wxCouponService; private WxCouponService wxCouponService;
@@ -79,10 +78,8 @@ public class WxCardInfoController extends BaseController {
if (null == password) { if (null == password) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未查询到卡:"+cardIdStr);
} }
boolean isPassword = false;
if(StringUtils.isNotBlank(password.getPayPassword())){
isPassword = true;
}

boolean isPassword = couponPasswordService.isNeedPassword(password);


cardInfo = wxCardInfoService.getByCouponPasswordId(couponPasswordId, password); cardInfo = wxCardInfoService.getByCouponPasswordId(couponPasswordId, password);
if (null != cardInfo) { if (null != cardInfo) {


+ 17
- 4
mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java Просмотреть файл

@@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.common.SysConfigConstant;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardSpendVo;
@@ -73,7 +74,7 @@ public class WxCardPayController extends BaseController {
WxCouponOrderService wxCouponOrderService; WxCouponOrderService wxCouponOrderService;
@Autowired @Autowired
WxCouponPasswordService wxCouponPassword;
WxCouponPasswordService wxCouponPasswordService;
@Autowired @Autowired
WxCouponService wxCouponService; WxCouponService wxCouponService;
@@ -115,6 +116,7 @@ public class WxCardPayController extends BaseController {
String cardIdStr = paramMap.get("dynamicId"); String cardIdStr = paramMap.get("dynamicId");
String totalFeeStr = paramMap.get("totalFee"); String totalFeeStr = paramMap.get("totalFee");
String password = paramMap.get("password");
if (StringUtils.isBlank(cardIdStr) || cardIdStr.equalsIgnoreCase(Constant.UNDEFINED)) { if (StringUtils.isBlank(cardIdStr) || cardIdStr.equalsIgnoreCase(Constant.UNDEFINED)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "dynamicId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "dynamicId不能为空");
@@ -139,7 +141,7 @@ public class WxCardPayController extends BaseController {
} }
return saveECardCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr); return saveECardCardPayOrder(cardIdStr,cUserIdStr,totalFeeStr);
}else { }else {
return savePasswordCardPayOrder(cardIdStr,totalFeeStr);
return savePasswordCardPayOrder(cardIdStr,totalFeeStr,password);
} }
} }
@@ -168,7 +170,7 @@ public class WxCardPayController extends BaseController {
return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,true); return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,true);
} }
public ResultData savePasswordCardPayOrder(String cardIdStr,String totalFeeStr) {
public ResultData savePasswordCardPayOrder(String cardIdStr,String totalFeeStr,String password) {
Long cardId = null; Long cardId = null;
try { try {
cardId = Long.valueOf(cardIdStr); cardId = Long.valueOf(cardIdStr);
@@ -179,16 +181,27 @@ public class WxCardPayController extends BaseController {
WxMerchantBUser merchantBUser = getLoginBUser(); WxMerchantBUser merchantBUser = getLoginBUser();
WxCouponPassword couponPassword = wxCouponPassword.getById(cardId);
WxCouponPassword couponPassword = wxCouponPasswordService.getById(cardId);
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(StringUtils.isBlank(password)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请输入支付密码");
}
if(!password.equals(couponPassword.getPayPassword())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"密码输入错误");
}
}
if (EnumYesOrNo.YES.getCode().intValue() == couponPassword.getIsStop().intValue()) { if (EnumYesOrNo.YES.getCode().intValue() == couponPassword.getIsStop().intValue()) {
return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用.");
} }
if (couponPassword.getPrice().intValue() <= 0 ) { if (couponPassword.getPrice().intValue() <= 0 ) {
return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡密面额未设置."); return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡密面额未设置.");
} }


WxCoupon coupon = wxCouponService.getById(couponPassword.getCouponId(),couponPassword.getTenantId()); WxCoupon coupon = wxCouponService.getById(couponPassword.getCouponId(),couponPassword.getTenantId());
if (coupon == null) { if (coupon == null) {


+ 1
- 0
mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java Просмотреть файл

@@ -6,4 +6,5 @@ public class SysConfigConstant {
public static final String card_vierfy_seconds_key="cardVierfySeconds"; public static final String card_vierfy_seconds_key="cardVierfySeconds";
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 card_is_need_password = "cardIsNeedPassword";
} }

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java Просмотреть файл

@@ -84,4 +84,6 @@ 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);
} }

+ 21
- 12
mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java Просмотреть файл

@@ -3,15 +3,8 @@ 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.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxCardInfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.po.WxCouponPassword;
import com.iformall.domain.po.WxMall;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.common.SysConfigConstant;
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.EnumCouponOrderStatus;
import com.iformall.enums.EnumCouponPasswordStatus; import com.iformall.enums.EnumCouponPasswordStatus;
@@ -28,6 +21,7 @@ import com.iformall.mapper.WxCardInfoMapper;
import com.iformall.mapper.WxCouponMapper; import com.iformall.mapper.WxCouponMapper;
import com.iformall.mapper.WxCouponPasswordMapper; import com.iformall.mapper.WxCouponPasswordMapper;
import com.iformall.service.ExcelService; import com.iformall.service.ExcelService;
import com.iformall.service.SysConfigService;
import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCouponPasswordService; import com.iformall.service.WxCouponPasswordService;


@@ -76,6 +70,9 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService {
@Autowired @Autowired
StringRedisTemplate stringRedisTemplate; StringRedisTemplate stringRedisTemplate;


@Autowired
SysConfigService sysConfigService;

@Override @Override
public PageInfo<WxCouponPassword> listAsPage(WxCouponPassword record, Integer pageIndex, Integer pageSize) { public PageInfo<WxCouponPassword> listAsPage(WxCouponPassword record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponPasswordMapper.findList(record)); return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponPasswordMapper.findList(record));
@@ -400,7 +397,19 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService {
stringRedisTemplate.opsForHash().increment(importKey,"processCount",1); stringRedisTemplate.opsForHash().increment(importKey,"processCount",1);
stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS); stringRedisTemplate.expire(importKey,10, TimeUnit.SECONDS);
} }

@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;
}
}
return isPassword;
}


} }

Загрузка…
Отмена
Сохранить