mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
修改创建会员逻辑,在创建时不创建会员钱包,后管充值的时候找不到则创建
This commit is contained in:
@@ -56,5 +56,11 @@ public interface MemberWalletInfoMapper {
|
||||
|
||||
// MemberWalletInfo selectByMemberId(String memberId);
|
||||
|
||||
/**
|
||||
* 根据会员id和目标运营商id查询用户钱包信息
|
||||
* @param memberId
|
||||
* @param merchantId
|
||||
* @return
|
||||
*/
|
||||
MemberWalletInfo selectByMemberId(@Param("memberId") String memberId, @Param("merchantId") String merchantId);
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.enums.MemberWalletEnum;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.common.util.id.IdUtils;
|
||||
import com.jsowell.pile.domain.MemberBasicInfo;
|
||||
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
||||
import com.jsowell.pile.domain.MemberWalletInfo;
|
||||
@@ -17,7 +18,6 @@ import com.jsowell.pile.dto.QueryMemberInfoDTO;
|
||||
import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO;
|
||||
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.MemberPlateNumberRelationMapper;
|
||||
import com.jsowell.pile.mapper.MemberWalletInfoMapper;
|
||||
import com.jsowell.pile.mapper.MemberWalletLogMapper;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.util.UserUtils;
|
||||
@@ -49,8 +49,11 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
||||
@Autowired
|
||||
private MemberBasicInfoMapper memberBasicInfoMapper;
|
||||
|
||||
// @Autowired
|
||||
// private MemberWalletInfoMapper memberWalletInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private MemberWalletInfoMapper memberWalletInfoMapper;
|
||||
private MemberWalletInfoService memberWalletInfoService;
|
||||
|
||||
@Autowired
|
||||
private MemberWalletLogMapper memberWalletLogMapper;
|
||||
@@ -178,10 +181,19 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
||||
BigDecimal updatePrincipalBalance = dto.getUpdatePrincipalBalance();
|
||||
log.info("修改用户余额 memberId:{}, updatePrincipalBalance:{}, updateGiftBalance:{}", memberId, updatePrincipalBalance, updateGiftBalance);
|
||||
// 查询用户余额
|
||||
MemberWalletInfo info = memberWalletInfoMapper.selectByMemberId(memberId, dto.getMerchantId());
|
||||
if (info == null) {
|
||||
log.warn("根据会员id:{}, 查询会员信息为空", memberId);
|
||||
return 0;
|
||||
MemberWalletInfo walletInfo = memberWalletInfoService.selectByMemberId(memberId, dto.getTargetMerchantId());
|
||||
if (walletInfo == null) {
|
||||
log.warn("根据会员id:{}, 目标运营商id:{}, 查询会员信息为空, 新建会员钱包", memberId, dto.getTargetMerchantId());
|
||||
// 如果查询到钱包为空,就新建一个该运营商的钱包
|
||||
walletInfo = MemberWalletInfo.builder()
|
||||
.walletCode(IdUtils.fastSimpleUUID())
|
||||
.memberId(memberId)
|
||||
.merchantId(dto.getTargetMerchantId())
|
||||
.giftBalance(BigDecimal.ZERO)
|
||||
.principalBalance(BigDecimal.ZERO)
|
||||
.version(0)
|
||||
.build();
|
||||
memberWalletInfoService.insertSelective(walletInfo);
|
||||
}
|
||||
|
||||
// 记录流水
|
||||
@@ -197,9 +209,9 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
||||
updatePrincipalBalance = updatePrincipalBalance.negate();
|
||||
}
|
||||
// 会员老的余额
|
||||
BigDecimal oldPrincipalBalance = info.getPrincipalBalance() == null
|
||||
BigDecimal oldPrincipalBalance = walletInfo.getPrincipalBalance() == null
|
||||
? BigDecimal.ZERO
|
||||
: info.getPrincipalBalance();
|
||||
: walletInfo.getPrincipalBalance();
|
||||
newPrincipalBalance = oldPrincipalBalance.add(updatePrincipalBalance);
|
||||
if (newPrincipalBalance.compareTo(BigDecimal.ZERO) < 0) {
|
||||
log.warn("变更后本金余额不能为负数");
|
||||
@@ -225,9 +237,9 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
||||
// 扣款 转为负数
|
||||
updateGiftBalance = updateGiftBalance.negate();
|
||||
}
|
||||
BigDecimal oldGiftBalance = info.getGiftBalance() == null
|
||||
BigDecimal oldGiftBalance = walletInfo.getGiftBalance() == null
|
||||
? BigDecimal.ZERO
|
||||
: info.getGiftBalance();
|
||||
: walletInfo.getGiftBalance();
|
||||
newGiftBalance = oldGiftBalance.add(updateGiftBalance);
|
||||
// 余额不能为负数
|
||||
if (newGiftBalance.compareTo(BigDecimal.ZERO) < 0) {
|
||||
@@ -251,7 +263,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
||||
// 修改数据库
|
||||
int i = 0;
|
||||
if (newPrincipalBalance != null || newGiftBalance != null) {
|
||||
i = memberBasicInfoMapper.updateMemberBalance(memberId, newPrincipalBalance, newGiftBalance, info.getVersion());
|
||||
i = memberBasicInfoMapper.updateMemberBalance(memberId, newPrincipalBalance, newGiftBalance, walletInfo.getVersion());
|
||||
if (i == 0) {
|
||||
log.warn("修改余额失败, memberId:{}", memberId);
|
||||
}
|
||||
|
||||
@@ -180,9 +180,10 @@ public class TransactionService {
|
||||
if (Objects.nonNull(dto.getMemberBasicInfo())) {
|
||||
memberBasicInfoMapper.insertMemberBasicInfo(dto.getMemberBasicInfo());
|
||||
}
|
||||
if (Objects.nonNull(dto.getMemberWalletInfo())) {
|
||||
memberWalletInfoMapper.insertSelective(dto.getMemberWalletInfo());
|
||||
}
|
||||
// 2023年11月11日17点01分修改逻辑 新建会员的时候不用新建钱包了,由在后管充值的时候创建
|
||||
// if (Objects.nonNull(dto.getMemberWalletInfo())) {
|
||||
// memberWalletInfoMapper.insertSelective(dto.getMemberWalletInfo());
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -19,11 +19,6 @@ public class UpdateMemberBalanceDTO {
|
||||
*/
|
||||
private String memberId;
|
||||
|
||||
/**
|
||||
* 所属运营商id
|
||||
*/
|
||||
private String merchantId;
|
||||
|
||||
/**
|
||||
* 更新类型
|
||||
* 1-进账;2-出账
|
||||
@@ -53,6 +48,11 @@ public class UpdateMemberBalanceDTO {
|
||||
*/
|
||||
private String relatedOrderCode;
|
||||
|
||||
/**
|
||||
* 充值目标运营商id
|
||||
*/
|
||||
private String targetMerchantId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
|
||||
|
||||
Reference in New Issue
Block a user