From 3b41ed97d0f72cfd58de069da283f2f7ee3f09a5 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 27 六月 2025 09:57:36 +0800
Subject: [PATCH] 提交
---
server/service/src/main/java/com/doumee/core/utils/Constants.java | 292 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 270 insertions(+), 22 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 c81b7c9..e50d3aa 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
@@ -2,12 +2,21 @@
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.IdcardUtil;
+import com.aliyun.auth.credentials.Credential;
+import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
+import com.aliyun.sdk.service.cloudauth20190307.AsyncClient;
+import com.aliyun.sdk.service.cloudauth20190307.models.Id2MetaVerifyRequest;
+import com.aliyun.sdk.service.cloudauth20190307.models.Id2MetaVerifyResponse;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.business.dto.ApplyPowerDTO;
import com.doumee.dao.business.dto.CountCyclePriceDTO;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.ApplyPowerVO;
import com.doumee.dao.business.vo.ChangeDealTypeVO;
import com.doumee.dao.business.vo.CountCyclePriceVO;
+import com.google.gson.Gson;
+import darabonba.core.client.ClientOverrideConfiguration;
import io.swagger.models.auth.In;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.archivers.zip.Zip64Mode;
@@ -28,8 +37,31 @@
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.Date;
+import java.util.concurrent.CompletableFuture;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+
+import com.aliyun.auth.credentials.Credential;
+import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
+import com.aliyun.core.http.HttpClient;
+import com.aliyun.core.http.HttpMethod;
+import com.aliyun.core.http.ProxyOptions;
+import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
+import com.aliyun.sdk.service.cloudauth20190307.models.*;
+import com.aliyun.sdk.service.cloudauth20190307.*;
+import com.google.gson.Gson;
+import darabonba.core.RequestConfiguration;
+import darabonba.core.client.ClientOverrideConfiguration;
+import darabonba.core.utils.CommonUtil;
+import darabonba.core.TeaPair;
+
+//import javax.net.ssl.KeyManager;
+//import javax.net.ssl.X509TrustManager;
+import java.net.InetSocketAddress;
+import java.time.Duration;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.io.*;
public class Constants {
@@ -321,22 +353,34 @@
}
public static int calculateAge(String idCard,Date dateDate) {
- if (idCard == null || idCard.length() != 18) {
- throw new IllegalArgumentException("韬唤璇佸彿鐮佸繀椤绘槸18浣�");
+ try{
+ Integer happenYear = Integer.valueOf(DateUtil.dateToString(dateDate,"yyyy"));
+ Integer birthYear = Integer.valueOf(idCard.substring(6,10));
+ return happenYear - birthYear;
+ }catch (Exception e){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"骞撮緞淇℃伅閿欒");
}
- // 鎻愬彇鍑虹敓鏃ユ湡
- String birthDateStr = idCard.substring(6, 14); // 渚嬪锛�19900101
- LocalDate birthDate = LocalDate.parse(birthDateStr);
- Instant instant = dateDate.toInstant();
- // 鑾峰彇褰撳墠鏃ユ湡
- LocalDate currentDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); // 杞崲涓� LocalDate
- // 璁$畻骞撮緞
- Period period = Period.between(birthDate, currentDate);
- int age = period.getYears(); // 鐩存帴鑾峰彇骞翠唤宸嵆涓哄勾榫�
- return age;
+
+
+// if (idCard == null || idCard.length() != 18) {
+// throw new IllegalArgumentException("韬唤璇佸彿鐮佸繀椤绘槸18浣�");
+// }
+//
+// // 鎻愬彇鍑虹敓鏃ユ湡
+// String birthDateStr = idCard.substring(6, 14); // 渚嬪锛�19900101
+// LocalDate birthDate = LocalDate.parse(birthDateStr);
+// Instant instant = dateDate.toInstant();
+// // 鑾峰彇褰撳墠鏃ユ湡
+// LocalDate currentDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); // 杞崲涓� LocalDate
+//
+// // 璁$畻骞撮緞
+// Period period = Period.between(birthDate, currentDate);
+// int age = period.getYears(); // 鐩存帴鑾峰彇骞翠唤宸嵆涓哄勾榫�
+
+// return age;
}
@@ -918,14 +962,7 @@
}
- public static void main(String[] args) {
- System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_HALF_UP));
- System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_DOWN));
-// System.out.println(IdcardUtil.isValidCard("340621199310134818"));
-// System.out.println(IdcardUtil.isValidCard("341621199310134818"));
-// System.out.println("{\"companyName\":\"搴斿疂绉戞妧\",\"endtime\":\"2024-03-01 17:19:00\",\"erpId\":\"4D40185D5BC74A13821BE46EAF8B4179\",\"erpWithVisitDTOList\":[],\"faceImg\":\"20240304/1709518170325_742.jpg\",\"idcardNo\":\"342501199609300535\",\"idcardType\":0,\"name\":\"榛勬檵\",\"phone\":\"17756328697\",\"reason\":\"鎺㈤櫓\",\"receptMemberId\":\"E7E514BD7DE3F27CE0530B630A0AEAE0\",\"starttime\":\"2024-03-01 13:18:00\"}");
- }
/**
* 鐢ㄦ埛绫诲瀷 0绯荤粺鐢ㄦ埛 1浼佷笟鐢ㄦ埛 2鏈嶅姟鏈烘瀯绠$悊鍛� 3鏈嶅姟鏈烘瀯瀛愯处鍙� 4缁煎悎鏈嶅姟鍗曚綅绠$悊鍛� 5缁煎悎鏈嶅姟鍗曚綅瀛愯处鍙� 6涓撳 7鍘垮尯鐢ㄦ埛 8甯傚眬鐢ㄦ埛
*/
@@ -1999,7 +2036,7 @@
ACCEPTANCE(9, "宸插彈鐞�",3),//寰呯悊绠�
WAIT_AUDIT_COMPENSATION(10, "寰呮牳璧�",4),
COMPENSATION(11, "宸叉牳璧�",5),
- CONFIRM_FEE(12, "宸茬‘璁ら噾棰�",5),
+ CONFIRM_FEE(12, "寰呯粨妗�",5),
CLOSE_CASE(13, "宸茬粨妗�",6),
RETURN(14, "宸叉挙妗�",7),
;
@@ -2058,7 +2095,7 @@
SUPPLEMENT(5, "琛ュ厖璇存槑","鎻愪氦鎰忚锛�${param}"),
PLATFORM_LP_DEAL(6, "骞冲彴鐞嗚禂澶勭悊","宸插湪骞冲彴瀹屾垚鐞嗚禂"),
PLATFORM_REMARK(7, "澶囨敞鏍囩","${param}"),
- PLATFORM_ADDCODE(8, "骞冲彴娣诲姞鎶ユ鍙�","澶囨鍙凤細${param}"),
+ PLATFORM_ADDCODE(8, "骞冲彴淇敼鎶ユ鍙�","澶囨鍙凤細${param}"),
PLATFORM_UN_AGREE_BACK(9, "浼佷笟涓嬭浇璧勬枡",""),
PLATFORM_DOWNLOAD(10, "骞冲彴涓嬭浇璧勬枡",""),
PLATFORM_CHECK_PASS(11, "骞冲彴涓婁紶璧勬枡",""),
@@ -2166,7 +2203,6 @@
}
return null;
}
-
// 鏅�氭柟娉�
public static SettleClaimsLogParentStatus getAll(int index) {
@@ -2861,5 +2897,217 @@
}
+ public static void initApplyStatus(InsuranceApply apply){
+ apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
+ if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
+ //濡傛灉宸插畬鎴�
+ if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
+ apply.setStatusCollect(Constants.THREE);//宸茶繃鏈�
+ }
+ }
+ Constants.setServiceDays(apply);
+ apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect()));
+ if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) ){
+ if(apply.getStartTime().getTime()>System.currentTimeMillis()){
+ apply.setStatusInfo("寰呯敓鏁�");
+ }else if(apply.getEndTime().getTime()<System.currentTimeMillis()){
+ apply.setStatusInfo("宸茶繃鏈�");
+ }else{
+ apply.setStatusInfo("淇濋殰涓�");
+ }
+ }
+ }
+
+ public static void setServiceDays(InsuranceApply insuranceApply) {
+ //璁剧疆鍦ㄤ繚鏃堕暱锛堝ぉ鏁帮級
+ insuranceApply.setServiceDays(Constants.ZERO);
+ if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ || insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
+ //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈�
+ if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){
+ insuranceApply.setServiceDays(
+ DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime())+1
+ );
+ }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
+ //鏈紑濮�
+ insuranceApply.setServiceDays(Constants.ZERO);
+ }else{
+ insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime())+1);
+ }
+ }
+ }
+
+ public static ApplyPowerVO getApplyPowerStatic(ApplyPowerDTO applyPowerDTO, InsuranceApply insuranceApply, Solutions solutions){
+ if(Objects.isNull(applyPowerDTO)
+ || Objects.isNull(applyPowerDTO.getApplyId())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍙傛暟閿欒");
+ }
+ if(Objects.isNull(applyPowerDTO.getBeginDate())){
+ applyPowerDTO.setBeginDate(new Date());
+ }
+ ApplyPowerVO applyPowerVO = new ApplyPowerVO();
+ //鑾峰彇鏂规 缁撴潫鏃堕棿
+ Date endTime = insuranceApply.getEndTime();
+ //鏌ヨ褰撳墠鍘诲姞淇濈殑寮�濮嬫棩鏈� yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
+ Date addStartDate = DateUtil.getMontageDate(
+ DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
+ 1
+ );
+ applyPowerVO.setAddStartDate(addStartDate);
+ //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍔犱繚
+ if(addStartDate.getTime()>=endTime.getTime()){
+ applyPowerVO.setAddTrue(Constants.ONE);
+ }else{
+ applyPowerVO.setAddTrue(Constants.ZERO);
+ }
+ //鏌ヨ褰撳墠鍘诲噺淇濈殑寮�濮嬫棩鏈� yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
+ Date delStartDate = DateUtil.getMontageDate(
+ DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
+ 1
+ );
+ applyPowerVO.setDelStartDate(delStartDate);
+ //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍑忎繚
+ if(delStartDate.getTime()>=endTime.getTime()){
+ applyPowerVO.setDelTrue(Constants.ONE);
+ }else{
+ applyPowerVO.setDelTrue(Constants.ZERO);
+ }
+ return applyPowerVO;
+ }
+
+ public static void main(String[] args) throws Exception {
+// System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_HALF_UP));
+// System.out.println(BigDecimal.valueOf(3.45678).setScale(2,BigDecimal.ROUND_DOWN));
+// System.out.println(IdcardUtil.isValidCard("340621199310134818"));
+// System.out.println(IdcardUtil.isValidCard("341621199310134818"));
+
+// System.out.println("{\"companyName\":\"搴斿疂绉戞妧\",\"endtime\":\"2024-03-01 17:19:00\",\"erpId\":\"4D40185D5BC74A13821BE46EAF8B4179\",\"erpWithVisitDTOList\":[],\"faceImg\":\"20240304/1709518170325_742.jpg\",\"idcardNo\":\"342501199609300535\",\"idcardType\":0,\"name\":\"榛勬檵\",\"phone\":\"17756328697\",\"reason\":\"鎺㈤櫓\",\"receptMemberId\":\"E7E514BD7DE3F27CE0530B630A0AEAE0\",\"starttime\":\"2024-03-01 13:18:00\"}");
+
+// Constants constants = new Constants();
+// constants.test("LTAI5tRBTeQKoeUs41yVdW4F","rYHEOw2l7AooAOz88JSZ2aSQxfQQTS","340621199310134818","浠诲悍");
+
+
+
+ StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
+ // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
+ .accessKeyId("LTAI5tKzCBb4CU1bwUfSoakP")
+ .accessKeySecret("7HNswKVfXJkSmiQDTT5wL3KjH1oS16")
+ //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // use STS token
+ .build());
+
+ // Configure the Client
+ AsyncClient client = AsyncClient.builder()
+ .region("cn-hangzhou") // Region ID
+ //.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient)
+ .credentialsProvider(provider)
+ //.serviceConfiguration(Configuration.create()) // Service-level configuration
+ // Client-level configuration rewrite, can set Endpoint, Http request parameters, etc.
+ .overrideConfiguration(
+ ClientOverrideConfiguration.create()
+ // Endpoint 璇峰弬鑰� https://api.aliyun.com/product/Cloudauth
+ .setEndpointOverride("cloudauth.aliyuncs.com")
+ //.setConnectTimeout(Duration.ofSeconds(30))
+ )
+ .build();
+
+ // Parameter settings for API request
+ Id2MetaVerifyRequest id2MetaVerifyRequest = Id2MetaVerifyRequest.builder()
+ .identifyNum("340621199310134818")
+ .userName("浠诲悍")
+ .paramType("normal")
+ // Request-level configuration rewrite, can set Http request parameters, etc.
+ // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
+ .build();
+
+ // Asynchronously get the return value of the API request
+ CompletableFuture<Id2MetaVerifyResponse> response = client.id2MetaVerify(id2MetaVerifyRequest);
+ // Synchronously get the return value of the API request
+ Id2MetaVerifyResponse resp = response.get();
+ System.out.println(new Gson().toJson(resp));
+ // Asynchronous processing of return values
+ /*response.thenAccept(resp -> {
+ System.out.println(new Gson().toJson(resp));
+ }).exceptionally(throwable -> { // Handling exceptions
+ System.out.println(throwable.getMessage());
+ return null;
+ });*/
+
+ // Finally, close the client
+ client.close();
+ }
+
+ public void test(String accessKeyId,String accessKeySecret,String identifyNum,String name) throws Exception{
+
+// HttpClient Configuration
+ /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
+ .connectionTimeout(Duration.ofSeconds(10)) // Set the connection timeout time, the default is 10 seconds
+ .responseTimeout(Duration.ofSeconds(10)) // Set the response timeout time, the default is 20 seconds
+ .maxConnections(128) // Set the connection pool size
+ .maxIdleTimeOut(Duration.ofSeconds(50)) // Set the connection pool timeout, the default is 30 seconds
+ // Configure the proxy
+ .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<your-proxy-hostname>", 9001))
+ .setCredentials("<your-proxy-username>", "<your-proxy-password>"))
+ // If it is an https connection, you need to configure the certificate, or ignore the certificate(.ignoreSSL(true))
+ .x509TrustManagers(new X509TrustManager[]{})
+ .keyManagers(new KeyManager[]{})
+ .ignoreSSL(false)
+ .build();*/
+
+ // Configure Credentials authentication information, including ak, secret, token
+ StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
+ // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
+ .accessKeyId(System.getenv(accessKeyId))
+ .accessKeySecret(System.getenv(accessKeySecret))
+ //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // use STS token
+ .build());
+
+ // Configure the Client
+ AsyncClient client = AsyncClient.builder()
+ .region("cn-hangzhou") // Region ID
+ //.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient)
+ .credentialsProvider(provider)
+ //.serviceConfiguration(Configuration.create()) // Service-level configuration
+ // Client-level configuration rewrite, can set Endpoint, Http request parameters, etc.
+ .overrideConfiguration(
+ ClientOverrideConfiguration.create()
+ // Endpoint 璇峰弬鑰� https://api.aliyun.com/product/Cloudauth
+ .setEndpointOverride("cloudauth.aliyuncs.com")
+ //.setConnectTimeout(Duration.ofSeconds(30))
+ )
+ .build();
+
+ // Parameter settings for API request
+ Id2MetaVerifyRequest id2MetaVerifyRequest = Id2MetaVerifyRequest.builder()
+ .identifyNum(identifyNum)
+ .userName(name)
+ .paramType("normal")
+ // Request-level configuration rewrite, can set Http request parameters, etc.
+ // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
+ .build();
+
+ // Asynchronously get the return value of the API request
+ CompletableFuture<Id2MetaVerifyResponse> response = client.id2MetaVerify(id2MetaVerifyRequest);
+ // Synchronously get the return value of the API request
+ Id2MetaVerifyResponse resp = response.get();
+ System.out.println(new Gson().toJson(resp));
+ // Asynchronous processing of return values
+ /*response.thenAccept(resp -> {
+ System.out.println(new Gson().toJson(resp));
+ }).exceptionally(throwable -> { // Handling exceptions
+ System.out.println(throwable.getMessage());
+ return null;
+ });*/
+
+ // Finally, close the client
+ client.close();
+
+ }
+
+
+
+
+
}
--
Gitblit v1.9.3