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
*/
@PostMapping("/recharge")
@Debounce(value = "#payParam.shopUserId")
@Debounce(value = "#rechargeDTO.shopUserId")
public CzgResult<Map<String, Object>> recharge(HttpServletRequest request, @Validated @RequestBody VipPayParamDTO rechargeDTO) {
if (rechargeDTO.getRechargeDetailId() == null && rechargeDTO.getAmount() == null) {
return CzgResult.failure("充值失败 未指定充值金额");
}
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
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())
.eq(ShopUser::getUserId, userId));
.eq(ShopUser::getId, shopUserId));
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
MkShopRechargeVO rechargeVO = shopRechargeService.detail(rechargeDTO.getShopId());
if (rechargeDTO.getRechargeDetailId() == null && rechargeVO.getIsCustom() == 0) {
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();
initOrderPayment(new OrderPayment(rechargeDTO.getShopId(), shopUser.getId(), "memberIn", payOrderNo,
"", amount, rechargeDTO.getRechargeDetailId()));