xiaoyong931011
2023-04-11 b6d1603cb25dfca500e4257b446e454c3e694669
后台修改
7 files modified
38 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWalletMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java 5 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/ApiScoreVoucherInfoVo.java 5 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberWalletMapper.xml 11 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWallet.java
@@ -55,6 +55,11 @@
    private BigDecimal voucherCnt;
    /**
     * 凭证燃烧值数量
     */
    private BigDecimal voucherFireCnt;
    /**
     * 凭证金额
     */
    private BigDecimal voucherAmount;
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWalletMapper.java
@@ -49,4 +49,6 @@
    List<MallMemberWallet> selectStar();
    void addVorCherAmountAndCntById(@Param("voucherAmount")BigDecimal voucherAmountAdd,@Param("voucherCnt")BigDecimal voucherCnt, @Param("id")Long id);
    void addVorCherFireCntByMemberId(@Param("voucherFireCnt")BigDecimal voucherFireCnt, @Param("memberId")Long memberId);
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -237,7 +237,7 @@
        }
        if(AppContants.MEMBER_WITHDRAW_VOUCHER.equals(mallMemberWithdraw.getRemark())){
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"balance");
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmountFee(),mallMemberWithdraw.getMemberId(),"voucherCnt");
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmountFee(),mallMemberWithdraw.getMemberId(),"voucherFireCnt");
        }
        if(AppContants.MEMBER_WITHDRAW_VOUCHER_AMOUNT.equals(mallMemberWithdraw.getRemark())){
            iApiMallMemberWalletService.add(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId(),"voucherAmount");
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
@@ -109,12 +109,14 @@
                BigDecimal voucherPercent = new BigDecimal(voucherPercentDic.getValue() == null ? "0" : voucherPercentDic.getValue()).multiply(new BigDecimal(0.01));
                BigDecimal voucherPercentNeed = withdrawalDto.getAmount().multiply(voucherPercent).setScale(2,BigDecimal.ROUND_DOWN);
                BigDecimal voucherCnt = wallet.getVoucherCnt();
                if(voucherCnt.compareTo(voucherPercentNeed) < 0){
//                BigDecimal voucherCnt = wallet.getVoucherCnt();
                BigDecimal voucherFireCnt = wallet.getVoucherFireCnt();
                if(voucherFireCnt.compareTo(voucherPercentNeed) < 0){
                    throw new FebsException("红豆不足");
                }
                walletService.reduce(voucherCntDto, memberId, "voucherCnt");
//                walletService.reduce(voucherCntDto, memberId, "voucherCnt");
                walletService.reduce(voucherCntDto, memberId, "voucherFireCnt");
                serviceFee = voucherCntDto;
                remark = AppContants.MEMBER_WITHDRAW_VOUCHER;
            }
src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -108,6 +108,7 @@
        MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(member.getId());
        apiScoreVoucherInfoVo.setVoucherCnt(mallMemberWallet.getVoucherCnt().compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : mallMemberWallet.getVoucherCnt());
        apiScoreVoucherInfoVo.setVoucherAmount(mallMemberWallet.getVoucherAmount().compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : mallMemberWallet.getVoucherAmount());
        apiScoreVoucherInfoVo.setVoucherFireCnt(mallMemberWallet.getVoucherFireCnt().compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : mallMemberWallet.getVoucherFireCnt());
        DataDictionaryCustom scorePriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                GreenScoreEnum.SCORE_PRICE.getType(),
                GreenScoreEnum.SCORE_PRICE.getCode());
@@ -173,7 +174,9 @@
        scorePoolCntDic.setValue(scorePoolCnt.toString());
        dataDictionaryCustomMapper.updateById(scorePoolCntDic);
        //增加凭证数量
        mallMemberWalletMapper.addVorCherCntByMemberId(voucherCnt,memberId);
//        mallMemberWalletMapper.addVorCherCntByMemberId(voucherCnt,memberId);
        //增加凭证燃烧值数量
        mallMemberWalletMapper.addVorCherFireCntByMemberId(voucherCnt,memberId);
        //增加购买记录
        String voucherNo = MallUtils.getOrderNum("VB");
        MallScoreVoucher mallScoreVoucher = new MallScoreVoucher();
src/main/java/cc/mrbird/febs/mall/vo/ApiScoreVoucherInfoVo.java
@@ -13,6 +13,11 @@
    @ApiModelProperty(value = "绿色积分")
    private BigDecimal voucherCnt;
    /**
     * 数量
     */
    @ApiModelProperty(value = "燃烧值数量")
    private BigDecimal voucherFireCnt;
    @ApiModelProperty(value = "现金元")
    private BigDecimal voucherAmount;
src/main/resources/mapper/modules/MallMemberWalletMapper.xml
@@ -51,6 +51,9 @@
        <if test="record.voucherCnt != null">
            , voucher_cnt = #{record.voucherCnt}
        </if>
        <if test="record.voucherFireCnt != null">
            , voucher_fire_cnt = #{record.voucherFireCnt}
        </if>
        <if test="record.voucherAmount != null">
            , voucher_amount = #{record.voucherAmount}
        </if>
@@ -159,5 +162,13 @@
        WHERE id =  #{id}
    </update>
    <update id="addVorCherFireCntByMemberId">
        update mall_member_wallet
        <set>
            voucher_fire_cnt = voucher_fire_cnt + #{voucherFireCnt},
        </set>
        WHERE member_id =  #{memberId}
    </update>
</mapper>