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 { try {
// 判断入参 // 判断入参
if (dto == null || StringUtils.isBlank(dto.getMemberId()) || StringUtils.isBlank(dto.getTargetMerchantId()) 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); throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
} }

View File

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

View File

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