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

This commit is contained in:
wangw 2025-09-26 09:55:53 +08:00
commit 56a85c6a76
4 changed files with 26 additions and 6 deletions

View File

@ -95,7 +95,7 @@ public class VipPayController {
* @return
*/
@PostMapping("/ltPayMember")
@Debounce(value = "#payParam.memberOrderId")
@Debounce(value = "#payParam.shopUserId")
public CzgResult<Map<String, Object>> ltPayMember(HttpServletRequest request, @Validated @RequestBody VipMemberPayParamDTO payParam) {
AssertUtil.isNull(payParam.getShopUserId(), "购买失败 未指定店铺用户Id");
payParam.setPlatformType(ServletUtil.getHeaderIgnoreCase(ServletUtil.getRequest(), "platformType"));

View File

@ -9,6 +9,7 @@ import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 会员充值订单 实体类
@ -19,6 +20,7 @@ import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MemberOrderDTO implements Serializable {
private static final long serialVersionUID = 1L;

View File

@ -17,8 +17,6 @@ public class VipMemberPayParamDTO {
private Long shopId;
@NotNull(message = "用户ID不能为空")
private Long shopUserId;
@NotNull(message = "会员订单id不能为空")
private Long memberOrderId;
/**
* 平台类型 pc 收银机客户端 wechat 微信小程序 alipay 支付宝小程序 admin-pc PC管理端 admin-app APP管理端
*/
@ -32,4 +30,19 @@ public class VipMemberPayParamDTO {
private String pwd;
private String returnUrl;
private String buyerRemark;
/**
* 开通方案名
*/
private String name;
/**
* 昵称
*/
private String nickName;
/**
*
*/
private String orderType;
private Integer sex;
private String birthDay;
}

View File

@ -17,6 +17,7 @@ import com.czg.entity.resp.*;
import com.czg.enums.ShopUserFlowBizEnum;
import com.czg.exception.CzgException;
import com.czg.exception.PaySuccessException;
import com.czg.market.dto.MemberOrderDTO;
import com.czg.market.entity.MkShopCouponRecord;
import com.czg.market.service.MemberOrderService;
import com.czg.market.service.MkShopCouponRecordService;
@ -36,6 +37,7 @@ import com.czg.resp.CzgResult;
import com.czg.sa.StpKit;
import com.czg.service.CzgPayService;
import com.czg.service.RedisService;
import com.czg.service.market.service.impl.MemberOrderServiceImpl;
import com.czg.service.order.dto.*;
import com.czg.service.order.enums.OrderStatusEnums;
import com.czg.service.order.service.PayService;
@ -395,15 +397,18 @@ public class PayServiceImpl implements PayService {
@Override
public CzgResult<Map<String, Object>> ltPayMember(String clientIP, VipMemberPayParamDTO payParam) {
MemberOrder memberOrder = memberOrderService.getOne(new QueryWrapper().eq(MemberOrder::getId, payParam.getMemberOrderId()));
AssertUtil.isNull(memberOrder, "充值会员失败 该会员订单不存在");
ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getSourceShopId, payParam.getShopId()).eq(ShopUser::getId, payParam.getShopUserId()));
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
MemberOrder memberOrder = memberOrderService.createMemberOrder(new MemberOrderDTO().setName(payParam.getName())
.setNum(1).setNickName(payParam.getNickName())
.setOrderType(payParam.getOrderType())
.setPlatformType(payParam.getPlatformType()).setSex(payParam.getSex()).setUserId(shopUser.getUserId()).setShopId(payParam.getShopId()).setBirthDay(payParam.getBirthDay()));
AssertUtil.isBlank(payParam.getOpenId(), "用户小程序ID不能为空");
AssertUtil.isBlank(payParam.getPayType(), "支付方式不能为空");
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), "memberPay", payOrderNo,
"", memberOrder.getAmount(), payParam.getMemberOrderId()));
"", memberOrder.getAmount(), memberOrder.getId()));
return ltPay(payParam.getShopId(), payParam.getPayType(), new CzgLtPayReq(payOrderNo, memberOrder.getAmount().multiply(MONEY_RATE).longValue(),
payParam.getPayType(), "会员充值", payParam.getOpenId(), clientIP, payParam.getReturnUrl(), payParam.getBuyerRemark(), ""));
}