From 5db66ef6fb108de06df182189d822f3f5ebdd557 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 23 一月 2024 16:52:53 +0800
Subject: [PATCH] 开发业务接口

---
 server/service/src/main/java/com/doumee/core/utils/Constants.java |  389 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 366 insertions(+), 23 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 84598f6..4fdef25 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1,12 +1,20 @@
 package com.doumee.core.utils;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.business.model.Solutions;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 
 import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.math.BigDecimal;
+import java.net.URL;
 import java.net.URLDecoder;
 import java.util.*;
+import java.util.Date;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -66,6 +74,8 @@
     public static final String COMPANY_FILE ="COMPANY_FILE" ;
     public static final String SMS_COMNAME = "SMS_COMNAME";
     public static final String TAXES_FILE = "TAXES_FILE";
+    public static final String APPLY_FILE ="APPLY_FILE" ;
+    public static final String SETTLE_FILE ="SETTLE_FILE" ;
 
     /**
      * 浼佷笟鏁版嵁鏉ユ簮 0骞冲彴娉ㄥ唽 1鍚庡彴瀵煎叆
@@ -93,6 +103,15 @@
 //        d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
         return  d;
     }
+    public static BigDecimal formatBigdecimal2Float(BigDecimal d) {
+        if (d == null) {
+            d = new BigDecimal(0.0);
+        }
+        //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
+        d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
+        return  d;
+    }
+
     public static BigDecimal formatBigdecimal4Float(BigDecimal d) {
         if (d == null) {
             d = new BigDecimal(0.0);
@@ -352,7 +371,9 @@
         BD_APPLY_PDF(8, "淇濆崟鐢宠琛≒DF ", "淇濆崟鐢宠琛≒DF "),
         BD_SIGNED_PDF(9, "绛剧讲鍚庝繚鍗曠敵璇疯〃PDF", "绛剧讲鍚庝繚鍗曠敵璇疯〃PDF"),
         COM_SING_IMG(10, "浼佷笟鍗扮珷", "浼佷笟鍗扮珷"),
-        BD_DONE_PDF(10, "鏈�缁堟姤鍗�", "鏈�缁堟姤鍗�"),
+        BD_DONE_PDF(11, "鏈�缁堟姤鍗�", "鏈�缁堟姤鍗�"),
+
+        CA_PD_PDF(12, "鏈�缁堟姤鍗�", "鏈�缁堟姤鍗�"),
 
 
         ;
@@ -605,30 +626,197 @@
 
 
     public  enum ApplyLogType {
-        UPLOAD(0, "鎻愪氦鎶曚繚鐢宠"),
-        PLATFORM_RETURN(1, "骞冲彴閫�鍥炰繚鍗�"),
-        WAIT_SIGNATURE(2, "宸蹭笂浼犱唬绛剧敵璇疯〃寰呬紒涓氱绔�"),
-        SIGNATURE(3, "宸茬绔犲緟涓婁紶淇濋櫓鍗�"),
-        FAIL_RETURN(4, "淇濆崟鍑哄叿澶辫触閫�鍥�"),
-        UPLOAD_INSURANCE(5, "宸蹭笂浼犱繚鍗�"),
-        COMPANY_APPLY_RETURN(6, "浼佷笟鐢宠閫�鍥�"),
-        COMPANY_APPLY_CLOSE(7, "浼佷笟鍏抽棴鐢宠"),
-        PLATFORM_AGREE(8, "骞冲彴鍚屾剰浼佷笟閫�鍥炵敵璇�"),
-        PLATFORM_UN_AGREE(9, "骞冲彴鎷掔粷浼佷笟閫�鍥炵敵璇�"),
+        UPLOAD(0, "鎻愪氦鎶曚繚","鎻愪氦鎰忚锛�${param}"),
+        PLATFORM_RETURN(1, "閫�鍥炴姇淇�","鎻愪氦鎰忚锛�${param}"),
+        WAIT_SIGNATURE(2, "涓婁紶鎶曚繚鍗�","鎻愪氦鎰忚锛�${param}"),
+        SIGNATURE(3, "浼佷笟绛剧珷",""),
+        FAIL_RETURN(4, "淇濆崟鍑哄叿澶辫触閫�鍥�","鎻愪氦鎰忚锛�${param}"),
+        UPLOAD_INSURANCE(5, "淇濆崟瀹屾垚","淇濋櫓鐢熸晥璧锋湡锛�${param1}鍙樻洿涓�${param2}"),
+        COMPANY_APPLY_RETURN(6, "鐢宠閫�鍥�","鎻愪氦鎰忚锛�${param}"),
+        COMPANY_APPLY_CLOSE(7, "鍏抽棴鐢宠",""),
+        PLATFORM_AGREE_BACK(8, "鍚屾剰閫�鍥炵敵璇�",""),
+        PLATFORM_UN_AGREE_BACK(9, "椹冲洖閫�鍥炵敵璇�","鎻愪氦鎰忚锛�${param}"),
+        COMPANY_EDIT(10, "淇濆崟淇敼","鎻愪氦鎰忚锛�${param1}\n${param2}"),
+        PLATFORM_CHECK_PASS(11, "鎶曚繚瀹℃牳閫氳繃",""),
+        CA_PLATFORM_CHECK_PASS_NO(12, "閫�鍥炴姇淇�","鎻愪氦鎰忚锛�${param}"),
+        CA_PLATFORM_AGREE_BACK_APPLY(13, "鍚屾剰閫�鍥炵敵璇�","鎻愪氦鎰忚锛�${param}"),
+        CA_PLATFORM_APPROVE(14, "鎵瑰崟瀹屾垚","淇濋櫓鐢熸晥璧锋湡锛�${param1}鍙樻洿涓�${param2}"),
+        CA_PLATFORM_CHECK_SIGNATURE(15, "浼佷笟绛剧珷",""),
+        CA_COMPANY_EDIT(16, "鎵瑰崟淇敼","鎻愪氦鎰忚锛�${param1}\n${param2}"),
+        CA_COMPANY_COMMIT(17, "鎻愪氦鎶曚繚","鎻愪氦鎰忚锛�${param}"),
+        CA_COMPANY_BACK_APPLY(18, "鐢宠閫�鍥�","鎻愪氦鎰忚锛�${param}"),
+        CA_COMPANY_CLOSE(19, "鍏抽棴璁㈠崟",""),
+        CA_PALTFORM_REFUSE_APPLY(20, "椹冲洖閫�鍥炵敵璇�",""),
+        CA_PALTFORM_EDIT_PIDAN(21, "淇敼鎵瑰崟","淇敼鍘熷洜锛�${param}"),
+        PALTFORM_EDIT_BD(22, "淇敼淇濆崟","淇敼鍘熷洜锛�${param}"),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
+        private String info;
         private int key;
 
         // 鏋勯�犳柟娉�
-        ApplyLogType(int key, String name) {
+        ApplyLogType(int key, String name,String info) {
             this.name = name;
+            this.info = info;
             this.key = key;
         }
 
         // 鏅�氭柟娉�
         public static String getName(int index) {
             for (ApplyLogType c : ApplyLogType.values()) {
+                if (c.getKey() == index) {
+                    return c.name;
+                }
+            }
+            return null;
+        }
+        public static String getInfo(int index) {
+            for (ApplyLogType c : ApplyLogType.values()) {
+                if (c.getKey() == index) {
+                    return c.info;
+                }
+            }
+            return null;
+        }
+
+        // get set 鏂规硶
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+
+        public String getInfo() {
+            return info;
+        }
+
+        public void setInfo(String info) {
+            this.info = info;
+        }
+    }
+
+    public  enum InsuranceApplyStatus {
+        UPLOAD(0, "鎻愪氦鎶曚繚",""),
+        PLATFORM_RETURN(1, "瀹℃牳涓嶉�氳繃","鎻愪氦鎰忚锛�${param}"),
+        WAIT_SIGNATURE(2, "宸蹭笂浼犱唬绛剧敵璇疯〃寰呬紒涓氱绔�",""),
+        SIGNATURE(3, "宸茬绔犲緟涓婁紶淇濋櫓鍗�",""),
+        FAIL_RETURN(4, "淇濆崟鍑哄叿澶辫触閫�鍥�",""),
+        UPLOAD_INSURANCE(5, "淇濆崟瀹屾垚","淇濋櫓鐢熸晥璧锋湡锛�${param}鍙樻洿涓�${param1}"),
+        COMPANY_BACK_APPLY_UPLOAD(6, "浼佷笟鐢宠閫�鍥�(鎻愪氦鎶曚繚)","鎻愪氦鎰忚锛�${param}"),
+        COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "浼佷笟鐢宠閫�鍥�(寰呯绔�)","鎻愪氦鎰忚锛�${param}"),
+        COMPANY_BACK_APPLY_SIGNATURE(8, "浼佷笟鐢宠閫�鍥�(宸茬绔�)","鎻愪氦鎰忚锛�${param}"),
+        CLOSE(9, "璁㈠崟鍏抽棴",""),
+        PLATFORM_CHECK_PASS(10,"骞冲彴鎶曚繚瀹℃牳閫氳繃",""),
+        ;
+        // 鎴愬憳鍙橀噺
+        private String name;
+        private String info;
+        private int key;
+
+        // 鏋勯�犳柟娉�
+        InsuranceApplyStatus(int key, String name,String info) {
+            this.name = name;
+            this.key = key;
+            this.info = info;
+        }
+
+        // 鏅�氭柟娉�
+        public static String getName(int index) {
+            for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
+                if (c.getKey() == index) {
+                    return c.name;
+                }
+            }
+            return null;
+        }
+        public static String getInfo(int index) {
+            for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
+                if (c.getKey() == index) {
+                    return c.info;
+                }
+            }
+            return null;
+        }
+
+        // get set 鏂规硶
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+
+        public String getInfo() {
+            return info;
+        }
+
+        public void setInfo(String info) {
+            this.info = info;
+        }
+    }
+
+    public static BigDecimal countDetailFee(Solutions solutions,Date startDate, Date endDate){
+        //鏌ヨ淇濋櫓瀹為檯鍛ㄦ湡
+        Integer cycle = DateUtil.calculateBetween(endDate,startDate,solutions.getTimeUnit());
+        if(cycle==-1){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏃ユ湡淇℃伅閿欒!");
+        }
+        return solutions.getPrice().multiply(new BigDecimal(cycle));
+    }
+    public static BigDecimal countDetailFee(int timeUnit ,BigDecimal price,Date startDate, Date endDate){
+        //鏌ヨ淇濋櫓瀹為檯鍛ㄦ湡
+        Integer cycle = DateUtil.calculateBetween(endDate,startDate,timeUnit);
+        if(cycle==-1){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏃ユ湡淇℃伅閿欒!");
+        }
+        return Constants.formatBigdecimal(price).multiply(new BigDecimal(cycle));
+    }
+
+
+    public  enum ApplyChangeStatus {
+        UPLOAD(0, "鎻愪氦鍔犲噺淇�/鎹㈠巶鐢宠"),
+        SIGNATURE(1, "宸茬绔�"),
+        APPROVE(2, "宸蹭笂浼犲鎵�"),
+        RETURN_APPLY_UPLOAD(3, "鍙戣捣閫�鍥炵敵璇�(寰呭鏍�)"),
+        RETURN_APPLY_SIGNATURE(4, "鍙戣捣閫�鍥炵敵璇凤紙宸茬绔狅級"),
+        PLATFORM_AGREE(5, "骞冲彴鍚屾剰锛堝凡閫�鍥烇級"),
+        CLOSE(6, "宸插叧闂�"),
+        PALTFORM_CHECK_PASS(7, "瀹℃牳閫氳繃"),
+        PALTFORM_CHECK_PASS_NO(8, "瀹℃牳涓嶉�氳繃"),
+        ;
+        // 鎴愬憳鍙橀噺
+        private String name;
+        private int key;
+
+        // 鏋勯�犳柟娉�
+        ApplyChangeStatus(int key, String name) {
+            this.name = name;
+            this.key = key;
+        }
+
+        // 鏅�氭柟娉�
+        public static String getName(int index) {
+            for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
                 if (c.getKey() == index) {
                     return c.name;
                 }
@@ -655,23 +843,139 @@
 
     }
 
-    public  enum InsuranceApplyStatus {
-        UPLOAD(0, "鎻愪氦鎶曚繚鐢宠"),
-        PLATFORM_RETURN(1, "骞冲彴閫�鍥炰繚鍗�"),
-        WAIT_SIGNATURE(2, "宸蹭笂浼犱唬绛剧敵璇疯〃寰呬紒涓氱绔�"),
-        SIGNATURE(3, "宸茬绔犲緟涓婁紶淇濋櫓鍗�"),
-        FAIL_RETURN(4, "淇濆崟鍑哄叿澶辫触閫�鍥�"),
-        UPLOAD_INSURANCE(5, "宸蹭笂浼犱繚鍗�"),
-        COMPANY_APPLY_RETURN(6, "浼佷笟鐢宠閫�鍥�"),
-        PLATFORM_AGREE(7, "骞冲彴鍚屾剰閫�鍥�"),
-        CLOSE(8, "璁㈠崟鍏抽棴"),
+
+
+    public  enum SettleClaimsStatus {
+        WAIT_ACCEPTANCE(0, "寰呭彈鐞�"),
+        RETURN_ACCEPTANCE(1, "閫�鍥炲彈鐞�"),
+        DEAL_ING(2, "鍙楃悊涓�"),
+        CONFIRM_INFORMATION(3, "纭璧勬枡"),
+        FINISH_ACCEPTANCE(4, "瀹屾垚鍙楃悊"),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
         private int key;
 
         // 鏋勯�犳柟娉�
-        InsuranceApplyStatus(int key, String name) {
+        SettleClaimsStatus(int key, String name) {
+            this.name = name;
+            this.key = key;
+        }
+        // 鏅�氭柟娉�
+        public static String getName(int index) {
+            for (SettleClaimsStatus c : SettleClaimsStatus.values()) {
+                if (c.getKey() == index) {
+                    return c.name;
+                }
+            }
+            return null;
+        }
+        // get set 鏂规硶
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+    }
+
+
+
+    public  enum SettleClaimsLogType {
+        UPLOAD(0, "鎻愪氦鎶ユ","鎻愪氦鎰忚锛�${param}"),
+        PLATFORM_RETURN(1, "骞冲彴閫�鍥�","鎻愪氦鎰忚锛�${param}"),
+        PLATFORM_CONFIRM_INFORMATION(2, "骞冲彴纭璧勬枡",""),
+        PLATFORM_FINISH(3, "骞冲彴瀹屾垚鍙楃悊","鎻愪氦鎰忚锛�${param}"),
+        UPDATE_DATA(4, "淇敼淇℃伅","鎻愪氦鎰忚锛�${param}"),
+        SUPPLEMENT(5, "琛ュ厖璇存槑","鎻愪氦鎰忚锛�${param}"),
+        PLATFORM_LP_DEAL(6, "骞冲彴鐞嗚禂澶勭悊","鎻愪氦鎰忚锛�${param}"),
+        PLATFORM_REMARK(7, "骞冲彴澶囨敞鏍囩",""),
+        PLATFORM_ADDCODE(8, "骞冲彴娣诲姞鎶ユ鍙�",""),
+        PLATFORM_UN_AGREE_BACK(9, "浼佷笟涓嬭浇璧勬枡",""),
+        PLATFORM_DOWNLOAD(10, "骞冲彴涓嬭浇璧勬枡",""),
+        PLATFORM_CHECK_PASS(11, "骞冲彴涓婁紶璧勬枡",""),
+        ;
+        // 鎴愬憳鍙橀噺
+        private String name;
+        private String info;
+        private int key;
+
+        // 鏋勯�犳柟娉�
+        SettleClaimsLogType(int key, String name,String info) {
+            this.name = name;
+            this.info = info;
+            this.key = key;
+        }
+
+        // 鏅�氭柟娉�
+        public static String getName(int index) {
+            for (ApplyLogType c : ApplyLogType.values()) {
+                if (c.getKey() == index) {
+                    return c.name;
+                }
+            }
+            return null;
+        }
+        public static String getInfo(int index) {
+            for (ApplyLogType c : ApplyLogType.values()) {
+                if (c.getKey() == index) {
+                    return c.info;
+                }
+            }
+            return null;
+        }
+
+        // get set 鏂规硶
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+
+        public String getInfo() {
+            return info;
+        }
+
+        public void setInfo(String info) {
+            this.info = info;
+        }
+    }
+
+
+
+
+    public  enum ApplyChangeLogStatus {
+        UPLOAD(0, "鍙戣捣鐢宠"),
+        RETURN_APPLY(3, "鍙戣捣閫�鍥炵敵璇�"),
+        PLATFORM_AGREE(4, "骞冲彴瀹℃壒閫氳繃"),
+        PLATFORM_UN_AGREE(0, "瀹℃壒椹冲洖"),
+        CLOSE(5, "鍏抽棴"),
+        ;
+        // 鎴愬憳鍙橀噺
+        private String name;
+        private int key;
+
+        // 鏋勯�犳柟娉�
+        ApplyChangeLogStatus(int key, String name) {
             this.name = name;
             this.key = key;
         }
@@ -909,4 +1213,43 @@
             this.des = des;
         }
     }
+
+    public static File getFileByNetFile(String url,String fileName)   {
+        //瀵规湰鍦版枃浠跺懡鍚�
+        File file = null;
+        try {
+            URL urlfile;
+            InputStream inStream = null;
+            OutputStream os = null;
+            try {
+                file = File.createTempFile("", fileName);
+                //涓嬭浇
+                urlfile = new URL(url);
+                inStream = urlfile.openStream();
+                os = new FileOutputStream(file);
+                int bytesRead = 0;
+                byte[] buffer = new byte[8192];
+                while ((bytesRead = inStream.read(buffer, 0, 8192)) != -1) {
+                    os.write(buffer, 0, bytesRead);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            } finally {
+                try {
+                    if (null != os) {
+                        os.close();
+                    }
+                    if (null != inStream) {
+                        inStream.close();
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }catch (Exception e){
+
+        }
+
+        return file;
+    }
 }

--
Gitblit v1.9.3