From 990c09c842d87d1f179e3a0070541da0457b8393 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 21 Nov 2023 14:07:19 +0800
Subject: [PATCH] 匹配

---
 src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
index e035f39..e061508 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -59,6 +59,7 @@
     private final MallScoreRecordMapper mallScoreRecordMapper;
     private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper;
     private final MallScoreVoucherMapper mallScoreVoucherMapper;
+    private final CommonService commonService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -1106,6 +1107,67 @@
         }
     }
 
+    @Override
+    public void fcmNFTExchangeMsg(String cnt) {
+        //销毁数量
+        BigDecimal destoryCnt = new BigDecimal(cnt);
+        DataDictionaryCustom fcmDestoryCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.FCM_DESTORY_CNT.getType(),
+                DataDictionaryEnum.FCM_DESTORY_CNT.getCode()
+        );
+        BigDecimal fcmDestoryCnt = new BigDecimal(fcmDestoryCntDic.getValue());
+
+        BigDecimal fcmDestoryCntAdd = fcmDestoryCnt.add(destoryCnt);
+         /**
+         * 每次销毁10000个,价格增加0.1
+          * 满足的次数 divide
+         */
+        BigDecimal divide = fcmDestoryCntAdd.divide(AppContants.FCM_BASIC, 0, BigDecimal.ROUND_DOWN);
+        if(BigDecimal.ZERO.compareTo(divide) == 0){
+            commonService.updateDataDic(
+                    DataDictionaryEnum.BANK_TRANS_URL.getType(),
+                    DataDictionaryEnum.BANK_TRANS_URL.getCode(),
+                    fcmDestoryCntAdd.toString());
+        }
+
+        if(BigDecimal.ZERO.compareTo(divide) < 0){
+            //例:累计15000 去掉10000,累计只剩5000
+            BigDecimal fcmDestoryCntReal = fcmDestoryCntAdd.subtract(divide.multiply(AppContants.FCM_BASIC));
+            commonService.updateDataDic(
+                    DataDictionaryEnum.FCM_DESTORY_CNT.getType(),
+                    DataDictionaryEnum.FCM_DESTORY_CNT.getCode(),
+                    fcmDestoryCntReal.toString());
+
+            //更新总销毁数量
+            DataDictionaryCustom fcmDestoryTotalDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                    DataDictionaryEnum.FCM_DESTORY_TOTAL.getType(),
+                    DataDictionaryEnum.FCM_DESTORY_TOTAL.getCode()
+            );
+            BigDecimal fcmDestoryTotal = new BigDecimal(fcmDestoryTotalDic.getValue());
+            fcmDestoryTotal = fcmDestoryTotal.add(destoryCnt);
+            commonService.updateDataDic(
+                    DataDictionaryEnum.FCM_DESTORY_TOTAL.getType(),
+                    DataDictionaryEnum.FCM_DESTORY_TOTAL.getCode(),
+                    fcmDestoryTotal.toString());
+            //更新价格
+            DataDictionaryCustom fcmPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                    DataDictionaryEnum.FCM_PRICE.getType(),
+                    DataDictionaryEnum.FCM_PRICE.getCode()
+            );
+            BigDecimal fcmPrice = new BigDecimal(fcmPriceDic.getValue());
+            fcmPrice = fcmPrice.add(AppContants.FCM_BASIC_ADD_PRICE.multiply(divide));
+            commonService.updateDataDic(
+                    DataDictionaryEnum.FCM_PRICE.getType(),
+                    DataDictionaryEnum.FCM_PRICE.getCode(),
+                    fcmPrice.toString());
+        }
+    }
+
+    public static void main(String[] args) {
+        BigDecimal divide = new BigDecimal(12000).divide(new BigDecimal(10000), 0, BigDecimal.ROUND_DOWN);
+        System.out.println(divide);
+    }
+
     /**
      * 给用户的增加凭证数据,并且增加流水
      * @param memberAchieveRelease 释放数量

--
Gitblit v1.9.1