From 3028291cce98e9ef55a86c7d69c66f292e7c4dd4 Mon Sep 17 00:00:00 2001 From: hejinbo Date: Thu, 14 Sep 2023 18:42:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=AA=E6=AD=A29.14=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CaseEvidenceController.java | 61 +++++++++++++---- .../src/main/resources/application.yml | 4 +- .../java/com/ruoyi/common/utils/SmsUtils.java | 37 +++++++--- .../domain/vo/CaseDetailVO.java | 11 +++ .../mapper/CaseAttachMapper.java | 4 ++ .../mapper/CaseEvidenceMapper.java | 2 +- .../service/ICaseEvidenceService.java | 7 +- .../service/impl/CaseEvidenceServiceImpl.java | 67 +++++++++++++------ .../service/impl/CasePaymentServiceImpl.java | 2 +- .../wisdomarbitrate/CaseAttachMapper.xml | 13 ++++ .../wisdomarbitrate/CaseEvidenceMapper.xml | 24 +++++-- 11 files changed, 183 insertions(+), 49 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseEvidenceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseEvidenceController.java index 8bf330d..aae23cb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseEvidenceController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseEvidenceController.java @@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; import java.util.List; /** @@ -19,40 +20,76 @@ import java.util.List; @RequestMapping("/evidence") public class CaseEvidenceController extends BaseController { private final ICaseEvidenceService caseEvidenceService; + @Autowired public CaseEvidenceController(ICaseEvidenceService caseEvidenceService) { this.caseEvidenceService = caseEvidenceService; } - /** + + /* *//** * 查询被申请人案件列表 + * * @param identityNum 身份证号 * @return - */ + *//* @GetMapping("/respondent") - public TableDataInfo getCaseListByRespondent(@RequestParam String identityNum - ,Integer pageNum,Integer pageSize){ + public TableDataInfo getCaseListByRespondent(@RequestParam String identityNum) { startPage(); List list = caseEvidenceService.getCaseListByRespondent(identityNum); - return getDataTable(list); - } + if (list != null) { + return getDataTable(list); + } + return getDataTable(new ArrayList<>()); + }*/ + /** - * 根据案件id查询案件详情 + * 被申请人根据案件id查询案件详情 + * * @param id * @return */ @GetMapping("/{id}") - public AjaxResult getCaseDetailsById(@PathVariable Long id ){ + public AjaxResult getCaseDetailsById(@PathVariable Long id) { return caseEvidenceService.getCaseDetailsById(id); } + /** * 案件证据上传 - * @param file 附件 + * + * @param file 附件 * @param annexType 附件类型,立案申请书(1)、证据材料(2)、仲裁文书(3)、案件视频(4)、身份证件(5) - * @param id 案件申请id + * @param id 案件申请id * @return */ @PostMapping("/upload") - public AjaxResult uploadEvidence(@RequestParam("file") MultipartFile file , Integer annexType , Long id){ - return caseEvidenceService.uploadEvidence(file,annexType,id); + public AjaxResult uploadEvidence(@RequestParam("file") MultipartFile file, Integer annexType, Long id) { + return caseEvidenceService.uploadEvidence(file, annexType, id); } + + /* @GetMapping("/applicant") + public TableDataInfo getCaseListByApplicant(@RequestParam String identityNum) { + startPage(); + List list = caseEvidenceService.getCaseListByApplicant(identityNum); + if (list != null) { + return getDataTable(list); + } + return getDataTable(new ArrayList<>()); + }*/ + + /** + * 查询当前用户案件列表 + * @param identityNum + * @return + */ + @GetMapping("/all") + public TableDataInfo getCaseListAll(@RequestParam String identityNum) { + startPage(); + List list = caseEvidenceService.getCaseListAll(identityNum); + if (list != null) { + return getDataTable(list); + } + return getDataTable(new ArrayList<>()); + } + + } diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index e032281..598f780 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -9,7 +9,7 @@ ruoyi: # 实例演示开关 demoEnabled: true # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) - profile: D:/ruoyi/uploadPath + profile: /home/ruoyi/uploadPath # 获取ip地址开关 addressEnabled: false # 验证码类型 math 数字计算 char 字符验证 @@ -142,5 +142,5 @@ elegent: appId: 2021003141676135 callback: domain: http://121.40.189.20:9000/ - watch: true + watch: false cycle: 10 \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SmsUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SmsUtils.java index d84faab..55b9c63 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SmsUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SmsUtils.java @@ -2,8 +2,14 @@ package com.ruoyi.common.utils; import com.tencentcloudapi.common.Credential; import com.tencentcloudapi.common.exception.TencentCloudSDKException; +import com.tencentcloudapi.common.profile.ClientProfile; +import com.tencentcloudapi.common.profile.HttpProfile; +import com.tencentcloudapi.cvm.v20170312.CvmClient; +import com.tencentcloudapi.cvm.v20170312.models.DescribeRegionsRequest; +import com.tencentcloudapi.cvm.v20170312.models.DescribeRegionsResponse; import com.tencentcloudapi.sms.v20210111.SmsClient; import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse; +import com.tencentcloudapi.sms.v20210111.models.SendStatus; import lombok.Data; import lombok.extern.slf4j.Slf4j; import lombok.var; @@ -12,21 +18,26 @@ import java.util.Objects; @Slf4j public class SmsUtils { - private static final String SDK_APP_ID = "应用id"; - private static final String SECRET_ID = "API的SecretId"; - private static final String SECRET_KEY = "API的SecretKey"; - private static final String SIGN_NAME = "签名内容"; + //应用id + private static final String SDK_APP_ID = "1400854852"; + //API的SecretId + private static final String SECRET_ID = "AKIDeEf2A8uX1HSainvvnXAc3X9ZlhtyvkMp"; + //API的SecretKey + private static final String SECRET_KEY = "QjphKo8zkHZigT8j9PVtFPJyfIvO3d6V"; + //签名内容 + private static final String SIGN_NAME = "西安云美电子科技有限公司"; + public static Boolean sendSms(SendSmsRequest request) { - Credential cred = new Credential(SECRET_ID,SECRET_KEY); + Credential cred = new Credential(SECRET_ID, SECRET_KEY ); + SmsClient client = new SmsClient(cred, "ap-guangzhou"); final var req = new com.tencentcloudapi.sms.v20210111.models.SendSmsRequest(); req.setPhoneNumberSet(new String[]{"+86" + request.getPhone()}); - req.setSmsSdkAppId(SDK_APP_ID); + req.setSmsSdkAppId(SDK_APP_ID ); req.setSignName(SIGN_NAME); req.setTemplateId(request.getTemplateId()); req.setTemplateParamSet(request.getTemplateParamSet()); - SendSmsResponse res = null; try { res = client.SendSms(req); @@ -34,14 +45,14 @@ public class SmsUtils { log.error("发送短信出错:", e); return Boolean.FALSE; } - log.error("发送短信结果:", SendSmsResponse.toJsonString(res)); + SendStatus sendStatus = res.getSendStatusSet()[0]; + log.info("发送短信结果:Code={}, Message={}", sendStatus.getCode(), sendStatus.getMessage()); if (Objects.nonNull(res.getSendStatusSet()) && res.getSendStatusSet().length > 0 && "Ok".equals(res.getSendStatusSet()[0].getCode())){ return Boolean.TRUE; } return Boolean.FALSE; } - /** * 参数对象 */ @@ -63,4 +74,12 @@ public class SmsUtils { private String[] templateParamSet; } + + public static void main(String[] args) { + SendSmsRequest sendSmsRequest = new SendSmsRequest(); + sendSmsRequest.setPhone("15029925289"); + sendSmsRequest.setTemplateId("1927509"); + sendSmsRequest.setTemplateParamSet(new String[]{"用户"}); + SmsUtils.sendSms(sendSmsRequest); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseDetailVO.java index 7a3420d..b67c73f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseDetailVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseDetailVO.java @@ -1,5 +1,6 @@ package com.ruoyi.wisdomarbitrate.domain.vo; +import com.ruoyi.wisdomarbitrate.domain.CaseAttach; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -7,6 +8,7 @@ import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.Date; +import java.util.List; @Data @Builder @@ -53,4 +55,13 @@ public class CaseDetailVO { * 申请人主张违约金 */ private BigDecimal claimLiquidDamag; + + /** + * 证据材料 + */ + private List evidenceMaterialList; + /** + * 当前登录人身份类型 + */ + private Integer identityType; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAttachMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAttachMapper.java index 5958b42..03ea3b2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAttachMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAttachMapper.java @@ -2,6 +2,10 @@ package com.ruoyi.wisdomarbitrate.mapper; import com.ruoyi.wisdomarbitrate.domain.CaseAttach; +import java.util.List; + public interface CaseAttachMapper { int save(CaseAttach caseAttach); + + List queryAnnexPathByCaseId(Long id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseEvidenceMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseEvidenceMapper.java index 0c8b339..12a0459 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseEvidenceMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseEvidenceMapper.java @@ -10,6 +10,6 @@ import java.util.List; @Mapper public interface CaseEvidenceMapper { List getCaseListByRespondent(@Param(value = "identityNum" ) String identityNum - , @Param(value = "caseStatus" ) Integer caseStatus + , @Param(value = "caseStatusList") List caseStatusList , @Param(value = "identityType" ) Integer identityType); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseEvidenceService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseEvidenceService.java index be6acb2..66882a6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseEvidenceService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseEvidenceService.java @@ -8,9 +8,14 @@ import org.springframework.web.multipart.MultipartFile; import java.util.List; public interface ICaseEvidenceService { - List getCaseListByRespondent(String identityNum); + // List getCaseListByRespondent(String identityNum); AjaxResult getCaseDetailsById(Long id); AjaxResult uploadEvidence(MultipartFile file, Integer annexType, Long id); + + //List getCaseListByApplicant(String identityNum); + + List getCaseListAll(String identityNum); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseEvidenceServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseEvidenceServiceImpl.java index ee9b698..2212413 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseEvidenceServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseEvidenceServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.util.Arrays; import java.util.List; @Service @@ -31,24 +32,10 @@ public class CaseEvidenceServiceImpl implements ICaseEvidenceService { private CaseApplicationMapper caseApplicationMapper; @Autowired private CaseAttachMapper caseAttachMapper; - @Override + /* @Override public List getCaseListByRespondent(String identityNum) { - int caseStatus = 3; - int identityType = 2; - List caseListByRespondent = caseEvidenceMapper.getCaseListByRespondent(identityNum, caseStatus,identityType); - if (caseListByRespondent!= null && caseListByRespondent.size()>0){ - for (CaseEvidenceVO caseEvidenceVO : caseListByRespondent) { - //根据案件id查询申请人姓名 - CaseAffiliate caseAffiliate = new CaseAffiliate(); - caseAffiliate.setCaseAppliId(caseEvidenceVO.getId()); - caseAffiliate.setIdentityType(1); - String name = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate).get(0).getName(); - caseEvidenceVO.setApplicantName(name); - } - return caseListByRespondent; - } - return null; - } + return getCaseEvidenceVOList(identityNum,3, 2); + }*/ @Override public AjaxResult getCaseDetailsById(Long id) { @@ -58,6 +45,8 @@ public class CaseEvidenceServiceImpl implements ICaseEvidenceService { if (caseApplication1!=null){ CaseDetailVO caseDetailVO = new CaseDetailVO(); BeanUtils.copyProperties(caseApplication1,caseDetailVO); + //查询案件证据材料 + // List evidenceMaterialList = caseAttachMapper.queryAnnexPathByCaseId(id); CaseAffiliate caseAffiliate = new CaseAffiliate(); caseAffiliate.setCaseAppliId(id); List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); @@ -81,15 +70,23 @@ public class CaseEvidenceServiceImpl implements ICaseEvidenceService { } try { String filePath = RuoYiConfig.getUploadPath(); + // 获取文件原始名称 + String fileName = file.getOriginalFilename(); + String fileSavePath = filePath + "/" + fileName; // 上传并返回新文件名称 - String fileNewName = FileUploadUtils.upload(filePath, file); + String fileNewName = FileUploadUtils.upload(filePath,file); CaseAttach caseAttach = CaseAttach.builder().caseAppliId(id) .annexName(fileNewName) - .annexPath(filePath) + .annexPath(fileSavePath) .annexType(annexType) .build(); int count = caseAttachMapper.save(caseAttach); if (count>0){ + //修改案件状态 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setId(id); + caseApplication.setCaseStatus(4); + caseApplicationMapper.submitCaseApplication(caseApplication); return AjaxResult.success("上传成功"); } } catch (IOException e) { @@ -98,4 +95,36 @@ public class CaseEvidenceServiceImpl implements ICaseEvidenceService { return AjaxResult.error("上传失败"); } + +/* @Override + public List getCaseListByApplicant(String identityNum) { + return getCaseEvidenceVOList(identityNum,4, 1); + }*/ + + @Override + public List getCaseListAll(String identityNum) { + List caseStatusList = Arrays.asList(3, 4, 5, 9); + return getCaseEvidenceVOList(identityNum,caseStatusList,null); + } + + private List getCaseEvidenceVOList(String identityNum ,List caseStatusList, Integer identityType){ + List caseListByRespondent = caseEvidenceMapper.getCaseListByRespondent(identityNum, caseStatusList,identityType); + if (caseListByRespondent!= null && caseListByRespondent.size()>0){ + for (CaseEvidenceVO caseEvidenceVO : caseListByRespondent) { + //根据案件id查询姓名 + CaseAffiliate caseAffiliate = new CaseAffiliate(); + caseAffiliate.setCaseAppliId(caseEvidenceVO.getId()); + List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); + for (CaseAffiliate affiliate : caseAffiliates) { + if (affiliate.getIdentityType() == 1){ //申请人 + caseEvidenceVO.setApplicantName(affiliate.getName()); + }else { + caseEvidenceVO.setRespondentName(affiliate.getName()); + } + } + } + return caseListByRespondent; + } + return null; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java index 2f491dc..2161e97 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java @@ -110,7 +110,7 @@ public class CasePaymentServiceImpl implements ICasePaymentService { request.setTemplateParamSet(new String[]{"模板中的参数值,如果没有则为空"}); } } - //SmsUtils.sendSms(request); + SmsUtils.sendSms(request); return AjaxResult.success(); } } diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseAttachMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseAttachMapper.xml index e60f8be..992c185 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseAttachMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseAttachMapper.xml @@ -3,8 +3,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + + + + + INSERT INTO case_attach (case_appli_id, annex_name, annex_path , annex_type,note) VALUES (#{caseAppliId}, #{annexName}, #{annexPath},#{annexType},#{note}) + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml index 525820f..3d925a6 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseEvidenceMapper.xml @@ -3,10 +3,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + select c.id, c.case_num,c.case_status from case_application as c ,case_affiliate as d - where c.id = d.case_appli_id and d.identity_num = #{identityNum} and identity_type = #{identityType} - and c.case_status = #{caseStatus} + where c.id = d.case_appli_id + + and d.identity_num = #{identityNum} + + + and identity_type = #{identityType} + + + and c.case_status in + + #{caseStatus} + + \ No newline at end of file