mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-12 11:19:52 +08:00
update 获取累计充值金额
This commit is contained in:
@@ -382,6 +382,7 @@ public class MemberService {
|
|||||||
.build();
|
.build();
|
||||||
vo.setPageResponse(pageResponse);
|
vo.setPageResponse(pageResponse);
|
||||||
// log.info("查询用户余额信息 service方法 end");
|
// log.info("查询用户余额信息 service方法 end");
|
||||||
|
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ public class MemberBasicInfoController extends BaseController {
|
|||||||
public AjaxResult createMerchantVip(@RequestBody CreateMerchantVipDTO dto) {
|
public AjaxResult createMerchantVip(@RequestBody CreateMerchantVipDTO dto) {
|
||||||
AjaxResult ajaxResult;
|
AjaxResult ajaxResult;
|
||||||
try {
|
try {
|
||||||
|
dto.setFromWeb(Constants.ONE);
|
||||||
memberBasicInfoService.createMerchantVip(dto);
|
memberBasicInfoService.createMerchantVip(dto);
|
||||||
ajaxResult = AjaxResult.success();
|
ajaxResult = AjaxResult.success();
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
|
|||||||
@@ -35,4 +35,9 @@ public class CreateMerchantVipDTO {
|
|||||||
* 赠送金
|
* 赠送金
|
||||||
*/
|
*/
|
||||||
private BigDecimal updateGiftBalance;
|
private BigDecimal updateGiftBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 来自后管 1-是
|
||||||
|
*/
|
||||||
|
private String fromWeb;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.jsowell.pile.mapper;
|
package com.jsowell.pile.mapper;
|
||||||
|
|
||||||
import com.jsowell.pile.domain.MemberWalletInfo;
|
import com.jsowell.pile.domain.MemberWalletInfo;
|
||||||
|
import com.jsowell.pile.vo.base.MemberWalletVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@@ -69,4 +70,6 @@ public interface MemberWalletInfoMapper {
|
|||||||
List<MemberWalletInfo> selectByMemberWalletList(@Param("memberId") String memberId);
|
List<MemberWalletInfo> selectByMemberWalletList(@Param("memberId") String memberId);
|
||||||
|
|
||||||
MemberWalletInfo selectByWalletCode(@Param("walletCode") String walletCode);
|
MemberWalletInfo selectByWalletCode(@Param("walletCode") String walletCode);
|
||||||
|
|
||||||
|
MemberWalletVO selectMemberWalletInfo(String walletCode);
|
||||||
}
|
}
|
||||||
@@ -223,6 +223,19 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
|||||||
String targetMerchantId = dto.getTargetMerchantId(); // 目标运营商id
|
String targetMerchantId = dto.getTargetMerchantId(); // 目标运营商id
|
||||||
log.info("修改用户余额-param:{}", JSON.toJSONString(dto));
|
log.info("修改用户余额-param:{}", JSON.toJSONString(dto));
|
||||||
|
|
||||||
|
/*
|
||||||
|
更新类型
|
||||||
|
1-进账;2-出账
|
||||||
|
*/
|
||||||
|
String type = dto.getType();
|
||||||
|
|
||||||
|
/*
|
||||||
|
子类型
|
||||||
|
进账:10-充值, 11-赠送, 12-订单结算退款
|
||||||
|
出账:20-后管扣款, 21-订单付款, 22-用户退款
|
||||||
|
*/
|
||||||
|
String subType;
|
||||||
|
|
||||||
// 本次操作人员
|
// 本次操作人员
|
||||||
String createBy = dto.getMemberId();
|
String createBy = dto.getMemberId();
|
||||||
|
|
||||||
@@ -264,21 +277,30 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
|||||||
BigDecimal newPrincipalBalance = null;
|
BigDecimal newPrincipalBalance = null;
|
||||||
BigDecimal newGiftBalance = null;
|
BigDecimal newGiftBalance = null;
|
||||||
|
|
||||||
// 更新本金金额
|
/*
|
||||||
|
更新本金金额
|
||||||
|
*/
|
||||||
if (updatePrincipalBalance != null && updatePrincipalBalance.compareTo(BigDecimal.ZERO) > 0) {
|
if (updatePrincipalBalance != null && updatePrincipalBalance.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
if (StringUtils.equals(dto.getType(), MemberWalletEnum.TYPE_OUT.getValue())) {
|
// 余额类型(1-本金,2-赠送)
|
||||||
|
String category = Constants.ONE;
|
||||||
|
// 获取子类型
|
||||||
|
subType = getTheSubType(dto, category);
|
||||||
|
// 出账时,金额改为负数
|
||||||
|
if (StringUtils.equals(type, MemberWalletEnum.TYPE_OUT.getValue())) {
|
||||||
// 扣款 转为负数
|
// 扣款 转为负数
|
||||||
updatePrincipalBalance = updatePrincipalBalance.negate();
|
updatePrincipalBalance = updatePrincipalBalance.negate();
|
||||||
}
|
}
|
||||||
// 会员老的余额
|
// 原金额
|
||||||
BigDecimal oldPrincipalBalance = walletInfo.getPrincipalBalance() == null
|
BigDecimal oldPrincipalBalance = walletInfo.getPrincipalBalance() == null
|
||||||
? BigDecimal.ZERO
|
? BigDecimal.ZERO
|
||||||
: walletInfo.getPrincipalBalance();
|
: walletInfo.getPrincipalBalance();
|
||||||
|
// 新金额 = 原金额 + 变动金额
|
||||||
newPrincipalBalance = oldPrincipalBalance.add(updatePrincipalBalance);
|
newPrincipalBalance = oldPrincipalBalance.add(updatePrincipalBalance);
|
||||||
if (newPrincipalBalance.compareTo(BigDecimal.ZERO) < 0) {
|
if (newPrincipalBalance.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
log.info("修改用户余额-变更后本金余额不能为负数");
|
log.info("修改用户余额-变更后本金余额不能为负数");
|
||||||
throw new BusinessException("", "变更后本金余额不能为负数");
|
throw new BusinessException("", "变更后本金余额不能为负数");
|
||||||
}
|
}
|
||||||
|
// 备注,拼接存入数据库
|
||||||
String remark = "日期:" + DateUtils.getDateTime() +
|
String remark = "日期:" + DateUtils.getDateTime() +
|
||||||
", 操作人员Id:" + createBy +
|
", 操作人员Id:" + createBy +
|
||||||
", 变更用户本金金额:" + updatePrincipalBalance +
|
", 变更用户本金金额:" + updatePrincipalBalance +
|
||||||
@@ -286,12 +308,12 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
|||||||
", 变更后金额:" + newPrincipalBalance;
|
", 变更后金额:" + newPrincipalBalance;
|
||||||
// 记流水
|
// 记流水
|
||||||
logList.add(MemberWalletLog.builder()
|
logList.add(MemberWalletLog.builder()
|
||||||
.memberId(dto.getMemberId())
|
.memberId(memberId)
|
||||||
.walletCode(walletCode)
|
.walletCode(walletCode)
|
||||||
.type(dto.getType())
|
.type(type)
|
||||||
.subType(dto.getSubType())
|
.subType(subType)
|
||||||
.amount(updatePrincipalBalance)
|
.amount(updatePrincipalBalance)
|
||||||
.category("1")
|
.category(category)
|
||||||
.relatedOrderCode(dto.getRelatedOrderCode())
|
.relatedOrderCode(dto.getRelatedOrderCode())
|
||||||
.beforeAmount(oldPrincipalBalance)
|
.beforeAmount(oldPrincipalBalance)
|
||||||
.afterAmount(newPrincipalBalance)
|
.afterAmount(newPrincipalBalance)
|
||||||
@@ -301,21 +323,31 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
|||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新赠送金额
|
/*
|
||||||
|
更新赠送金额
|
||||||
|
*/
|
||||||
if (updateGiftBalance != null && updateGiftBalance.compareTo(BigDecimal.ZERO) > 0) {
|
if (updateGiftBalance != null && updateGiftBalance.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
if (StringUtils.equals(dto.getType(), MemberWalletEnum.TYPE_OUT.getValue())) {
|
// 余额类型(1-本金,2-赠送)
|
||||||
|
String category = Constants.TWO;
|
||||||
|
// 获取子类型
|
||||||
|
subType = getTheSubType(dto, category);
|
||||||
|
// 出账时,金额改为负数
|
||||||
|
if (StringUtils.equals(type, MemberWalletEnum.TYPE_OUT.getValue())) {
|
||||||
// 扣款 转为负数
|
// 扣款 转为负数
|
||||||
updateGiftBalance = updateGiftBalance.negate();
|
updateGiftBalance = updateGiftBalance.negate();
|
||||||
}
|
}
|
||||||
|
// 原金额
|
||||||
BigDecimal oldGiftBalance = walletInfo.getGiftBalance() == null
|
BigDecimal oldGiftBalance = walletInfo.getGiftBalance() == null
|
||||||
? BigDecimal.ZERO
|
? BigDecimal.ZERO
|
||||||
: walletInfo.getGiftBalance();
|
: walletInfo.getGiftBalance();
|
||||||
|
// 新金额 = 原金额 + 变动金额
|
||||||
newGiftBalance = oldGiftBalance.add(updateGiftBalance);
|
newGiftBalance = oldGiftBalance.add(updateGiftBalance);
|
||||||
// 余额不能为负数
|
// 余额不能为负数
|
||||||
if (newGiftBalance.compareTo(BigDecimal.ZERO) < 0) {
|
if (newGiftBalance.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
log.info("修改用户余额-变更后赠送余额不能为负数");
|
log.info("修改用户余额-变更后赠送余额不能为负数");
|
||||||
throw new BusinessException("", "变更后赠送余额不能为负数");
|
throw new BusinessException("", "变更后赠送余额不能为负数");
|
||||||
}
|
}
|
||||||
|
// 备注,拼接存入数据库
|
||||||
String remark = "日期:" + DateUtils.getDateTime() +
|
String remark = "日期:" + DateUtils.getDateTime() +
|
||||||
", 操作人员Id:" + createBy +
|
", 操作人员Id:" + createBy +
|
||||||
", 变更用户赠送金额:" + updateGiftBalance +
|
", 变更用户赠送金额:" + updateGiftBalance +
|
||||||
@@ -323,12 +355,12 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
|||||||
", 变更后金额:" + newGiftBalance;
|
", 变更后金额:" + newGiftBalance;
|
||||||
// 记流水
|
// 记流水
|
||||||
logList.add(MemberWalletLog.builder()
|
logList.add(MemberWalletLog.builder()
|
||||||
.memberId(dto.getMemberId())
|
.memberId(memberId)
|
||||||
.walletCode(walletCode)
|
.walletCode(walletCode)
|
||||||
.type(dto.getType())
|
.type(type)
|
||||||
.subType(dto.getSubType())
|
.subType(subType)
|
||||||
.amount(updateGiftBalance)
|
.amount(updateGiftBalance)
|
||||||
.category("2")
|
.category(category)
|
||||||
.relatedOrderCode(dto.getRelatedOrderCode())
|
.relatedOrderCode(dto.getRelatedOrderCode())
|
||||||
.beforeAmount(oldGiftBalance)
|
.beforeAmount(oldGiftBalance)
|
||||||
.afterAmount(newGiftBalance)
|
.afterAmount(newGiftBalance)
|
||||||
@@ -357,6 +389,31 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取子类型
|
||||||
|
private String getTheSubType(UpdateMemberBalanceDTO dto, String category) {
|
||||||
|
String subType;
|
||||||
|
if (!StringUtils.equals(dto.getFromWeb(), Constants.ONE)) {
|
||||||
|
// 如果不是后管操作,subType等于dto中传过来的值
|
||||||
|
subType = dto.getSubType();
|
||||||
|
} else {
|
||||||
|
// 来自后管的操作
|
||||||
|
if (StringUtils.equals(dto.getType(), MemberWalletEnum.TYPE_OUT.getValue())) {
|
||||||
|
// 后管操作 && 出账 = 就是后管扣款
|
||||||
|
subType = MemberWalletEnum.SUBTYPE_WEB_DEDUCT_MONEY.getValue();
|
||||||
|
} else {
|
||||||
|
// 进账
|
||||||
|
if (StringUtils.equals(category, Constants.ONE)) {
|
||||||
|
// 充值本金
|
||||||
|
subType = MemberWalletEnum.SUBTYPE_TOP_UP.getValue();
|
||||||
|
} else {
|
||||||
|
// 充值赠送金
|
||||||
|
subType = MemberWalletEnum.SUBTYPE_GIVING.getValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return subType;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MemberVO queryMemberInfoByMemberId(String memberId) {
|
public MemberVO queryMemberInfoByMemberId(String memberId) {
|
||||||
return queryMemberInfoByMemberId(memberId, null);
|
return queryMemberInfoByMemberId(memberId, null);
|
||||||
@@ -592,6 +649,9 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService {
|
|||||||
updateMemberBalanceDTO.setUpdatePrincipalBalance(dto.getUpdatePrincipalBalance());
|
updateMemberBalanceDTO.setUpdatePrincipalBalance(dto.getUpdatePrincipalBalance());
|
||||||
updateMemberBalanceDTO.setUpdateGiftBalance(dto.getUpdateGiftBalance());
|
updateMemberBalanceDTO.setUpdateGiftBalance(dto.getUpdateGiftBalance());
|
||||||
updateMemberBalanceDTO.setTargetMerchantId(dto.getTargetMerchantId());
|
updateMemberBalanceDTO.setTargetMerchantId(dto.getTargetMerchantId());
|
||||||
|
if (StringUtils.isNotBlank(dto.getFromWeb())) {
|
||||||
|
updateMemberBalanceDTO.setFromWeb(dto.getFromWeb());
|
||||||
|
}
|
||||||
updateMemberBalance(updateMemberBalanceDTO);
|
updateMemberBalance(updateMemberBalanceDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -86,4 +86,8 @@ public class MemberWalletInfoServiceImpl implements MemberWalletInfoService {
|
|||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MemberWalletVO selectMemberWalletInfo(String walletCode) {
|
||||||
|
return memberWalletInfoMapper.selectMemberWalletInfo(walletCode);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,4 +37,24 @@ public class MemberWalletVO {
|
|||||||
* 本金金额
|
* 本金金额
|
||||||
*/
|
*/
|
||||||
private BigDecimal principalBalance;
|
private BigDecimal principalBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 赠送金余额
|
||||||
|
*/
|
||||||
|
private BigDecimal giftBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 累计本金充值
|
||||||
|
*/
|
||||||
|
private BigDecimal accumulatedRechargeAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 累计赠送金额
|
||||||
|
*/
|
||||||
|
private BigDecimal accumulatedRechargeGift;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 累计消费
|
||||||
|
*/
|
||||||
|
private BigDecimal accumulatedConsumptionAmount;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,21 @@ public class MemberWalletInfoVO {
|
|||||||
*/
|
*/
|
||||||
private BigDecimal currentBalance;
|
private BigDecimal currentBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 累计充值
|
||||||
|
*/
|
||||||
|
private BigDecimal accumulatedRechargeAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 累计消费
|
||||||
|
*/
|
||||||
|
private BigDecimal accumulatedConsumptionAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总充值金额
|
||||||
|
*/
|
||||||
|
private BigDecimal totalRechargeAmount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总消费
|
* 总消费
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -201,4 +201,8 @@
|
|||||||
where del_flag = '0'
|
where del_flag = '0'
|
||||||
and wallet_code = #{walletCode,jdbcType=VARCHAR}
|
and wallet_code = #{walletCode,jdbcType=VARCHAR}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectMemberWalletInfo" resultType="com.jsowell.pile.vo.base.MemberWalletVO">
|
||||||
|
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user