KKSU
2024-03-18 3baddff99987a5a98b5d55504853f4995018533b
抽奖
7 files modified
51 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/entity/MallMemberAmount.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberAmountMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java 3 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberAmountMapper.xml 7 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallProductBuyMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMemberAmount.java
@@ -37,4 +37,5 @@
    private BigDecimal tokenAva;//令牌可用
    private BigDecimal tokenFrozen;//令牌冻结
    private BigDecimal gsd;//gsd积分-用来商城购物
    private BigDecimal totalPerk;//gsd积分-用来商城购物
}
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberAmountMapper.java
@@ -17,6 +17,7 @@
    void updateTokenAvaAndTokenFrozenById(@Param("record")MallMemberAmount mallMemberAmount);
    void updateTrendsNftById(@Param("record")MallMemberAmount mallMemberAmount);
    void updateTotalPerkById(@Param("record")MallMemberAmount mallMemberAmount);
    void updateGsdById(@Param("record")MallMemberAmount mallMemberAmount);
    void updateFrozenNftById(@Param("record")MallMemberAmount mallMemberAmount);
src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -925,6 +925,10 @@
                    mallMemberAmountMine.setTrendsNft(mallMemberAmountMine.getTrendsNft().add(profit));
                    mallMemberAmountMapper.updateTrendsNftById(mallMemberAmountMine);
                    MallMemberAmount mallMemberAmountPerk = mallMemberAmountMapper.selectByMemberId(mallProductBuy.getMemberId());
                    mallMemberAmountPerk.setTotalPerk(mallMemberAmountPerk.getTotalPerk().subtract(profit));
                    mallMemberAmountMapper.updateTotalPerkById(mallMemberAmountPerk);
                    BigDecimal remainderDirect = bigDecimal.divide(new BigDecimal(String.valueOf(cycle)),0,BigDecimal.ROUND_DOWN);//取余
                    if(remainderDirect.compareTo(BigDecimal.ONE) == 0){
@@ -1241,6 +1245,13 @@
                        AppContants.MEMBER_FLOW_ING);
            }else {
                MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(memberId);
                if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())) >= 0){
                    continue;
                }
                mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount()));
                mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine);
                MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId);
                mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount()));
                mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(mallMoneyFlow.getAmount()));
@@ -1250,7 +1261,7 @@
                String orderNo = MallUtils.getOrderNum("NFT");
                mallMoneyFlowService.addMoneyFlow(
                        memberId,
                        mallMoneyFlow.getAmount().negate(),
                        mallMoneyFlow.getAmount(),
                        MoneyFlowTypeNewEnum.BASIC_PERK_DIRECT_DONE.getValue(),
                        orderNo,
                        null,
@@ -1308,6 +1319,13 @@
                        AppContants.MEMBER_FLOW_ING);
            }else {
                MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(memberId);
                if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())) >= 0){
                    continue;
                }
                mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount()));
                mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine);
                MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId);
                mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount()));
                mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(mallMoneyFlow.getAmount()));
@@ -1317,7 +1335,7 @@
                String orderNo = MallUtils.getOrderNum("NFT");
                mallMoneyFlowService.addMoneyFlow(
                        memberId,
                        mallMoneyFlow.getAmount().negate(),
                        mallMoneyFlow.getAmount(),
                        MoneyFlowTypeNewEnum.TEAM_PERK_DIRECT_DONE.getValue(),
                        orderNo,
                        null,
@@ -1375,6 +1393,14 @@
                        AppContants.MEMBER_FLOW_ING);
            }else {
                MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(memberId);
                if(BigDecimal.ZERO.compareTo(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount())) >= 0){
                    continue;
                }
                mallMemberAmountMine.setTotalPerk(mallMemberAmountMine.getTotalPerk().subtract(mallMoneyFlow.getAmount()));
                mallMemberAmountMapper.updateTrendsNftAndFrozenNftById(mallMemberAmountMine);
                MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(memberId);
                mallMemberAmount.setFrozenNft(mallMemberAmount.getFrozenNft().subtract(mallMoneyFlow.getAmount()));
                mallMemberAmount.setTrendsNft(mallMemberAmount.getTrendsNft().add(mallMoneyFlow.getAmount()));
@@ -1384,7 +1410,7 @@
                String orderNo = MallUtils.getOrderNum("NFT");
                mallMoneyFlowService.addMoneyFlow(
                        memberId,
                        mallMoneyFlow.getAmount().negate(),
                        mallMoneyFlow.getAmount(),
                        MoneyFlowTypeNewEnum.TEAM_PERK_EQUALS_DONE.getValue(),
                        orderNo,
                        null,
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -299,6 +299,7 @@
        mallMemberVo.setFcmCntFrozen(mallMemberAmount.getFcmCntFrozen());
        mallMemberVo.setTokenAva(mallMemberAmount.getTokenAva());
        mallMemberVo.setTokenFrozen(mallMemberAmount.getTokenFrozen());
        mallMemberVo.setTotalPerk(mallMemberAmount.getTotalPerk());
        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.YU_YUE_START_TIME.getType(),
                DataDictionaryEnum.YU_YUE_START_TIME.getCode()
@@ -313,8 +314,8 @@
        Integer pickCount = mallProductBuyMapper.selectListByMemberIdAndState(id);
        mallMemberVo.setPickCount(pickCount);
        BigDecimal totalPerk = mallProductBuyMapper.selectTotalPerkByMemberId(mallMember.getId());
        mallMemberVo.setTotalPerk(totalPerk);
//        BigDecimal totalPerk = mallProductBuyMapper.selectTotalPerkByMemberId(mallMember.getId());
//        mallMemberVo.setTotalPerk(totalPerk);
        DataDictionaryCustom insideNFTPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getType(),
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -1274,6 +1274,9 @@
                mallProductBuy.setPayTime(DateUtil.date());
                mallProductBuyMapper.updateById(mallProductBuy);
                MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallProductBuy.getMemberId());
                mallMemberAmount.setTotalPerk(mallMemberAmount.getTotalPerk().add(totalPerk));
                mallMemberAmountMapper.updateTotalPerkById(mallMemberAmount);
            }
        }
    }
src/main/resources/mapper/modules/MallMemberAmountMapper.xml
@@ -35,6 +35,13 @@
        where id = #{record.id} and revision=#{record.revision}
    </update>
    <update id="updateTotalPerkById">
        update mall_member_amount
        set revision = revision + 1,
            total_perk = #{record.totalPerk}
        where id = #{record.id} and revision=#{record.revision}
    </update>
    <update id="updateGsdById">
        update mall_member_amount
        set revision = revision + 1,
src/main/resources/mapper/modules/MallProductBuyMapper.xml
@@ -63,7 +63,7 @@
    </select>
    <select id="selectTotalPerk" resultType="cc.mrbird.febs.mall.entity.MallProductBuy">
        select SUM(total_perk) from mall_product_buy
        select IFNULL(sum(total_perk), 0) from mall_product_buy
        where state = 3
        GROUP BY member_id;
    </select>