| | |
| | | |
| | | 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; |
| | |
| | | import java.math.RoundingMode; |
| | | import java.net.URL; |
| | | import java.net.URLDecoder; |
| | | import java.time.Instant; |
| | | import java.time.LocalDate; |
| | | import java.time.Period; |
| | | import java.time.ZoneId; |
| | | 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 { |
| | | |
| | |
| | | public static final String PRIVACY ="PRIVACY"; |
| | | public static final String USE ="USE"; |
| | | |
| | | |
| | | public static final String GOODS_IMG_DIR ="GOODS_IMG_DIR"; |
| | | public static final String CREDIT_CODE_REGEX = "[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}"; |
| | | |
| | | |
| | | public static final String ROOT_PATH="ROOT_PATH";//本地文件上传地址配置 |
| | | public static final String FILE_DIR="FILE_DIR";//本地文件访问地址配置 |
| | |
| | | public static final String COMPANY_USER_APPLY ="COMPANY_USER_APPLY" ; |
| | | public static final String INSURANCE ="INSURANCE" ; |
| | | public static final String CONTRACT ="CONTRACT" ; |
| | | public static final String DISCUSS_PROBLEM_TYPE ="DISCUSS_PROBLEM_TYPE" ; |
| | | |
| | | 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"; |
| | | public static final int FOUR = 4; |
| | | public static final String COMPANY_PHONE_AUTH ="COMPANY_PHONE_AUTH" ; |
| | | |
| | | /*RISK_TIMES_OPEN 风险提醒设置-多次出现提醒是否开启:0=否;1=是; |
| | | RISK_TIMES_REPORT_TIMES 风险提醒设置-多次出现报案次数提醒 |
| | | RISK_REPEAT_REPORT_OPEN 风险提醒设置-重复报案是否开启:0=否;1=是; |
| | | RISK_REPEAT_REPORT_TIME_UNIT 风险提醒设置-重复报案时间单位:0分钟 1小时 2天 |
| | | RISK_REPEAT_REPORT_TIME 风险提醒设置-重复报案时间 |
| | | RISK_CLAIM_TIMES_OPEN 风险提醒设置-索赔次数过多是否开启:0=否;1=是; |
| | | RISK_CLAIM_TIMES 风险提醒设置-索赔次数 |
| | | RISK_NEW_MEMBER_OPEN 风险提醒设置-新员工出险提醒是否开启:0=否;1=是; |
| | | RISK_NEW_MEMBER_TIME_UNIT 风险提醒设置-新员工出险提醒时间单位:0分钟 1小时 2天 |
| | | RISK_NEW_MEMBER_TIME 风险提醒设置-新员工出险提醒时间 |
| | | RISK_SENSITIVE_WORDS_OPEN 风险提醒设置-敏感词提醒是否开启:0=否;1=是; |
| | | RISK_SENSITIVE_WORDS 风险提醒设置-多次出现报案次数提醒*/ |
| | | |
| | | public static final String RISK_TIMES_OPEN ="RISK_TIMES_OPEN" ; |
| | | public static final String RISK_TIMES_REPORT_TIMES ="RISK_TIMES_REPORT_TIMES" ; |
| | | public static final String RISK_REPEAT_REPORT_OPEN ="RISK_REPEAT_REPORT_OPEN" ; |
| | | public static final String RISK_REPEAT_REPORT_TIME_UNIT ="RISK_REPEAT_REPORT_TIME_UNIT" ; |
| | | public static final String RISK_REPEAT_REPORT_TIME ="RISK_REPEAT_REPORT_TIME" ; |
| | | public static final String RISK_CLAIM_TIMES_OPEN ="RISK_CLAIM_TIMES_OPEN" ; |
| | | public static final String RISK_CLAIM_TIMES ="RISK_CLAIM_TIMES" ; |
| | | public static final String RISK_NEW_MEMBER_OPEN ="RISK_NEW_MEMBER_OPEN" ; |
| | | public static final String RISK_NEW_MEMBER_TIME_UNIT ="RISK_NEW_MEMBER_TIME_UNIT" ; |
| | | public static final String RISK_NEW_MEMBER_TIME ="RISK_NEW_MEMBER_TIME" ; |
| | | public static final String RISK_SENSITIVE_WORDS_OPEN ="RISK_SENSITIVE_WORDS_OPEN" ; |
| | | public static final String RISK_SENSITIVE_WORDS ="RISK_SENSITIVE_WORDS" ; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | return Constants.equalsInteger(model.getStatus(), UnionApplyStatus.FINISH.getKey())?"保险生效止期":"预计生效止期"; |
| | | } |
| | | |
| | | } |
| | | |
| | | public static BigDecimal getBigDecimalNoNull(BigDecimal bigDecimal){ |
| | | if(Objects.isNull(bigDecimal)){ |
| | | return BigDecimal.ZERO; |
| | | } |
| | | return bigDecimal; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | return Constants.countPriceVO(countCyclePriceDTO.getStartDate(),countCyclePriceDTO.getSolutions()); |
| | | } |
| | | |
| | | public static int calculateAge(String idCard,Date dateDate) { |
| | | 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(),"年龄信息错误"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 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; |
| | | } |
| | | |
| | | |
| | | public static CountCyclePriceVO countPriceVO(Date startDate, Solutions solutions){ |
| | | CountCyclePriceVO countCyclePriceVO = new CountCyclePriceVO(); |
| | |
| | | CONTRACT_DONE_PDF(28, "合同签署附件", "合同签署附件"), |
| | | COMPANY_SOLUTION_SIGN_PDF(29, "企业签署后方案确认书", "企业签署后方案确认书"), |
| | | COMPANY_USER_APPLY(30, "企业申请集团用户附件", "企业申请集团用户附件"), |
| | | |
| | | LP_STAMP_FILE(31, "保险公司理赔盖章文件", "保险公司理赔盖章文件"), |
| | | LP_FILE(32, "保险公司上传理赔材料一览表", "保险公司上传理赔材料一览表"), |
| | | LP_OTHER_FILE(33, "理赔其他材料", "理赔其他材料"), |
| | | LP_PAY_FILE(34, "打款凭证", "打款凭证"), |
| | | LP_DZBD_FILE(35, "电子保单", "电子保单"), |
| | | LP_SUPPLEMENT_FILE(36, "补充材料", "补充材料"), |
| | | |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | |
| | | |
| | | } |
| | | |
| | | 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市局用户 |
| | | */ |
| | |
| | | CHANGE_FACTORY(2, "员工换厂申请","保险方案"), |
| | | DISPATCH_UNIT(3, "派遣单位申请","派遣单位"), |
| | | TAXES(4, "开票申请","开票金额"), |
| | | SETTLE_CLAIMS(5, "报案理赔","报案人"), |
| | | SETTLE_CLAIMS(5, "理赔提醒","报案信息"), |
| | | CONTRACT(6, "合同签署","合同签署"), |
| | | SOLUTIONS(7, "方案签署","方案签署"), |
| | | COMPANY_USER_APPLY(8, "集团申请","集团申请"), |
| | | SETTLE_CLAIMS_APPLY_ADMIN(9, "报案理赔","待立案"), |
| | | ; |
| | | // 成员变量 |
| | | private int key; |
| | |
| | | |
| | | public enum NoticeType { |
| | | |
| | | ZERO(0, "待审核","","","待审核","待处理","处理中","待签署","待签署"), |
| | | ONE(1, "企业待签署","","","工种待审核","","已结案","",""), |
| | | TWO(2, "待出单","待审核","待审核","","","","",""), |
| | | THREE(3, "申请退回","申请退回","申请退回","","","","",""), |
| | | FOUR(4, "已退回","已退回","已退回","","","已撤销","",""), |
| | | FIVE(5, "申请驳回","申请驳回","申请驳回","","","","",""), |
| | | ZERO(0, "待审核","","","待审核","待处理","风险案件待审核","待签署","待签署"), |
| | | //理赔通知企业(非待办) |
| | | ONE(1, "企业待签署","","","工种待审核","","风险案件立案退回","",""), |
| | | TWO(2, "待出单","待审核","待审核","","","已立案待受理","",""), |
| | | THREE(3, "申请退回","申请退回","申请退回","","","已受理,需要补充材料","",""), |
| | | //理赔通知企业(非待办) |
| | | FOUR(4, "已退回","已退回","已退回","","","已拒绝受理","",""), |
| | | FIVE(5, "申请驳回","申请驳回","申请驳回","","","商议待领导审批","",""), |
| | | //续保通知 |
| | | SIX(6, "","","","","","","",""), |
| | | //商户端 委托保 - 投保待审核 加减保 换厂 待审核 |
| | | SEVEN(7, "待审核","待审核","待审核","","","","",""), |
| | | SIX(6, "","","","","","商议审批拒绝","",""), |
| | | //商户端 委托保 - 投保待审核 加减保 换厂 待审核, 理赔通知企业(非待办) |
| | | SEVEN(7, "待审核","待审核","待审核","","","商议审批拒绝通知","",""), |
| | | //待复审 |
| | | EIGHT(8, "待审核","","","","","","",""), |
| | | NINE(9, "","","","","","","",""), |
| | | EIGHT(8, "待审核","","","","","待理算","",""), |
| | | NINE(9, "","","","","","待核赔","",""), |
| | | TEN(10, "","","","","","待核赔确认","",""), |
| | | ELEVEN(11, "","","","","","赔付金额已变更","",""), |
| | | TWELVE(12, "","","","","","待结案","",""), |
| | | //理赔通知平台(非代办) |
| | | THIRTEEN(13, "","","","","","已结案,赔付款项将在1-3个工作日内到账","",""), |
| | | //理赔通知平台(非代办) |
| | | FOURTEEN(14, "","","","","","已撤案","",""), |
| | | //理赔通知企业(非待办) |
| | | FIFTEEN(15, "","","","","","已受理待理算","",""), |
| | | //理赔通知企业(非待办) |
| | | SIXTEEN(16, "","","","","","受理审批中","",""), |
| | | //理赔通知企业(非待办) |
| | | SEVENTEEN(17, "","","","","","已理算待核赔","",""), |
| | | //理赔通知企业(非待办) |
| | | EIGHTEEN(18, "","","","","","待结案,赔付金额已变更","",""), |
| | | ; |
| | | |
| | | // 成员变量 |
| | |
| | | |
| | | |
| | | public enum SettleClaimsStatus { |
| | | WAIT_ACCEPTANCE(0, "待受理"), |
| | | RETURN_ACCEPTANCE(1, "退回受理"), |
| | | DEAL_ING(2, "受理中"), |
| | | CONFIRM_INFORMATION(3, "确认资料"), |
| | | FINISH_ACCEPTANCE(4, "完成受理"), |
| | | //状态 0暂存中 1已报案 2待立案 3已立案 4立案退回 5待受理 6拒绝受理 7商议待审批 |
| | | // 8商议审批拒绝 9已受理 10待核赔 11已核赔 12已确认金额 13已结案 14已撤案 |
| | | WAIT_ACCEPTANCE(0, "暂存中",0), |
| | | RETURN_ACCEPTANCE(1, "已报案",1), |
| | | DEAL_ING(2, "待立案",0),//弃用 |
| | | CONFIRM_INFORMATION(3, "已立案",2), |
| | | FINISH_ACCEPTANCE(4, "立案退回",2), |
| | | WAIT_DEAL(5, "待受理",3),//弃用 |
| | | REJECT_DEAL(6, "拒绝受理",3), |
| | | WAIT_DISCUSS_AUDIT(7, "待商议审批",3), |
| | | WAIT_DISCUSS_REJECT(8, "商议审批拒绝",3), |
| | | ACCEPTANCE(9, "已受理",3),//待理算 |
| | | WAIT_AUDIT_COMPENSATION(10, "待核赔",4), |
| | | COMPENSATION(11, "已核赔",5), |
| | | CONFIRM_FEE(12, "待结案",5), |
| | | CLOSE_CASE(13, "已结案",6), |
| | | RETURN(14, "已撤案",7), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | | private int key; |
| | | private String name;//业务描述 |
| | | private int key;//业务状态 |
| | | private int parentKey;//主流程 1=报案 2=立案 3=受理 4=理算 5=核赔 6=结案/已撤案 |
| | | |
| | | // 构造方法 |
| | | SettleClaimsStatus(int key, String name) { |
| | | SettleClaimsStatus(int key, String name,int parentKey) { |
| | | this.name = name; |
| | | this.key = key; |
| | | this.parentKey = parentKey; |
| | | } |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | |
| | | public void setKey(int key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | public int getParentKey() { |
| | | return parentKey; |
| | | } |
| | | |
| | | public void setParentKey(int parentKey) { |
| | | this.parentKey = parentKey; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | public enum SettleClaimsLogType { |
| | | UPLOAD(0, "提交报案","提交意见:${param}"), |
| | | PLATFORM_RETURN(1, "平台退回","提交意见:${param}"), |
| | | PLATFORM_CONFIRM_INFORMATION(2, "平台确认资料",""), |
| | | PLATFORM_FINISH(3, "结案提交","提交意见:${param}"), |
| | | 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_LP_DEAL(6, "平台理赔处理","已在平台完成理赔"), |
| | | PLATFORM_REMARK(7, "备注标签","${param}"), |
| | | PLATFORM_ADDCODE(8, "平台修改报案号","备案号:${param}"), |
| | | PLATFORM_UN_AGREE_BACK(9, "企业下载资料",""), |
| | | PLATFORM_DOWNLOAD(10, "平台下载资料",""), |
| | | PLATFORM_CHECK_PASS(11, "平台上传资料",""), |
| | | SUPPLEMENT_DESCRIBE(12, "平台填写需补充内容",""), |
| | | RETURN_SETTLE(13, "撤销报案",""), |
| | | PLATFORM_REGISTER(14, "平台立案",""), |
| | | PLATFORM_ACCEPTANCE(15, "受理-已受理",""), |
| | | PLATFORM_REFUSE_ACCEPTANCE(16, "受理-拒绝受理","拒绝原因:${param}"), |
| | | PLATFORM_DISCUSS(17, "受理-商议",""), |
| | | PLATFORM_DISCUSS_PASS(18, "受理-商议通过",""), |
| | | PLATFORM_DISCUSS_REFUSE(19, "受理-商议拒绝","拒绝原因:${param}"), |
| | | PLATFORM_WAIT_DISCUSS(20, "受理-商议待审批",""), |
| | | PLATFORM_HP_DEAL(21, "核赔-提交核赔金额","已提交赔付金额,待用户确认"), |
| | | PLATFORM_UPD_FEE(22, "核赔-修改金额",""), |
| | | CONFIRM_FEE(22, "核赔-客户确认金额","已确认金额"), |
| | | UPD_CASE_TYPE(23, "受理-确认案件类型","已确认案件类型"), |
| | | UPD_HURT_TYPE(24, "修改伤残类型信息","是否伤残修改为“{param}”"), |
| | | UPD_RECEIVE_INFO(25, "收款信息变更","修改收款信息"), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | |
| | | |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (ApplyLogType c : ApplyLogType.values()) { |
| | | for (SettleClaimsLogType c : SettleClaimsLogType.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | |
| | | return null; |
| | | } |
| | | public static String getInfo(int index) { |
| | | for (ApplyLogType c : ApplyLogType.values()) { |
| | | for (SettleClaimsLogType c : SettleClaimsLogType.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.info; |
| | | } |
| | |
| | | public void setInfo(String info) { |
| | | this.info = info; |
| | | } |
| | | } |
| | | |
| | | |
| | | public enum SettleClaimsLogParentStatus { |
| | | BA(1, "报案","已报案","已报案"), |
| | | LA(2, "立案","已立案","待立案"), |
| | | SL(3, "受理","已受理","待受理"), |
| | | LS(4, "理算","已理算","待理算"), |
| | | HP(5, "核赔","已核赔","待核赔"), |
| | | JA(6, "结案","已结案","待结案"), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | | private String info; |
| | | private String waitInfo; |
| | | private int key; |
| | | |
| | | // 构造方法 |
| | | SettleClaimsLogParentStatus(int key, String name,String info,String waitInfo) { |
| | | this.name = name; |
| | | this.info = info; |
| | | this.key = key; |
| | | this.waitInfo = waitInfo; |
| | | } |
| | | |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (SettleClaimsLogParentStatus c : SettleClaimsLogParentStatus.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // 普通方法 |
| | | public static SettleClaimsLogParentStatus getAll(int index) { |
| | | for (SettleClaimsLogParentStatus c : SettleClaimsLogParentStatus.values()) { |
| | | if (c.getKey() == index) { |
| | | return c; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static String getInfo(int index) { |
| | | for (SettleClaimsLogParentStatus c : SettleClaimsLogParentStatus.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 String getWaitInfo() { |
| | | return waitInfo; |
| | | } |
| | | |
| | | public void setWaitInfo(String waitInfo) { |
| | | this.waitInfo = waitInfo; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 赔付项 |
| | | */ |
| | | public enum compensation{ |
| | | YL_COMPENSATION(0, "医疗理赔",0), |
| | | WG_COMPENSATION(1, "误工理赔",0), |
| | | SC_COMPENSATION(2, "伤残理赔",0), |
| | | SW_COMPENSATION(3, "死亡理赔",0), |
| | | HSF_FEE(4, "伙食费",1), |
| | | XY_FEE(5, "续医费",1), |
| | | YY_FEE(6, "营养费",1), |
| | | HL_FEE(7, "护理费",1), |
| | | ZDJB_FEE(8, "重大疾病赔偿金",1), |
| | | TB_FEE(9, "特别费用",1), |
| | | ZS_FEE(10, "住宿费",1), |
| | | JT_FEE(11, "津贴",1), |
| | | CJ_FEE(12, "残疾赔偿金",1), |
| | | BFYR_FEE(13, "被抚养人生活费",1), |
| | | SCF_FEE(14, "丧葬费",1), |
| | | JSFXJ_FEE(15, "精神抚恤金",1), |
| | | JD_FEE(16, "鉴定费",1), |
| | | SS_FEE(17, "诉讼费",1), |
| | | LS_FEE(18, "律师费",1), |
| | | TRAFFIC_FEE(19, "交通费",1), |
| | | CJQJ_FEE(20, "残疾器具费",1), |
| | | QT_FEE(21, "其他费用",1), |
| | | ZFPJEYPF_FEE(22, "总发票金额药品费",2), |
| | | ZL_FEE(23, "诊疗费",2), |
| | | CL_FEE(24, "材料费",2), |
| | | ZKJJE_FEE(25, "总扣减金额",2), |
| | | BFZF_FEE(26, "部分自费",2), |
| | | QZF_FEE(27, "全自费金额",2), |
| | | BHL_FEE(28, "不合理费用",2), |
| | | DSFGF_FEE(29, "第三方给付费用",2), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | | private int key; |
| | | private int type; |
| | | |
| | | // 构造方法 |
| | | compensation(int key, String name, int type) { |
| | | this.name = name; |
| | | this.key = key; |
| | | this.type = type; |
| | | } |
| | | |
| | | |
| | | // 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 int getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(int type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | } |
| | | |
| | | 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(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |