diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/mscase/CaseApplicationVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/mscase/CaseApplicationVO.java new file mode 100644 index 0000000..f3f0eb6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/mscase/CaseApplicationVO.java @@ -0,0 +1,420 @@ +package com.ruoyi.wisdomarbitrate.domain.vo.mscase; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAffiliate; +import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAttach; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Data +public class CaseApplicationVO { + private static final long serialVersionUID = 1L; + /** + * 查询案件时区分是否待办案件,0待办案件,1已办案件 + */ + private String selectCaseStatus; + + /** ID */ + private Long id; + /** 案件名称 */ + @Excel(name = "案件名称") + private String caseName; + /** 案件编号 */ +// @Excel(name = "案件编号") + private String caseNum; + /** 案件标的 */ + @Excel(name = "案件标的") + private BigDecimal caseSubjectAmount; + /** + * 模板id + */ + private Long templateId; + + + + /** 立案日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date registerDate; + /** 仲裁方式 */ + private Integer arbitratMethod; + /** + * 是否导入,0手动录入,1导入,默认0 + */ + private Integer importFlag; + /** 仲裁方式名称 */ + private String arbitratMethodName; + + /** 案件状态 */ + private Integer caseStatus; + private String caseStatusstr; + + /** 申请人是否书面审理 */ + private Integer applicantIsWrittenHear; + + /** 被申请人是否书面审理 */ + private Integer respondentIsWrittenHear; + /** 开庭方式是否一致 */ + private Integer arbitraMethodIssame; + /** 仲裁方式说明 */ + private String arbitratMethodIllustrate; + + + /** 案件申请表ID */ + private Long caseAppliId; + + /** 开庭日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date hearDate; + + /** 借款开始日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "借款开始日期") + private Date loanStartDate; + /** 借款结束日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "借款结束日期") + private Date loanEndDate; + /** 合同编号 */ + @Excel(name = "合同编号") + private String contractNumber; + /** 申请人主张欠本金 */ + @Excel(name = "申请人主张欠本金") + private BigDecimal claimPrinciOwed; + /** 申请人主张欠利息 */ + @Excel(name = "申请人主张欠利息") + private BigDecimal claimInterestOwed; + /** 申请人主张违约金 */ + @Excel(name = "申请人主张违约金") + private BigDecimal claimLiquidDamag; + /** 申请人请求仲裁庭裁决 */ + @Excel(name = "申请人请求仲裁庭裁决",width = 36) + private String requestRule; + + /** 是否财产保全申请 */ + @Excel(name = "是否财产保全申请",width = 26,combo= {"是","否"},readConverterExp = "0=否,1=是") + private Integer properPreser; + /** 申请人仲裁请求及事实和理由 */ + @Excel(name = "申请人仲裁请求及事实和理由",width = 36) + private String arbitratClaims; + /** 仲裁应缴费用 */ + private BigDecimal feePayable; + + /** 开始在线视频时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date beginVideoDate; + /** 在线视频人员 */ + private String onlineVideoPerson; + + /** 仲裁员id */ + private String arbitratorId; + /** 仲裁员名称 */ + private String arbitratorName; + + /** 案件描述 */ + private String caseDescribe; + /** 裁决书URL */ + private String filearbitraUrl; + + /** 是否同意组庭 */ + private Integer isAgreePendTral; + + /** 是否有异议需要举证 */ + private Integer objectionAddEviden; + /** 是否需要开庭审理 */ + private Integer openCourtHear; + + /** 是否仲裁反请求 */ + private Integer adjudicaCounter; + /** + * 仲裁反请求原因 + */ + private String adjudicaCounterReason; + + /** 被申请人是否缺席 */ + private Integer isAbsence; + /** 是否管辖异议申请 */ + private Integer objectiJuris; + /** 被申请人质证意见 */ + private String responCrossOpin; + /** 被申请人的答辩意见 */ + private String responDefenOpini; + /** 申请人是否缺席 */ + private Integer appliIsAbsen; + + /** 申请人质证意见 */ + private String applicaCrossOpin; + + /** 支付状态 */ + private Integer paymentStatus; + + /** 支付状态描述 */ + private String paymentStatusName; + /** + * 支付方式code,0线上支付,1线下支付 + */ + private Integer payTypeCode; + /** + * 支付方式name,0线上支付,1线下支付 + */ + private String payTypeName; + + + + // 导入校验失败信息 + private StringBuilder errorMsg; + /** + * 是否锁定,0-否,1-是 + */ + private Integer lockStatus; + /** 案件状态名称 */ + private String caseStatusName; + /** 是否同意审核 */ + private Integer agreeOrNotCheck; + /** 申请人名称 */ + private String applicantName; + /** 被申请人名称 */ + private String respondentName; + /** + * 用户身份证号 + */ + private String idCard; + /** + * 用户id + */ + private String userId; + /** + * 登录用户用户名 + */ + private String loginUserName; + private List deptIds; + /** + * 部门长状态 + */ + private List deptHeadStatus; + /** + * 代理人角色有关部门 + */ + private List agentDeptIds; + /** + * 财务状态 + */ + private Integer financeStatus; + /** + * 是否是被申请人,仲裁员,部门长,财务,代理人,0-否,1-是 + */ + private Integer isOtherRole; + /** + * 案件日志id + */ + private Long caseLogId; + /** 仲裁结果 */ + private String caseResult; + + /** 案件关联人信息 */ + private List caseAffiliates; + + + + private List caseStatusList; + + private List annexTypeList; + + private Integer annexType; + /** + * 案件附件列表 + */ + private List caseAttachList; + + + + + /** + * 申请人主体信息 + */ + /** 姓名 */ + @Excel(name = "申请人主体信息-申请人(机构)",width = 26) + private String name; + /** 身份证号 */ + @Excel(name = "申请人主体信息-代码",width = 26) + private String identityNum; + /** 申请人主体信息-法定代表人 */ + @Excel(name = "申请人主体信息-法定代表人",width = 26) + private String compLegalPerson; + /** 申请人主体信息-法定代表人 */ + @Excel(name = "申请人主体信息-法定代表人职位",width = 26) + private String compLegalperPost; + /** + * 申请人主体信息-申请人(机构)id + */ + private String nameId; + + /** 联系电话 */ + @Excel(name = "申请人主体信息-联系电话",width = 26) + private String contactTelphone; + /** 联系地址 */ + @Excel(name = "申请人主体信息-联系地址",width = 26) + private String contactAddress; + /** 单位电话 */ + @Excel(name = "申请人主体信息-单位电话",width = 26) + private String workTelphone; + /** 单位地址 */ + @Excel(name = "申请人主体信息-单位地址",width = 26) + private String workAddress; + + /** 申请人住所 */ + @Excel(name = "申请人主体信息-住所",width = 26) + private String residenAffiliAppli; + + /** 申请人邮箱 */ + @Excel(name = "申请人主体信息-邮箱",width = 26) + private String email; + /** 代理人姓名 */ + @Excel(name = "申请人主体信息-代理人姓名",width = 26) + private String nameAgent; + /** 身份证号 */ + @Excel(name = "申请人主体信息-代理人身份证号",width = 26) + private String identityNumAgent; + + /** 联系电话 */ + @Excel(name = "申请人主体信息-代理人联系电话",width = 26) + private String contactTelphoneAgent; + /** 联系地址 */ + @Excel(name = "申请人主体信息-代理人联系地址",width = 26) + private String contactAddressAgent; + /** 申请人代理人职称 */ + @Excel(name = "申请人主体信息-代理人职称",width = 26) + private String appliAgentTitle; + /** + * 被申请人主体信息 + */ + /** 姓名 */ + @Excel(name = "被申请人主体信息-申请人姓名",width = 26) + private String debtorName; + /** 身份证号 */ + @Excel(name = "被申请人主体信息-身份证号",width = 26) + private String debtorIdentityNum; + /** 被申请人主体信息-性别 */ + @Excel(name = "被申请人主体信息-性别",width = 26,combo= {"男","女"},readConverterExp = "0=男,1=女") + private String responSex; + /** 被申请人主体信息-出生年月日 */ + @Excel(name = "被申请人主体信息-出生年月日",width = 26) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date responBirth; + /** 联系电话 */ + @Excel(name = "被申请人主体信息-联系电话",width = 26) + private String debtorContactTelphone; + /** 联系地址 */ + @Excel(name = "被申请人主体信息-联系地址",width = 26) + private String debtorContactAddress; + /** 被申请人住所 */ + @Excel(name = "被申请人主体信息-住所",width = 26) + private String residenAffiliRespon; + /** 单位电话 */ + @Excel(name = "被申请人主体信息-单位电话",width = 26) + private String debtorWorkTelphone; + /** 单位地址 */ + @Excel(name = "被申请人主体信息-单位地址",width = 26) + private String debtorWorkAddress; + /** 邮箱 */ + @Excel(name = "被申请人主体信息-邮箱",width = 26) + private String debtorEmail; + + /** 代理人姓名 */ + @Excel(name = "被申请人主体信息-代理人姓名",width = 26) + private String debtorNameAgent; + /** 身份证号 */ + @Excel(name = "被申请人主体信息-代理人身份证号",width = 26) + private String debtorIdentityNumAgent; + /** 联系电话 */ + @Excel(name = "被申请人主体信息-代理人联系电话",width = 26) + private String debtorContactTelphoneAgent; + /** 联系地址 */ + @Excel(name = "被申请人主体信息-代理人联系地址",width = 26) + private String debtorContactAddressAgent; + /** + * 申请机构id + */ + private String applicationOrganId; + /** + * 版本号 + */ + private Integer version; + /** + * 修改案件的提交状态,0-未提交,1-已提交,2-同意,3-拒绝,4-撤销 + */ + private Integer updateSubmitStatus; + /** 合同名称 */ + private String contractName; + /** + * 事实和理由 + */ + private String facts; + /** + * 合同甲方 + */ + private String partyA; + /** + * 利率 + */ + private String interestRate; + /** + * 待还金额 + */ + private String outstandingMoney; + /** + * 调解达成协议内容 + */ + private String mediationAgreement; + /** + * 金融消费纠纷基本情况 + */ + private String disputes; + /** + * 贷款类型 + */ + private String loanType; + /** + * 贷款期限 + */ + private String loanTerm; + /** + * 本案争议焦点 + */ + private String caseFocus; + /** + * 本案事实 + */ + private String caseFacts; + /** + * 被申请人对上述材料的质证意见 + */ + private String respondentOpinion; + /** + * 申请人对上述材料的质证意见 + */ + private String applicantOpinion; + /** + * 批号 + */ + private Integer batchNumber; + + /** + * 待办状态,0待办,1已办 + */ + private Integer pendingStatus; + /** e签宝流程id */ + private String signFlowId; + + + + + + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/mscase/MsCaseApplicationVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/mscase/MsCaseApplicationVO.java index 29cc929..6604bbe 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/mscase/MsCaseApplicationVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/mscase/MsCaseApplicationVO.java @@ -66,4 +66,5 @@ public class MsCaseApplicationVO extends MsCaseApplication { */ private String rejectReason; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/SignCheckUtils.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/SignCheckUtils.java new file mode 100644 index 0000000..834b779 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/SignCheckUtils.java @@ -0,0 +1,72 @@ +package com.ruoyi.wisdomarbitrate.utils; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.digest.HMac; +import cn.hutool.crypto.digest.HmacAlgorithm; +import cn.hutool.http.HttpRequest; +import cn.hutool.json.JSONUtil; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseApplication; +import com.ruoyi.wisdomarbitrate.domain.vo.mscase.CaseApplicationVO; +import com.ruoyi.wisdomarbitrate.domain.vo.mscase.MsCaseApplicationVO; +import org.apache.http.HttpResponse; +import org.springframework.beans.BeanUtils; + +import java.nio.charset.StandardCharsets; + +public class SignCheckUtils { + public static String getSign(String paramsbody, String accessSec, long timestamp) { + String paramsStr = getParamsStr(paramsbody, timestamp); + return generateSign(paramsStr, accessSec); + } + + public static String getParamsStr(String paramsbody,long timestamp) { + StringBuilder strbuild = new StringBuilder(); + if (StringUtils.isNotBlank(paramsbody)) { + strbuild.append(paramsbody).append('#'); + } + strbuild.append("#timestamp=").append(timestamp); + return strbuild.toString(); + } + + public static String generateSign(String paramsStr, String accessSec) { + HMac hMac = new HMac(HmacAlgorithm.HmacSHA256, accessSec.getBytes(StandardCharsets.UTF_8)); + return hMac.digestHex(paramsStr); + } + + public static void main(String[] args) { + String accessSec = "mCFMA6ffe938v79m"; + MsCaseApplicationVO application = new MsCaseApplicationVO(); + application.setArbitratClaims("1111"); + application.setCaseStatusName("222"); + application.setCaseNum("234566"); + + CaseApplicationVO caseApplicationVO = new CaseApplicationVO(); + BeanUtils.copyProperties(application,caseApplicationVO); + boolean importFlag = application.isImportFlag(); + if(importFlag==true){ + caseApplicationVO.setImportFlag(1); + }else { + caseApplicationVO.setImportFlag(0); + } + + + String paramsbody = JSONUtil.toJsonStr(caseApplicationVO); + long timestamp = System.currentTimeMillis(); + String signStr = getSign(paramsbody, accessSec, timestamp); + String urlstr = "http://localhost:8001/callArbitrateCaseApplication/generateCaseApplication"; + HttpResponse httpResponse = (HttpResponse) HttpRequest.post(urlstr) + .header("timestampstr", String.valueOf(timestamp)) + .header("signstr", signStr) + .body(paramsbody) + .execute(); + System.out.println(httpResponse); + + + } + + + + + +}