Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
wangw 2025-09-26 16:03:30 +08:00
commit 66a4f44d6d
2 changed files with 6 additions and 5 deletions

View File

@ -79,13 +79,13 @@ public class VipPayController {
* @return * @return
*/ */
@PostMapping("/recharge") @PostMapping("/recharge")
@Debounce(value = "#payParam.shopUserId") @Debounce(value = "#rechargeDTO.shopUserId")
public CzgResult<Map<String, Object>> recharge(HttpServletRequest request, @Validated @RequestBody VipPayParamDTO rechargeDTO) { public CzgResult<Map<String, Object>> recharge(HttpServletRequest request, @Validated @RequestBody VipPayParamDTO rechargeDTO) {
if (rechargeDTO.getRechargeDetailId() == null && rechargeDTO.getAmount() == null) { if (rechargeDTO.getRechargeDetailId() == null && rechargeDTO.getAmount() == null) {
return CzgResult.failure("充值失败 未指定充值金额"); return CzgResult.failure("充值失败 未指定充值金额");
} }
rechargeDTO.setPlatformType(ServletUtil.getHeaderIgnoreCase(ServletUtil.getRequest(), "platformType")); rechargeDTO.setPlatformType(ServletUtil.getHeaderIgnoreCase(ServletUtil.getRequest(), "platformType"));
return payService.recharge(ServletUtil.getClientIP(request), rechargeDTO, StpKit.USER.getLoginIdAsLong()); return payService.recharge(ServletUtil.getClientIP(request), rechargeDTO, rechargeDTO.getShopUserId());
} }
/** /**

View File

@ -431,16 +431,17 @@ public class PayServiceImpl implements PayService {
} }
@Override @Override
public CzgResult<Map<String, Object>> recharge(String clientIP, VipPayParamDTO rechargeDTO, Long userId) { public CzgResult<Map<String, Object>> recharge(String clientIP, VipPayParamDTO rechargeDTO, Long shopUserId) {
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getSourceShopId, rechargeDTO.getShopId()) ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getSourceShopId, rechargeDTO.getShopId())
.eq(ShopUser::getUserId, userId)); .eq(ShopUser::getId, shopUserId));
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在"); AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
MkShopRechargeVO rechargeVO = shopRechargeService.detail(rechargeDTO.getShopId()); MkShopRechargeVO rechargeVO = shopRechargeService.detail(rechargeDTO.getShopId());
if (rechargeDTO.getRechargeDetailId() == null && rechargeVO.getIsCustom() == 0) { if (rechargeDTO.getRechargeDetailId() == null && rechargeVO.getIsCustom() == 0) {
throw new CzgException("未开启自定义充值金额"); throw new CzgException("未开启自定义充值金额");
} }
Long mainShopId = shopInfoService.getMainIdByShopId(rechargeDTO.getShopId());
BigDecimal amount = shopRechargeService.checkRecharge(StpKit.USER.getHeadId(), rechargeDTO.getShopId(), userId, rechargeDTO.getRechargeDetailId(), rechargeDTO.getAmount()); BigDecimal amount = shopRechargeService.checkRecharge(mainShopId, rechargeDTO.getShopId(), shopUser.getUserId(), rechargeDTO.getRechargeDetailId(), rechargeDTO.getAmount());
String payOrderNo = rechargeDTO.getPlatformType() + IdUtil.getSnowflakeNextId(); String payOrderNo = rechargeDTO.getPlatformType() + IdUtil.getSnowflakeNextId();
initOrderPayment(new OrderPayment(rechargeDTO.getShopId(), shopUser.getId(), "memberIn", payOrderNo, initOrderPayment(new OrderPayment(rechargeDTO.getShopId(), shopUser.getId(), "memberIn", payOrderNo,
"", amount, rechargeDTO.getRechargeDetailId())); "", amount, rechargeDTO.getRechargeDetailId()));