Kaynağa Gözat

Merge #29 into master from local

分销商广告金分成

* local: (2 commits)
  分销商广告金分成
  分销商广告金分成

Signed-off-by: 黄平康 <accounts_6361eaad7b63b44dd7833e63@mail.teambition.com>
Merged-by: 黄平康 <accounts_6361eaad7b63b44dd7833e63@mail.teambition.com>

CR-link: https://codeup.aliyun.com/60c06368dbbed34fe0f0c263/job/hr_job-adq/change/29
huangpingkang 8 ay önce
ebeveyn
işleme
0ac47498c8

+ 5 - 5
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdvBudgetMapper.xml

@@ -16,14 +16,14 @@
         app_id,
         settle_begin,
         settle_end,
-        SUM(CASE WHEN fund_type = 0 THEN remain_amount ELSE 0 END)   AS total_amount_a,   -- 通用赠送
-        SUM(CASE WHEN fund_type = 1 THEN remain_amount ELSE 0 END)   AS total_amount_b,   -- 广告激励
-        SUM(CASE WHEN fund_type = 2 THEN remain_amount ELSE 0 END)   AS total_amount_c,   -- 定向激励
+        SUM(CASE WHEN fund_type = 0 THEN total_amount ELSE 0 END)   AS total_amount_a,   -- 通用赠送
+        SUM(CASE WHEN fund_type = 1 THEN total_amount ELSE 0 END)   AS total_amount_b,   -- 广告激励
+        SUM(CASE WHEN fund_type = 2 THEN total_amount ELSE 0 END)   AS total_amount_c,   -- 定向激励
         expire_time,
         SUM(CASE
         WHEN expire_time &lt; UNIX_TIMESTAMP(NOW())
-        AND remain_amount > 0
-        THEN remain_amount
+        AND total_amount > 0
+        THEN total_amount
         ELSE 0
         END)                                                    AS expired_available_amount
         FROM adq_vp_ad_fund

+ 33 - 32
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdvBudgetServiceImpl.java

@@ -54,8 +54,8 @@ public class AdvBudgetServiceImpl implements IAdvBudgetService {
 
                 if(fxsum > 0){
                     //比例
-                    BigDecimal percent = BigDecimal.valueOf(fxsum).divide(BigDecimal.valueOf(sum), 4, RoundingMode.HALF_UP);
-                    Double fxPercent = percent.setScale(5, RoundingMode.HALF_UP).doubleValue();
+                    BigDecimal percent = BigDecimal.valueOf(fxsum).divide(BigDecimal.valueOf(sum), 20, RoundingMode.HALF_UP);
+                    Double fxPercent = percent.setScale(10, RoundingMode.HALF_UP).doubleValue();
 
                     // 通用广告金金额
                     Integer amountA = (int)(totalAmountA * fxPercent);
@@ -64,36 +64,37 @@ public class AdvBudgetServiceImpl implements IAdvBudgetService {
                     // 定向激励金额
                     Integer amountC = (int)(totalAmountC * fxPercent);
 
-//                    System.err.println("小程序周期内总收入:"+sum);
-//                    System.err.println("分销商小程序周期内总收入:"+fxsum);
-//                    System.err.println("精确比例:"+percent);
-//                    System.err.println("四舍五入比例:"+fxPercent);
-//                    System.err.println("可用通用广告金金额:"+totalAmountA);
-//                    System.err.println("分销商通用广告金金额:"+amountA);
-//                    System.err.println("可用广告激励金金额:"+totalAmountB);
-//                    System.err.println("分销商广告激励金金额:"+amountB);
-//                    System.err.println("可用定向激励金额:"+totalAmountC);
-//                    System.err.println("分销商定向激励金额:"+amountC);
-
-                    Map<String, Object> data = new HashMap<>();
-                    data.put("appId", appId);
-                    data.put("personId", distributorId);
-                    data.put("settleBegin", settleBegin);
-                    data.put("settleEnd", settleEnd);
-                    data.put("fundMoneyA", amountA);
-                    data.put("fundMoneyB", amountB);
-                    data.put("fundMoneyC", amountC);
-                    data.put("expireTime", expireTime);
-                    data.put("scale", fxPercent);
-                    int rows =advBudgetMapper.replaceAdvBudget(data);
-//                    if (rows == 1) {
-//                        System.err.println("成功插入新记录");
-//                    } else if (rows == 2) {
-//                        System.err.println("成功覆盖旧记录");
-//                    } else if (rows == 0) {
-//                        System.err.println("没有任何变化");
-//                    }
-//                    System.err.println("----------分割线------------");
+                    if (amountA > 0 || amountB > 0 || amountC > 0) {
+                        System.err.println("小程序周期内总收入:"+sum);
+                        System.err.println("分销商小程序周期内总收入:"+fxsum);
+                        System.err.println("精确比例:"+percent);
+                        System.err.println("四舍五入比例:"+fxPercent);
+                        System.err.println("可用通用广告金金额:"+totalAmountA);
+                        System.err.println("分销商通用广告金金额:"+amountA);
+                        System.err.println("可用广告激励金金额:"+totalAmountB);
+                        System.err.println("分销商广告激励金金额:"+amountB);
+                        System.err.println("可用定向激励金额:"+totalAmountC);
+                        System.err.println("分销商定向激励金额:"+amountC);
+                        Map<String, Object> data = new HashMap<>();
+                        data.put("appId", appId);
+                        data.put("personId", distributorId);
+                        data.put("settleBegin", settleBegin);
+                        data.put("settleEnd", settleEnd);
+                        data.put("fundMoneyA", amountA);
+                        data.put("fundMoneyB", amountB);
+                        data.put("fundMoneyC", amountC);
+                        data.put("expireTime", expireTime);
+                        data.put("scale", fxPercent);
+                        int rows = advBudgetMapper.replaceAdvBudget(data);
+                        if (rows == 1) {
+                            System.err.println("成功插入新记录");
+                        } else if (rows == 2) {
+                            System.err.println("成功覆盖旧记录");
+                        } else if (rows == 0) {
+                            System.err.println("没有任何变化");
+                        }
+                        System.err.println("----------分割线------------");
+                    }
                 }
 
             }