会员支付bug

This commit is contained in:
khy 2024-10-24 16:30:24 +08:00
parent 017aea38da
commit 1bf166aa0f
4 changed files with 16 additions and 2 deletions

View File

@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "用户 APP - 用户个人信息 Response VO")
@Data
@ -45,6 +48,7 @@ public class AppMemberUserInfoRespVO {
private String cardName;
@Schema(description = "会员名称", requiredMode = Schema.RequiredMode.REQUIRED)
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private String cardExpirationTime;
@Schema(description = "用户 App - 会员等级")

View File

@ -322,7 +322,7 @@ public class MemberUserServiceImpl implements MemberUserService {
validateMobileUnique(memberUserDO.getId(), memberUserDO.getMobile());
// 更新
if(memberUserDO.getLevelId() == 5){
if(memberUserDO.getLevelId() != null && memberUserDO.getLevelId() == 5){
memberUserDO.setLevelId(Long.parseLong("1"));
}
memberUserMapper.updateById(memberUserDO);

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.pay.dal.mysql.order;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO;
import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderExportReqVO;
import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderPageReqVO;
import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO;
@ -59,4 +60,9 @@ public interface PayOrderMapper extends BaseMapperX<PayOrderDO> {
.lt(PayOrderDO::getExpireTime, expireTime));
}
default PayOrderDO selectByAppIdAndMerchantOrderIdAndSubject(Long appId, String merchantOrderId, String subject){
return selectOne(PayOrderDO::getAppId, appId,
PayOrderDO::getMerchantOrderId, merchantOrderId,
PayOrderDO::getSubject,subject);
}
}

View File

@ -120,10 +120,14 @@ public class PayOrderServiceImpl implements PayOrderService {
public Long createOrder(PayOrderCreateReqDTO reqDTO) {
// 校验 App
PayAppDO app = appService.validPayApp(reqDTO.getAppId());
// 查询对应的支付交易单是否已经存在如果是则直接返回
PayOrderDO order = orderMapper.selectByAppIdAndMerchantOrderId(
reqDTO.getAppId(), reqDTO.getMerchantOrderId());
if(reqDTO.getSubject() != null && reqDTO.getSubject().equals("会员支付购卡")){
/// 查询对应的会员购卡是否已经存在如果是则直接返回(付费会员订单)
order = orderMapper.selectByAppIdAndMerchantOrderIdAndSubject(reqDTO.getAppId(),reqDTO.getMerchantOrderId()
,reqDTO.getSubject());
}
if (order != null) {
log.warn("[createOrder][appId({}) merchantOrderId({}) 已经存在对应的支付单({})]", order.getAppId(),
order.getMerchantOrderId(), toJsonString(order)); // 理论来说不会出现这个情况