From f6b0e262db2af5ca2e5ed76f95e746c1dd3c58e3 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 01 二月 2024 15:17:47 +0800 Subject: [PATCH] 开发业务接口 --- server/service/src/main/java/com/doumee/core/utils/Constants.java | 569 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 542 insertions(+), 27 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..14fe22d 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,24 @@ 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 com.doumee.dao.business.vo.CountCyclePriceVO; +import io.swagger.models.auth.In; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.lang3.StringUtils; -import java.io.File; +import javax.servlet.ServletOutputStream; +import java.io.*; import java.math.BigDecimal; +import java.net.URL; import java.net.URLDecoder; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; import java.util.*; +import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -66,6 +78,10 @@ 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" ; + public static final String DU_FILE ="DU_FILE" ; + public static final String SIGN_DONE_NOTIFY_URL = "SIGN_DONE_NOTIFY_URL"; /** * 浼佷笟鏁版嵁鏉ユ簮 0骞冲彴娉ㄥ唽 1鍚庡彴瀵煎叆 @@ -93,6 +109,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); @@ -125,6 +150,52 @@ } return d.intValue(); } + + public static long getAgeByIdCard(String idCard){ + int birthYear = Integer.parseInt(idCard.substring(6, 10)); + int birthMonth = Integer.parseInt(idCard.substring(10, 12)); + int birthDay = Integer.parseInt(idCard.substring(12, 14)); + + LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay); + LocalDate currentDate = LocalDate.now(); + long age = ChronoUnit.YEARS.between(birthDate, currentDate); + return age; + } + + + public static CountCyclePriceVO countPriceVO(Date startDate, Solutions solutions){ + CountCyclePriceVO countCyclePriceVO = new CountCyclePriceVO(); + if(solutions.getInsureCycleUnit().equals(Constants.ZERO)){ + countCyclePriceVO.setEndDate(DateUtil.afterDateByType(startDate,0,solutions.getInsureCycle())); + }else if(solutions.getInsureCycleUnit().equals(Constants.TWO)){ + Integer monthDays = DateUtil.monthDays(startDate); + Date afterDate = DateUtil.afterDateByType(startDate,0,monthDays); + countCyclePriceVO.setEndDate(DateUtil.afterDateByType(afterDate,0,-1)); + }else if(solutions.getInsureCycleUnit().equals(Constants.THREE)){ + Date afterDate = DateUtil.afterDateByType(startDate,2,solutions.getInsureCycle()); + countCyclePriceVO.setEndDate(DateUtil.afterDateByType(afterDate,0,-1)); + } + countCyclePriceVO.setCyclePrice(Constants.countDetailFee(solutions,countCyclePriceVO.getEndDate(),startDate)); + return countCyclePriceVO; + } + + public static Integer getSexByIdCard(String idCard){ + Pattern pattern = Pattern.compile("\\d{17}[\\d|x]"); // 瀹氫箟韬唤璇佸彿鐮佹牸寮忕殑姝e垯琛ㄨ揪寮� + Matcher matcher = pattern.matcher(idCard); + Integer sex = 1; + if (matcher.matches()) { + int genderCode = Integer.parseInt(idCard.substring(16, 17)); // 浠庣17浣嶅紑濮嬫彁鍙栨�у埆缂栫爜锛堝鏁颁负鐢锋�э紝鍋舵暟涓哄コ鎬э級 + if ((genderCode % 2 == 1) ) { + sex = 1; + } else { + sex = 2; + } + } else { + sex = -1; + } + return sex; + } + /** * 鐘舵�� 0宸蹭繚瀛樸��1寰呭鏍搞��2瀹℃牳閫氳繃銆�3閫�鍥炰慨鏀广��4瀹℃牳椹冲洖銆�5寰呮湇鍔℃満鏋勭‘璁ゃ��6鏈嶅姟鏈烘瀯鎷掔粷銆�7宸插垎閰嶆湇鍔℃満鏋勩��8璇婃柇涓� * 锛堟垚鍔熶笂浼犵涓�浠芥湇鍔¤祫鏂欙級銆�9鏈嶅姟瀹屾垚銆�10宸插垎閰嶈瘎鍒嗕笓瀹躲��11宸插畬鎴愶紙涓撳涓婁紶璇勫垎锛� 12閫�鍥炰慨鏀逛腑 13 宸插畬鎴愰��鍥炰慨鏀� @@ -352,7 +423,10 @@ 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, "鏈�缁堟姤鍗�", "鏈�缁堟姤鍗�"), + CA_APPLY_JIAJIAN_SIGN(13, "鍔犲噺淇濈敵璇风绔犳枃浠�", "鍔犲噺淇濈敵璇风绔犳枃浠�"), + CA_APPLY_CHANGEUNIT_SIGN(14, "鎹㈠巶鐢宠绛剧珷鏂囦欢", "鎹㈠巶鐢宠绛剧珷鏂囦欢"), ; @@ -603,32 +677,29 @@ } - - 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, "骞冲彴鎷掔粷浼佷笟閫�鍥炵敵璇�"), + public enum ApplyCollectStatus { + DSP(0, "寰呭鎵�"), + DCD(1, "寰呭嚭鍗�"), + BZZ(2, "淇濋殰涓�"), + YGQ(3, "宸茶繃鏈�"), + YTH(4, "宸查��鍥�"), + THSQZ(5, "鐢宠閫�鍥�"), + YGB(6, "宸插叧闂�"), + DQYQZ(7, "寰呯缃�"), ; // 鎴愬憳鍙橀噺 private String name; private int key; // 鏋勯�犳柟娉� - ApplyLogType(int key, String name) { + ApplyCollectStatus(int key, String name) { this.name = name; this.key = key; } // 鏅�氭柟娉� public static String getName(int index) { - for (ApplyLogType c : ApplyLogType.values()) { + for (ApplyCollectStatus c : ApplyCollectStatus.values()) { if (c.getKey() == index) { return c.name; } @@ -655,30 +726,233 @@ } - 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 ApplyLogType { + 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}"), + CA_JIAJIAN_APPLY_SIGN(23, "鍔犲噺淇濈敵璇蜂紒涓氱绔�",""), + + CA_CHANGUNIT_APPLY_SIGN(24, "鎹㈡垚鐢宠浼佷笟绛剧珷",""), ; // 鎴愬憳鍙橀噺 private String name; + private String info; private int key; // 鏋勯�犳柟娉� - InsuranceApplyStatus(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, "鎻愪氦鎶曚繚","",0), + PLATFORM_RETURN(1, "瀹℃牳涓嶉�氳繃","鎻愪氦鎰忚锛�${param}",4), + WAIT_SIGNATURE(2, "宸蹭笂浼犱唬绛剧敵璇疯〃寰呬紒涓氱绔�","",7), + SIGNATURE(3, "宸茬绔犲緟涓婁紶淇濋櫓鍗�","",1), + FAIL_RETURN(4, "淇濆崟鍑哄叿澶辫触閫�鍥�","",4), + UPLOAD_INSURANCE(5, "淇濆崟瀹屾垚","淇濋櫓鐢熸晥璧锋湡锛�${param}鍙樻洿涓�${param1}",2), + COMPANY_BACK_APPLY_UPLOAD(6, "浼佷笟鐢宠閫�鍥�(鎻愪氦鎶曚繚)","鎻愪氦鎰忚锛�${param}",5), + COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "浼佷笟鐢宠閫�鍥�(寰呯绔�)","鎻愪氦鎰忚锛�${param}",5), + COMPANY_BACK_APPLY_SIGNATURE(8, "浼佷笟鐢宠閫�鍥�(宸茬绔�)","鎻愪氦鎰忚锛�${param}",5), + CLOSE(9, "璁㈠崟鍏抽棴","",6), + PLATFORM_CHECK_PASS(10,"骞冲彴鎶曚繚瀹℃牳閫氳繃","鎻愪氦鎰忚锛�${param}",1), + ; + // 鎴愬憳鍙橀噺 + private String name; + private String info; + private int key; + private int collectStatus; + + + // 鏋勯�犳柟娉� + InsuranceApplyStatus(int key, String name,String info,int collectStatus) { + this.name = name; + this.key = key; + this.info = info; + this.collectStatus = collectStatus; + } + + // 鏅�氭柟娉� + public static String getName(int index) { + for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { + if (c.getKey() == index) { + return c.name; + } + } + return null; + } + public static List<Integer> getKesByStatus(Integer collectStatus) { + List<Integer> list = new ArrayList<>(); + if(collectStatus!=null){ + for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { + if (Constants.equalsInteger(c.getCollectStatus() ,collectStatus)) { + list.add(c.getKey()); + } + } + } + return list; + } + public static Integer getCollectStatus(Integer index) { + for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) { + if (Constants.equalsInteger(c.getKey() , index)) { + return c.collectStatus; + } + } + 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 int getCollectStatus() { + return collectStatus; + } + + public void setCollectStatus(int collectStatus) { + this.collectStatus = collectStatus; + } + } + + 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; } @@ -701,6 +975,190 @@ public void setKey(int key) { this.key = key; + } + + } + + + + public enum SettleClaimsStatus { + WAIT_ACCEPTANCE(0, "寰呭彈鐞�"), + RETURN_ACCEPTANCE(1, "閫�鍥炲彈鐞�"), + DEAL_ING(2, "鍙楃悊涓�"), + CONFIRM_INFORMATION(3, "纭璧勬枡"), + FINISH_ACCEPTANCE(4, "瀹屾垚鍙楃悊"), + ; + // 鎴愬憳鍙橀噺 + private String name; + private int key; + + // 鏋勯�犳柟娉� + 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, "骞冲彴澶囨敞鏍囩","${param}"), + PLATFORM_ADDCODE(8, "骞冲彴娣诲姞鎶ユ鍙�","澶囨鍙凤細${param}"), + 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, "鍙戣捣閫�鍥炵敵璇�","鎻愪氦鎰忚锛�${param}"), + PLATFORM_AGREE(4, "骞冲彴瀹℃壒閫氳繃" ,"鎻愪氦鎰忚锛�${param}"), + PLATFORM_UN_AGREE(0, "瀹℃壒椹冲洖","鎻愪氦鎰忚锛�${param}"), + CLOSE(5, "鍏抽棴",""), + ; + // 鎴愬憳鍙橀噺 + private String name; + private String info; + private int key; + + // 鏋勯�犳柟娉� + ApplyChangeLogStatus(int key, String name,String info) { + this.name = name; + this.info = info; + this.key = key; + } + + // 鏅�氭柟娉� + public static String getName(int index) { + for (ApplyChangeLogStatus c : ApplyChangeLogStatus.values()) { + if (c.getKey() == index) { + return c.name; + } + } + return null; + } + public static String getInfo(int index) { + for (ApplyChangeLogStatus c : ApplyChangeLogStatus.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; } } @@ -909,4 +1367,61 @@ this.des = des; } } + + public static File getFileByNetFile(String url,String fileName) { + //瀵规湰鍦版枃浠跺懡鍚� + File file = null; + try { + URL urlfile; + InputStream inStream = null; + OutputStream os = null; + try { + String tempDir = System.getProperty("java.io.tmpdir")+fileName; + file = new File(tempDir); + //涓嬭浇 + 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; + } + public static void packFilesToZip(List<File> files, ServletOutputStream os) throws IOException { + try (ZipArchiveOutputStream zipOutputStream = new ZipArchiveOutputStream(os)) { + for (File file : files) { + ZipArchiveEntry entry = new ZipArchiveEntry(file.getName()); + zipOutputStream.putArchiveEntry(entry); + try (FileInputStream fileInputStream = new FileInputStream(file)) { + byte[] buffer = new byte[1024]; + int length; + while ((length = fileInputStream.read(buffer)) > 0) { + zipOutputStream.write(buffer, 0, length); + } + } + zipOutputStream.closeArchiveEntry(); + file.delete(); + } + } + } } -- Gitblit v1.9.3