update 会员钱包

This commit is contained in:
2023-11-21 16:19:54 +08:00
parent 243981d81b
commit 7b2283fe3a
3 changed files with 12 additions and 8 deletions

View File

@@ -157,7 +157,7 @@ public class MemberBasicInfoController extends BaseController {
try {
// 判断入参
if (dto == null || StringUtils.isBlank(dto.getMemberId()) || StringUtils.isBlank(dto.getTargetMerchantId())
|| dto.getUpdateGiftBalance() == null) {
|| dto.getUpdatePrincipalBalance() == null) {
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
}

View File

@@ -1,11 +1,9 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.dto.QueryMemberInfoDTO;
import com.jsowell.pile.vo.base.MerchantInfoVO;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -96,12 +94,13 @@ public interface MemberBasicInfoMapper {
/**
* 更新会员余额
* @param memberId 会员id
* @param walletCode 钱包编号
* @param newPrincipalBalance new本金余额
* @param newGiftBalance new赠送余额
* @param version 上次查询的版本号
* @return 更新行数 0-更新失败1-更新成功
*/
int updateMemberBalance(@Param("memberId") String memberId, @Param("newPrincipalBalance") BigDecimal newPrincipalBalance,
int updateMemberBalance(@Param("memberId") String memberId, @Param("walletCode") String walletCode, @Param("newPrincipalBalance") BigDecimal newPrincipalBalance,
@Param("newGiftBalance") BigDecimal newGiftBalance, @Param("version") Integer version);
MemberVO queryMemberInfoByMemberId(String memberId);

View File

@@ -213,6 +213,9 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
memberWalletInfoService.insertSelective(walletInfo);
}
// 钱包编号
String walletCode = walletInfo.getWalletCode();
// 记录流水
List<MemberWalletLog> logList = Lists.newArrayList();
// 计算新的余额
@@ -237,7 +240,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
// 记流水
logList.add(MemberWalletLog.builder()
.memberId(dto.getMemberId())
.walletCode(walletInfo.getWalletCode())
.walletCode(walletCode)
.type(dto.getType())
.subType(dto.getSubType())
.amount(updatePrincipalBalance)
@@ -245,7 +248,8 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
.relatedOrderCode(dto.getRelatedOrderCode())
.beforeAmount(oldPrincipalBalance)
.afterAmount(newPrincipalBalance)
.createBy(dto.getMemberId())
.createBy(SecurityUtils.getLoginUser().getUserId() + "")
.createTime(DateUtils.getNowDate())
.build());
}
@@ -262,11 +266,12 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
// 余额不能为负数
if (newGiftBalance.compareTo(BigDecimal.ZERO) < 0) {
log.warn("变更后赠送余额不能为负数");
return 0;
throw new BusinessException("", "变更后赠送余额不能为负数");
}
// 记流水
logList.add(MemberWalletLog.builder()
.memberId(dto.getMemberId())
.walletCode(walletCode)
.type(dto.getType())
.subType(dto.getSubType())
.amount(updateGiftBalance)
@@ -282,7 +287,7 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
// 修改数据库
int i = 0;
if (newPrincipalBalance != null || newGiftBalance != null) {
i = memberBasicInfoMapper.updateMemberBalance(memberId, newPrincipalBalance, newGiftBalance, walletInfo.getVersion());
i = memberBasicInfoMapper.updateMemberBalance(memberId, walletCode, newPrincipalBalance, newGiftBalance, walletInfo.getVersion());
if (i == 0) {
log.warn("修改余额失败, memberId:{}", memberId);
}