Browse Source

垫款功能,添加端口类型逻辑

zhaoxian 2 years ago
parent
commit
30da845022

+ 3 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/IMessageTemplate.java

@@ -96,8 +96,11 @@ public interface IMessageTemplate {
     String getFinancePaymentApplicationFailMessage(FinancePaymentApplication application);
 
     String getFinancePaymentApplicationCWRechargeMessage(JSONObject data);
+
     String getFinancePaymentApplicationMJRechargeMessage(JSONObject data);
 
+    String getRechargedSuccessfullyMessage(JSONObject data);
+
     String getFinancePaymentApplicationCWRechargeRefuseMessage(JSONObject data);
 
     String getFinancePaymentApplicationMJRechargeRefuseMessage(JSONObject data);

+ 33 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/MessageTemplateImpl.java

@@ -288,6 +288,7 @@ public class MessageTemplateImpl implements IMessageTemplate {
                 .append("项目名称:").append(data.getString("projectName")).append("<br/>")
 //                .append("类型:").append("1".equals(data.getString("rechargeType")) ? "充值" : "自运营充值").append("<br/>")
                 .append("充值现金金额:").append(data.getBigDecimal("totalAmount")).append("<br/>")
+                .append("充值账显金额:").append(data.getBigDecimal("displayAmount")).append("<br/>")
                 .append("请及时登录有腾助手平台进行审核");
         return text.toString();
     }
@@ -318,11 +319,43 @@ public class MessageTemplateImpl implements IMessageTemplate {
                 .append("媒体:").append(media).append("<br/>")
                 .append("账户ID:").append(data.getString("accountIds")).append("<br/>")
                 .append("充值现金金额:").append(data.getBigDecimal("totalAmount")).append("<br/>")
+                .append("充值账显金额:").append(data.getBigDecimal("displayAmount")).append("<br/>")
                 .append("请及时登录有腾助手平台进行充值");
         return text.toString();
     }
 
     @Override
+    public String getRechargedSuccessfullyMessage(JSONObject data) {
+        //媒体类型 1-头条、2-快手、7-磁力金牛、9-广点通
+        String paymentMedia = data.getString("paymentMedia");
+        String media = null;
+        switch (paymentMedia) {
+            case "1":
+                media = "头条";
+                break;
+            case "2":
+                media = "快手";
+                break;
+            case "7":
+                media = "磁力金牛";
+                break;
+            case "9":
+                media = "广点通";
+                break;
+        }
+        StringBuilder text = new StringBuilder();
+        text.append("账户充值完成通知").append("<br/>")
+                .append("产品名称:").append(data.getString("productName")).append("<br/>")
+                .append("项目名称:").append(data.getString("projectName")).append("<br/>")
+                .append("媒体:").append(media).append("<br/>")
+                .append("账户ID:").append(data.getString("accountIds")).append("<br/>")
+                .append("充值现金金额:").append(data.getBigDecimal("totalAmount")).append("<br/>")
+                .append("充值账显金额:").append(data.getBigDecimal("displayAmount")).append("<br/>")
+                .append("已充值完成");
+        return text.toString();
+    }
+
+    @Override
     public String getFinancePaymentApplicationCWRechargeRefuseMessage(JSONObject data) {
         StringBuilder text = new StringBuilder();
         text.append("充值申请被拒绝通知").append("<br/>")

+ 8 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/finance/payment/controller/FinancePaymentApplicationController.java

@@ -73,6 +73,14 @@ public class FinancePaymentApplicationController {
                 queryWrapper.eq("applicanter_id", application.getUserId());
             }
         }
+        if (!Check.isNull(application.getAuditRole())) {
+            queryWrapper.like("audit_status", "1");
+            if ("finance".equals(application.getAuditRole())) {
+                queryWrapper.like("revieweder_id", "financialReview");
+            } else {
+                queryWrapper.like("revieweder_id", "meidaManager");
+            }
+        }
         if (!Check.isNull(application.getAdvertiserName())) {
             queryWrapper.like("advertiser_name", application.getAdvertiserName());
         }

+ 6 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/finance/payment/entity/FinancePaymentApplication.java

@@ -176,4 +176,10 @@ public class FinancePaymentApplication {
      */
     @TableField(exist = false)
     private String userId;
+    /**
+     * 登录人角色 sale 销售
+     *          finance 财务
+     */
+    @TableField(exist = false)
+    private String auditRole;
 }

+ 21 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/finance/payment/service/impl/FinancePaymentRechargeApplicationServiceImpl.java

@@ -31,6 +31,7 @@ import org.jeecg.modules.ctop.service.IAdvertiserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -123,6 +124,7 @@ public class FinancePaymentRechargeApplicationServiceImpl extends ServiceImpl<Fi
             //添加充值账户信息
             List<FinancePaymentRechargeAccount> accountList = new ArrayList<>();
             String accountIds = "";
+            BigDecimal displayAmount = new BigDecimal("0");
             for (int i = 0; i < list.size(); i++) {
                 JSONObject obj = list.getJSONObject(i);
                 FinancePaymentRechargeAccount account = new FinancePaymentRechargeAccount();
@@ -135,12 +137,14 @@ public class FinancePaymentRechargeApplicationServiceImpl extends ServiceImpl<Fi
                 }
                 account.setCashAmount(obj.getBigDecimal("cashAmount"));
                 account.setReceivedAmount(obj.getBigDecimal("receivedAmount"));
+                displayAmount.add(obj.getBigDecimal("receivedAmount"));
                 account.setRebateType(obj.getString("rebateType"));
                 account.setRebateRate(obj.getDouble("rebateRate"));
                 accountList.add(account);
                 accountIds += obj.getLong("accountId") + ",";
             }
             rechargeAccountService.saveBatch(accountList);
+            data.put("displayAmount", displayAmount);
             //消息通知内容
             String message = null;
             List<SysUser> users = null;
@@ -204,6 +208,8 @@ public class FinancePaymentRechargeApplicationServiceImpl extends ServiceImpl<Fi
 
         this.updateById(recharge);
 
+        BigDecimal displayAmount = new BigDecimal("0");
+
         //添加充值账户信息
         List<FinancePaymentRechargeAccount> accountList = new ArrayList<>();
         String accountIds = "";
@@ -219,6 +225,7 @@ public class FinancePaymentRechargeApplicationServiceImpl extends ServiceImpl<Fi
             }
             account.setCashAmount(obj.getBigDecimal("cashAmount"));
             account.setReceivedAmount(obj.getBigDecimal("receivedAmount"));
+            displayAmount.add(obj.getBigDecimal("receivedAmount"));
             account.setRebateType(obj.getString("rebateType"));
             account.setRebateRate(obj.getDouble("rebateRate"));
             accountList.add(account);
@@ -226,6 +233,8 @@ public class FinancePaymentRechargeApplicationServiceImpl extends ServiceImpl<Fi
         }
         rechargeAccountService.delByRechargeId(recharge.getId());
         rechargeAccountService.saveBatch(accountList);
+
+        data.put("displayAmount", displayAmount);
         //消息通知内容
         String message = null;
         List<SysUser> users = null;
@@ -265,6 +274,7 @@ public class FinancePaymentRechargeApplicationServiceImpl extends ServiceImpl<Fi
             if (!Check.isNull(amount)) {
                 oldData.put("accountIds", amount.getString("accountIds"));
                 oldData.put("totalAmount", amount.getString("cashAmount"));
+                oldData.put("displayAmount", amount.getString("displayAmount"));
             }
             String message = messageTemplate.getFinancePaymentApplicationMJRechargeMessage(oldData);
             List<SysUser> users = userService.getUserListByRoleId(MEIDA_MANAGER_ROLE_ID);
@@ -280,6 +290,17 @@ public class FinancePaymentRechargeApplicationServiceImpl extends ServiceImpl<Fi
             }
             this.updateById(recharge);
             poolService.reduce(oldRecharge, null);
+
+            JSONObject oldData = JSONObject.parseObject(JSONObject.toJSONString(oldRecharge)).toJavaObject(JSONObject.class);
+            JSONObject amount = rechargeAccountService.queryAmounts(recharge.getId());
+            if (!Check.isNull(amount)) {
+                oldData.put("accountIds", amount.getString("accountIds"));
+                oldData.put("totalAmount", amount.getString("cashAmount"));
+                oldData.put("displayAmount", amount.getString("displayAmount"));
+            }
+            String message = messageTemplate.getRechargedSuccessfullyMessage(oldData);
+            sendMessageService.sendMessage(oldRecharge.getApplicanterId(), message);
+
         } else if ("5".equals(auditStatus)) {
             if ("4".equals(recharge.getAuditStatus())) {
                 poolService.add(oldRecharge, null);