diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 2186d33..aa89964 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -9,7 +9,8 @@
4.0.0
jar
- ruoyi-admin
+ SmartArbitrate
+ 1.1.0
web服务入口
@@ -94,7 +95,7 @@
- ${project.artifactId}
+ ${project.artifactId}-${project.version}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index 775f772..6aa07d8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -1,10 +1,20 @@
package com.ruoyi;
+import cn.hutool.core.collection.CollectionUtil;
+import com.ruoyi.common.constant.CacheConstants;
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableScheduling;
+import java.util.List;
+
/**
* 启动程序
*
@@ -18,15 +28,28 @@ public class RuoYiApplication
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
- System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
- " .-------. ____ __ \n" +
- " | _ _ \\ \\ \\ / / \n" +
- " | ( ' ) | \\ _. / ' \n" +
- " |(_ o _) / _( )_ .' \n" +
- " | (_,_).' __ ___(_ o _)' \n" +
- " | |\\ \\ | || |(_,_)' \n" +
- " | | \\ `' /| `-' / \n" +
- " | | \\ / \\ / \n" +
- " ''-' `'-' `-..-' ");
+ System.out.println(" __ _ \n" +
+ " ____ / /_ ____ ____ ____ _ _________ _(_)\n" +
+ "/_ / / __ \\/ __ \\/ __ \\/ __ `/ / ___/ __ `/ / \n" +
+ " / /_/ / / / /_/ / / / / /_/ / / /__/ /_/ / / \n" +
+ "/___/_/ /_/\\____/_/ /_/\\__, / \\___/\\__,_/_/ \n" +
+ " /____/ ");
+ // 启动成功后,查询用户表,将用户信息存到redis
+ RedisCache redisCache = SpringUtils.getBean(RedisCache.class);
+ SysUserMapper userMapper = SpringUtils.getBean(SysUserMapper.class);
+ List sysUsers = userMapper.selectUserListByIds(null);
+ if(CollectionUtil.isNotEmpty(sysUsers)){
+ for (SysUser sysUser : sysUsers) {
+ redisCache.setCacheObject(CacheConstants.USER_KEY+sysUser.getUserId(),sysUser);
+ }
+ }
+ // 初始化角色redis
+ SysRoleMapper roleMapper = SpringUtils.getBean(SysRoleMapper.class);
+ List roles = roleMapper.selectRoleList(new SysRole());
+ if(CollectionUtil.isNotEmpty(roles)){
+ for (SysRole role : roles) {
+ redisCache.setCacheObject(CacheConstants.ROLE_KEY+role.getRoleName(),role.getRoleId());
+ }
+ }
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
index cec5006..af3c92e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -4,14 +4,15 @@ import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
+import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
@@ -36,6 +37,8 @@ public class CommonController
private ServerConfig serverConfig;
private static final String FILE_DELIMETER = ",";
+ @Autowired
+ CaseAttachMapper caseAttachMapper;
/**
* 通用下载请求
@@ -160,4 +163,22 @@ public class CommonController
log.error("下载文件失败", e);
}
}
+ /**
+ * 根据案件id获取附件
+ * @param caseAppliId
+ * @param annexTypeList
+ * @param
+ * @return
+ */
+ @GetMapping("/fileList")
+ public AjaxResult fileList(@RequestParam("caseAppliId")Long caseAppliId, @RequestParam(value = "annexTypeList",required = false) List annexTypeList){
+ if(caseAppliId==null){
+ return AjaxResult.error("案件id不能为空");
+ }
+ CaseApplication msCaseApplicationVO = new CaseApplication();
+ msCaseApplicationVO.setId(caseAppliId);
+ msCaseApplicationVO.setAnnexTypeList(annexTypeList);
+ List caseAttachList = caseAttachMapper.queryCaseAttachList(msCaseApplicationVO);
+ return AjaxResult.success(caseAttachList);
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
index 59e7588..ca6e9fe 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
@@ -37,7 +37,7 @@ public class SysDeptController extends BaseController
/**
* 获取部门列表
*/
- @PreAuthorize("@ss.hasPermi('system:dept:list')")
+// @PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list")
public AjaxResult list(SysDept dept)
{
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
index 03b6b65..f519d6d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
@@ -139,4 +139,13 @@ public class SysMenuController extends BaseController
}
return toAjax(menuService.deleteMenuById(menuId));
}
+ /**
+ * 根据用户查询菜单权限字符
+ */
+ @GetMapping("/getMenuPermsByUser")
+ public AjaxResult getMenuPermsByUser()
+ {
+
+ return menuService.getMenuPermsByUser();
+ }
}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java
index 7af5a47..208af01 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java
@@ -1,11 +1,17 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.constant.CaseApplicationConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.EsignDemoException;
+import com.ruoyi.wisdomarbitrate.StringIdsReq;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO;
import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO;
import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
@@ -14,6 +20,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
import java.util.List;
@RestController
@@ -22,7 +29,65 @@ public class AdjudicationController extends BaseController {
@Autowired
private IAdjudicationService adjudicationService;
+ /**
+ * 根据签署流程id查询批量签名链接
+ */
+// @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSignUrl')")
+ @PostMapping("/selectBatchSignUrl")
+ public AjaxResult selectBatchSignUrl(@RequestBody StringIdsReq idsReq) {
+ if(CollectionUtil.isEmpty(idsReq.getIds())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
+ return error("参数校验失败");
+ }
+ SealSignRecord sealSignRecordselect = adjudicationService.selectBatchSignUrl(idsReq);
+ return success(sealSignRecordselect);
+ }
+ /**
+ * 根据批号查询批量签名链接
+ */
+// @PostMapping("/getSignUrlBatch")
+// public AjaxResult getSignUrlBatch(@RequestBody StringIdsReq idsReq) {
+// if(StrUtil.isEmpty(idsReq.getBatchNumber().toString())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
+// return error("参数校验失败");
+// }
+// SealSignRecord sealSignRecordselect = adjudicationService.getSignUrlBatch(idsReq);
+// return success(sealSignRecordselect);
+// }
+
+ /**
+ * 根据签署流程id查询批量用印链接
+ */
+// @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSignUrl')")
+ @PostMapping("/selectBatchSealUrl")
+ public AjaxResult selectBatchSealUrl(@RequestBody StringIdsReq idsReq) {
+ if(CollectionUtil.isEmpty(idsReq.getIds())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
+ return error("参数校验失败");
+ }
+ SealSignRecord sealSignRecordselect = adjudicationService.selectBatchSealUrl(idsReq);
+ return success(sealSignRecordselect);
+ }
+ /**
+ * 根据仲裁员手机号分页查询待签名/待用印的案件
+ */
+// @PreAuthorize("@ss.hasPermi('caseManagement:list:selectSignUrl')")
+ @GetMapping("/pageSignAdjudicate")
+ public TableDataInfo pageSignAdjudicate(@RequestParam(value = "personAccount",required = false) String personAccount, @RequestParam("caseStatus") Integer caseStatus) {
+ startPage();
+ List list = adjudicationService.selectSealSigning(personAccount,caseStatus);
+ return getDataTable(list);
+ }
+
+ /**
+ * 根据批号查询批量用印链接
+ */
+ @PostMapping("/getSealUrlBatch")
+ public AjaxResult getSealUrlBatch(@RequestBody StringIdsReq idsReq) {
+ if(StrUtil.isEmpty(idsReq.getBatchNumber().toString())|| StrUtil.isEmpty(idsReq.getPsnAccount())){
+ return error("参数校验失败");
+ }
+ SealSignRecord sealSignRecordselect = adjudicationService.getSealUrlBatch(idsReq);
+ return success(sealSignRecordselect);
+ }
/**
@@ -37,16 +102,32 @@ public class AdjudicationController extends BaseController {
}
return adjudicationService.createDocument(caseApplication);
}
-
/**
- * 重新生成裁决书
+ * 开庭审理,确定审理结果,生成裁决书
* @param caseApplication
* @return
*/
- @PostMapping("/regenerationDocument")
- public AjaxResult regenerationDocument(@Validated @RequestBody CaseApplication caseApplication){
- return adjudicationService.regenerationDocument(caseApplication);
+ @PostMapping("/caseJudgment")
+ public AjaxResult caseJudgment(@Validated @RequestBody CaseApplication caseApplication){
+ if (caseApplication.getId() == null) {
+ return AjaxResult.error("案件id不能为空");
+ }
+ return adjudicationService.caseJudgment(caseApplication);
}
+ /**
+ * 批量生成裁决书
+ * @param caseApplication
+ * @return
+ */
+ @PostMapping("/batchDocument")
+ public AjaxResult batchDocument(@Validated @RequestBody BatchCaseApplication caseApplication){
+ if (CollectionUtil.isEmpty(caseApplication.getIds())) {
+ return AjaxResult.error("参数校验失败");
+ }
+ return adjudicationService.batchDocument(caseApplication.getIds());
+ }
+
+
/**
* 裁决书送达(电子邮件)
@@ -63,23 +144,15 @@ public class AdjudicationController extends BaseController {
* @param caseApplication
* @return
*/
- @GetMapping("/logistics")
-// @PreAuthorize("@ss.hasPermi('delivery:detail')")
- public AjaxResult getLogisticsInfo(CaseApplication caseApplication){
- List logisticsInfo = adjudicationService.getLogisticsInfo(caseApplication);
- return AjaxResult.success(logisticsInfo);
- }
+// @GetMapping("/logistics")
+//// @PreAuthorize("@ss.hasPermi('delivery:detail')")
+// public AjaxResult getLogisticsInfo(CaseApplication caseApplication){
+// List logisticsInfo = adjudicationService.getLogisticsInfo(caseApplication);
+// return AjaxResult.success(logisticsInfo);
+// }
+
+
- /**
- * 签名(暂时只改案件状态)
- * @param caseApplication
- * @return
- */
- @PostMapping("/signature")
-// @PreAuthorize("@ss.hasPermi('awardManagement:list:sign')")
- public AjaxResult signature(@Validated @RequestBody CaseApplication caseApplication){
- return adjudicationService.signature(caseApplication);
- }
/**
* 归档(暂时只改案件状态)
@@ -95,6 +168,19 @@ public class AdjudicationController extends BaseController {
return adjudicationService.caseFile(batchCaseApplication.getIds());
}
+ /**
+ * 批量归档(暂时只改案件状态)
+ * @param caseApplication
+ * @return
+ */
+ @PostMapping("/caseFileBatch")
+ public AjaxResult caseFileBatch(@RequestBody CaseApplication caseApplication){
+ if(StrUtil.isEmpty(caseApplication.getBatchNumber().toString())){
+ return error("参数校验失败");
+ }
+ return adjudicationService.caseFileBatch(caseApplication.getBatchNumber());
+ }
+
/**
* 送达(不包含发送电子邮件)
* @param bookSendVO
@@ -105,27 +191,32 @@ public class AdjudicationController extends BaseController {
public AjaxResult service(@RequestBody BookSendVO bookSendVO){
return adjudicationService.service(bookSendVO.getId(),bookSendVO.getAppEmail(),bookSendVO.getResEmail(),bookSendVO.getApptrackingNum(),bookSendVO.getRestrackingNum());
}
+
/**
- * 用印(暂时只改案件状态)
+ * 批量送达仲裁书
* @param caseApplication
* @return
*/
- @PostMapping("/stamp")
-// @PreAuthorize("@ss.hasPermi('awardManagement:list:signprint')")
- public AjaxResult stamp(@Validated @RequestBody CaseApplication caseApplication){
- return adjudicationService.stamp(caseApplication);
+ @PostMapping("/serviceBatch")
+ public AjaxResult serviceBatch(@Validated @RequestBody CaseApplication caseApplication) throws EsignDemoException, IOException {
+ if(StrUtil.isEmpty(caseApplication.getBatchNumber().toString())){
+ return error("参数校验失败");
+ }
+ return adjudicationService.serviceBatch(caseApplication.getBatchNumber());
}
+
+
/**
* 档案详情查询
* @param id 案件id
* @return
*/
- @GetMapping("/archives")
- public AjaxResult getArchivesDetail(Long id){
-
- return adjudicationService.getArchivesDetail(id);
- }
+// @GetMapping("/archives")
+// public AjaxResult getArchivesDetail(Long id){
+//
+// return adjudicationService.getArchivesDetail(id);
+// }
/**
* 根据案件id获取邮箱
* @param id 案件id
@@ -136,5 +227,17 @@ public class AdjudicationController extends BaseController {
return adjudicationService.emailByCaseId(id);
}
+ /**
+ * 开庭审理提交,只改变案件状态为CaseApplicationConstants.VERPRIF_ARBITRATION
+ * @param caseApplication 案件
+ * @return
+ */
+ @PostMapping("/changeCaseStatus")
+ public AjaxResult changeCaseStatus(@RequestBody CaseApplication caseApplication){
+ if(caseApplication.getId()==null){
+ return error("参数校验失败");
+ }
+ return adjudicationService.changeCaseStatus(caseApplication.getId(), CaseApplicationConstants.VERPRIF_ARBITRATION);
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitrateApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitrateApplicationController.java
new file mode 100644
index 0000000..a3d82ad
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitrateApplicationController.java
@@ -0,0 +1,55 @@
+package com.ruoyi.web.controller.wisdomarbitrate;
+
+import cn.hutool.json.JSONUtil;
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.CheckSignatuerUtils;
+import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
+import com.ruoyi.wisdomarbitrate.domain.vo.CaseApplicationVO;
+import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/callArbitrateCaseApplication")
+public class ArbitrateApplicationController extends BaseController {
+ @Autowired
+ private ICaseApplicationService caseApplicationService;
+
+
+ /**
+ * 新增立案数据
+ */
+ @Anonymous
+ @PostMapping("/generateCaseApplication")
+ public AjaxResult generateCaseApplication(@Validated @RequestBody CaseApplicationVO caseApplicationVO) throws Exception {
+ String paramsbody = JSONUtil.toJsonStr(caseApplicationVO);
+ boolean checkResult= CheckSignatuerUtils.checkSignuter(paramsbody);
+ if(checkResult){
+ CaseApplicationDTO caseApplication = new CaseApplicationDTO();
+ BeanUtils.copyProperties(caseApplicationVO,caseApplication);
+ caseApplication.setCreateBy(getUsername());
+ return caseApplicationService.insertOrUpdate(caseApplication);
+ }else {
+ return AjaxResult.error("签名验证失败");
+ }
+
+ }
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java
index b4af1e4..5706937 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java
@@ -1,6 +1,7 @@
package com.ruoyi.web.controller.wisdomarbitrate;
import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.mapper.SysUserMapper;
@@ -26,11 +27,13 @@ public class ArbitratorController extends BaseController {
*/
// @PreAuthorize("@ss.hasPermi('arbitrator:list')")
@GetMapping("/list")
- public TableDataInfo list(Arbitrator arbitrator)
+ public AjaxResult list(Arbitrator arbitrator)
{
- startPage();
+ if(arbitrator.getCaseId()==null){
+ return AjaxResult.error("案件id不能为空");
+ }
List list = sysUserService.selectUserListByAdRole(arbitrator);
- return getDataTable(list);
+ return AjaxResult.success(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java
index da0cdab..5c0babc 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java
@@ -2,34 +2,30 @@ package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
-import com.alipay.api.internal.util.file.IOUtils;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.constant.FileTransformation;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.EsignDemoException;
-import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.WxAppletNotifyUtils;
-import com.ruoyi.util.FileUtil;
import com.ruoyi.wisdomarbitrate.domain.*;
+import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.ReservedConferenceVO;
import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
+import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.web.multipart.MultipartFile;
-import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
@@ -40,8 +36,19 @@ import java.util.List;
public class CaseApplicationController extends BaseController {
@Autowired
private ICaseApplicationService caseApplicationService;
+ @Autowired
+ private IAdjudicationService adjudicationService;
+ /**
+ * 根据登录人返回用户信息
+ */
+ @GetMapping("/getUserInfo")
+ public AjaxResult getUserInfo()
+ {
+ return success(caseApplicationService.getUserInfo());
+ }
+
/**
* 查询立案数据
*/
@@ -51,11 +58,21 @@ public class CaseApplicationController extends BaseController {
if(StrUtil.isEmpty(caseApplication.getSelectCaseStatus())){
caseApplication.setSelectCaseStatus("0");
}
- startPage();
- List list = caseApplicationService.selectCaseApplicationListByRole(caseApplication);
+// List list = caseApplicationService.selectCaseApplicationListByRole(caseApplication);
+ List list = caseApplicationService.page(caseApplication);
return getDataTable(list);
}
+// /**
+// * 查询批量管理案件列表
+// */
+// @GetMapping("/listBatch")
+// public TableDataInfo listBatch(CaseApplication caseApplication) {
+// startPage();
+// List list = caseApplicationService.selectCaseApplicationListBatchByRole(caseApplication);
+// return getDataTable(list);
+// }
+
/**
* 根据角色查询待办数量
* @return
@@ -74,24 +91,24 @@ public class CaseApplicationController extends BaseController {
// @PreAuthorize("@ss.hasPermi('caseManagement:list:add')")
@Log(title = "新增立案数据", businessType = BusinessType.INSERT)
@PostMapping("/addCaseApplication")
- public AjaxResult addCaseApplication(@Validated @RequestBody CaseApplication caseApplication)
+ public AjaxResult addCaseApplication(@Validated @RequestBody CaseApplicationDTO caseApplication)
{
caseApplication.setCreateBy(getUsername());
- return toAjax(caseApplicationService.insertcaseApplication(caseApplication));
+ return caseApplicationService.insertOrUpdate(caseApplication);
}
/**
* 修改立案数据
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:update')")
- @Log(title = "修改立案数据", businessType = BusinessType.UPDATE)
- @PostMapping("/editCaseApplication")
- public AjaxResult editCaseApplication(@Validated @RequestBody CaseApplication caseApplication) {
-
- caseApplication.setUpdateBy(getUsername());
- return caseApplicationService.editCaseApplication(caseApplication);
- }
+// @Log(title = "修改立案数据", businessType = BusinessType.UPDATE)
+// @PostMapping("/editCaseApplication")
+// public AjaxResult editCaseApplication(@Validated @RequestBody CaseApplicationDTO caseApplication) {
+//
+// caseApplication.setUpdateBy(getUsername());
+// return caseApplicationService.editCaseApplication(caseApplication);
+// }
/**
* 修改立案数据自定义字段
@@ -116,6 +133,19 @@ public class CaseApplicationController extends BaseController {
return toAjax(caseApplicationService.submitCaseApplication(batchCaseApplication.getIds()));
}
+ /**
+ * 批量提交立案申请
+ */
+ @Log(title = "批量提交立案申请", businessType = BusinessType.UPDATE)
+ @PostMapping("/submitCaseApplicationBatch")
+ public AjaxResult submitCaseApplicationBatch(@RequestBody BatchCaseApplication batchCaseApplication) {
+ if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber())){
+ return error("参数校验失败");
+ }
+ return caseApplicationService.submitCaseApplicationBatch(batchCaseApplication.getBatchNumber());
+ }
+
+
/**
@@ -132,7 +162,7 @@ public class CaseApplicationController extends BaseController {
}
/**
- * 查询立案信息
+ * 查询立案详情
*/
// @PreAuthorize("@ss.hasPermi('caseManagement:list:detail')")
@PostMapping("/selectCaseApplication")
@@ -141,6 +171,18 @@ public class CaseApplicationController extends BaseController {
CaseApplication caseApplicationselect = caseApplicationService.selectCaseApplication(caseApplication);
return success(caseApplicationselect);
}
+ /**
+ * 视频会议中查询立案详情
+ */
+// @PreAuthorize("@ss.hasPermi('caseManagement:list:detail')")
+ @GetMapping("/selectById")
+ public AjaxResult selectById(@RequestParam(required = false) Long id ,@RequestParam(required = false) String caseNum) {
+ CaseApplication caseApplication = new CaseApplication();
+ caseApplication.setId(id);
+ caseApplication.setCaseNum(caseNum);
+ CaseApplication caseApplicationselect = caseApplicationService.selectCaseApplication(caseApplication);
+ return success(caseApplicationselect);
+ }
/**
* 查询已签署裁决书URL
@@ -171,6 +213,7 @@ public class CaseApplicationController extends BaseController {
return success(sealSignRecordselect);
}
+
/**
* 查询用印链接
*/
@@ -250,7 +293,10 @@ public class CaseApplicationController extends BaseController {
@Log(title = "组庭审核", businessType = BusinessType.UPDATE)
@PostMapping("/pendTralCheck")
public AjaxResult pendTralCheck(@Validated @RequestBody CaseApplication caseApplication) {
- return toAjax(caseApplicationService.pendTralCheck(caseApplication));
+ if(CollectionUtil.isEmpty(caseApplication.getArbitrators())){
+ return error("请选择仲裁员");
+ }
+ return caseApplicationService.pendTralCheck(caseApplication);
}
/**
@@ -263,6 +309,25 @@ public class CaseApplicationController extends BaseController {
return toAjax(caseApplicationService.pendTralSure(caseApplication));
}
+ /**
+ * 批量组庭审核
+ */
+// @PreAuthorize("@ss.hasPermi('caseManagement:list:checkgroup')")
+ @Log(title = "批量组庭审核", businessType = BusinessType.UPDATE)
+ @PostMapping("/pendTralCheckBatch")
+ public AjaxResult pendTralCheckBatch(@Validated @RequestBody CaseApplication caseApplication) {
+ return toAjax(caseApplicationService.pendTralCheckBatch(caseApplication));
+ }
+
+ /**
+ * 批量组庭确认
+ */
+ @Log(title = "批量组庭确认", businessType = BusinessType.UPDATE)
+ @PostMapping("/pendTralSureBatch")
+ public AjaxResult pendTralSureBatch(@Validated @RequestBody CaseApplication caseApplication) {
+ return toAjax(caseApplicationService.pendTralSureBatch(caseApplication));
+ }
+
/**
* 修改开庭时间
*/
@@ -303,6 +368,35 @@ public class CaseApplicationController extends BaseController {
return caseApplicationService.arbitratorCheckArbitrateRecord(caseApplication);
}
+ /**
+ * 批量操作仲裁员审核裁决书
+ */
+ @Log(title = "批量操作仲裁员审核裁决书", businessType = BusinessType.UPDATE)
+ @PostMapping("/arbitrator/checkArbitrateRecordBatch")
+ public AjaxResult arbitratorCheckArbitrateRecordBatch(@Validated @RequestBody CaseApplication caseApplication) {
+
+ return caseApplicationService.arbitratorCheckArbitrateRecordBatch(caseApplication);
+ }
+
+ /**
+ * 批量部门长审核裁决书
+ */
+ @Log(title = "批量部门长审核裁决书", businessType = BusinessType.UPDATE)
+ @PostMapping("/checkArbitrateRecordBatch")
+ public AjaxResult checkArbitrateRecordBatch(@Validated @RequestBody CaseApplication caseApplication) {
+
+ return caseApplicationService.checkArbitrateRecordBatch(caseApplication);
+ }
+
+ /**
+ * 批量核验裁决书
+ */
+ @Log(title = "批量核验裁决书", businessType = BusinessType.UPDATE)
+ @PostMapping("/verificationArbitrateRecordBatch")
+ public AjaxResult verificationArbitrateRecordBatch(@Validated @RequestBody CaseApplication caseApplication) {
+ return toAjax(caseApplicationService.verificationArbitrateRecordBatch(caseApplication));
+ }
+
/**
* 是否指派仲裁员
@@ -327,26 +421,32 @@ public class CaseApplicationController extends BaseController {
return success(caseApplicationService.submitCaseApplicationCheck(batchCaseApplication.getIds(),batchCaseApplication.getAgreeOrNotCheck(),batchCaseApplication.getCaseCheckReject()));
}
- /**
- * 确认缴费查询立案信息
- */
-// @PreAuthorize("@ss.hasPermi('paymentManagement:list:detail')")
- @PostMapping("/selectCaseApplicationConfirm")
- public AjaxResult selectCaseApplicationConfirm(@Validated @RequestBody CaseApplication caseApplication) {
- CaseApplication caseApplicationselect = caseApplicationService.selectCaseApplicationConfirm(caseApplication);
- return success(caseApplicationselect);
- }
/**
- * 下载案件压缩包
+ * 批量提交立案审查
*/
- @PostMapping("/downloadCaseZipFile")
- public AjaxResult downloadCaseZipFile(@Validated @RequestBody CaseApplication caseApplication) {
-
- CaseAttach caseAttach = caseApplicationService.downloadCaseZipFile(caseApplication);
- return success(caseAttach);
+ @Log(title = "批量提交立案审查", businessType = BusinessType.UPDATE)
+ @PostMapping("/submitCaseApplicationCheckBatch")
+ public AjaxResult submitCaseApplicationCheckBatch(@RequestBody BatchCaseApplication batchCaseApplication) {
+ if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber()) || batchCaseApplication.getAgreeOrNotCheck()==null){
+ return error("参数校验失败");
+ }
+ return caseApplicationService.submitCaseApplicationCheckBatch(batchCaseApplication.getBatchNumber(),batchCaseApplication.getAgreeOrNotCheck(),batchCaseApplication.getCaseCheckReject());
}
+// /**
+// * 下载案件压缩包
+// */
+// @PostMapping("/downloadCaseZipFile")
+// public AjaxResult downloadCaseZipFile(@Validated @RequestBody CaseApplication caseApplication) {
+//
+// CaseAttach caseAttach = caseApplicationService.downloadCaseZipFile(caseApplication);
+// return success(caseAttach);
+// }
+
+
+
+
/**
* 发送房间号短信
@@ -367,25 +467,18 @@ public class CaseApplicationController extends BaseController {
return success(schemeUrl);
}
- /**
- * 生成庭审笔录
- * @param arbitrateRecord
- * @return
- */
- @PostMapping("/creatTrialRecord")
-// @PreAuthorize("@ss.hasPermi('caseManagement:list:creatTrialRecord')")
- public AjaxResult creatTrialRecord(@Validated @RequestBody ArbitrateRecord arbitrateRecord){
- return caseApplicationService.creatTrialRecord(arbitrateRecord);
- }
/**
- * 记录庭审笔录
+ * 确认会议结果
* @param arbitrateRecord
* @return
*/
- @PostMapping("/creatTrialRecordnew")
+ @PostMapping("/confirmMeetingResult")
// @PreAuthorize("@ss.hasPermi('caseManagement:list:creatTrialRecord')")
- public AjaxResult creatTrialRecordnew(@Validated @RequestBody ArbitrateRecord arbitrateRecord){
+ public AjaxResult creatTrialRecordnew( @RequestBody ArbitrateRecord arbitrateRecord){
+ if(arbitrateRecord.getCaseAppliId()==null || arbitrateRecord.getAppliIsAbsen()==null || arbitrateRecord.getIsAbsence()==null){
+ return error("参数校验失败");
+ }
return caseApplicationService.creatTrialRecordnew(arbitrateRecord);
}
@@ -403,17 +496,7 @@ public class CaseApplicationController extends BaseController {
return AjaxResult.success(caseApplicationService.updateCaseLockStatus(caseApplication));
}
- /**
- * 查询短信发送记录
- * @param smsSendRecord
- * @return
- */
- @PostMapping("/smsRecord")
- public TableDataInfo getSmsSendRecord(@RequestBody SmsSendRecord smsSendRecord){
- startPage();
- List list = caseApplicationService.getSmsSendRecord(smsSendRecord);
- return getDataTable(list);
- }
+
/**
* 获取userSign
* @param userId
@@ -473,12 +556,14 @@ public class CaseApplicationController extends BaseController {
/**
* 案件压缩包导入
* @param file
+ * @param applicantType 申请人类型,自然人-1,机构-2
+ * @param resType 被申请人类型,自然人-1,机构-2
* @return
* @throws IOException
*/
@PostMapping("/uploadCaseZipFile")
- public AjaxResult uploadCaseZipFile(@RequestParam("file") MultipartFile file,@RequestParam("templateId") Long templateId) throws IOException {
- return caseApplicationService.uploadCaseZipFile(file,templateId);
+ public AjaxResult uploadCaseZipFile(@RequestParam("file") MultipartFile file,@RequestParam("templateId") Long templateId,Integer applicantType,Integer resType) throws IOException {
+ return caseApplicationService.uploadCaseZipFile(file,templateId,applicantType,resType);
}
/**
@@ -493,4 +578,17 @@ public class CaseApplicationController extends BaseController {
}
return caseApplicationService.updateCaseIdByAnnexId(caseAttach);
}
+ /**
+ * 保存onlyOffice在线编辑的文件
+ * @param
+ * @return
+ */
+ @PostMapping("/saveOnlyOfficeFile")
+ public AjaxResult saveOnlyOfficeFile( @RequestBody CaseAttach caseAttach) {
+ if(caseAttach.getCaseAppliId()==null||StrUtil.isEmpty(caseAttach.getOnlyOfficeFileId())||StrUtil.isEmpty(caseAttach.getAnnexPath())){
+ return error("参数校验失败");
+ }
+
+ return caseApplicationService.saveOnlyOfficeFile(caseAttach);
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationLogController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationLogController.java
index e980e1c..63f1e41 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationLogController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationLogController.java
@@ -65,7 +65,7 @@ public class CaseApplicationLogController {
if(vo.getCaseId()==null || vo.getVersion()==null){
return AjaxResult.error("参数校验错误");
}
- // todo 需确定
+
return caseApplicationLogService.revoke(vo);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseArbitrateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseArbitrateController.java
index 8105e44..50fe6cc 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseArbitrateController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseArbitrateController.java
@@ -30,8 +30,18 @@ public class CaseArbitrateController extends BaseController {
@PutMapping("/method")
// @PreAuthorize("@ss.hasPermi('caseManagement:list:checkarbitrationway')")
public AjaxResult examineArbitrateMethod(@Validated @RequestBody CaseApplication caseApplication
- , Integer opinion){
- return caseArbitrateService.examineArbitrateMethod(caseApplication,opinion);
+ , Integer opinion, Integer arbitratMethod){
+ return caseArbitrateService.examineArbitrateMethod(caseApplication,opinion,arbitratMethod);
+ }
+
+ /**
+ * 批量审核仲裁方式
+ * @param caseApplication
+ * @return
+ */
+ @PostMapping("/methodBatch")
+ public AjaxResult examineArbitrateMethodBatch(@Validated @RequestBody CaseApplication caseApplication){
+ return caseArbitrateService.examineArbitrateMethodBatch(caseApplication);
}
/**
@@ -44,4 +54,14 @@ public class CaseArbitrateController extends BaseController {
return caseArbitrateService.writtenHear(caseIds);
}
+ /**
+ * 批量书面审理
+ * @param
+ * @return
+ */
+ @PostMapping("/writtenHearBatch")
+ public AjaxResult writtenHearBatch(@Validated @RequestBody CaseApplication caseApplication){
+ return caseArbitrateService.writtenHearBatch(caseApplication);
+
+ }
}
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 152aacb..a10e304 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
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import com.ruoyi.wisdomarbitrate.domain.CaseEvidenceDirectory;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseEvidenceDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.CaseEvidenceVO;
@@ -32,23 +33,23 @@ public class CaseEvidenceController extends BaseController {
this.caseEvidenceService = caseEvidenceService;
}
- /**
- * 根据案件id查询案件详情
- *
- * @param id
- * @return
- */
- @GetMapping("/{id}")
- public AjaxResult getCaseDetailsById(@PathVariable Long id) {
- String username = this.getUsername();
- return caseEvidenceService.getCaseDetailsById(id, username);
- }
+// /**
+// * 根据案件id查询案件详情
+// *
+// * @param id
+// * @return
+// */
+// @GetMapping("/{id}")
+// public AjaxResult getCaseDetailsById(@PathVariable Long id) {
+// String username = this.getUsername();
+// return caseEvidenceService.getCaseDetailsById(id, username);
+// }
/**
* 案件证据上传
*
* @param file 附件
- * @param annexType 附件类型,立案申请书(1)、证据材料(2)、仲裁文书(3)、案件视频(4)、身份证件(5)
+ * @param annexType 附件类型,立案申请书(1)、证据材料(2)、裁决书(3)、案件视频(4)、身份证件(5)
* @param id 案件申请id
* @return
*/
@@ -101,16 +102,16 @@ public class CaseEvidenceController extends BaseController {
/**
* 删除附件
- * @param fileIds
+ * @param caseAttach
* @return
*/
@PostMapping("/deleteFile")
- public AjaxResult deleteFile( @RequestParam("fileIds") List fileIds){
+ public AjaxResult deleteFile(@RequestBody CaseAttach caseAttach){
- if(CollectionUtil.isEmpty(fileIds)){
+ if(CollectionUtil.isEmpty(caseAttach.getFileIds())){
return error("附件id不能为空");
}
- return toAjax(caseEvidenceService.deleteFile( fileIds));
+ return success(caseEvidenceService.deleteFile( caseAttach.getFileIds()));
}
@@ -120,12 +121,12 @@ public class CaseEvidenceController extends BaseController {
* @param caseStatus
* @return
*/
- @GetMapping("/all")
- public AjaxResult getCaseListAll(@RequestParam("caseStatus") Integer caseStatus) {
-
- return success(caseEvidenceService.getCaseListAll(caseStatus));
-
- }
+// @GetMapping("/all")
+// public AjaxResult getCaseListAll(@RequestParam("caseStatus") Integer caseStatus) {
+//
+// return success(caseEvidenceService.getCaseListAll(caseStatus));
+//
+// }
/**
* 证据确认
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseNumRuleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseNumRuleController.java
index 03e00bf..7d453ca 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseNumRuleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseNumRuleController.java
@@ -28,6 +28,8 @@ public class CaseNumRuleController extends BaseController {
return caseNumRuleService.insertCaseNumRule(caseNumRule);
}
+
+
/**
* 修改案件编号规则
* @param caseNumRule
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java
index 6590573..47a1ff1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java
@@ -1,6 +1,9 @@
package com.ruoyi.web.controller.wisdomarbitrate;
+import cn.hutool.core.collection.CollectionUtil;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
import com.ruoyi.wisdomarbitrate.service.ICasePaymentService;
@@ -9,6 +12,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* 缴费支付
*/
@@ -41,15 +47,38 @@ public class CasePaymentController {
return paymentService.confirmPay(payDTO);
}
+ /**
+ * 批量缴费
+ * @param casePayDTO 缴费传入参数
+ * @return 统一响应结果
+ */
+ @PostMapping("/casePayBatch")
+ public AjaxResult casePayBatch(@Validated @RequestBody CasePayDTO casePayDTO) {
+ return paymentService.casePayBatch(casePayDTO);
+ }
+
+ /**
+ * 批量缴费
+ * @param payDTO 缴费传入参数
+ * @return 统一响应结果
+ */
+ @PostMapping("/confirmPayBatch")
+ public AjaxResult confirmPayBatch(@Validated @RequestBody CasePayDTO payDTO) {
+ return paymentService.confirmPayBatch(payDTO);
+ }
+
/**
* 缴费确认
- * @param caseApplication
+ * @param batchCaseApplication
* @return
*/
// @PreAuthorize("@ss.hasPermi('paymentManagement:list:payconfirm')")
@PutMapping("/confirm")
- public AjaxResult confirmPayment(@Validated @RequestBody CaseApplication caseApplication) {
- return paymentService.confirmPayment(caseApplication);
+ public AjaxResult confirmPayment(@Validated @RequestBody BatchCaseApplication batchCaseApplication) {
+ if(CollectionUtil.isEmpty(batchCaseApplication.getIds()) || batchCaseApplication.getAgreeOrNotCheck()==null){
+ return AjaxResult.error("参数校验失败");
+ }
+ return paymentService.confirmPayment(batchCaseApplication);
}
/**
* 缴费列表查询
@@ -60,4 +89,22 @@ public class CasePaymentController {
public AjaxResult casePayList(CasePayDTO casePayDTO) {
return paymentService.casePayList(casePayDTO);
}
+
+ @PostMapping("/listBatch")
+ public AjaxResult casePayListBatch(@Validated @RequestBody CasePayDTO casePayDTO) {
+ return paymentService.casePayListBatch(casePayDTO);
+ }
+
+ /**
+ * 批量缴费确认
+ * @param batchCaseApplication
+ * @return
+ */
+ @PostMapping("/confirmBatch")
+ public AjaxResult confirmPaymentBatch(@Validated @RequestBody BatchCaseApplication batchCaseApplication) {
+ if(StringUtils.isEmpty(batchCaseApplication.getBatchNumber())){
+ return AjaxResult.error("参数校验失败");
+ }
+ return paymentService.confirmPaymentBatch(batchCaseApplication.getBatchNumber());
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/DeptIdentifyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/DeptIdentifyController.java
index 71bec6b..47b916a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/DeptIdentifyController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/DeptIdentifyController.java
@@ -222,14 +222,13 @@ public class DeptIdentifyController extends BaseController {
/**
* 根据模板id查询模板字段列表
- * @param templateManage
+ * @param id
* @return
*/
@GetMapping("/getTemplateInfoById")
- public AjaxResult getTemplateInfoById(@RequestBody TemplateManage templateManage){
- if(templateManage.getId()==null){
- return error("参数校验错误");
- }
+ public AjaxResult getTemplateInfoById(@RequestParam("id") Long id){
+ TemplateManage templateManage = new TemplateManage();
+ templateManage.setId(id);
List fatchRuleList = deptIdentifyService.getTemplateInfoById(templateManage);
return AjaxResult.success(fatchRuleList);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/MsSignSealController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/MsSignSealController.java
new file mode 100644
index 0000000..92cdc19
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/MsSignSealController.java
@@ -0,0 +1,57 @@
+package com.ruoyi.web.controller.wisdomarbitrate;
+
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
+import com.ruoyi.wisdomarbitrate.service.MsSignSealService;
+import com.ruoyi.wisdomarbitrate.utils.SignVerifyUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Classname MsSignSealController
+ * @Description TODO
+ * @Version 1.0.0
+ * @Date 2024/5/10 15:07
+ * @Created wangqiong
+ */
+@RestController
+@RequestMapping("/mssignSeal")
+public class MsSignSealController extends BaseController {
+ @Autowired
+ private MsSignSealService msSignSealService;
+ /**
+ * 签名用印回调
+ */
+ @Anonymous
+ @PostMapping("/signSeaalCaseApplicaCallback")
+ public AjaxResult signSeaalCaseApplicaCallback() throws Exception {
+ boolean checkResult= SignVerifyUtils.checkSignuter();
+ if(checkResult){
+ String reqbodystr =SignVerifyUtils.getRequestBody();
+ return msSignSealService.signSeaalCaseApplicaCallback(reqbodystr);
+ }else {
+ return AjaxResult.error("error");
+ }
+
+ }
+
+ /**
+ * 印章审核回调
+ */
+ @Anonymous
+ @PostMapping("/sealCheckCallback")
+ public AjaxResult sealCheckCallback() throws Exception {
+ boolean checkResult= SignVerifyUtils.checkSignuter();
+ if(checkResult){
+ String reqbodystr =SignVerifyUtils.getRequestBody();
+ return msSignSealService.sealCheckCallback(reqbodystr);
+ }else {
+ return AjaxResult.error("error");
+ }
+
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/SendMailRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/SendMailRecordController.java
deleted file mode 100644
index cc9ac35..0000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/SendMailRecordController.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.ruoyi.web.controller.wisdomarbitrate;
-
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
-import com.ruoyi.wisdomarbitrate.domain.SendMailRecord;
-import com.ruoyi.wisdomarbitrate.service.ISendMailRecordService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/sendMailRecord")
-public class SendMailRecordController extends BaseController {
- @Autowired
- private ISendMailRecordService sendMailRecordService;
-
- /**
- * 查询发送邮件记录列表
- */
- @GetMapping("/list")
- public TableDataInfo list(SendMailRecord sendMailRecord)
- {
- startPage();
- List list = sendMailRecordService.selectSendMailRecordList(sendMailRecord);
- return getDataTable(list);
- }
-
-
-// /**
-// * 新增立案数据
-// */
-// @Log(title = "新增立案数据", businessType = BusinessType.INSERT)
-// @PostMapping("/addSendMailRecord")
-// public AjaxResult addSendMailRecord(@Validated @RequestBody SendMailRecord sendMailRecord)
-// {
-//
-// return toAjax(sendMailRecordService.addSendMailRecord(sendMailRecord));
-// }
-
-
-
-
-
-}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/VideoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/VideoController.java
index db1f865..6b40fc7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/VideoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/VideoController.java
@@ -2,13 +2,23 @@ package com.ruoyi.web.controller.wisdomarbitrate;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.framework.config.ServerConfig;
+import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
import com.ruoyi.wisdomarbitrate.domain.vo.ReservedConferenceVO;
import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
+import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper;
+import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import com.ruoyi.wisdomarbitrate.service.VideoService;
import com.ruoyi.wisdomarbitrate.service.WeChatUserService;
import com.tencentcloudapi.common.Credential;
@@ -25,6 +35,9 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.IOException;
+import java.util.Objects;
+
+import static com.google.common.io.Files.getFileExtension;
/**
* @author wangqiong
@@ -36,7 +49,12 @@ import java.io.IOException;
public class VideoController extends BaseController {
@Autowired
private VideoService videoService;
-
+ @Autowired
+ private ServerConfig serverConfig;
+ @Autowired
+ private CaseAttachMapper caseAttachMapper;
+ @Autowired
+ private ICaseApplicationService caseApplicationService;
/**
* 从腾讯云下载文件到本地
* @param
@@ -114,9 +132,8 @@ public class VideoController extends BaseController {
*/
@Anonymous
@GetMapping("secretaryRoleByUserId")
- public AjaxResult secretaryRoleByUserId( @RequestParam(value = "userId",required = true) Long userId) {
-
- return videoService.secretaryRoleByUserId(userId);
+ public AjaxResult secretaryRoleByUserId( @RequestParam(value = "userId",required = true) Long userId,@RequestParam(value = "caseId",required = true) Long caseId) {
+ return videoService.secretaryRoleByUserId(userId,caseId);
}
/**
* 根据html字符串转pdf并和案件关联
@@ -144,6 +161,122 @@ public class VideoController extends BaseController {
return videoService.attachListByCaseId(caseAppliId,annexType);
}
+ /**
+ * 根据案件id查询申请人/被申请人会议上传附件按钮权限
+ * @param caseId
+ * @return
+ */
+ @Anonymous
+ @GetMapping("selectRoleMenuByCaseId")
+ public AjaxResult selectRoleMenuByCaseId( @RequestParam(value = "caseId",required = true) Long caseId) {
+ return videoService.selectRoleMenuByCaseId(caseId);
+ }
+ /**
+ * 通用上传请求(单个)
+ * param officeFlag: 是否上传到onlyoffice,0-否,1-是
+ * param isMediaBook: 是否上仲裁书,1-是,其余为否
+ */
+ @PostMapping("/upload")
+ public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "isMediaBook",required = false) Integer isMediaBook, @RequestParam("annexType") Integer annexType, @RequestParam(value = "officeFlag", required = false) Integer officeFlag,@RequestParam(value = "caseId",required = false) Long caseId) throws Exception
+ {
+ try
+ {
+ // 上传文件路径
+ String filePath = RuoYiConfig.getUploadPath();
+ String name=file.getOriginalFilename();
+ // 上传并返回新文件名称
+ String fileName = FileUploadUtils.upload(filePath, file);
+ String suffix = getFileExtension(fileName);
+ if(StrUtil.isNotEmpty(suffix)&& suffix.contains("doc")){
+ // 上传到onlyoffice
+ officeFlag=1;
+ }
+ String url = serverConfig.getUrl() + fileName;
+ if(officeFlag != null && officeFlag == 1){
+ // officeFlag,fileName为annexPath
+ JSONArray jsonArray = caseApplicationService.uploadOnlyOffice(fileName,caseId);
+ if(jsonArray!=null && jsonArray.size() > 0) {
+ // 先删除之前的裁决书附件
+ if(Objects.equals(annexType,3) && caseId!=null) {
+ caseAttachMapper.deleteCaseAttachByCasedIdAndType(caseId, annexType);
+ }
+ CaseAttach caseAttach=null;
+ for (Object obj : jsonArray) {
+ JSONObject jsonObject = (JSONObject) obj;
+ String path = jsonObject.get("filePath")!=null?jsonObject.getString("filePath"):"";
+ path=path.replace("/home/ruoyi/uploadPath/","profile/");
+ caseAttach = CaseAttach.builder()
+ .caseAppliId(caseId)
+// .annexName(jsonObject.get("fileName")!=null?jsonObject.getString("fileName"):"")
+ .annexName(name)
+ .annexType(annexType)
+ .onlyOfficeFileId(jsonObject.getString("fileId"))
+ .annexPath(path)
+ .build();
+// if(jsonObject.get("filePath")!=null){
+// String officePath = jsonObject.getString("filePath");
+// String replace = officePath.replace("/home/ruoyi/uploadPath/", "/profile/");
+// caseAttach.setAnnexPath(replace);
+//
+// }
+ caseAttachMapper.save(caseAttach);
+ }
+ if(caseAttach==null){
+ return AjaxResult.error("上传失败");
+ }
+ AjaxResult ajax = AjaxResult.success();
+ ajax.put("annexId", caseAttach.getAnnexId());
+ ajax.put("annexType", annexType);
+ // ajax.put("url", url);
+ ajax.put("fileName", name);
+ ajax.put("newFileName", FileUtils.getName(fileName));
+ ajax.put("originalFilename", file.getOriginalFilename());
+ return ajax;
+ }else {
+ return AjaxResult.error("上传失败");
+ }
+ }else {
+ // 如果是调解书并且是pdf,则删除之前的在新增
+ if(annexType!=null && annexType.equals(3) ){
+// if(StrUtil.isNotEmpty(suffix)&&!suffix.equals("pdf")){
+// return AjaxResult.error("请上传pdf格式文件");
+// }
+// annexType=AnnexTypeEnum.MEDIATE_BOOK_PDF.getCode();
+ // 先删除之前的附件
+ if(caseId!=null) {
+ caseAttachMapper.deleteCaseAttachByCasedIdAndType(caseId, annexType);
+ }
+ }
+ Long annexId = saveCaseAttach(annexType, name, file.getOriginalFilename(), caseId);
+
+ AjaxResult ajax = AjaxResult.success();
+ ajax.put("annexId", annexId);
+ ajax.put("annexType", annexType);
+ ajax.put("url", url);
+ ajax.put("fileName", name);
+ ajax.put("newFileName", FileUtils.getName(fileName));
+ ajax.put("originalFilename", file.getOriginalFilename());
+ return ajax;
+ }
+ }
+ catch (Exception e)
+ {
+ return AjaxResult.error(e.getMessage());
+ }
+ }
+ private Long saveCaseAttach(Integer annexType, String path, String originalFilename,Long caseId) {
+ CaseAttach caseAttach = CaseAttach.builder()
+ .annexName(originalFilename)
+ .caseAppliId(caseId)
+ .annexPath(path)
+ .annexType(annexType)
+ .userId(SecurityUtils.getUserId())
+ .userName(SecurityUtils.getUsername())
+ .build();
+
+ caseAttachMapper.save(caseAttach);
+ return caseAttach.getAnnexId();
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/SendMailRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/SendMailRecordController.java
new file mode 100644
index 0000000..ab3edd8
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/SendMailRecordController.java
@@ -0,0 +1,49 @@
+package com.ruoyi.web.controller.wisdomarbitrate.sendrecord;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SendMailRecord;
+import com.ruoyi.wisdomarbitrate.service.sendrecord.ISendMailRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/sendMailRecord")
+public class SendMailRecordController extends BaseController {
+ @Autowired
+ private ISendMailRecordService sendMailRecordService;
+
+ /**
+ * 查询发送邮件记录列表
+ */
+ @GetMapping("/list")
+ public TableDataInfo list(SendMailRecord sendMailRecord) {
+ startPage();
+ List list = sendMailRecordService.selectSendMailRecordList(sendMailRecord);
+ return getDataTable(list);
+ }
+
+ /**
+ * 编辑邮件记录
+ */
+ @PostMapping("/update")
+ public AjaxResult update(@RequestBody SendMailRecord sendMailRecord) {
+ return sendMailRecordService.updateSendMailRecord(sendMailRecord);
+ }
+
+ /**
+ * 重新发送邮件记录
+ */
+ @PostMapping("/reSendMailRecord")
+ public AjaxResult reSendMailRecord(@RequestBody SendMailRecord sendMailRecord) {
+ Boolean aBoolean = sendMailRecordService.reSendMailRecord(sendMailRecord);
+ if (aBoolean) {
+ return AjaxResult.success("发送成功");
+ } else {
+ return AjaxResult.error("发送失败");
+ }
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/ShortMessageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/ShortMessageController.java
new file mode 100644
index 0000000..dbfdb99
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/ShortMessageController.java
@@ -0,0 +1,143 @@
+package com.ruoyi.web.controller.wisdomarbitrate.sendrecord;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.framework.web.service.TokenService;
+
+import com.ruoyi.system.mapper.SysUserMapper;
+
+import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SmsSendRecord;
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsSendRecordParam;
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplateParam;
+import com.ruoyi.wisdomarbitrate.domain.shortmessage.MeetingInfo;
+import com.ruoyi.wisdomarbitrate.domain.vo.shortmessage.MeetingInfoVO;
+import com.ruoyi.wisdomarbitrate.domain.vo.shortmessage.ReSendMessageVO;
+import com.ruoyi.wisdomarbitrate.mapper.sendrecord.SmsRecordMapper;
+import com.ruoyi.wisdomarbitrate.mapper.shortmessage.MeetingInfoMapper;
+import com.ruoyi.wisdomarbitrate.mapper.sms.MsSmsSendHistoryRecordParamMapper;
+import com.ruoyi.wisdomarbitrate.mapper.sms.MsSmsSendRecordParamMapper;
+import com.ruoyi.wisdomarbitrate.service.shortmessage.ShortMessageService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import tk.mybatis.mapper.entity.Example;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("/shortMessage")
+public class ShortMessageController extends BaseController {
+ @Autowired
+ private SmsRecordMapper smsRecordMapper;
+ @Autowired
+ private ShortMessageService shortMessageService;
+ @Autowired
+ MsSmsSendRecordParamMapper recordParamMapper;
+ @Autowired
+ MsSmsSendHistoryRecordParamMapper historyRecordParamMapper;
+
+ /**
+ * 查询短信发送记录
+ *
+ * @param smsSendRecord
+ * @return
+ */
+ @GetMapping("/recordList")
+ public TableDataInfo smsSendRecordList(SmsSendRecord smsSendRecord) {
+ startPage();
+ List list = shortMessageService.smsSendRecordList(smsSendRecord);
+ return getDataTable(list);
+ }
+
+ @Anonymous
+ @PostMapping("/updateSendContent")
+ public AjaxResult update(@RequestBody SmsSendRecord smsSendRecord) {
+ if (smsSendRecord == null || smsSendRecord.getId() == null || CollectionUtil.isEmpty(smsSendRecord.getTemplateParams())) {
+ return AjaxResult.error("参数校验失败");
+ }
+ // 查询当前版本记录
+ SmsSendRecord oldSendRecord = smsRecordMapper.selectById(smsSendRecord.getId());
+ smsSendRecord.setUpdateTime(new Date());
+ // 更新短信内容,先删除短信记录参数表
+ Example recordParamExam = new Example(MsSmsSendRecordParam.class);
+ recordParamExam.createCriteria().andEqualTo("smsRecordId", smsSendRecord.getId());
+ recordParamMapper.deleteByExample(recordParamExam);
+ // 新增短信记录参数表
+ List recordParams = new ArrayList<>();
+ for (MsSmsTemplateParam templateParam : smsSendRecord.getTemplateParams()) {
+ MsSmsSendRecordParam recordParam = new MsSmsSendRecordParam();
+ recordParam.setSmsRecordId(smsSendRecord.getId());
+ recordParam.setParamValue(templateParam.getParamValue());
+ recordParams.add(recordParam);
+ }
+ recordParamMapper.batchInsert(recordParams);
+ shortMessageService.insertShortMessageHistoryRecord(oldSendRecord, recordParams);
+ return AjaxResult.success();
+
+ }
+
+ /**
+ * 重新发送短信
+ */
+ @Anonymous
+ @PostMapping("/reSendShortMessage")
+ public AjaxResult reSendShortMessage(@RequestBody ReSendMessageVO reSendMessageVO) {
+ if (reSendMessageVO != null) {
+ AjaxResult result = shortMessageService.reSendShortMessage(reSendMessageVO);
+ return result;
+ }
+ return AjaxResult.error("参数缺失");
+ }
+
+ /**
+ * 短信回调
+ * @param body
+ * @return
+ */
+ @Anonymous
+ @PostMapping("/smsCallBack")
+ public AjaxResult smsCallBack(@RequestBody String body) {
+ if(body != null){
+ return shortMessageService.smsCallBack(body);
+ }
+ return AjaxResult.error("参数缺失");
+ }
+
+ @Autowired
+ MeetingInfoMapper meetingInfoMapper;
+ @Autowired
+ SysUserMapper sysUserMapper;
+ @Autowired
+ private TokenService tokenService;
+
+ /**
+ * 查询UID好的密钥
+ */
+// @Anonymous
+// @GetMapping("/getMeetingInfo")
+// public Object getEncryptInfoByUid(@RequestParam(name = "authId", required = true) String authId) {
+// MeetingInfoVO result = new MeetingInfoVO();
+// if (authId != null) {
+// MeetingInfo meetingInfo = meetingInfoMapper.selectByPrimaryKey(authId);
+// if (meetingInfo != null && meetingInfo.getUserId() != null) {
+// BeanUtils.copyProperties(meetingInfo, result);
+// SysUser sysUser = sysUserMapper.selectUserById(meetingInfo.getUserId());
+// LoginUser loginUser = new LoginUser();
+// loginUser.setUserId(sysUser.getUserId());
+// loginUser.setUser(sysUser);
+// String token = tokenService.createVideoToken(loginUser, 120);
+//// String createToken = createToken(claims);
+// result.setToken(token);
+// }
+// return result;
+// }
+// return AjaxResult.error("查询失败");
+// }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sms/SMSTemplateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sms/SMSTemplateController.java
new file mode 100644
index 0000000..c74d475
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sms/SMSTemplateController.java
@@ -0,0 +1,55 @@
+package com.ruoyi.web.controller.wisdomarbitrate.sms;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplate;
+import com.ruoyi.wisdomarbitrate.service.sms.SMSTemplateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 短信模板控制器
+ */
+@RestController
+@RequestMapping("/smsTemplate")
+public class SMSTemplateController extends BaseController {
+ @Autowired
+ private SMSTemplateService templateService;
+
+ /**
+ * 查询
+ * @param
+ * @return
+ */
+ @GetMapping("/page")
+ public TableDataInfo page( ){
+ startPage();
+ List list = templateService.page();
+ return getDataTable(list);
+ }
+ /**
+ * 新增或者修改
+ * @param
+ * @return
+ */
+ @PostMapping("/insert")
+ public AjaxResult insert(@RequestBody MsSmsTemplate template){
+ return templateService.insert(template);
+ }
+ /**
+ * 删除
+ * @param
+ * @return
+ */
+ @PostMapping("/delete")
+ public AjaxResult delete(@RequestBody MsSmsTemplate template){
+ if(template.getId()==null){
+ return AjaxResult.warn("id不能为空");
+ }
+ return templateService.delete(template.getId());
+ }
+
+}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index fb697f9..2058ef9 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,7 +6,8 @@ spring:
druid:
# 主库数据源
master:
- url: jdbc:mysql://121.40.189.20:3306/test_smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
+ url: jdbc:mysql://121.40.189.20:3306/test_smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
+# url: jdbc:mysql://121.40.189.20:3306/smart_arbitration?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: YMzc157#
# 从库数据源
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 22aa6db..e9ecfa1 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -17,7 +17,7 @@ ruoyi:
# 开发环境配置
server:
- # 服务器的HTTP端口,默认为8080
+ # 服务器的HTTP端口,默认为8001,正式9001
port: 8001
servlet:
# 应用的访问路径
@@ -58,9 +58,9 @@ spring:
servlet:
multipart:
# 单个文件大小
- max-file-size: 50MB
+ max-file-size: 1000MB
# 设置总上传的文件大小
- max-request-size: 500MB
+ max-request-size: 10000MB
# 服务模块
devtools:
restart:
@@ -72,8 +72,8 @@ spring:
host: 121.40.189.20
# 端口,默认为6379
port: 6389
- # 数据库索引
- database: 0
+ # 数据库索引,2-正式,3-测试
+ database: 3
# 密码
password:
# 连接超时时间
@@ -121,7 +121,7 @@ token:
# 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期(默认30分钟)
- expireTime: 30
+ expireTime: 1200
# MyBatis配置
mybatis:
@@ -183,6 +183,14 @@ imConfig:
secretId: AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv
# 腾讯云密钥
secretKey: INDrIXcT8YmomZBcsy0oNirnU0LTN4X7
+# onlyOffice系统url配置
+onlyOfficeConfig:
+ # url: http://172.16.0.254:9090/files/upload
+ url: http://121.40.189.20:9090/files/upload
+# 调解机构代码配置
+organizeConfig:
+ # creditCode
+ creditCode: 910000058386410044
#jodconverter:
# local:
# host: 121.40.189.20
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java
index 30d3a56..3b8220a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java
@@ -42,4 +42,16 @@ public class CacheConstants
*/
public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
public static final String WE_CHAT_SMS_VERIFY_CODE_KEY="we_chat_sms_verify_code:";
+ /**
+ * 所有用户 redis key
+ */
+public static final String USER_KEY = "user_key:";
+ /**
+ * 用户邮箱 redis key
+ */
+// public static final String USER_EMAIL_KEY = "user_email_key:";
+ /**
+ * 角色 redis key
+ */
+ public static final String ROLE_KEY = "role_key:";
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CaseApplicationConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CaseApplicationConstants.java
index e7802e4..c08a512 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CaseApplicationConstants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CaseApplicationConstants.java
@@ -4,50 +4,56 @@ package com.ruoyi.common.constant;
*
*/
public class CaseApplicationConstants {
- /** 立案申请 */
+ /** 申请人/代理人,立案申请 */
public static final int CASE_APPLICATION = 0;
- /** 待立案审查 */
+ /**
+ * 案件新增
+ */
+ public static final int CASE_INSERT = -2;
+ /** 申请人/代理人,案件修改 */
+ public static final int CASE_EDIT = -1;
+ /** 顾问,待立案审查 */
public static final int CASE_CHECK = 1;
- /** 待缴费 */
+ /** 申请人、代理人,待缴费 */
public static final int PENDING_PAYMENT = 2;
- /** 待缴费确认 */
+ /** 财务,待缴费确认 */
public static final int PENDING_PAYMENT_CONFIRM = 3;
- /** 待案件质证 */
+ /** 被申,待案件质证 */
public static final int CASE_CROSSEXAMI = 4;
- /** 待组庭 */
+ /** 待定,待组庭 */
public static final int PENDING_TRIAL = 26;
- /** 待组庭审核 */
+ /** 顾问,待组庭审核 */
public static final int CONFIRMDED_PENDING_TRIAL_SUBMMIT = 5;
- /** 待组庭确定 */
+ /** 部门长,待组庭确定 */
public static final int CONFIRMDED_PENDING_TRIAL = 6;
- /** 待审核仲裁方式 */
+ /** 仲裁员,待审核仲裁方式 */
public static final int CHECK_ARBITRATION_METHOD = 7;
- /** 待开庭审理 */
+ /** 申请人,被申,顾问,仲裁员,待开庭审理 */
public static final int PENDING_OPENCOURT_HEAR = 8;
- /** 待书面审理 */
+ /** 申请人,被申,顾问,仲裁员,待书面审理 */
public static final int PENDING_WRIITEN_HEAR = 9;
- /** 待生成仲裁文书 */
+ /** 待生成裁决书 */
public static final int GENERATED_ARBITRATION = 10;
- /**待秘书核验仲裁文书*/
+ /**顾问,待秘书核验裁决书*/
public static final int VERPRIF_ARBITRATION = 11;
- /**待部门长审核仲裁文书*/
+ /**部门长,待部门长审核裁决书*/
public static final int CHECK_ARBITRATION = 12;
- /**待仲裁文书签名*/
+ /**仲裁员,待裁决书签名*/
public static final int SIGN_ARBITRATION = 13;
- /** 待仲裁文书用印 */
+ /** 顾问,待裁决书用印 */
public static final int ARBITRATED_SEAL = 14;
- /** 待仲裁文书送达 */
+ /** 顾问,待裁决书送达 */
public static final int ARBITRATION_DELIVERY = 15;
- /** 待案件归档*/
+ /** 顾问,待案件归档*/
public static final int CASE_FILING = 16;
/** 已归档*/
public static final int CASE_ARCHIVED = 17;
- /** 待修改开庭时间*/
+ /** 顾问,待修改开庭时间*/
public static final int MODIFY_HEARDATE = 31;
- /**待仲裁员审核仲裁文书*/
+ /**仲裁员,待仲裁员审核裁决书*/
public static final int HEAD_CHECK_ARBITRATION = 18;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
index e46e514..a247c16 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
@@ -154,4 +154,11 @@ public class Constants
*/
public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config" };
+ // 中文逗号分隔符
+ public static final String CN_SPLIT_COMMA = ",";
+ /**
+ * 会议主键Id
+ */
+ public static final String MEETING_KEY = "meeting_key";
+
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
index a685e06..4791a0f 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
@@ -1,6 +1,7 @@
package com.ruoyi.common.core.controller;
import java.beans.PropertyEditorSupport;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
@@ -82,6 +83,9 @@ public class BaseController
@SuppressWarnings({ "rawtypes", "unchecked" })
protected TableDataInfo getDataTable(List> list)
{
+ if(list == null){
+ list=new ArrayList<>();
+ }
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
index f98291a..2b94d71 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
@@ -54,6 +54,68 @@ public class SysDept extends BaseEntity
/** 父部门名称 */
private String parentName;
+ /**
+ * 代码(统一社会信用代码或者身份证号)
+ */
+ private String code;
+
+ /**
+ * 法定代表人
+ */
+ private String compLegalPerson;
+ /**
+ * 住所
+ */
+ private String home;
+ /**
+ * 联系地址
+ */
+ private String address;
+ /**
+ *
+ * 国籍,0-国内,1-国外
+ */
+ private Integer nationality;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getCompLegalPerson() {
+ return compLegalPerson;
+ }
+
+ public void setCompLegalPerson(String compLegalPerson) {
+ this.compLegalPerson = compLegalPerson;
+ }
+
+ public String getHome() {
+ return home;
+ }
+
+ public void setHome(String home) {
+ this.home = home;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public Integer getNationality() {
+ return nationality;
+ }
+
+ public void setNationality(Integer nationality) {
+ this.nationality = nationality;
+ }
public Integer getDeptType() {
return deptType;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index fd3106c..1073d80 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -38,6 +38,35 @@ public class SysUser extends BaseEntity
/** 用户昵称 */
@Excel(name = "用户名称")
private String nickName;
+
+ /** 用户昵称和待办数量 */
+ private String nickNameAndNum;
+
+ public String getNickNameAndNum() {
+ return nickNameAndNum;
+ }
+
+ public void setNickNameAndNum(String nickNameAndNum) {
+ this.nickNameAndNum = nickNameAndNum;
+ }
+ /** 身份类别,0-身份证,1-护照,默认0 */
+ private Integer idType;
+ /** 国籍,0-国内,1-国外,默认0 */
+
+ private Integer nationality;
+ /**
+ * 生日
+ */
+ private Date birth;
+ /**
+ * 住所
+ */
+ private String home;
+ /**
+ * 联系地址
+ */
+ private String address;
+
/** 用户身份证号 */
@Excel(name = "身份证号")
private String idCard;
@@ -93,12 +122,64 @@ public class SysUser extends BaseEntity
/** 角色ID */
private Long roleId;
+ /**
+ * 职位
+ */
+ private String position;
+
+ public String getPosition() {
+ return position;
+ }
+
+ public void setPosition(String position) {
+ this.position = position;
+ }
public SysUser()
{
}
+ public Integer getIdType() {
+ return idType;
+ }
+
+ public void setIdType(Integer idType) {
+ this.idType = idType;
+ }
+
+ public Integer getNationality() {
+ return nationality;
+ }
+
+ public void setNationality(Integer nationality) {
+ this.nationality = nationality;
+ }
+
+ public Date getBirth() {
+ return birth;
+ }
+
+ public void setBirth(Date birth) {
+ this.birth = birth;
+ }
+
+ public String getHome() {
+ return home;
+ }
+
+ public void setHome(String home) {
+ this.home = home;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
public SysUser(Long userId)
{
this.userId = userId;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/SMSStatusEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/SMSStatusEnum.java
new file mode 100644
index 0000000..dc7ea61
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/SMSStatusEnum.java
@@ -0,0 +1,64 @@
+package com.ruoyi.common.enums;
+
+
+
+/**
+ * @author wangqiong
+ * @description 短信状态枚举
+ * @date 2023-11-17 14:05
+ */
+public enum SMSStatusEnum
+{
+ SUCCESS(1, "成功"),
+ SENDING(2, "发送中"),
+ FAIL(3, "失败"),
+
+ ;
+
+ private final Integer code;
+ private final String text;
+
+ SMSStatusEnum(Integer code, String text)
+ {
+ this.code = code;
+ this.text = text;
+ }
+
+ public Integer getCode()
+ {
+ return code;
+ }
+
+ public String getText()
+ {
+ return text;
+ }
+
+ /**
+ * 根据code获取text
+ * @param codeNo
+ * @return
+ */
+ public static String getTextByCode(Integer codeNo){
+ for (SMSStatusEnum value : SMSStatusEnum.values()) {
+ if (value.getCode().equals(codeNo)){
+ return value.getText();
+ }
+ }
+ return codeNo.toString();
+ }
+
+ /**
+ * 根据text获取code
+ * @param textStr
+ * @return
+ */
+ public static String getCodeByText(String textStr){
+ for (SMSStatusEnum value : SMSStatusEnum.values()) {
+ if (value.getText().equals(textStr)){
+ return value.getText();
+ }
+ }
+ return textStr;
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/CheckSignatuerUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CheckSignatuerUtils.java
new file mode 100644
index 0000000..45376f3
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CheckSignatuerUtils.java
@@ -0,0 +1,58 @@
+package com.ruoyi.common.utils;
+
+import cn.hutool.core.io.IoUtil;
+import cn.hutool.crypto.digest.HMac;
+import cn.hutool.crypto.digest.HmacAlgorithm;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+
+public class CheckSignatuerUtils {
+
+ 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 boolean checkSignuter(String paramsbody) throws Exception {
+ HttpServletRequest reqParam = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+ String timestampstr = reqParam.getHeader("timestampstr");
+ String signstr = reqParam.getHeader("signstr");
+ String accessSec = "mCFMA6ffe938v79m";
+ String newSignuter = getSign(paramsbody, accessSec,Long.parseLong(timestampstr));
+ if (StringUtils.equals(signstr, newSignuter)) {
+ return true;
+ }else {
+ return false;
+ }
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/EmailOutUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/EmailOutUtil.java
index 2b6ebbf..2e9882a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/EmailOutUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/EmailOutUtil.java
@@ -1,9 +1,13 @@
package com.ruoyi.common.utils;
+
+import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.uuid.UUID;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
@@ -14,18 +18,17 @@ import org.springframework.stereotype.Component;
import javax.activation.DataHandler;
import javax.mail.*;
import javax.mail.internet.*;
+import javax.mail.search.*;
import javax.mail.util.ByteArrayDataSource;
import javax.validation.constraints.NotNull;
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.security.Security;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
+import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.stream.Stream;
/**
* @ClassName EmailInUtil
@@ -50,8 +53,10 @@ public class EmailOutUtil {
private String hostOut;
@Value("${spring.mail.username}")
private String usernameOut;
+
@Value("${spring.mail.password}")
private String passwordOut;
+
@Value("${spring.mail.port}")
private Integer portOut;
@@ -73,18 +78,29 @@ public class EmailOutUtil {
* @param subject 邮件主题
* @param content 邮件内容(发送内容)
*/
- public void sendMessage(String to, String subject, String content, String from, JavaMailSender mailSender) {
- // 创建一个邮件对象
- SimpleMailMessage msg = new SimpleMailMessage();
- msg.setFrom(from);
- msg.setTo(to);
- // 设置邮件主题
- msg.setSubject(subject);
- // 设置邮件内容
- msg.setText(content);
- // 发送邮件
- mailSender.send(msg);
- ////System.out.println("发送成功:" + from + ":to:" + to);
+ public Boolean sendMessage(String to, String subject, String content, String from, JavaMailSender mailSender) {
+ try {
+ if(mailSender==null){
+ mailSender= rebuildMailSender();
+ }
+ // 创建一个邮件对象
+ SimpleMailMessage msg = new SimpleMailMessage();
+ if(StrUtil.isEmpty(from)){
+ msg.setFrom(usernameOut);
+ }else {
+ msg.setFrom(from);
+ }
+ msg.setTo(to);
+ // 设置邮件主题
+ msg.setSubject(subject);
+ // 设置邮件内容
+ msg.setText(content);
+ // 发送邮件
+ mailSender.send(msg);
+ } catch (MailException e) {
+ return false;
+ }
+ return true;
}
/**
@@ -92,13 +108,14 @@ public class EmailOutUtil {
* @param message 邮件内容
* @param subject 邮件主题
* @param fileList 邮件附件
+ * @param fileNameMap 附件名称map,附件路径-附件名称
*/
- public Boolean sendEmil(String to, String message, String subject, List fileList, File file) {
+ public Boolean sendEmil(String to, String message, String subject, List fileList, File file,Map fileNameMap) {
try {
String messageContent = ""+message+"。
";
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(messageContent, "text/html;charset=utf-8");
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
+ messageBodyPart.setContentID(UUID.randomUUID().toString());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
//设置邮件会话参数
Properties props = new Properties();
@@ -150,7 +167,10 @@ public class EmailOutUtil {
for (File tempfile : fileList) {
MimeBodyPart attachmentPart = new MimeBodyPart();
attachmentPart.attachFile(tempfile);
- attachmentPart.setFileName(MimeUtility.encodeText(tempfile.getName()));
+ // 设置附件名称
+ if(fileNameMap!=null && fileNameMap.containsKey(tempfile.getPath())) {
+ attachmentPart.setFileName(MimeUtility.encodeText(fileNameMap.get(tempfile.getPath())));
+ }
multipart.addBodyPart(attachmentPart);
}
msg.setContent(multipart);
@@ -269,4 +289,164 @@ public class EmailOutUtil {
}
return flag;
}
+ public void buildReceiveConnect() throws Exception {
+
+ //POP3主机名
+ String host = "pop3.163.com";
+ //设置传输协议
+ String protocol = "pop3";
+ //用户账号
+ String username = "wq18792927508@163.com";
+ //密码或者授权码
+ String password = "WDFHKSEMCKVRELEA";
+ /*
+ * 获取Session
+ */
+ Properties props = new Properties();
+ //协议
+ props.setProperty("mail.store.protocol", protocol);
+ //POP3主机名
+ props.setProperty("mail.pop3.host", host);
+ props.setProperty("mail.smtp.auth", "true");
+ props.setProperty("mail.pop3.default-encoding", "UTF-8");
+ Session session = Session.getDefaultInstance(props, new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(usernameOut, passwordOut);
+ }
+ });
+ URLName urlName = new URLName(protocol, host, 110, null, username, password);
+ Store store = session.getStore(urlName);
+ store.connect(username, password);
+
+
+ Folder folder = store.getFolder("INBOX");
+
+ folder.open(Folder.READ_ONLY);
+
+ }
+ /**
+ * 接收邮件
+ */
+ public List receiverMail() {
+ List messageIds=new ArrayList<>();
+
+// session.setDebug(true);
+
+ try {
+ //POP3主机名
+ String host = "pop3.163.com";
+ //设置传输协议
+ String protocol = "pop3";
+ //用户账号
+ String username = "wq18792927508@163.com";
+ //密码或者授权码
+ String password = "WDFHKSEMCKVRELEA";
+ /*
+ * 获取Session
+ */
+ Properties props = new Properties();
+ //协议
+ props.setProperty("mail.store.protocol", protocol);
+ //POP3主机名
+ props.setProperty("mail.pop3.host", host);
+ props.setProperty("mail.smtp.auth", "true");
+ props.setProperty("mail.pop3.default-encoding", "UTF-8");
+ Session session = Session.getDefaultInstance(props, new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(usernameOut, passwordOut);
+ }
+ });
+ URLName urlName = new URLName(protocol, host, 110, null, username, password);
+ Store store = session.getStore(urlName);
+ store.connect(username, password);
+
+
+ Folder folder = store.getFolder("INBOX");
+ folder.open(Folder.READ_ONLY);
+ SearchTerm orTerm = new SubjectTerm("退信");
+ // Message[] messages = folder.search(orTerm);
+ Date endTime= new Date();
+ long oneDayMillis=24*60*60*1000L;
+ Date startTime=new Date(endTime.getTime()-oneDayMillis);
+ // SearchTerm comparisonTermGe = new SentDateTerm(ComparisonTerm.GE, startTime);
+ // SearchTerm comparisonTermLe = new SentDateTerm(ComparisonTerm.LE, endTime);
+ // SearchTerm comparisonAndTerm = new AndTerm(comparisonTermGe, comparisonTermLe);
+ // SearchTerm searchTerm = new AndTerm(comparisonAndTerm, orTerm);
+ Message[] messages = folder.search(orTerm);
+ if (messages != null) {
+
+ Arrays.stream(messages).forEach(message -> {
+ String messageId="";
+ try {
+ messageId = EmailUtil.getMessageId(message,session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ messageIds.add(messageId);
+ });
+
+ }
+
+ folder.close(false);
+ store.close();
+ } catch (Exception e) {
+ return messageIds;
+ }
+ return messageIds;
+ }
+
+ public void analyseMail(Session session, Object content) throws Exception {
+
+ if (content instanceof Multipart) {
+ Multipart multipart = (Multipart) content;
+ for (int i = 0; i < multipart.getCount(); i++) {
+ BodyPart bodyPart = multipart.getBodyPart(i);
+// if (bodyPart.isMimeType("message/rfc822")) { if(bodyPart.getContentType().startsWith("Message/Rfc822"));
+// MimeMessage mimeMessage = new MimeMessage(session, bodyPart.getInputStream());
+// }
+ if(bodyPart.isMimeType("Message/Rfc822")){
+ MimeMessage mimeMessage = new MimeMessage(session, bodyPart.getInputStream());
+ }
+ }
+ }
+ }
+ public static String getMessageId(Part part) throws Exception {
+ if (!part.isMimeType("multipart/*")) {
+ return "";
+ }
+
+ Multipart multipart = (Multipart) part.getContent();
+ for (int i = 0; i < multipart.getCount(); i++) {
+ BodyPart bodyPart = multipart.getBodyPart(i);
+
+ if (part.isMimeType("message/rfc822")) {
+ return getMessageId((Part) part.getContent());
+ }
+ InputStream inputStream = bodyPart.getInputStream();
+
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {
+ String strLine;
+ while ((strLine = br.readLine()) != null) {
+ if (strLine.startsWith("Message_Id:")) {
+ String[] split = strLine.split("Message_Id:");
+ return split.length > 1 ? split[1].trim() : null;
+ }
+ }
+ }
+ }
+
+ return "";
+ }
+
+
+//检查退信邮件
+// Folder folder = ...; //打开收件箱
+// Message[] messages = folder.getMessages();
+// for (Message message : messages) {
+// if (message.getSubject().contains("Delivery Status Notification")) {
+// System.out.println("Delivery failed for recipient: " + message.getRecipients()[0]);
+// }
+// }
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/EmailUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/EmailUtil.java
new file mode 100644
index 0000000..bb1f2d2
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/EmailUtil.java
@@ -0,0 +1,68 @@
+package com.ruoyi.common.utils;
+
+import lombok.extern.slf4j.Slf4j;
+
+import javax.mail.*;
+import javax.mail.internet.MimeMessage;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+@Slf4j
+public final class EmailUtil {
+
+ private static final String multipart = "multipart/*";
+
+
+
+ public static String getMessageId(Part part, Session session) throws Exception {
+ if (!part.isMimeType(multipart)) {
+ return "";
+
+ }
+
+ Multipart multipart = (Multipart) part.getContent();
+ for (int i = 0; i < multipart.getCount(); i++) {
+ BodyPart bodyPart = multipart.getBodyPart(i);
+ if(bodyPart.getContentType().contains("Message/Rfc822")){
+ MimeMessage mimeMessage = new MimeMessage(session, bodyPart.getInputStream());
+ if(mimeMessage.getSubject()!=null&&mimeMessage.getSubject().contains("裁决书")){
+ String[] split = mimeMessage.getSubject().split("裁决书");
+ if(split.length>0){
+ return split[0];
+ }
+ }
+ }
+ } return "";
+ }
+
+ public static boolean isContainAttachment(Part part) {
+ boolean attachFlag = false;
+ try {
+ if (part.isMimeType(multipart)) {
+ Multipart mp = (Multipart) part.getContent();
+ for (int i = 0; i < mp.getCount(); i++) {
+ BodyPart mpart = mp.getBodyPart(i);
+ String disposition = mpart.getDisposition();
+ if ((disposition != null) && ((disposition.equals(Part.ATTACHMENT)) || (disposition.equals(Part.INLINE))))
+ attachFlag = true;
+ else if (mpart.isMimeType(multipart)) {
+ attachFlag = isContainAttachment((Part) mpart);
+ } else {
+ String contype = mpart.getContentType();
+ if (contype.toLowerCase().contains("application"))
+ attachFlag = true;
+ if (contype.toLowerCase().contains("name"))
+ attachFlag = true;
+ }
+ }
+ } else if (part.isMimeType("message/rfc822")) {
+ attachFlag = isContainAttachment((Part) part.getContent());
+ }
+ } catch (MessagingException | IOException e) {
+ e.printStackTrace();
+ }
+ return attachFlag;
+ }
+}
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PdfUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PdfUtils.java
index 05afb65..089ebb0 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PdfUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PdfUtils.java
@@ -44,7 +44,7 @@ public class PdfUtils {
document.setMarginMirroring(false);
document.open();
// 解决PDF中文不显示
- String fontPath = "/D:/simsun.ttf"; //字体文件路径
+ String fontPath = "/home/ruoyi/uploadPath/songfont/simsun.ttf"; //字体文件路径
XMLWorkerFontProvider provider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
provider.register(fontPath);//注册字体
log.error("注册字体");
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
deleted file mode 100644
index ff0ce9e..0000000
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SmsUtils.java
+++ /dev/null
@@ -1,78 +0,0 @@
-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;
-
-import java.util.Objects;
-
-@Slf4j
-public class SmsUtils {
- //应用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 );
-
- 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.setSignName(SIGN_NAME);
- req.setTemplateId(request.getTemplateId());
- req.setTemplateParamSet(request.getTemplateParamSet());
- SendSmsResponse res = null;
- try {
- res = client.SendSms(req);
- } catch (TencentCloudSDKException e) {
- log.error("发送短信出错:", e);
- return Boolean.FALSE;
- }
- 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;
- }
- /**
- * 参数对象
- */
- @Data
- public static class SendSmsRequest {
- /**
- * 电话
- */
- private String phone;
-
- /**
- * 模板 ID: 必须填写已审核通过的模板 ID
- */
- private String templateId;
-
- /**
- * 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空
- */
- private String[] templateParamSet;
- private Long caseId;
-
- }
-}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ThreadUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ThreadUtil.java
new file mode 100644
index 0000000..f26e666
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ThreadUtil.java
@@ -0,0 +1,23 @@
+package com.ruoyi.common.utils;
+
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
+import java.util.concurrent.*;
+
+/**
+ * @Author: ymbgy
+ * @Date: 2022-09-23 10:06
+ */
+public class ThreadUtil {
+ public static ExecutorService createThreadPool() {
+ //获取系统处理器个数,作为线程池数量
+ int nThreads = Runtime.getRuntime().availableProcessors();
+ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
+ .setNameFormat("demo-pool-%d").build();
+ //Thread Pool
+ ExecutorService executor = new ThreadPoolExecutor(nThreads, 200,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ return executor;
+ }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
index 46ab4b2..410f69f 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
@@ -1,11 +1,12 @@
package com.ruoyi.framework.config;
import java.util.TimeZone;
-import org.mybatis.spring.annotation.MapperScan;
+//import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
+import tk.mybatis.spring.annotation.MapperScan;
/**
* 程序注解配置
diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml
index 971c071..3a2a414 100644
--- a/ruoyi-system/pom.xml
+++ b/ruoyi-system/pom.xml
@@ -12,11 +12,16 @@
ruoyi-system
- system系统模块
+
-
+
+
+ tk.mybatis
+ mapper-spring-boot-starter
+ 2.1.5
+
com.ruoyi
@@ -33,7 +38,17 @@
tls-sig-api-v2
1.2
-
+
+
+ tk.mybatis
+ mapper-spring-boot-starter
+ 2.1.5
+
+
+ org.projectlombok
+ lombok
+ 1.18.22
+
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
index 4ef0d06..4270b36 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
@@ -124,4 +124,11 @@ public interface SysDeptMapper
* @return
*/
int batchSave(@Param("list")List sysDepts);
+
+ /**
+ * 根据部门名称查询部门信息
+ * @param deptName
+ * @return
+ */
+ public SysDept selectDeptByName(@Param("deptName") String deptName);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
index e23c18f..cf2cc6b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -171,4 +171,17 @@ public interface SysUserMapper
* @return
*/
int batchSave(@Param("list")List addUsers);
+ /**
+ * 根据邮箱查询用户信息
+ * @param email
+ * @return
+ */
+ SysUser selectUserByEmail(String email);
+
+ /**
+ * 根据角色查询用户
+ * @param 法律顾问
+ * @return
+ */
+ SysUser selectUserByRole(String 法律顾问);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
index 3143ec8..8942a7b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
@@ -59,4 +59,13 @@ public interface SysUserRoleMapper
* @return 结果
*/
public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);
+
+ /**
+ * 根据用户id查询关联的角色id
+ * @param userId
+ * @return
+ */
+ List selectRoleIdsByUserId(Long userId);
+
+ void insertUserRole(@Param("userId") Long userId,@Param("roleId") Long roleId);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
index 7d60696..6c33221 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
@@ -2,6 +2,8 @@ package com.ruoyi.system.service;
import java.util.List;
import java.util.Set;
+
+import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.system.domain.vo.RouterVo;
@@ -141,4 +143,9 @@ public interface ISysMenuService
* @return 结果
*/
public boolean checkMenuNameUnique(SysMenu menu);
+ /**
+ * 根据用户查询菜单权限字符
+ * @return
+ */
+ AjaxResult getMenuPermsByUser();
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index 8830025..e051e40 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -20,6 +20,12 @@ public interface ISysUserService
* @return 用户信息集合信息
*/
public List selectUserList(SysUser user);
+
+ /**
+ * 查询仲裁员
+ * @param arbitrator
+ * @return
+ */
public List selectUserListByAdRole(Arbitrator arbitrator);
/**
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index 225c280..e0c565e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -8,6 +8,8 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
+
+import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.constant.Constants;
@@ -528,4 +530,11 @@ public class SysMenuServiceImpl implements ISysMenuService
return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, "." },
new String[] { "", "", "", "/" });
}
+ @Override
+ public AjaxResult getMenuPermsByUser() {
+ AjaxResult result = AjaxResult.success();
+ List perms = menuMapper.selectMenuPermsByUserId(SecurityUtils.getUserId());
+ result.put("perms",perms);
+ return result;
+ }
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 2505f1f..0684335 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -6,11 +6,17 @@ import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.mapper.*;
import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
+import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
+import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
+import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper;
import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
+import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -64,9 +70,13 @@ public class SysUserServiceImpl implements ISysUserService {
@Autowired
private CaseApplicationMapper caseApplicationMapper;
+ @Autowired
+ private CaseAffiliateMapper caseAffiliateMapper;
@Autowired
protected Validator validator;
+ @Autowired
+ protected ICaseApplicationService caseApplicationService;
/**
* 根据条件分页查询用户列表
@@ -80,21 +90,41 @@ public class SysUserServiceImpl implements ISysUserService {
return userMapper.selectUserList(user);
}
+ /**
+ * 查询仲裁员
+ * @param arbitrator
+ * @return
+ */
@Override
public List selectUserListByAdRole(Arbitrator arbitrator) {
+ // 根据案件id查询案件
+ List caseAffiliates = caseApplicationService.selectAfflicatesByCaseId(arbitrator.getCaseId());
+ List userIds=new ArrayList<>();
+ if(CollectionUtil.isNotEmpty(caseAffiliates)){
+ for (CaseAffiliateEntity affiliate : caseAffiliates) {
+ if(null!=affiliate.getUserId()) {
+ userIds.add(affiliate.getUserId());
+ }
+
+ }
+ }
List sysUsers = userMapper.selectUserListByAdRole(arbitrator);
- if(sysUsers!=null&&sysUsers.size()>0){
+ List arbitrators = new ArrayList<>();
+ if(CollectionUtil.isNotEmpty(sysUsers)){
for(SysUser sysUser: sysUsers){
- Long userId = sysUser.getUserId();
- int casenum = caseApplicationMapper.selectCasenum(userId.toString());
- String nickName = sysUser.getNickName();
- String nickNamenew = nickName + "(待办案件数量" + casenum + "个)";
- sysUser.setNickName(nickNamenew);
+ if(!userIds.contains(sysUser.getUserId())) {
+ Long userId = sysUser.getUserId();
+ int todoCount = caseApplicationMapper.selectCasenum(userId.toString());
+ String nickName = sysUser.getNickName();
+ String nickNamenew = nickName + "(待办案件数量" + todoCount + "个)";
+ sysUser.setNickNameAndNum(nickNamenew);
+ arbitrators.add(sysUser);
+ }
}
}
- return sysUsers;
+ return arbitrators;
}
/**
@@ -259,6 +289,13 @@ public class SysUserServiceImpl implements ISysUserService {
@Override
@Transactional
public AjaxResult insertUser(SysUser user) {
+ // 校验手机号是否重复
+ if(StrUtil.isNotEmpty(user.getPhonenumber())){
+ if(userMapper.checkPhoneUnique(user.getPhonenumber())!=null){
+ return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
+ }
+ }
+
Long deptId = user.getDeptId();
Long[] postIds = user.getPostIds();
if (deptId != null) {
@@ -296,6 +333,11 @@ public class SysUserServiceImpl implements ISysUserService {
*/
@Override
public boolean registerUser(SysUser user) {
+ if(StrUtil.isNotEmpty(user.getPhonenumber())){
+ if(userMapper.checkPhoneUnique(user.getPhonenumber())!=null){
+ throw new ServiceException("注册用户'" + user.getUserName() + "'失败,手机号码已存在");
+ }
+ }
return userMapper.insertUser(user) > 0;
}
@@ -315,13 +357,15 @@ public class SysUserServiceImpl implements ISysUserService {
Integer deptType = dept.getDeptType();
if (deptType != null && deptType.intValue() == 1) {
SysPost sysPost = postMapper.selectPostByPostCode("jbr");
- Long postId = sysPost.getPostId();
- if (postIds.length > 0) {
- boolean isContain = Arrays.asList(postIds).contains(postId);
- if (isContain) {
- List sysUsers = userMapper.selectUserByDeptId(deptId);
- if (sysUsers != null && sysUsers.size() > 0) {
- return AjaxResult.error("部门类型为仲裁机构的部门的岗位为经办人的用户只能有一个!");
+ if(sysPost!=null) {
+ Long postId = sysPost.getPostId();
+ if (postIds.length > 0) {
+ boolean isContain = Arrays.asList(postIds).contains(postId);
+ if (isContain) {
+ List sysUsers = userMapper.selectUserByDeptId(deptId);
+ if (sysUsers != null && sysUsers.size() > 0) {
+ return AjaxResult.error("部门类型为仲裁机构的部门的岗位为经办人的用户只能有一个!");
+ }
}
}
}
@@ -522,6 +566,11 @@ public class SysUserServiceImpl implements ISysUserService {
BeanValidators.validateWithException(validator, user);
user.setPassword(SecurityUtils.encryptPassword(password));
user.setCreateBy(operName);
+ if(StrUtil.isNotEmpty(user.getPhonenumber())){
+ if(userMapper.checkPhoneUnique(user.getPhonenumber())!=null){
+ throw new ServiceException("导入用户'" + user.getUserName() + "'失败,手机号码已存在");
+ }
+ }
userMapper.insertUser(user);
successNum++;
successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 导入成功");
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/StringIdsReq.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/StringIdsReq.java
new file mode 100644
index 0000000..07c5b6c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/StringIdsReq.java
@@ -0,0 +1,26 @@
+package com.ruoyi.wisdomarbitrate;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class StringIdsReq {
+ private List ids;
+ /**
+ * 签署人账号(即仲裁员手机号)
+ */
+ private String psnAccount;
+ /**
+ * 签署人id
+ */
+ private String psnId ;
+ /**
+ * 机构账户
+ */
+ private String orgId ;
+ /**
+ * 批号
+ */
+ private Integer batchNumber;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java
index eed8844..a86b846 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java
@@ -28,7 +28,7 @@ public class ArbitrateRecord extends BaseEntity {
/** 仲裁员审核裁决书意见 */
private String arbitraCheckOpinion;
/** 裁决书附件id */
- private Integer annexId;
+ private Long annexId;
/** 被申请人是否缺席 */
private Integer isAbsence;
@@ -62,14 +62,17 @@ public class ArbitrateRecord extends BaseEntity {
*/
private String caseCheckReject;
/**
- * 仲裁员确认裁决书驳回
+ * 裁决书驳回原因
*/
private String arbitrateReject;
/**
* 部门长确认裁决书驳回
*/
private String deptorReject;
-
+ /**
+ * 缴费确认驳回原因
+ */
+ private String payRejectReason;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java
index 4e73c8d..09d4482 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java
@@ -9,6 +9,10 @@ public class Arbitrator extends BaseEntity {
/** ID */
private Long id;
+ /**
+ * 案件id
+ */
+ private Long caseId;
/** 仲裁员姓名 */
private String arbitratorName;
/** 职称 */
@@ -47,6 +51,14 @@ public class Arbitrator extends BaseEntity {
/** 已结案数量 */
private int closedCaseNum;
+ public Long getCaseId() {
+ return caseId;
+ }
+
+ public void setCaseId(Long caseId) {
+ this.caseId = caseId;
+ }
+
public Long getId() {
return id;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java
index 0a81451..72abf5a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/BatchCaseApplication.java
@@ -22,4 +22,10 @@ public class BatchCaseApplication {
private Integer opinion;
/** 驳回原因 */
private String caseCheckReject;
+ /**
+ * 批号
+ */
+ private String batchNumber;
+
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java
index a92310b..4d9b7e6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java
@@ -3,6 +3,7 @@ package com.ruoyi.wisdomarbitrate.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.wisdomarbitrate.domain.vo.CaseAffiliateVO;
import lombok.Data;
import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
@@ -17,6 +18,19 @@ public class CaseApplication extends BaseEntity {
* 查询案件时区分是否待办案件,0待办案件,1已办案件
*/
private String selectCaseStatus;
+ /**
+ * 房间号
+ */
+ private String roomId;
+ /**
+ * 仲裁员,0-否,1-是
+ */
+ private Integer arbitratorFlag;
+ /**
+ * 第三方代理人,0-否,1-是
+ */
+ private Integer agentFlag;
+
/** ID */
private Long id;
@@ -26,6 +40,10 @@ public class CaseApplication extends BaseEntity {
/** 案件编号 */
// @Excel(name = "案件编号")
private String caseNum;
+ /**
+ * 是否同意,0-否
+ */
+ private Integer opinion;
/** 案件标的 */
@Excel(name = "案件标的")
private BigDecimal caseSubjectAmount;
@@ -39,7 +57,7 @@ public class CaseApplication extends BaseEntity {
/** 立案日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date registerDate;
- /** 仲裁方式 */
+ /** 仲裁方式 ,1-开庭,2-书面*/
private Integer arbitratMethod;
/**
* 是否导入,0手动录入,1导入,默认0
@@ -50,12 +68,17 @@ public class CaseApplication extends BaseEntity {
/** 案件状态 */
private Integer caseStatus;
+ private String caseStatusstr;
/** 申请人是否书面审理 */
private Integer applicantIsWrittenHear;
/** 被申请人是否书面审理 */
private Integer respondentIsWrittenHear;
+ /** 开庭方式是否一致 */
+ private Integer arbitraMethodIssame;
+ /** 仲裁方式说明 */
+ private String arbitratMethodIllustrate;
/** 案件申请表ID */
@@ -183,11 +206,15 @@ public class CaseApplication extends BaseEntity {
/**
* 用户id
*/
- private String userId;
+ private Long userId;
/**
* 登录用户用户名
*/
private String loginUserName;
+ /**
+ * 登录人电话
+ */
+ private String loginUserPhone;
private List deptIds;
/**
* 部门长状态
@@ -202,7 +229,7 @@ public class CaseApplication extends BaseEntity {
*/
private Integer financeStatus;
/**
- * 是否是被申请人,仲裁员,部门长,财务,代理人,0-否,1-是
+ * 是否查询全部节点
*/
private Integer isOtherRole;
/**
@@ -214,7 +241,7 @@ public class CaseApplication extends BaseEntity {
/** 是否指派仲裁员 */
private int pendingAppointArbotrar;
/** 案件关联人信息 */
- private List caseAffiliates;
+ private CaseAffiliateVO affiliate;
/** 案件仲裁员 */
private List arbitrators;
@@ -222,7 +249,10 @@ public class CaseApplication extends BaseEntity {
private List caseStatusList;
private List annexTypeList;
-
+ /**
+ * 立案申请书(1)、申请人证据材料(2)、裁决书(3)、案件视频(4)、身份证件(5)
+ * 被申请人证据材料 (6)、庭审笔录(7)、缴费凭证(8)、视频录制(9)、公章图片(10)、语音转录文件(11)
+ */
private Integer annexType;
/**
* 案件附件列表
@@ -403,9 +433,29 @@ public class CaseApplication extends BaseEntity {
/**
* 批号
*/
- private String batchNumber;
+ private Integer batchNumber;
/**
* 自定义字段
*/
private List columnValues;
+ /**
+ * 待办状态,0待办,1已办
+ */
+ private Integer pendingStatus;
+ /** e签宝流程id */
+ private String signFlowId;
+ /**
+ * 登录用户名
+ */
+ private String userName;
+ // 缴费确认驳回原因
+ private String payRejectReason;
+ /**
+ * 仲裁员确认裁决书驳回原因
+ */
+ private String arbitrateReject;
+ /**
+ * deptorReject:部门长驳回原因
+ */
+ private String deptorReject;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseAttach.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseAttach.java
index e39680a..14cea94 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseAttach.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseAttach.java
@@ -1,19 +1,22 @@
package com.ruoyi.wisdomarbitrate.domain;
+
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-@Data
+import java.util.List;
+
@Builder
+@Data
@AllArgsConstructor
@NoArgsConstructor
-public class CaseAttach {
+public class CaseAttach {
/**
- * 附件id
+ * 附件id
*/
- private Integer annexId;
+ private Long annexId;
/**
* 案件申请id
*/
@@ -22,6 +25,10 @@ public class CaseAttach {
* 案件记录id
*/
private Long caseAppliLogId;
+ /**
+ * onlyOffice附件id
+ */
+ private String onlyOfficeFileId;
/**
* 附件名称
*/
@@ -31,7 +38,7 @@ public class CaseAttach {
*/
private String annexPath;
/**
- * 附件类型,立案申请书(1)、申请人证据材料(2)、仲裁文书(3)、案件视频(4)、身份证件(5)、被申请人证据材料 (6)、庭审笔录(7)、缴费凭证(8)'
+ * 附件类型,立案申请书(1)、申请人证据材料(2)、裁决书(3)、案件视频(4)、身份证件(5)、被申请人证据材料 (6)、庭审笔录(7)、缴费凭证(8)'
*/
private Integer annexType;
/**
@@ -54,5 +61,9 @@ public class CaseAttach {
* 是否是证据上传,0-否,1-是
*/
private Integer isBatchUpload;
+ /**
+ * 附件ids
+ */
+ private List fileIds;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseEvidenceDirectory.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseEvidenceDirectory.java
index 57c29de..a5f3527 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseEvidenceDirectory.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseEvidenceDirectory.java
@@ -34,7 +34,7 @@ public class CaseEvidenceDirectory extends BaseEntity {
/**
* 附件id
*/
- private Integer annexId;
+ private Long annexId;
/**
* 级数
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseLogRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseLogRecord.java
index 0441575..295f91a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseLogRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseLogRecord.java
@@ -42,6 +42,18 @@ public class CaseLogRecord extends BaseEntity {
* 下一个节点角色名称
*/
private String nextRoleName;
+ /**
+ * 当前节点角色名称
+ */
+ private String currentRoleName;
+
+ public String getCurrentRoleName() {
+ return currentRoleName;
+ }
+
+ public void setCurrentRoleName(String currentRoleName) {
+ this.currentRoleName = currentRoleName;
+ }
public String getNextRoleName() {
return nextRoleName;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealManage.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealManage.java
index 3b835d8..84371fe 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealManage.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealManage.java
@@ -29,7 +29,7 @@ public class SealManage extends BaseEntity {
/**
* 附件id
*/
- private Integer annexId;
+ private Long annexId;
/**
* 印章审核状态(0未通过,1通过)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealSignRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealSignRecord.java
index 7365e10..00b2748 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealSignRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SealSignRecord.java
@@ -1,7 +1,13 @@
package com.ruoyi.wisdomarbitrate.domain;
import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
public class SealSignRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -25,15 +31,6 @@ public class SealSignRecord extends BaseEntity {
private String orgnizeNamepsnName;
String fileDownloadUrl;
-
- public String getFileDownloadUrl() {
- return fileDownloadUrl;
- }
-
- public void setFileDownloadUrl(String fileDownloadUrl) {
- this.fileDownloadUrl = fileDownloadUrl;
- }
-
/** 流程状态 */
private Integer signFlowStatus;
/** 签名状态 */
@@ -44,171 +41,11 @@ public class SealSignRecord extends BaseEntity {
/** 签名链接 */
private String signUrl;
- public String getSignUrl() {
- return signUrl;
- }
-
- public void setSignUrl(String signUrl) {
- this.signUrl = signUrl;
- }
-
- public String getSealUrl() {
- return sealUrl;
- }
-
- public void setSealUrl(String sealUrl) {
- this.sealUrl = sealUrl;
- }
-
/** 用印链接 */
private String sealUrl;
private Long caseAppliId;
- public Long getCaseAppliId() {
- return caseAppliId;
- }
-
- public void setCaseAppliId(Long caseAppliId) {
- this.caseAppliId = caseAppliId;
- }
-
- public Integer getPsnsignStatus() {
- return psnsignStatus;
- }
-
- public void setPsnsignStatus(Integer psnsignStatus) {
- this.psnsignStatus = psnsignStatus;
- }
-
- public Integer getOrgsignStatus() {
- return orgsignStatus;
- }
-
- public void setOrgsignStatus(Integer orgsignStatus) {
- this.orgsignStatus = orgsignStatus;
- }
-
- public Integer getSignFlowStatus() {
- return signFlowStatus;
- }
-
- public void setSignFlowStatus(Integer signFlowStatus) {
- this.signFlowStatus = signFlowStatus;
- }
-
- public String getFileid() {
- return fileid;
- }
-
- public void setFileid(String fileid) {
- this.fileid = fileid;
- }
-
- public String getFilename() {
- return filename;
- }
-
- public void setFilename(String filename) {
- this.filename = filename;
- }
-
- public String getSignFlowid() {
- return signFlowid;
- }
-
- public void setSignFlowid(String signFlowid) {
- this.signFlowid = signFlowid;
- }
-
- public String getPensonAccount() {
- return pensonAccount;
- }
-
- public void setPensonAccount(String pensonAccount) {
- this.pensonAccount = pensonAccount;
- }
-
- public String getPensonName() {
- return pensonName;
- }
-
- public void setPensonName(String pensonName) {
- this.pensonName = pensonName;
- }
-
- public String getOrgnizeName() {
- return orgnizeName;
- }
-
- public void setOrgnizeName(String orgnizeName) {
- this.orgnizeName = orgnizeName;
- }
-
- public String getOrgnizeNamePsnAccount() {
- return orgnizeNamePsnAccount;
- }
-
- public void setOrgnizeNamePsnAccount(String orgnizeNamePsnAccount) {
- this.orgnizeNamePsnAccount = orgnizeNamePsnAccount;
- }
-
- public String getOrgnizeNamepsnName() {
- return orgnizeNamepsnName;
- }
-
- public void setOrgnizeNamepsnName(String orgnizeNamepsnName) {
- this.orgnizeNamepsnName = orgnizeNamepsnName;
- }
-
- public String getPositionPagepsn() {
- return positionPagepsn;
- }
-
- public void setPositionPagepsn(String positionPagepsn) {
- this.positionPagepsn = positionPagepsn;
- }
-
- public double getPositionXpsn() {
- return positionXpsn;
- }
-
- public void setPositionXpsn(double positionXpsn) {
- this.positionXpsn = positionXpsn;
- }
-
- public double getPositionYpsn() {
- return positionYpsn;
- }
-
- public void setPositionYpsn(double positionYpsn) {
- this.positionYpsn = positionYpsn;
- }
-
- public String getPositionPageorg() {
- return positionPageorg;
- }
-
- public void setPositionPageorg(String positionPageorg) {
- this.positionPageorg = positionPageorg;
- }
-
- public double getPositionXorg() {
- return positionXorg;
- }
-
- public void setPositionXorg(double positionXorg) {
- this.positionXorg = positionXorg;
- }
-
- public double getPositionYorg() {
- return positionYorg;
- }
-
- public void setPositionYorg(double positionYorg) {
- this.positionYorg = positionYorg;
- }
-
/** 签名位置页数 */
private String positionPagepsn;
/** 签名位置x坐标 */
@@ -221,15 +58,15 @@ public class SealSignRecord extends BaseEntity {
private double positionXorg;
/** 印章位置y坐标 */
private double positionYorg;
+ /**
+ * 仲裁员签名状态,1-签名
+ */
+ private Integer signStatusArbitor;
+ /**
+ * 用印状态,1用印
+ */
+ private Integer sealStatus;
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SmsSendRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SmsSendRecord.java
deleted file mode 100644
index 9c36063..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SmsSendRecord.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.ruoyi.wisdomarbitrate.domain;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.common.core.domain.BaseEntity;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.Date;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class SmsSendRecord extends BaseEntity {
- /**
- * ID
- */
- private Long id;
- /**
- * 案件申请id
- */
- private Long caseId;
- /**
- * 案件编号
- */
- private String caseNum;
- /**
- * 手机号
- */
- private String phone;
- /**
- * 发送时间
- */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date sendTime;
- /**
- * 发送内容
- */
- private String sendContent;
-
- /**
- * 发送状态
- */
- private Integer sendStatus;
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseApplicationDTO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseApplicationDTO.java
new file mode 100644
index 0000000..3ea30ce
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseApplicationDTO.java
@@ -0,0 +1,309 @@
+package com.ruoyi.wisdomarbitrate.domain.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
+import com.ruoyi.wisdomarbitrate.domain.vo.CaseAffiliateVO;
+import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Classname CaseApplicationDTO
+ * @Description 案件申请表
+ * @Version 1.0.0
+ * @Date 2024/5/22 9:19
+ * @Created wangqiong
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CaseApplicationDTO implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 案件编号
+ */
+ private String caseNum;
+
+ /**
+ * 案件标的
+ */
+ private BigDecimal caseSubjectAmount;
+
+ /**
+ * 立案日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+ private Date registerDate;
+
+ /**
+ * 仲裁方式,视频仲裁(1)、书面仲裁(2)
+ */
+ private Long arbitratMethod;
+
+ /**
+ * 案件状态,立案申请(0)、待立案审查(1)、 待缴费(2)、待缴费确认(3)、 待案件质证(4)、
+ */
+ private Integer caseStatus;
+
+ /**
+ * 开庭日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+ private Date hearDate;
+
+ /**
+ * 申请人仲裁请求及事实和理由
+ */
+ private String arbitratClaims;
+
+ /**
+ * 借款开始日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+ private Date loanStartDate;
+
+ /**
+ * 借款结束日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+ private Date loanEndDate;
+
+ /**
+ * 申请人主张欠本金
+ */
+ private BigDecimal claimPrinciOwed;
+
+ /**
+ * 申请人主张欠利息
+ */
+ private BigDecimal claimInterestOwed;
+
+ /**
+ * 申请人主张违约金
+ */
+ private BigDecimal claimLiquidDamag;
+
+ /**
+ * 仲裁应缴费用
+ */
+ private BigDecimal feePayable;
+
+
+ /**
+ * 合同编号
+ */
+ private String contractNumber;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+ private Date createTime;
+
+ /**
+ * 更新者
+ */
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
+ private Date updateTime;
+
+ /**
+ * 创建者
+ */
+ private String createBy;
+
+ /**
+ * 仲裁员id
+ */
+ private String arbitratorId;
+
+ /**
+ * 案件名称
+ */
+ private String caseName;
+
+ /**
+ * 仲裁结果
+ */
+ private String caseResult;
+
+ /**
+ * 是否同意组庭,0否,1是
+ */
+ private Integer isAgreePendTral;
+
+ /**
+ * 是否有异议需要举证,1是,0否
+ */
+ private Integer objectionAddEviden;
+
+
+ /**
+ * 案件实缴费用
+ */
+ private BigDecimal paidExpenses;
+
+ /**
+ * 裁决书URL
+ */
+ private String filearbitraUrl;
+
+ /**
+ * 支付方式(0线上支付,1线下支付)
+ */
+ private String payType;
+
+ /**
+ * 申请人请求仲裁庭裁决
+ */
+ private String requestRule;
+
+ /**
+ * 是否仲裁反请求,1是,0否
+ */
+ private Integer adjudicaCounter;
+
+ /**
+ * 仲裁反请求原因
+ */
+ private String adjudicaCounterReason;
+
+ /**
+ * 是否财产保全申请,1是,0否
+ */
+ private Integer properPreser;
+
+ /**
+ * 是否管辖异议申请,1是,0否
+ */
+ private Integer objectiJuris;
+
+ /**
+ * 被申请人是否缺席,1是,0否
+ */
+ private Integer isAbsence;
+
+ /**
+ * 被申请人质证意见
+ */
+ private String responCrossOpin;
+
+ /**
+ * 申请人质证意见
+ */
+ private String applicaCrossOpin;
+
+ /**
+ * 被申请人的答辩意见
+ */
+ private String responDefenOpini;
+
+ /**
+ * 申请人是否缺席,1是,0否
+ */
+ private Integer appliIsAbsen;
+
+ /**
+ * 是否锁定,0-否,1-是
+ */
+ private Integer lockStatus;
+
+ /**
+ * 视频会议房间号id
+ */
+ private String roomId;
+
+ /**
+ * 是否导入,0手动录入,1导入,默认0
+ */
+ private Integer importFlag=0;
+
+ /**
+ * 版本号
+ */
+ private Integer version;
+
+ /**
+ * 事实和理由
+ */
+ private String facts;
+
+ /**
+ * 批次
+ */
+ private Integer batchNumber;
+
+ /**
+ * 模板id
+ */
+ private Long templateId;
+
+ /**
+ * 调解内容
+ */
+ private String mediationAgreement;
+
+ /**
+ * 申请人是否书面审理 ,0否,1是
+ */
+ private Integer appliIswritHear;
+
+ /**
+ * 被申请人是否书面审理
+ */
+ private Integer responIsWritHear;
+
+ /**
+ * 案件附件相关表
+ */
+ private List caseAttachList;
+ /**
+ * 附件类型
+ */
+ private List annexTypeList;
+ /**
+ * 附件类型
+ */
+ private Integer annexType;
+ /**
+ * 自定义字段
+ */
+ private List columnValueList;
+ /**
+ * 案件相关人员
+ */
+ private CaseAffiliateVO affiliate;
+ /**
+ * 待办状态,0-待办,1-已办
+ */
+ private Integer pendingStatus;
+ /**
+ * 仲裁方式名称,1-线上调解,2-线下调解
+ */
+ private String arbitratMethodName;
+ /**
+ * 申请机构名称
+ */
+ private String applicationName;
+ /**
+ * 被申请人姓名
+ */
+ private String respondentName;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java
index 596759f..ae00cb0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java
@@ -25,4 +25,5 @@ public class CaseConfirmPayDTO {
* 缴费凭证
*/
private List payOrderList;
+
}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java
index ff448e3..0c92a68 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java
@@ -35,4 +35,8 @@ public class CasePayDTO {
* 缴费凭证
*/
private List payOrderList;
+ /**
+ * 批号
+ */
+ private String batchNumber;
}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SendMailRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java
similarity index 83%
rename from ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SendMailRecord.java
rename to ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java
index de3e11e..026514b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/SendMailRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java
@@ -1,11 +1,14 @@
-package com.ruoyi.wisdomarbitrate.domain;
+package com.ruoyi.wisdomarbitrate.domain.dto.sendrecord;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
+import lombok.Data;
import java.util.Date;
+import java.util.List;
+@Data
public class SendMailRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -40,6 +43,16 @@ public class SendMailRecord extends BaseEntity {
private Integer sendStatus;
+ /** 附件id */
+ private String fileIds;
+
+ /** 邮件主题 */
+ private String mailSubject;
+
+ /** 邮件发件人地址 */
+ private String mailFromAddress;
+ private List caseAttachList;
+
public Integer getSendStatus() {
return sendStatus;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SmsSendRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SmsSendRecord.java
new file mode 100644
index 0000000..5141413
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SmsSendRecord.java
@@ -0,0 +1,78 @@
+package com.ruoyi.wisdomarbitrate.domain.dto.sendrecord;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplateParam;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SmsSendRecord extends BaseEntity {
+ /**
+ * ID
+ */
+ private Long id;
+ /**
+ * 短信模板主键id
+ */
+ private Long msSmsTemplateId;
+ /**
+ * 案件申请id
+ */
+ private Long caseId;
+ /**
+ * 案件编号
+ */
+ private String caseNum;
+ /**
+ * 手机号
+ */
+ private String phone;
+ /**
+ * 发送时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date sendTime;
+
+ /**
+ * 发送状态
+ */
+ private Integer sendStatus;
+ /**
+ * 短信sid,发送的唯一标识
+ */
+ private String sid;
+ /**
+ * 失败原因
+ */
+ private String reason;
+ /**
+ * 短信内容
+ */
+ private String sendContent;
+ /**
+ * 腾讯云模板id
+ */
+ private String templateId;
+ /**
+ * 模板内容
+ */
+ private String templateContent;
+ private List templateParams;
+
+ public SmsSendRecord(Long caseId, String caseNum, String phone, Date sendTime, String sendContent,String sid) {
+ this.caseId = caseId;
+ this.caseNum = caseNum;
+ this.phone = phone;
+ this.sendTime = sendTime;
+ this.sendContent = sendContent;
+ this.sid = sid;
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/CaseAffiliateEntity.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/CaseAffiliateEntity.java
new file mode 100644
index 0000000..c11dce4
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/CaseAffiliateEntity.java
@@ -0,0 +1,129 @@
+package com.ruoyi.wisdomarbitrate.domain.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.Date;
+
+@Getter
+@Setter
+@ToString
+@Data
+public class CaseAffiliateEntity {
+ /**
+ * id
+ */
+ private Long id;
+ /**
+ * 案件主表id,案件申请表主键
+ */
+ private Long caseAppliId;
+ /**
+ * 案件日志表id
+ */
+ private Long caseAppliLogId;
+ /**
+ * 用户id,用户表user_id关联
+ */
+ private Long userId;
+ /**
+ * 申请机构id,和部门表id关联
+ */
+ private Long applicantDeptId;
+
+ /**
+ * 代码(统一社会信用代码或者身份证号)
+ */
+ private String code;
+ /**
+ * 用户名
+ */
+ private String userName;
+
+ /**
+ * 法定代表人
+ */
+ private String compLegalPerson;
+ /**
+ * 角色类别,1-申请操作人/申请人,2-申请人代理人,3-被申请人操作人/被申请人,4-被申请人代理人
+ */
+ private Integer roleType=1;
+ /**
+ * 组别
+ */
+ private Integer groupOrder;
+ /**
+ * 是否操作人,0-否,1-是
+ */
+ private Integer operatorFlag=1;
+ /**
+ * 是否机构申请,0-自然人,1-申请机构,默认0
+ */
+ private Integer organizeFlag=0;
+ /**
+ * 电话
+ */
+ private String phone;
+ /**
+ * 邮箱
+ */
+ private String email;
+ /**
+ * 姓名
+ */
+ private String name;
+ /**
+ * 住所
+ */
+ private String home;
+ /**
+ * 联系地址
+ */
+ private String address;
+ /**
+ * 身份证号
+ */
+ private String idCard;
+
+ /**
+ * '身份类别,0-身份证,1-护照,默认0'
+ */
+ private Integer idType;
+ /**
+ * 国籍,0-境内,1-境外,默认0
+ */
+ private Integer nationality;
+ /**
+ * 生日
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
+ private Date birth;
+ /**
+ * 性别,0-男,1-女
+ */
+ private String sex;
+ /**
+ * 被申请人姓名
+ */
+ private String resName;
+ /**
+ * 角色名称
+ */
+ private String roleName;
+ /**
+ * 申请机构名称
+ */
+ private String applicantOrgName;
+ /**
+ * 角色id
+ */
+ private Long roleId;
+ /**
+ * 职位
+ */
+ private String position;
+
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsSendHistoryRecordParam.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsSendHistoryRecordParam.java
new file mode 100644
index 0000000..8c6ceb1
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsSendHistoryRecordParam.java
@@ -0,0 +1,32 @@
+package com.ruoyi.wisdomarbitrate.domain.entity.sms;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Getter
+@Setter
+@ToString
+@Table(name = "sms_send_history_record_param")
+public class MsSmsSendHistoryRecordParam {
+ @Id
+ @GeneratedValue(generator = "JDBC")
+ private Long id;
+
+ /**
+ * 短信历史记录表id
+ */
+ @Column(name = "sms_record_history_id")
+ private Long smsRecordHistoryId;
+
+ /**
+ * 参数值
+ */
+ @Column(name = "param_value")
+ private String paramValue;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsSendRecordParam.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsSendRecordParam.java
new file mode 100644
index 0000000..0be5ad6
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsSendRecordParam.java
@@ -0,0 +1,33 @@
+package com.ruoyi.wisdomarbitrate.domain.entity.sms;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Getter
+@Setter
+@ToString
+@Table(name = "sms_send_record_param")
+public class MsSmsSendRecordParam {
+ @Id
+ @GeneratedValue(generator = "JDBC")
+ private Integer id;
+
+ /**
+ * 短信记录表id
+ */
+ @Column(name = "sms_record_id")
+ private Long smsRecordId;
+
+
+ /**
+ * 参数值
+ */
+ @Column(name = "param_value")
+ private String paramValue;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsTemplate.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsTemplate.java
new file mode 100644
index 0000000..92e12eb
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsTemplate.java
@@ -0,0 +1,38 @@
+package com.ruoyi.wisdomarbitrate.domain.entity.sms;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Getter
+@Setter
+@ToString
+@Table(name = "sms_template")
+public class MsSmsTemplate {
+ @Id
+ @GeneratedValue(generator = "JDBC")
+ private Long id;
+
+ /**
+ * 腾讯云模板id
+ */
+ @Column(name = "template_id")
+ private String templateId;
+
+ /**
+ * 模板名称
+ */
+ private String name;
+ /**
+ * 模板内容
+ */
+ private String content;
+ /**
+ * 模板参数
+ */
+ @Transient
+ private List templateParams;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsTemplateParam.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsTemplateParam.java
new file mode 100644
index 0000000..e1de3a8
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/entity/sms/MsSmsTemplateParam.java
@@ -0,0 +1,38 @@
+package com.ruoyi.wisdomarbitrate.domain.entity.sms;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.persistence.*;
+
+@Getter
+@Setter
+@ToString
+@Table(name = "sms_template_param")
+public class MsSmsTemplateParam {
+ @Id
+ @GeneratedValue(generator = "JDBC")
+ private Long id;
+
+ /**
+ * ms_sms_template表id
+ */
+ @Column(name = "sms_template_id")
+ private Long smsTemplateId;
+
+ /**
+ * 参数
+ */
+ private String param;
+ /**
+ * 参数名
+ */
+ @Column(name = "param_name")
+ private String paramName;
+ /**
+ * 参数值
+ */
+ @Transient
+ private String paramValue;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MeetingInfo.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MeetingInfo.java
new file mode 100644
index 0000000..51b528e
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MeetingInfo.java
@@ -0,0 +1,60 @@
+package com.ruoyi.wisdomarbitrate.domain.shortmessage;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "meeting_info")
+public class MeetingInfo {
+ /**
+ * 主键Id
+ */
+ @Id
+ private String uid;
+
+ /**
+ * 案件Id
+ */
+ @Column(name = "case_id")
+ private Long caseId;
+
+ /**
+ * 用户Id
+ */
+ @Column(name = "user_id")
+ private Long userId;
+
+ /**
+ * 用户名称
+ */
+ @Column(name = "user_name")
+ private String userName;
+
+ /**
+ * 房间Id
+ */
+ @Column(name = "room_id")
+ private String roomId;
+
+ /**
+ * 系统类型
+ */
+ @Column(name = "system_type")
+ private String systemType;
+
+ /**
+ * 创建时间
+ */
+ @Column(name = "create_time")
+ private Date createTime;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MsSendMailHistoryRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MsSendMailHistoryRecord.java
new file mode 100644
index 0000000..53b2890
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MsSendMailHistoryRecord.java
@@ -0,0 +1,111 @@
+package com.ruoyi.wisdomarbitrate.domain.shortmessage;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+@Getter
+@Setter
+@ToString
+@Table(name = "send_mail_history_record")
+public class MsSendMailHistoryRecord {
+ @Id
+ @GeneratedValue(generator = "JDBC")
+ private Long id;
+
+ /**
+ * 邮件名称
+ */
+ @Column(name = "mail_name")
+ private String mailName;
+
+ /**
+ * 邮件接收地址
+ */
+ @Column(name = "mail_address")
+ private String mailAddress;
+
+ /**
+ * 发送时间
+ */
+ @Column(name = "send_time")
+ private Date sendTime;
+
+ /**
+ * 案件编号
+ */
+ @Column(name = "case_num")
+ private String caseNum;
+
+ /**
+ * 发送状态
+ */
+ @Column(name = "send_status")
+ private Long sendStatus;
+
+ /**
+ * 立案申请id
+ */
+ @Column(name = "case_id")
+ private Long caseId;
+
+ /**
+ * 创建时间
+ */
+ @Column(name = "create_time")
+ private Date createTime;
+
+ /**
+ * 创建者
+ */
+ @Column(name = "create_by")
+ private String createBy;
+
+ /**
+ * 更新者
+ */
+ @Column(name = "update_by")
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ /**
+ * 附件id用英文逗号隔开
+ */
+ @Column(name = "file_ids")
+ private String fileIds;
+
+ /**
+ * 邮件主题
+ */
+ @Column(name = "mail_subject")
+ private String mailSubject;
+
+ /**
+ * 邮件发送地址
+ */
+ @Column(name = "mail_from_address")
+ private String mailFromAddress;
+
+ /**
+ * 邮件父类id
+ */
+ @Column(name = "parent_id")
+ private Long parentId;
+
+ /**
+ * 邮件内容
+ */
+ @Column(name = "mail_content")
+ private String mailContent;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MsSmsSendHistoryRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MsSmsSendHistoryRecord.java
new file mode 100644
index 0000000..20179df
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/shortmessage/MsSmsSendHistoryRecord.java
@@ -0,0 +1,98 @@
+package com.ruoyi.wisdomarbitrate.domain.shortmessage;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Table(name = "sms_send_history_record")
+public class MsSmsSendHistoryRecord {
+ @Id
+ @GeneratedValue(generator = "JDBC")
+ private Long id;
+
+ /**
+ * 案件id
+ */
+ @Column(name = "case_appli_id")
+ private Long caseAppliId;
+ /**
+ * 短信模板表主键id
+ */
+ @Column(name = "ms_sms_template_id")
+ private Long msSmsTemplateId;
+
+ /**
+ * 案件编号
+ */
+ @Column(name = "case_num")
+ private String caseNum;
+
+ /**
+ * 手机号
+ */
+ private String phone;
+
+ /**
+ * 发送时间
+ */
+ @Column(name = "send_time")
+ private Date sendTime;
+
+ /**
+ * 发送状态,0-失败,1-成功
+ */
+ @Column(name = "send_status")
+ private Long sendStatus;
+
+
+ /**
+ * 创建时间
+ */
+ @Column(name = "create_time")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ /**
+ * 创建人
+ */
+ @Column(name = "create_by")
+ private String createBy;
+
+ /**
+ * 更新者
+ */
+ @Column(name = "update_by")
+ private String updateBy;
+
+ /**
+ * 发送短信唯一标识
+ */
+ private String sid;
+
+ /**
+ * 父类短信id
+ */
+ @Column(name = "parent_id")
+ private Long parentId;
+
+ /**
+ * 失败原因
+ */
+ private String reason;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseAffiliateBase.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseAffiliateBase.java
new file mode 100644
index 0000000..70a2324
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseAffiliateBase.java
@@ -0,0 +1,33 @@
+package com.ruoyi.wisdomarbitrate.domain.vo;
+
+import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
+import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
+import lombok.Data;
+
+/**
+ * @Classname MsCaseAffiliateList
+ * @Description 案件人员表
+ * @Version 1.0.0
+ * @Date 2024/3/27 16:08
+ * @Created wangqiong
+ */
+@Data
+public class CaseAffiliateBase {
+ /**
+ * 申请人/操作人
+ */
+ private CaseAffiliateEntity applicant;
+ /**
+ * 申请人代理人
+ */
+ private CaseAffiliateEntity applicantAgent;
+ /**
+ * 被申请人/操作人
+ */
+ private CaseAffiliateEntity res;
+ /**
+ * 被申请人代理人
+ */
+ private CaseAffiliateEntity resAgent;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseAffiliateVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseAffiliateVO.java
new file mode 100644
index 0000000..6f099f9
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseAffiliateVO.java
@@ -0,0 +1,32 @@
+package com.ruoyi.wisdomarbitrate.domain.vo;
+
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.util.List;
+
+/**
+ * @Classname MsCaseAffiliateVO
+ * @Description 案件人员表
+ * @Version 1.0.0
+ * @Date 2024/3/22 11:46
+ * @Created wangqiong
+ */
+@Getter
+@Setter
+@ToString
+@Data
+public class CaseAffiliateVO {
+ /**
+ * 申请人/操作人
+ */
+ private List applicant;
+
+ /**
+ * 被申请人/操作人
+ */
+ private List res;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseApplicationVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseApplicationVO.java
new file mode 100644
index 0000000..cb11f90
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseApplicationVO.java
@@ -0,0 +1,419 @@
+package com.ruoyi.wisdomarbitrate.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
+import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
+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/CaseEvidenceDirectoryVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseEvidenceDirectoryVO.java
index 51e0d62..2cc5d1f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseEvidenceDirectoryVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseEvidenceDirectoryVO.java
@@ -30,7 +30,7 @@ public class CaseEvidenceDirectoryVO implements Serializable {
/**
* 附件id
*/
- private Integer annexId;
+ private Long annexId;
/**
* 级数
@@ -105,11 +105,11 @@ public class CaseEvidenceDirectoryVO implements Serializable {
this.evidenceName = evidenceName;
}
- public Integer getAnnexId() {
+ public Long getAnnexId() {
return annexId;
}
- public void setAnnexId(Integer annexId) {
+ public void setAnnexId(Long annexId) {
this.annexId = annexId;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseEvidenceVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseEvidenceVO.java
index da1e6f2..8abeccf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseEvidenceVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CaseEvidenceVO.java
@@ -37,4 +37,8 @@ public class CaseEvidenceVO {
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date scheduleStartTime;
+ /**
+ * 案件编号
+ */
+ private String caseStatusName;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CasePayListVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CasePayListVO.java
index cd789da..6c6263e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CasePayListVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/CasePayListVO.java
@@ -4,14 +4,15 @@ import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplicationPay;
import lombok.Data;
+import java.math.BigDecimal;
import java.util.List;
@Data
public class CasePayListVO {
/**
- * 订单总金额 单位:分
+ * 订单总金额
*/
- private int totalFee;
+ private BigDecimal totalFee;
/**
* 案件总条数
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ToDoCount.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ToDoCount.java
index 7817936..cb49866 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ToDoCount.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ToDoCount.java
@@ -21,14 +21,14 @@ public class ToDoCount {
private int caseApplyArbitrateWay=0; // 待审核仲裁方式
private int caseApplyGroupOnline=0; // 待开庭审理
private int caseApplyGroupOffline=0; // 待书面审理
- private int caseApplyAward=0; // 待生成仲裁文书
- private int caseApplyAwardCheck=0; // 待核验仲裁文书
- private int caseApplyAwardConfirm=0; // 待审核仲裁文书
- private int caseApplyAwardSign=0; // 待仲裁文书签名
- private int caseApplyAwardSeal=0; // 待仲裁文书用印
- private int caseApplyAwardSend=0; // 待仲裁文书送达
+ private int caseApplyAward=0; // 待生成裁决书
+ private int caseApplyAwardCheck=0; // 待核验裁决书
+ private int caseApplyAwardConfirm=0; // 待审核裁决书
+ private int caseApplyAwardSign=0; // 待裁决书签名
+ private int caseApplyAwardSeal=0; // 待裁决书用印
+ private int caseApplyAwardSend=0; // 待裁决书送达
private int caseApplyStored=0; // 待案件归档
private int caseApplyArchived=0; // 已归档
private int updateOnlineHearDate=0; // 待修改开庭时间
- private int arbitratorApplyAwardConfirm=0; // 待仲裁员审核仲裁文书
+ private int arbitratorApplyAwardConfirm=0; // 待仲裁员审核裁决书
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/shortmessage/MeetingInfoVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/shortmessage/MeetingInfoVO.java
new file mode 100644
index 0000000..0f30ac8
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/shortmessage/MeetingInfoVO.java
@@ -0,0 +1,41 @@
+package com.ruoyi.wisdomarbitrate.domain.vo.shortmessage;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class MeetingInfoVO {
+ /**
+ * 案件Id
+ */
+ private Long caseId;
+
+ /**
+ * 用户Id
+ */
+ private Long userId;
+
+ /**
+ * 用户名称
+ */
+ private String userName;
+
+ /**
+ * 房间Id
+ */
+ private String roomId;
+
+ /**
+ * 系统类型
+ */
+ private String systemType;
+ /**
+ * 登录认证令牌
+ */
+ private String token;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/shortmessage/ReSendMessageVO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/shortmessage/ReSendMessageVO.java
new file mode 100644
index 0000000..5ed7a36
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/shortmessage/ReSendMessageVO.java
@@ -0,0 +1,34 @@
+package com.ruoyi.wisdomarbitrate.domain.vo.shortmessage;
+
+
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplateParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ReSendMessageVO {
+ /**
+ * 短信模版Id
+ */
+ private String templateId;
+ /**
+ * 手机号
+ */
+ private String phone;
+ /**
+ * 短信id
+ */
+ private Long id;
+ /**
+ * 短信模版参数值
+ */
+ private List templateParams;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateLogMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateLogMapper.java
index 7e5affd..b56b105 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateLogMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateLogMapper.java
@@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -10,7 +11,7 @@ import java.util.List;
public interface CaseAffiliateLogMapper {
- int batchCaseAffiliate(List caseAffiliates);
+ int batchCaseAffiliate(List caseAffiliates);
void deletecaseAffiliate(CaseApplication caseApplication);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateMapper.java
index 97eca71..f98a5cf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateMapper.java
@@ -3,6 +3,8 @@ package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
+import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO;
import org.apache.ibatis.annotations.Param;
@@ -18,28 +20,26 @@ public interface CaseAffiliateMapper {
void batchDeletecaseAffiliate(@Param("ids") List ids);
- List selectCaseAffiliate(CaseAffiliate caseAffiliate);
- List selectCaseAffiliateByCaseIds(@Param("ids") List ids);
- CaseAffiliate selectCaseAffiliateByIdentityType(@Param("caseAppliId") Long caseAppliId, @Param("identityType")int identityType);
-
- int updataCaseAffiliate(CaseAffiliate caseAffiliate);
-
- /**
- * 根据案件查询邮箱
- * @param id
- * @return
- */
- List emailByCaseId(@Param("caseAppliId")Long id);
-
- /**
- * 批量修改
- * @param affiliateLogList
- */
- void updateCaseAffiliateByCaseId(@Param("caseAppliId")Long caseAppliId,@Param("list") List affiliateLogList);
+ List selectCaseAffiliate(CaseAffiliateEntity entity);
+ List selectCaseAffiliateByCaseIds(@Param("caseIds") List ids);
/**
* 根据案件id删除
* @param caseId
*/
void deleteByCaseId(@Param("caseAppliId") Long caseId);
+
+ /**
+ * 新增人员
+ * @param affiliate
+ */
+
+ void insert(CaseAffiliateEntity affiliate);
+
+ /**
+ * 根据案件id查询邮箱
+ * @param id
+ * @return
+ */
+ List emailByCaseId(Long id);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationLogMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationLogMapper.java
index 862074f..ca49a36 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationLogMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationLogMapper.java
@@ -38,7 +38,7 @@ public interface CaseApplicationLogMapper {
Integer selectMaxVersionBySecret(@Param("caseAppliId")Long id);
/**
- * 根据案件id删除案件记录表和案件关联人日志表
+ * 删除日志
* @param ids
*/
void batchDeleteLog(@Param("ids") List ids);
@@ -46,4 +46,11 @@ public interface CaseApplicationLogMapper {
CaseApplication selectBeforeCase(@Param("caseId") Long caseId, @Param("version")Integer version);
Integer batchSave(@Param("list")List caseApplications);
+
+ /**
+ * 根据案件id查询所有的日志id
+ * @param ids
+ * @return
+ */
+ List selectLogsByCaseIds(@Param("ids")List ids);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java
index b0f0e94..f771d46 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java
@@ -4,6 +4,7 @@ import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
import org.apache.ibatis.annotations.Param;
@@ -11,18 +12,9 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface CaseApplicationMapper {
- List selectCaseApplicationList(CaseApplication caseApplication);
- List selectCaseApplicationList1(CaseApplication caseApplication);
int selectCaseApplicationCount(CaseApplication caseApplication);
- /**
- * 查询超级管理员案件
- * @param caseApplication
- * @return
- */
- List selectAdminCaseApplicationList(CaseApplication caseApplication);
-
int insertCaseApplication(CaseApplication caseApplication);
@@ -41,7 +33,7 @@ public interface CaseApplicationMapper {
*/
List listCaseApplicationByIds(@Param("ids")List ids);
- CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication);
+
/**
* 查询最大编号
@@ -65,10 +57,11 @@ public interface CaseApplicationMapper {
void updatePayType(CaseConfirmPayDTO payDTO);
- ToDoCount selectAdminCaseToDoCount();
- ToDoCount selectTodoCountByRole(CaseApplication caseApplication);
+ ToDoCount selectTodoCountByRole(@Param("caseApplication") CaseApplication caseApplication,
+ @Param("caseStatusList") List caseStatusList,
+ @Param("roleIds") List roleIds);
/**
* 修改案件锁定状态
@@ -99,12 +92,6 @@ public interface CaseApplicationMapper {
*/
Long selectCaseIdByRoomId(@Param("roomId")String roomId);
- /**
- * 查询已办案件
- * @param caseApplication
- * @return
- */
- List selectHandledCase(CaseApplication caseApplication);
/**
* 查询最大房间号
* @return
@@ -123,7 +110,7 @@ public interface CaseApplicationMapper {
* 查询最大批号
* @return
*/
- Integer selectBatchNumberLike();
+ Integer selectMaxBatchNumber();
/**
* 批量新增案件
@@ -133,4 +120,35 @@ public interface CaseApplicationMapper {
int batchSave(@Param("list")List caseApplications);
int selectCasenum(@Param("userId") String userId);
+
+ List selectAdminCaseApplicationListBatch(CaseApplication caseApplication);
+
+ List listCaseApplicationByBatchNumber(CaseApplication caseApplication);
+
+
+
+ /**
+ * 案件列表查询
+ * @param caseApplication
+ * @return
+ */
+ List list(@Param("caseApplication") CaseApplication caseApplication,
+ @Param("caseStatusList") List caseStatusList,
+ @Param("roleIds") List roleIds);
+
+ /**
+ * 查询当前案件节点
+ * @param id
+ * @return
+ */
+ Integer selectCaseApplicationCaseStatus(@Param("id") Long id);
+
+ /**
+ * 新增
+ * @param caseApplication
+ * @return
+ */
+ int insert(CaseApplicationDTO caseApplication);
+ int update(CaseApplicationDTO caseApplication);
+
}
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 ca3bb75..1c0148d 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
@@ -21,11 +21,11 @@ public interface CaseAttachMapper {
int updateCaseAttachBycaseid(CaseAttach caseAttach);
- int deleteByFileIds(@Param("ids") List fileIds);
+ int deleteByFileIds(@Param("ids") List fileIds);
List getCaseAttachByCaseIdAndType(CaseAttach caseAttach);
- CaseAttach queryAnnexById(Integer annexId);
+ CaseAttach queryAnnexById(@Param("annexId")Long annexId);
/**
* 根据案件id和附件类型删除和上传类型
@@ -35,4 +35,18 @@ public interface CaseAttachMapper {
void deleteByCasedIdAndType(@Param("caseAppliId")Long caseAppliId,@Param("annexType") int annexType,@Param("isBatchUpload") int isBatchUpload);
void deleteCaseAttachByCasedIdAndType(@Param("caseAppliId")Long caseAppliId,@Param("annexType") int annexType);
+
+ /**
+ * 删除存在的附件不包括该附件
+ * @param caseId 附件
+ * @param type 附件类型
+ * @param annexId 附件id
+ */
+ void deleteCaseAttach(@Param("caseId")Long caseId, @Param("type")int type,@Param("annexId") Long annexId);
+ /**
+ * 根据ids查询
+ * @param fileIds
+ * @return
+ */
+ List selectByIds(@Param("ids") List fileIds);
}
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 5f0a4a2..77ee77a 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
@@ -9,8 +9,5 @@ import java.util.List;
@Mapper
public interface CaseEvidenceMapper {
- List getCaseListByRespondent(@Param(value = "identityNum" ) String identityNum
- , @Param(value = "caseStatusList") List caseStatusList
- , @Param(value = "identityType" ) Integer identityType
- );
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseNumRuleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseNumRuleMapper.java
index f48f84d..26a2a84 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseNumRuleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseNumRuleMapper.java
@@ -13,4 +13,8 @@ public interface CaseNumRuleMapper {
int deleteCaseNumRule(CaseNumRule caseNumRule);
List selectCaseNumRules(CaseNumRule caseNumRule);
+
+ int countCaseNumRule(CaseNumRule caseNumRule);
+
+ CaseNumRule selectCaseNumRule(CaseNumRule caseNumRule);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CasePaymentRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CasePaymentRecordMapper.java
index d5d4616..fd5549c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CasePaymentRecordMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CasePaymentRecordMapper.java
@@ -2,10 +2,12 @@ package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.CasePaymentRecord;
+import java.util.List;
+
public interface CasePaymentRecordMapper {
int saveRecord(CasePaymentRecord casePaymentRecord);
- CasePaymentRecord queryRecord(String orderNumber);
+ List queryRecord(String orderNumber);
void update(CasePaymentRecord casePaymentRecord);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java
index 84bfc9c..210fa95 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java
@@ -2,17 +2,40 @@ package com.ruoyi.wisdomarbitrate.mapper;
+import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface SealSignRecordMapper {
List selectSealSignRecord(SealSignRecord sealSignRecord);
+ /**
+ * 查询已签署和签署中的文件
+ * @param sealSignRecord
+ * @return
+ */
List selectSealSignRecordbyStat(SealSignRecord sealSignRecord);
+ /**
+ * 差询等待签署,签署中的案件
+ * @param penSonAccount 签署人员
+ * @return
+ */
+ List selectSealSigning(@Param("penSonAccount") String penSonAccount, @Param("caseStatus") Integer caseStatus);
+
int updataSealSignRecord(SealSignRecord sealSignRecord);
void insertSealSignRecord(SealSignRecord sealSignRecord);
+
+ List selectsignFlow(@Param("batchNumber") Integer batchNumber,@Param("caseStatus") Integer caseStatus);
+
+ /**
+ * 根据签署流程id查询签署记录
+ * @param signFlowId
+ * @return
+ */
+ SealSignRecord selectSealByFlowId(@Param("signFlowId") String signFlowId);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SendMailRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SendMailRecordMapper.java
deleted file mode 100644
index 1efd2eb..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SendMailRecordMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ruoyi.wisdomarbitrate.mapper;
-
-import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
-import com.ruoyi.wisdomarbitrate.domain.SendMailRecord;
-
-import java.util.List;
-
-public interface SendMailRecordMapper {
- int saveSendMailRecord(SendMailRecord sendMailRecord);
-
- List selectSendMailRecord(SendMailRecord sendMailRecord);
-
-
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SendMailRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SendMailRecordMapper.java
new file mode 100644
index 0000000..379a771
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SendMailRecordMapper.java
@@ -0,0 +1,36 @@
+package com.ruoyi.wisdomarbitrate.mapper.sendrecord;
+
+import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SendMailRecord;
+
+import java.util.List;
+
+public interface SendMailRecordMapper {
+ /**
+ * 新增发送邮件记录
+ *
+ * @param sendMailRecord 发送邮件记录
+ * @return 结果
+ */
+
+ int saveSendMailRecord(SendMailRecord sendMailRecord);
+/**
+ * 查询发送邮件记录
+ *
+ * @param sendMailRecord 发送邮件记录
+ * @return 结果
+ */
+ List selectSendMailRecord(SendMailRecord sendMailRecord);
+/**
+ * 修改发送邮件记录
+ *
+ * @param sendMailRecord 发送邮件记录
+ * @return 结果
+ */
+ int updateSendMailRecord(SendMailRecord sendMailRecord);
+
+ /**
+ * 根据id查询发送邮件记录
+ * @param id
+ */
+ SendMailRecord querySendMailRecordById(Long id);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SmsRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SmsRecordMapper.java
similarity index 54%
rename from ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SmsRecordMapper.java
rename to ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SmsRecordMapper.java
index e8c4740..638baff 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SmsRecordMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SmsRecordMapper.java
@@ -1,6 +1,6 @@
-package com.ruoyi.wisdomarbitrate.mapper;
+package com.ruoyi.wisdomarbitrate.mapper.sendrecord;
-import com.ruoyi.wisdomarbitrate.domain.SmsSendRecord;
+import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SmsSendRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -19,4 +19,13 @@ public interface SmsRecordMapper {
* @return
*/
int batchSaveSmsSendRecord(@Param("list") List smsSendRecordList);
+ SmsSendRecord selectBySId(@Param("sid") String sid);
+ void updateStatus (SmsSendRecord smsSendRecord);
+
+ /**
+ * 通过id查询短信发送记录
+ */
+ SmsSendRecord selectById(@Param("id") Long id);
+
+ void update(SmsSendRecord smsSendRecord);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MeetingInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MeetingInfoMapper.java
new file mode 100644
index 0000000..c884b5e
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MeetingInfoMapper.java
@@ -0,0 +1,8 @@
+package com.ruoyi.wisdomarbitrate.mapper.shortmessage;
+
+
+import com.ruoyi.wisdomarbitrate.domain.shortmessage.MeetingInfo;
+import tk.mybatis.mapper.common.Mapper;
+
+public interface MeetingInfoMapper extends Mapper {
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MsSendMailHistoryRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MsSendMailHistoryRecordMapper.java
new file mode 100644
index 0000000..9fd1622
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MsSendMailHistoryRecordMapper.java
@@ -0,0 +1,8 @@
+package com.ruoyi.wisdomarbitrate.mapper.shortmessage;
+
+
+import com.ruoyi.wisdomarbitrate.domain.shortmessage.MsSendMailHistoryRecord;
+import tk.mybatis.mapper.common.Mapper;
+
+public interface MsSendMailHistoryRecordMapper extends Mapper {
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MsSmsSendHistoryRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MsSmsSendHistoryRecordMapper.java
new file mode 100644
index 0000000..c67c6a6
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/shortmessage/MsSmsSendHistoryRecordMapper.java
@@ -0,0 +1,8 @@
+package com.ruoyi.wisdomarbitrate.mapper.shortmessage;
+
+
+import com.ruoyi.wisdomarbitrate.domain.shortmessage.MsSmsSendHistoryRecord;
+import tk.mybatis.mapper.common.Mapper;
+
+public interface MsSmsSendHistoryRecordMapper extends Mapper {
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsSendHistoryRecordParamMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsSendHistoryRecordParamMapper.java
new file mode 100644
index 0000000..2e6931d
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsSendHistoryRecordParamMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.wisdomarbitrate.mapper.sms;
+
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsSendHistoryRecordParam;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import tk.mybatis.mapper.common.Mapper;
+
+import java.util.List;
+
+public interface MsSmsSendHistoryRecordParamMapper extends Mapper {
+ /**
+ * 批量新增
+ * @param historyRecordParams
+ */
+ @Select("")
+ void batchInsert(@Param("list") List historyRecordParams);
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsSendRecordParamMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsSendRecordParamMapper.java
new file mode 100644
index 0000000..de85ded
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsSendRecordParamMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.wisdomarbitrate.mapper.sms;
+
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsSendRecordParam;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import tk.mybatis.mapper.common.Mapper;
+
+import java.util.List;
+
+public interface MsSmsSendRecordParamMapper extends Mapper {
+ /**
+ * 批量插入
+ * @param list
+ */
+ @Select("")
+ void batchInsert(@Param("list") List list);
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsTemplateMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsTemplateMapper.java
new file mode 100644
index 0000000..801476c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsTemplateMapper.java
@@ -0,0 +1,8 @@
+package com.ruoyi.wisdomarbitrate.mapper.sms;
+
+
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplate;
+import tk.mybatis.mapper.common.Mapper;
+
+public interface MsSmsTemplateMapper extends Mapper {
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsTemplateParamMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsTemplateParamMapper.java
new file mode 100644
index 0000000..ddc8e1d
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sms/MsSmsTemplateParamMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.wisdomarbitrate.mapper.sms;
+
+
+import com.ruoyi.wisdomarbitrate.domain.entity.sms.MsSmsTemplateParam;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import tk.mybatis.mapper.common.Mapper;
+
+import java.util.List;
+
+public interface MsSmsTemplateParamMapper extends Mapper {
+ @Select("")
+ void batchInsert(@Param("list") List templateParams);
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java
index 3c94b26..9478c73 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java
@@ -1,10 +1,14 @@
package com.ruoyi.wisdomarbitrate.service;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.EsignDemoException;
+import com.ruoyi.wisdomarbitrate.StringIdsReq;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO;
+import java.io.IOException;
import java.util.List;
public interface IAdjudicationService {
@@ -12,19 +16,16 @@ public interface IAdjudicationService {
AjaxResult sendDocumentByEmail(Long id,String appEmail,String resEmail ,String apptrackingNum,String restrackingNum);
- List getLogisticsInfo(CaseApplication caseApplication);
+// List getLogisticsInfo(CaseApplication caseApplication);
- AjaxResult signature(CaseApplication caseApplication);
AjaxResult caseFile( List ids);
AjaxResult service(Long id, String appEmail, String resEmail, String apptrackingNum, String restrackingNum);
- AjaxResult stamp(CaseApplication caseApplication);
- AjaxResult getArchivesDetail(Long id);
- AjaxResult regenerationDocument(CaseApplication caseApplication);
+
/**
* 根据案件id查询邮箱
@@ -39,4 +40,44 @@ public interface IAdjudicationService {
* @return
*/
AjaxResult batchDocument(List ids);
+
+ /**
+ * 根据签署流程id查询批量签名链接
+ * @param idsReq
+ * @return
+ */
+ SealSignRecord selectBatchSignUrl( StringIdsReq idsReq);
+
+ /**
+ * 根据仲裁员手机号分页查询等待签署,签署中的裁决书
+ * @param personAccount
+ * @return
+ */
+ List selectSealSigning(String personAccount,Integer caseStatus);
+
+ SealSignRecord selectBatchSealUrl(StringIdsReq idsReq);
+
+ SealSignRecord getSignUrlBatch(StringIdsReq idsReq);
+
+ SealSignRecord getSealUrlBatch(StringIdsReq idsReq);
+
+ AjaxResult caseFileBatch(Integer batchNumber);
+
+ AjaxResult serviceBatch(Integer batchNumber) throws EsignDemoException, IOException;
+
+ /**
+ * 开庭审理,确定审理结果,生成裁决书
+ * @param caseApplication
+ * @return
+ */
+ AjaxResult caseJudgment(CaseApplication caseApplication);
+
+ /**
+ * 案件状态改变
+ * @param id 案件id
+ * @param caseStatus 案件状态
+ * @return
+ */
+
+ AjaxResult changeCaseStatus(Long id, Integer caseStatus);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java
index c8a1bc4..99b8a64 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java
@@ -1,12 +1,13 @@
package com.ruoyi.wisdomarbitrate.service;
+import com.alibaba.fastjson.JSONArray;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.wisdomarbitrate.domain.*;
-import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
-import com.ruoyi.wisdomarbitrate.domain.vo.ReservedConferenceVO;
-import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
-import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
+import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
+import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
+import com.ruoyi.wisdomarbitrate.domain.vo.*;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@@ -15,15 +16,15 @@ import java.util.List;
import java.util.Map;
public interface ICaseApplicationService {
- List selectCaseApplicationList(CaseApplication caseApplication);
- List selectCaseApplicationListByRole(CaseApplication caseApplication);
- int insertcaseApplication(CaseApplication caseApplication);
+// int insertcaseApplication(CaseApplication caseApplication);
+
+// int insertcaseApplication1(CaseApplication caseApplication);
int selectCaseApplicationCount(CaseApplication caseApplication);
- AjaxResult editCaseApplication(CaseApplication caseApplication);
+// AjaxResult editCaseApplication(CaseApplication caseApplication);
int submitCaseApplication( List ids);
@@ -37,7 +38,7 @@ public interface ICaseApplicationService {
int pendingAppointArbotrar(CaseApplication caseApplication);
- int pendTralCheck(CaseApplication caseApplication);
+ AjaxResult pendTralCheck(CaseApplication caseApplication);
int pendTralSure(CaseApplication caseApplication);
@@ -47,15 +48,13 @@ public interface ICaseApplicationService {
int submitCaseApplicationCheck(List ids, Integer agreeOrNotCheck,String caseCheckReject);
- CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication);
-
String sendRoomNoMessage(SendRoomNoMessageVO messageVO);
SealSignRecord selectSignUrl(CaseApplication caseApplication) throws EsignDemoException;
SealSignRecord selectSealUrl(CaseApplication caseApplication) throws EsignDemoException;
- AjaxResult creatTrialRecord(ArbitrateRecord arbitrateRecord);
+
CaseApplication selectSignSealUrl(CaseApplication caseApplication) throws EsignDemoException;
@@ -77,12 +76,7 @@ public interface ICaseApplicationService {
int updateCaseLockStatus(CaseApplication caseApplication);
AjaxResult uploadZipFile(MultipartFile file, Long id, String username, Long userId);
- /**
- * 查询短信发送记录
- * @param smsSendRecord
- * @return
- */
- List getSmsSendRecord(SmsSendRecord smsSendRecord);
+
/**
* 获取userSign
@@ -114,7 +108,7 @@ public interface ICaseApplicationService {
AjaxResult deleteRoom( String roomId);
- AjaxResult uploadCaseZipFile(MultipartFile file,Long templateId);
+ AjaxResult uploadCaseZipFile(MultipartFile file,Long templateId,Integer applicantType,Integer resType);
/**
* 根据附件id修改案件id
@@ -135,4 +129,85 @@ public interface ICaseApplicationService {
AjaxResult editCaseApplicationDefineval(CaseApplication caseApplication);
CaseAttach downloadCaseZipFile(CaseApplication caseApplication);
+
+// List selectCaseApplicationListBatchByRole(CaseApplication caseApplication);
+ public List page(CaseApplication caseApplication) ;
+
+
+ AjaxResult submitCaseApplicationBatch(String batchNumber);
+
+ AjaxResult submitCaseApplicationCheckBatch(String batchNumber, Integer agreeOrNotCheck, String caseCheckReject);
+
+ int pendTralCheckBatch(CaseApplication caseApplication);
+
+ int pendTralSureBatch(CaseApplication caseApplication);
+
+ int verificationArbitrateRecordBatch(CaseApplication caseApplication);
+
+ AjaxResult arbitratorCheckArbitrateRecordBatch(CaseApplication caseApplication);
+
+ AjaxResult checkArbitrateRecordBatch(CaseApplication caseApplication);
+ /**
+ * 附件上传到onlyoffice服务器
+ * @param annexPath
+ */
+ JSONArray uploadOnlyOffice(String annexPath, Long id);
+ /**
+ * 保存onlyOffice在线编辑的文件
+ * @param
+ * @return
+ */
+
+ AjaxResult saveOnlyOfficeFile(CaseAttach caseAttach);
+
+ /**
+ * 新增或编辑
+ * @param caseApplication
+ * @return
+ */
+
+ AjaxResult insertOrUpdate(CaseApplicationDTO caseApplication);
+
+ /**
+ * 设置案件相关信息
+ * @param caseApplication
+ * @param affiliate
+ * @param groupOrder 组别
+ * @param operatorCount 操作人数量
+ * @param updateFlag 是否修改案件
+ */
+ public int setCaseAfflicate(List affliates,CaseApplicationDTO caseApplication, CaseAffiliateEntity affiliate, int groupOrder, int operatorCount, boolean updateFlag);
+
+ /**
+ * 新增案件
+ * @param caseApplication
+ */
+ void insert(CaseApplicationDTO caseApplication);
+
+ /**
+ * 修改案件
+ * @param caseApplication
+ */
+
+ void update(CaseApplicationDTO caseApplication);
+ /**
+ * 新增案件相关人员信息
+ * @param affiliate 相关人员信息
+ * @param roleIdList 角色id
+ * @param updateFlag 是否修改案件
+
+ */
+ public void insertAfficateUser(CaseAffiliateEntity affiliate, List roleIdList,boolean updateFlag,List affiliateEntities);
+
+ void insertCaseAfflicate(CaseAffiliateVO caseAffiliateVO, List affliates,CaseApplicationDTO caseApplicationm,boolean updateFlag);
+
+ /**
+ * 根据案件id查询相关人员
+ * @param id
+ * @return
+ */
+
+ List selectAfflicatesByCaseId(Long id);
+
+ SysUser getUserInfo();
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseArbitrateService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseArbitrateService.java
index 66b4e36..7f024f8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseArbitrateService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseArbitrateService.java
@@ -13,5 +13,9 @@ public interface ICaseArbitrateService {
AjaxResult writtenHear(CaseIds caseIds);
- AjaxResult examineArbitrateMethod(CaseApplication caseApplication, Integer opinion);
+ AjaxResult examineArbitrateMethod(CaseApplication caseApplication, Integer opinion, Integer arbitratMethod);
+
+ AjaxResult examineArbitrateMethodBatch(CaseApplication caseApplication);
+
+ AjaxResult writtenHearBatch(CaseApplication caseApplication);
}
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 1e8d4d1..fefde22 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
@@ -13,11 +13,11 @@ import java.util.List;
public interface ICaseEvidenceService {
- AjaxResult getCaseDetailsById(Long id,String userName);
+// AjaxResult getCaseDetailsById(Long id,String userName);
AjaxResult uploadEvidence(MultipartFile file, Integer annexType, Long id,String userName,Long userId);
- List getCaseListAll(Integer caseStatus);
+// List getCaseListAll(Integer caseStatus);
AjaxResult evidenceConfirmation(CaseApplication caseApplication);
@@ -36,7 +36,7 @@ public interface ICaseEvidenceService {
AjaxResult fileList(Long caseAppliId, List annexTypeList);
- int deleteFile( List fileIds);
+ int deleteFile( List fileIds);
List selectEvidenceTreeList(CaseEvidenceDirectory caseEvidenceDirectory);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseNumRuleService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseNumRuleService.java
index 26d323c..67b26bf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseNumRuleService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseNumRuleService.java
@@ -15,4 +15,6 @@ public interface ICaseNumRuleService {
AjaxResult deleteCaseNumRule(CaseNumRule caseNumRule);
List selectCaseNumRule(CaseNumRule caseNumRule);
+
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java
index a5edb44..66c81ed 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java
@@ -2,17 +2,20 @@ package com.ruoyi.wisdomarbitrate.service;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.dto.PayRequest;
+import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO;
+import java.util.List;
+
public interface ICasePaymentService {
/**
* 案件缴费
*/
AjaxResult casePay(CasePayDTO casePayDTO);
- AjaxResult confirmPayment(CaseApplication caseApplication);
+ AjaxResult confirmPayment(BatchCaseApplication batchCaseApplication);
/**
* 确认缴费
@@ -24,4 +27,11 @@ public interface ICasePaymentService {
AjaxResult casePayList(CasePayDTO casePayDTO);
+ AjaxResult confirmPayBatch(CasePayDTO payDTO);
+
+ AjaxResult casePayListBatch(CasePayDTO casePayDTO);
+
+ AjaxResult confirmPaymentBatch(String batchNumber);
+
+ AjaxResult casePayBatch(CasePayDTO casePayDTO);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ISendMailRecordService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ISendMailRecordService.java
deleted file mode 100644
index b0564a6..0000000
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ISendMailRecordService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ruoyi.wisdomarbitrate.service;
-
-import com.ruoyi.wisdomarbitrate.domain.SendMailRecord;
-
-import java.util.List;
-
-public interface ISendMailRecordService {
-
-
- List selectSendMailRecordList(SendMailRecord sendMailRecord);
-
-
-
-
-}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/MsSignSealService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/MsSignSealService.java
new file mode 100644
index 0000000..de171f9
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/MsSignSealService.java
@@ -0,0 +1,15 @@
+package com.ruoyi.wisdomarbitrate.service;
+
+import com.google.gson.Gson;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.EsignDemoException;
+import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
+
+import java.io.IOException;
+import java.util.List;
+
+public interface MsSignSealService {
+ AjaxResult signSeaalCaseApplicaCallback(String reqbodystr) throws EsignDemoException, IOException;
+
+ AjaxResult sealCheckCallback(String reqbodystr) throws EsignDemoException, IOException;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/VideoService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/VideoService.java
index c1c8c71..b0033fe 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/VideoService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/VideoService.java
@@ -39,7 +39,7 @@ public interface VideoService {
* @param userId
* @return
*/
- AjaxResult secretaryRoleByUserId(Long userId);
+ AjaxResult secretaryRoleByUserId(Long userId,Long caseId);
/**
* 根据html字符串转pdf并和案件关联
@@ -55,4 +55,5 @@ public interface VideoService {
* @return
*/
AjaxResult attachListByCaseId(Long caseAppliId, Integer annexType);
+ AjaxResult selectRoleMenuByCaseId(Long caseId);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java
index 771e3c9..8eda52c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java
@@ -2,68 +2,71 @@ package com.ruoyi.wisdomarbitrate.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.deepoove.poi.data.PictureRenderData;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
import com.ruoyi.common.constant.CaseApplicationConstants;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.*;
+import com.ruoyi.common.utils.EmailOutUtil;
+import com.ruoyi.common.utils.ObjectFieldUtils;
+import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SendMailRecord;
+import com.ruoyi.wisdomarbitrate.domain.shortmessage.MsSendMailHistoryRecord;
+import com.ruoyi.wisdomarbitrate.mapper.sendrecord.SendMailRecordMapper;
+import com.ruoyi.wisdomarbitrate.mapper.sendrecord.SmsRecordMapper;
+import com.ruoyi.wisdomarbitrate.mapper.shortmessage.MsSendMailHistoryRecordMapper;
+import com.ruoyi.wisdomarbitrate.utils.SmsUtils;
+import com.ruoyi.common.utils.WordUtil;
import com.ruoyi.common.utils.thread.MultipleThreadListParam;
-import com.ruoyi.common.utils.thread.MultipleThreadWorkUtil;
import com.ruoyi.system.mapper.SysDictDataMapper;
+import com.ruoyi.wisdomarbitrate.StringIdsReq;
+import com.ruoyi.wisdomarbitrate.domain.*;
+import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO;
import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
import com.ruoyi.wisdomarbitrate.mapper.*;
-import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
-import com.ruoyi.wisdomarbitrate.domain.*;
-import com.ruoyi.wisdomarbitrate.domain.vo.ArchivesDetailVO;
-import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO;
import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import com.ruoyi.wisdomarbitrate.service.ICaseLogRecordService;
+import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
+import com.ruoyi.wisdomarbitrate.utils.SignAward;
import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBookmark;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.MailSendException;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
import java.io.*;
-import java.math.BigDecimal;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
-import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
-import java.util.concurrent.CountDownLatch;
import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+import static com.ruoyi.wisdomarbitrate.utils.CaseLogUtils.insertCaseLog;
@Service
@Slf4j
public class AdjudicationServiceImpl implements IAdjudicationService {
private final String apiUrl = "http://api.cainiaoapi.com/api/exp/v1/index";
-
+ @Value("${onlyOfficeConfig.url}")
+ private String onlyOfficeUrl;
@Autowired
private CaseApplicationMapper caseApplicationMapper;
@Autowired
@@ -92,55 +95,61 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
private FatchRuleMapper fatchRuleMapper;
@Autowired
private SysDictDataMapper dictDataMapper;
+ @Autowired
+ private SealManageMapper sealManageMapper;
+ @Autowired
+ private SealSignRecordMapper sealSignRecordMapper;
+ @Autowired
+ private IAdjudicationService adjudicationService;
+ @Value("${spring.mail.username}")
+ private String emailFrom;
+ @Autowired
+ private MsSendMailHistoryRecordMapper sendMailHistoryRecordMapper;
// 仲裁反请求模板内容
- private final String counterclaim= "在《2022年版仲裁规则》第十八条第(一)项规定的期限内,被申请人向秘书处提交了" +
- "《仲裁反请求申请书》及证据材料。仲裁委依据《2022年版仲裁规则》第十八条的规定受理了该仲裁反请求案申请。" +
- "仲裁反请求案件受理后,秘书处向被申请人发送了仲裁反请求通知书及附件,向申请人发送了仲裁反请求通知书及附件、仲裁反请求申请书及附件。";
+ private final String counterclaim = "在《2022年版仲裁规则》第十八条第(一)项规定的期限内,被申请人向秘书处提交了" + "《仲裁反请求申请书》及证据材料。仲裁委依据《2022年版仲裁规则》第十八条的规定受理了该仲裁反请求案申请。" + "仲裁反请求案件受理后,秘书处向被申请人发送了仲裁反请求通知书及附件,向申请人发送了仲裁反请求通知书及附件、仲裁反请求申请书及附件。";
// 财产保全内容
- String preservation = "本案受理后,申请人向仲裁委提交了财产保全申请,仲裁委根据《中华人民共和国仲裁法》" +
- "第二十八条之规定,将该申请提交至法院。";
+ String preservation = "本案受理后,申请人向仲裁委提交了财产保全申请,仲裁委根据《中华人民共和国仲裁法》" + "第二十八条之规定,将该申请提交至法院。";
// 管辖权异议
- String jurisdictionalObjection = "本案受理后,被申请人向仲裁委提交了《管辖异议申请书》,认为" +
- ",仲裁委经审理,当庭驳回了被申请人的管辖异议申请,并告知被申请人具体的事实和理由将在裁决书中一并列明。";
+ String jurisdictionalObjection = "本案受理后,被申请人向仲裁委提交了《管辖异议申请书》,认为" + ",仲裁委经审理,当庭驳回了被申请人的管辖异议申请,并告知被申请人具体的事实和理由将在裁决书中一并列明。";
// 线上开庭时+线上仲裁
- String onLineDate="{{onLineDate}}";
- String onLine = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于"+onLineDate+"通过仲裁委智慧仲裁平台开庭审理了本案。";
+ String onLineDate = "{{onLineDate}}";
+ String onLine = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于" + onLineDate + "通过仲裁委智慧仲裁平台开庭审理了本案。";
// 开庭+线下仲裁
- String offLineDate="{{offLineDate}}";
- String offLine = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于 "+offLineDate+"在仲裁委所在地开庭审理了本案。";
+ String offLineDate = "{{offLineDate}}";
+ String offLine = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于 " + offLineDate + "在仲裁委所在地开庭审理了本案。";
//书面仲裁时
- String writtenDate="{{writtenDate}}";
- String written = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于"+writtenDate+"在仲裁委所在地开庭审理了本案。仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,根据《2022年版仲裁规则》第五十八条的规定对本案进行了书面审理。 ";
+ String writtenDate = "{{writtenDate}}";
+ String written = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于" + writtenDate + "在仲裁委所在地开庭审理了本案。仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,根据《2022年版仲裁规则》第五十八条的规定对本案进行了书面审理。 ";
//开庭+缺席审理
- String absent = "申请人的特别授权委托代理人{{agentName}}"+"出席了庭审。被申请人经依法送达开庭通知,无正当理由未出席庭审,故仲裁庭依据" +
- "《2022年版仲裁规则》第四十条第(二)项的规定,对本案进行了缺席审理。庭审中,申请人陈述了仲裁请求事项及事实与理由,出示了证据材料并进行了说明,\" +\n" +
- " \"发表了意见,回答了仲裁庭的提问,并作了最后陈述。因被申请人缺席庭审,故仲裁庭无法组织调解。"+"综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
- "第四十条第(二)项、第五十一条的规定,缺席裁决如下:";
+ String absent = "申请人的特别授权委托代理人{{agentName}}" + "出席了庭审。被申请人经依法送达开庭通知,无正当理由未出席庭审,故仲裁庭依据" + "《2022年版仲裁规则》第四十条第(二)项的规定,对本案进行了缺席审理。庭审中,申请人陈述了仲裁请求事项及事实与理由,出示了证据材料并进行了说明,\" +\n" + " \"发表了意见,回答了仲裁庭的提问,并作了最后陈述。因被申请人缺席庭审,故仲裁庭无法组织调解。" + "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" + "第四十条第(二)项、第五十一条的规定,缺席裁决如下:";
// 开庭+出席
- String attend="申请人的特别授权委托代理人{{agentName}}和被申请人本人出席了庭审。 ";
+ String attend = "申请人的特别授权委托代理人{{agentName}}和被申请人本人出席了庭审。 ";
// 开庭+出席+被申提供证据
- String onLineAttendFile="庭审中,申请人陈述了仲裁请求事项及所依据的事实与理由,被申请人进行了答辩;双方当事人均出示了证据材料并对对方的证据材料进行了质证;双方当事人均回答了仲裁庭的提问,进行了辩论,并分别作了最后陈述。双方当事人在仲裁庭的主持下进行了调解,但未能达成调解协议。 ";
+ String onLineAttendFile = "庭审中,申请人陈述了仲裁请求事项及所依据的事实与理由,被申请人进行了答辩;双方当事人均出示了证据材料并对对方的证据材料进行了质证;双方当事人均回答了仲裁庭的提问,进行了辩论,并分别作了最后陈述。双方当事人在仲裁庭的主持下进行了调解,但未能达成调解协议。 ";
// 开庭+出席+被申未提供证据
- String onLineAttend="庭审中,申请人陈述了仲裁请求事项及所依据的事实与理由,被申请人进行了答辩;申请人出示了证据材料,被申请人对对方的证据材料进行了质证; 双方当事人均回答了仲裁庭的提问,进行了辩论,并分别作了最后陈述。双方当事人在仲裁庭的主持下进行了调解,但未能达成调解协议。 ";
+ String onLineAttend = "庭审中,申请人陈述了仲裁请求事项及所依据的事实与理由,被申请人进行了答辩;申请人出示了证据材料,被申请人对对方的证据材料进行了质证; 双方当事人均回答了仲裁庭的提问,进行了辩论,并分别作了最后陈述。双方当事人在仲裁庭的主持下进行了调解,但未能达成调解协议。 ";
// 被申请人出席答辩意见
- String resAttendOpinion="\n(二)被申请人的答辩意见 \n(三)当事人提供的证据材料及对方的质证意见\n" +
- "申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:\n{{applicantFile}}\n被申请人对上述材料的质证意见为:{{respondentOpinion}}\n";
+ String resAttendOpinion = "\n(二)被申请人的答辩意见 \n(三)当事人提供的证据材料及对方的质证意见\n" + "申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:\n{{applicantFile}}\n被申请人对上述材料的质证意见为:{{respondentOpinion}}\n";
// 被申请人出席+被申请人提供了资料
- String resFile="被申请人向仲裁庭提交了如下证据材料:\n{{resFile}}" +
- "申请人对上述材料的质证意见为:{{applicantOpinion}}";
+ String resFile = "被申请人向仲裁庭提交了如下证据材料:\n{{resFile}}" + "申请人对上述材料的质证意见为:{{applicantOpinion}}";
// 被申请人缺席
- String resAbsent="(二)当事人提供的证据材料\n" +
- "申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:\n{{applicantFile}}";
+ String resAbsent = "(二)当事人提供的证据材料\n" + "申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:\n{{applicantFile}}";
// 日期格式化年月日
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
+
+ /**
+ * 生成裁决书
+ *
+ * @param caseApplicationReq
+ * @return
+ */
@Override
@Transactional
public AjaxResult createDocument(CaseApplication caseApplicationReq) {
String templatePath = "";
String templateName = "";
- String agentName = "";
- String resName = "";
+
try {
Map datas = new HashMap<>();
Long id = caseApplicationReq.getId();
@@ -161,13 +170,13 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
return AjaxResult.error("请先指定裁决书模板");
}
templatePath = templateManages.get(0).getTemOrigPath();
- if(StrUtil.isEmpty(templatePath)){
+ if (StrUtil.isEmpty(templatePath)) {
return AjaxResult.error("未找到该模板");
}
- // todo 部署放开
- if(templatePath!=null){
- templatePath="/home/ruoyi/" +templatePath;
+ // 部署放开
+ if (templatePath != null) {
+ templatePath = "/home/ruoyi/" + templatePath;
}
try {
File file = new File(templatePath);
@@ -176,9 +185,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
}
templateName = templateManages.get(0).getFileName();
// 查询案件相关表信息
- CaseAffiliate caseAffiliate = new CaseAffiliate();
- caseAffiliate.setCaseAppliId(id);
- List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
+ List caseAffiliates = caseApplicationService.selectAfflicatesByCaseId(id);
//获取仲裁记录表里的相关信息
ArbitrateRecord arbitrateRecord = new ArbitrateRecord();
arbitrateRecord.setCaseAppliId(id);
@@ -198,15 +205,15 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
fatchRuleMap = fatchRuleList.stream().collect(Collectors.groupingBy(FatchRule::getIsDefault));
}
// 自定义字段,从columnValue值取
- if (fatchRuleMap.size()>0&&fatchRuleMap.containsKey(1)) {
+ if (fatchRuleMap.size() > 0 && fatchRuleMap.containsKey(1)) {
// 根据案件id查询key-value表
List columnValueList = columnValueMapper.listByCaseId(caseApplicationReq.getId());
if (CollectionUtil.isNotEmpty(columnValueList)) {
columnValueList.forEach(columnValue -> valueMap.put(columnValue.getName(), columnValue.getValue()));
}
}
- // 组装内置字段,在主表中查出内容
- buildDefaultColumnValue(dictDataList,caseAffiliates,valueMap,caseApplicationById);
+ // 组装内置字段,在主表中查出内容
+ buildDefaultColumnValue(dictDataList, caseAffiliates, valueMap, caseApplicationById);
// 获取模板中的占位符key
List bookmarkList = getBookmarkByDocx(templatePath);
@@ -214,9 +221,9 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
return AjaxResult.success("请检查模板是否配置正确,未获取到占位符");
}
// 遍历书签,给书签赋值
- replaceBookmark(bookmarkList,datas,valueMap);
+ replaceBookmark(bookmarkList, datas, valueMap);
// 根据条件替换书签
- conditionReplaceBookmark(caseApplicationById,datas,agentName,resName,arbitrateRecordSelect);
+ conditionReplaceBookmark(caseApplicationById, datas, "", "", arbitrateRecordSelect);
// 裁决书生成时间
LocalDate now = LocalDate.now();
String year = Integer.toString(now.getYear());
@@ -226,7 +233,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
// 裁决书编号
datas.put("裁决书编号", equipmentNo);
// 仲裁费
- datas.put("仲裁费", caseApplicationById.getFeePayable().toString());
+ datas.put("仲裁费", caseApplicationById.getFeePayable() != null ? caseApplicationById.getFeePayable().toString() : "");
// 案件创建时间
Date createTime = caseApplicationById.getCreateTime();
// 将日期格式化为字符串
@@ -248,11 +255,41 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
// String saveName = "D:/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day + "/" + fileName;
// 将word中的标签替换掉,生成新的word
- String docFilePath = wordChangeText(templatePath,datas,saveFolderPath,fileName);
+ String docFilePath = wordChangeText(templatePath, datas, saveFolderPath, fileName);
+ String annexPath = saveName.replace("/profile/upload/", "/home/ruoyi/uploadPath/upload/");
+ // 上传到onlyoffice
+ JSONArray jsonArray = caseApplicationService.uploadOnlyOffice(annexPath, caseApplicationReq.getId());
+ CaseAttach caseAttach = null;
+ if (jsonArray != null && jsonArray.size() > 0) {
- String savePath = docFilePath.substring(0, docFilePath.indexOf("/upload/") + 8);
- // 保存裁决书附件
- saveArbitorFile(id, saveName, savePath, caseApplicationById, arbitrateRecordSelect);
+ for (Object obj : jsonArray) {
+ JSONObject jsonObject = (JSONObject) obj;
+ String path = jsonObject.get("filePath")!=null?jsonObject.getString("filePath"):"";
+ path=path.replace("/home/ruoyi/uploadPath/","/profile/");
+ String name = jsonObject.get("fileName")!=null?jsonObject.getString("fileName"):"";
+ caseAttach = CaseAttach.builder()
+ .caseAppliId(caseApplicationReq.getId())
+ .annexName(name)
+ .annexPath(path)
+ .annexType(3)
+ .onlyOfficeFileId(jsonObject.getString("fileId"))
+ .build();
+
+// if (jsonObject.get("filePath") != null) {
+// String officePath = jsonObject.getString("filePath");
+// String replace = officePath.replace("/home/ruoyi/uploadPath/", "/profile/");
+// caseAttach.setAnnexName(replace);
+//
+// }
+
+ }
+ }
+ if (caseAttach != null) {
+ // 保存裁决书附件
+ saveArbitorFile(caseAttach, caseApplicationById, arbitrateRecordSelect, CaseApplicationConstants.VERPRIF_ARBITRATION);
+ } else {
+ return AjaxResult.error("上传onlyoffice服务器失败");
+ }
return AjaxResult.success("裁决书已生成");
} catch (IOException e) {
@@ -262,14 +299,15 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
/**
* 将word中的标签替换掉,生成新的word
- * @param modalFilePath 裁决书模板路径
- * @param datas 替换标签的内容
+ *
+ * @param modalFilePath 裁决书模板路径
+ * @param datas 替换标签的内容
* @param saveFolderPath 保存路径
- * @param fileName 保存文件名
+ * @param fileName 保存文件名
* @return
* @throws IOException
*/
- private String wordChangeText(String modalFilePath, Map datas, String saveFolderPath,String fileName) throws IOException {
+ private String wordChangeText(String modalFilePath, Map datas, String saveFolderPath, String fileName) throws IOException {
String resultFilePath = saveFolderPath + "/" + fileName;
// 创建日期目录
File saveFolder = new File(saveFolderPath);
@@ -291,13 +329,14 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
/**
* 根据条件判断裁决书中是否需要该内容
- * @param caseApplicationById 案件信息
- * @param datas 替换标签值
- * @param agentName 代理人名称
- * @param resName 被申请人名称
- * @param arbitrateRecordSelect 仲裁记录
+ *
+ * @param caseApplicationById 案件信息
+ * @param datas 替换标签值
+ * @param agentName 代理人名称
+ * @param resName 被申请人名称
+ * @param arbitrateRecordSelect 仲裁记录
*/
- private void conditionReplaceBookmark(CaseApplication caseApplicationById, Map datas,String agentName,String resName, ArbitrateRecord arbitrateRecordSelect ) {
+ private void conditionReplaceBookmark(CaseApplication caseApplicationById, Map datas, String agentName, String resName, ArbitrateRecord arbitrateRecordSelect) {
// 如果有仲裁反请求,该字段设置值
Integer adjudicaCounter = caseApplicationById.getAdjudicaCounter();
if (adjudicaCounter != null && adjudicaCounter == 1) {
@@ -342,13 +381,12 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
hearDateStr = sdf.format(hearDate);
datas.put("审理日期", hearDateStr);
}
- // todo 线上仲裁/线下仲裁方式未选择
//线上开庭时+线上仲裁
- if (arbitratMethod!=null&&arbitratMethod == 1) {
+ if (arbitratMethod != null && arbitratMethod == 1) {
String replace = onLine.replace(onLineDate, Optional.of(hearDateStr).orElse(""));
datas.put("线上开庭并线上仲裁", replace);
// 所有附件
- List caseAttachList = caseApplicationById.getCaseAttachList();
+ List caseAttachList = caseAttachMapper.queryAnnexPathByCaseId(caseApplicationById.getId());
Map> caseAttachMap = new HashMap<>();
if (caseAttachList != null && caseAttachList.size() > 0) {
caseAttachMap = caseAttachList.stream().collect(Collectors.groupingBy(CaseAttach::getAnnexType));
@@ -418,9 +456,10 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
/**
* 给模板中的占位符赋值
+ *
* @param bookmarkList 书签
- * @param datas 书签赋值
- * @param valueMap 案件内容
+ * @param datas 书签赋值
+ * @param valueMap 案件内容
*/
private void replaceBookmark(List bookmarkList, Map datas, Map valueMap) {
for (String bookmark : bookmarkList) {
@@ -454,49 +493,58 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
/**
* 组装案件内置字段值,即主表和相关人员表信息
- * @param dictDataList 内置字段
+ *
+ * @param dictDataList 内置字段
* @param caseAffiliates 关联人员
- * @param valueMap 组装的值
+ * @param valueMap 组装的值
*/
- private void buildDefaultColumnValue(List dictDataList, List caseAffiliates, Map valueMap, CaseApplication caseApplication) {
+ private void buildDefaultColumnValue(List dictDataList, List caseAffiliates, Map valueMap, CaseApplication caseApplication) {
if (CollectionUtil.isNotEmpty(dictDataList)) {
- Map affiliateMap = caseAffiliates.stream().collect(Collectors.toMap(CaseAffiliate::getIdentityType, Function.identity(), (n1, n2) -> n2));
+ // 申请操作人
+ Optional applicantAffiliateOpt = caseAffiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).findFirst();
+ Optional applicantAgentAffiliateOpt = caseAffiliates.stream().filter(affiliate -> StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(2))).findFirst();
+ // 被申请操作人
+ Optional resAffiliateOpt = caseAffiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).findFirst();
+ Optional resAgentAffiliateOpt = caseAffiliates.stream().filter(affiliate -> StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(4))).findFirst();
+ if (!applicantAffiliateOpt.isPresent() || !resAffiliateOpt.isPresent()) {
+ throw new ServiceException("未找到案件操作人员");
+ }
+
for (SysDictData dictData : dictDataList) {
if (StrUtil.isNotEmpty(dictData.getDictLabel())) {
if (dictData.getDictLabel().contains("被申请人")) {
- CaseAffiliate affiliate = affiliateMap.get(2);
- if (affiliate == null) {
- continue;
- }
+ CaseAffiliateEntity res = resAffiliateOpt.get();
+
// 被申请人
switch (dictData.getDictLabel()) {
case "被申请人姓名":
- valueMap.put(dictData.getDictLabel(), affiliate.getName());
+ valueMap.put(dictData.getDictLabel(), res.getName());
break;
case "被申请人身份证号":
- valueMap.put(dictData.getDictLabel(), affiliate.getIdentityNum());
+ valueMap.put(dictData.getDictLabel(), res.getIdCard());
break;
case "被申请人住所":
- valueMap.put(dictData.getDictLabel(), affiliate.getResidenAffili());
+ valueMap.put(dictData.getDictLabel(), res.getHome());
+ break;
+ case "被申请人联系地址":
+ valueMap.put(dictData.getDictLabel(), res.getAddress());
break;
case "被申请人联系电话":
- valueMap.put(dictData.getDictLabel(), affiliate.getContactTelphone());
+ valueMap.put(dictData.getDictLabel(), res.getPhone());
break;
case "被申请人电子邮件":
- valueMap.put(dictData.getDictLabel(), affiliate.getEmail());
+ valueMap.put(dictData.getDictLabel(), res.getEmail());
break;
case "被申请人性别":
- if (dictData.getDictLabel().equals("被申请人性别")) {
- String responSex = affiliate.getResponSex();
- if (responSex.equals("0")) {
- valueMap.put(dictData.getDictLabel(), "男");
- } else {
- valueMap.put(dictData.getDictLabel(), "女");
- }
+ String responSex = res.getSex();
+ if (responSex.equals("0")) {
+ valueMap.put(dictData.getDictLabel(), "男");
+ } else {
+ valueMap.put(dictData.getDictLabel(), "女");
}
break;
case "被申请人出生年月日":
- Date responBirth = affiliate.getResponBirth();
+ Date responBirth = res.getBirth();
if (responBirth != null) {
valueMap.put(dictData.getDictLabel(), sdf.format(responBirth));
} else {
@@ -506,49 +554,51 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
default:
break;
}
- } else if (dictData.getDictLabel().contains("申请人") || dictData.getDictLabel().contains("统一社会信用代码")
- || dictData.getDictLabel().contains("法定代表人") || dictData.getDictLabel().contains("法定代表人职位")
- || dictData.getDictLabel().contains("代理人")) {
- CaseAffiliate affiliate = affiliateMap.get(1);
- if (affiliate == null) {
- continue;
- }
+ } else if (dictData.getDictLabel().contains("申请人") || dictData.getDictLabel().contains("统一社会信用代码") || dictData.getDictLabel().contains("法定代表人") || dictData.getDictLabel().contains("法定代表人职位") || dictData.getDictLabel().contains("代理人")) {
+ CaseAffiliateEntity app = applicantAffiliateOpt.get();
+ CaseAffiliateEntity appAgent = applicantAgentAffiliateOpt.orElse(null);
// 申请人
switch (dictData.getDictLabel()) {
case "申请人姓名":
- valueMap.put(dictData.getDictLabel(), affiliate.getName());
+ valueMap.put(dictData.getDictLabel(), app.getName());
break;
case "统一社会信用代码":
- valueMap.put(dictData.getDictLabel(), affiliate.getIdentityNum());
+ valueMap.put(dictData.getDictLabel(), app.getCode());
break;
case "法定代表人":
- valueMap.put(dictData.getDictLabel(), affiliate.getCompLegalPerson());
+ valueMap.put(dictData.getDictLabel(), app.getCompLegalPerson());
break;
case "法定代表人职位":
- valueMap.put(dictData.getDictLabel(), affiliate.getCompLegalperPost());
+ valueMap.put(dictData.getDictLabel(), app.getPosition());
break;
case "申请人住所":
- valueMap.put(dictData.getDictLabel(), affiliate.getResidenAffili());
+ valueMap.put(dictData.getDictLabel(), app.getHome());
break;
case "申请人联系地址":
- valueMap.put(dictData.getDictLabel(), affiliate.getContactAddress());
+ valueMap.put(dictData.getDictLabel(), app.getAddress());
break;
case "委托代理人姓名":
- valueMap.put(dictData.getDictLabel(), affiliate.getNameAgent());
+ if (appAgent != null) {
+ valueMap.put(dictData.getDictLabel(), appAgent.getName());
+ }
break;
case "委托代理人联系电话":
- valueMap.put(dictData.getDictLabel(), affiliate.getContactTelphoneAgent());
+ if (appAgent != null) {
+ valueMap.put(dictData.getDictLabel(), appAgent.getPhone());
+ }
break;
case "委托代理人电子邮件":
- valueMap.put(dictData.getDictLabel(), affiliate.getAgentEmail());
+ if (appAgent != null) {
+ valueMap.put(dictData.getDictLabel(), appAgent.getEmail());
+ }
break;
default:
break;
}
- }else {
+ } else {
valueMap.put(dictData.getDictLabel(), ObjectFieldUtils.getValue(caseApplication, dictData.getDictValue()));
}
- }else {
+ } else {
valueMap.put(dictData.getDictLabel(), ObjectFieldUtils.getValue(caseApplication, dictData.getDictValue()));
}
@@ -558,19 +608,12 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
/**
* 保存裁决书附件
- * @param id 案件id
- * @param saveName 保存的文件名
- * @param savePath 保存路径
- * @param caseApplicationById 案件基本信息
+ *
+ * @param caseApplicationById 案件基本信息
* @param arbitrateRecordSelect 出裁决书生成记录
+ * @param caseStatus 案件状态,不为空则更新案件状态
*/
- private void saveArbitorFile(Long id, String saveName, String savePath, CaseApplication caseApplicationById, ArbitrateRecord arbitrateRecordSelect) {
- CaseAttach caseAttach = CaseAttach.builder()
- .caseAppliId(id)
- .annexName(saveName)
- .annexPath(savePath)
- .annexType(3)
- .build();
+ private void saveArbitorFile(CaseAttach caseAttach, CaseApplication caseApplicationById, ArbitrateRecord arbitrateRecordSelect, Integer caseStatus) {
//保存到附件表里,先判断之前有没有,有的话更新,没有的话新增
List caseAttachList = caseAttachMapper.getCaseAttachByCaseIdAndType(caseAttach);
if (caseAttachList != null && caseAttachList.size() > 0) {
@@ -581,7 +624,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
int i = caseAttachMapper.save(caseAttach);
if (i > 0) {
if (arbitrateRecordSelect != null) {
- Integer annexId = caseAttach.getAnnexId();
+ Long annexId = caseAttach.getAnnexId();
//将附件id保存到仲裁记录表里面
arbitrateRecordSelect.setAnnexId(annexId);
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecordSelect);
@@ -589,7 +632,13 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
}
}
//修改案件状态
- caseApplicationById.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);
+ if (caseStatus != null) {
+ caseApplicationById.setCaseStatus(caseStatus);
+ }
+ Integer arbitratMethod = caseApplicationById.getArbitratMethod();
+ if (arbitratMethod == 1) {
+ caseApplicationById.setLockStatus(1);
+ }
caseApplicationMapper.submitCaseApplication(caseApplicationById);
}
@@ -630,121 +679,109 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
//电子邮件送达
JavaMailSender javaMailSender = emailOutUtil.rebuildMailSender();
if (appEmail != null) {
- emailOutUtil.sendMessageCarryFile(appEmail, "案件裁决书", "您的裁决书已送达,详情请查阅附件", file
- , "hjbjava@163.com", javaMailSender);
+ emailOutUtil.sendMessageCarryFile(appEmail, "案件裁决书", "您的裁决书已送达,详情请查阅附件", file, "hjbjava@163.com", javaMailSender);
}
if (resEmail != null) {
- emailOutUtil.sendMessageCarryFile(resEmail, "案件裁决书", "您的裁决书已送达,详情请查阅附件", file
- , "hjbjava@163.com", javaMailSender);
+ emailOutUtil.sendMessageCarryFile(resEmail, "案件裁决书", "您的裁决书已送达,详情请查阅附件", file, "hjbjava@163.com", javaMailSender);
}
//修改案件状态
caseApplication1.setCaseStatus(CaseApplicationConstants.CASE_FILING);
caseApplicationMapper.submitCaseApplication(caseApplication1);
//保存邮箱信息和快递单号到关联人表
- CaseAffiliate caseAffiliate = new CaseAffiliate();
- caseAffiliate.setCaseAppliId(id);
- List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
- if (caseAffiliates != null && caseAffiliates.size() > 0) {
- for (CaseAffiliate affiliate : caseAffiliates) {
- if (affiliate.getIdentityType() == 1) { //申请人
- affiliate.setSendEmail(appEmail);
- affiliate.setTrackNum(apptrackingNum);
- caseAffiliateMapper.updataCaseAffiliate(affiliate);
- } else {
- affiliate.setSendEmail(resEmail);
- affiliate.setTrackNum(restrackingNum);
- caseAffiliateMapper.updataCaseAffiliate(affiliate);
- }
- }
- }
+// CaseAffiliate caseAffiliate = new CaseAffiliate();
+// caseAffiliate.setCaseAppliId(id);
+// List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
+// if (caseAffiliates != null && caseAffiliates.size() > 0) {
+// for (CaseAffiliate affiliate : caseAffiliates) {
+// if (affiliate.getIdentityType() == 1) { //申请人
+// affiliate.setSendEmail(appEmail);
+// affiliate.setTrackNum(apptrackingNum);
+// caseAffiliateMapper.updataCaseAffiliate(affiliate);
+// } else {
+// affiliate.setSendEmail(resEmail);
+// affiliate.setTrackNum(restrackingNum);
+// caseAffiliateMapper.updataCaseAffiliate(affiliate);
+// }
+// }
+// }
- return AjaxResult.success("仲裁文书送达成功");
+ return AjaxResult.success("裁决书送达成功");
} catch (MailSendException e) {
return AjaxResult.error("发送失败,请检查文件路径");
}
}
- @Override
- public List getLogisticsInfo(CaseApplication caseApplication) {
- try {
- //快递单号查询
- String key = "729437f92468910aee6c12dbfeaee3c1";
- String com = "auto";
- //根据案件id查询单号信息
- CaseAffiliate caseAffiliate = new CaseAffiliate();
- caseAffiliate.setCaseAppliId(caseApplication.getId());
- List logisticsInfoVOList = new ArrayList<>();
- List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
- if (caseAffiliates != null && caseAffiliates.size() > 0) {
- for (CaseAffiliate affiliate : caseAffiliates) {
- LogisticsInfoVO logisticsInfoVO = new LogisticsInfoVO();
- String trackNum = affiliate.getTrackNum();
- if (trackNum != null) {
- // 构造查询字符串参数
- String queryParameters = String.format("key=%s&com=%s&no=%s&phone=%d",
- URLEncoder.encode(key, "UTF-8"),
- URLEncoder.encode(com, "UTF-8"),
- URLEncoder.encode(trackNum, "UTF-8"), null);
- // 拼接到API URL中
- String fullUrl = apiUrl + "?" + queryParameters;
- URL url = new URL(fullUrl);
- HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- connection.setRequestMethod("GET");
- int responseCode = connection.getResponseCode();
- if (responseCode == HttpURLConnection.HTTP_OK) {
- BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
- String line;
- StringBuilder response = new StringBuilder();
- while ((line = reader.readLine()) != null) {
- response.append(line);
- }
- reader.close();
- // 处理返回的响应数据\
- JSONObject jsonObject = JSON.parseObject(response.toString());
- // 提取 "data" 字段并转换为字符串
- String data = jsonObject.getString("data");
- if (data != null) {
- logisticsInfoVO.setIdentityType(affiliate.getIdentityType());
- logisticsInfoVO.setLogisticsInfo(data);
- logisticsInfoVOList.add(logisticsInfoVO);
- }
- } else {
- // 请求失败
- return null;
- }
- }
- }
- return logisticsInfoVOList;
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
+// @Override
+// public List getLogisticsInfo(CaseApplication caseApplication) {
+// try {
+// //快递单号查询
+// String key = "729437f92468910aee6c12dbfeaee3c1";
+// String com = "auto";
+// //根据案件id查询单号信息
+// CaseAffiliate caseAffiliate = new CaseAffiliate();
+// caseAffiliate.setCaseAppliId(caseApplication.getId());
+// List logisticsInfoVOList = new ArrayList<>();
+// List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
+// if (caseAffiliates != null && caseAffiliates.size() > 0) {
+// for (CaseAffiliate affiliate : caseAffiliates) {
+// LogisticsInfoVO logisticsInfoVO = new LogisticsInfoVO();
+// String trackNum = affiliate.getTrackNum();
+// if (trackNum != null) {
+// // 构造查询字符串参数
+// String queryParameters = String.format("key=%s&com=%s&no=%s&phone=%d", URLEncoder.encode(key, "UTF-8"), URLEncoder.encode(com, "UTF-8"), URLEncoder.encode(trackNum, "UTF-8"), null);
+// // 拼接到API URL中
+// String fullUrl = apiUrl + "?" + queryParameters;
+// URL url = new URL(fullUrl);
+// HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+// connection.setRequestMethod("GET");
+// int responseCode = connection.getResponseCode();
+// if (responseCode == HttpURLConnection.HTTP_OK) {
+// BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+// String line;
+// StringBuilder response = new StringBuilder();
+// while ((line = reader.readLine()) != null) {
+// response.append(line);
+// }
+// reader.close();
+// // 处理返回的响应数据\
+// JSONObject jsonObject = JSON.parseObject(response.toString());
+// // 提取 "data" 字段并转换为字符串
+// String data = jsonObject.getString("data");
+// if (data != null) {
+// logisticsInfoVO.setIdentityType(affiliate.getIdentityType());
+// logisticsInfoVO.setLogisticsInfo(data);
+// logisticsInfoVOList.add(logisticsInfoVO);
+// }
+// } else {
+// // 请求失败
+// return null;
+// }
+// }
+// }
+// return logisticsInfoVOList;
+// }
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+// return null;
+// }
- @Override
- public AjaxResult signature(CaseApplication caseApplication) {
- //更改案件状态(暂时)
- caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
- caseApplicationMapper.submitCaseApplication(caseApplication);
- // 新增日志
- CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.ARBITRATED_SEAL, "");
-
- return AjaxResult.success("签名成功,案件状态已改为待仲裁文书用印");
- }
@Override
+ @Transactional
public AjaxResult caseFile(List ids) {
try {
for (Long id : ids) {
CaseApplication caseApplication = new CaseApplication();
caseApplication.setId(id);
+ // 查询当前案件节点
+ // Integer currentStatus = caseApplicationMapper.selectCaseApplicationCaseStatus(caseApplication.getId());
//更改案件状态(暂时)
caseApplication.setCaseStatus(CaseApplicationConstants.CASE_ARCHIVED);
caseApplicationMapper.submitCaseApplication(caseApplication);
// 新增日志
- CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_ARCHIVED, "");
+ CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_FILING, "");
}
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
@@ -753,6 +790,9 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
return AjaxResult.success("归档成功,案件状态已改为已归档");
}
+ @Autowired
+ DownFileService downFileService;
+
@Override
@Transactional
public AjaxResult service(Long id, String appEmail, String resEmail, String apptrackingNum, String restrackingNum) {
@@ -762,510 +802,223 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
if (caseApplication1 == null) {
return AjaxResult.error("未查询到相关案件");
}
+ String caseNum = caseApplication1.getCaseNum();
List caseAttachList = caseAttachMapper.queryCaseAttachList(caseApplication1);
+ Boolean isExistPdf = false;
+ String path=null;
if (caseAttachList != null && caseAttachList.size() > 0) {
for (CaseAttach caseAttach : caseAttachList) {
if (caseAttach.getAnnexType() == 3) {
- String annexName = caseAttach.getAnnexName();
- String prefix = "/profile/upload/";
- int startIndex = prefix.length();
- String path = caseAttach.getAnnexPath() + annexName.substring(startIndex);
- File file = new File(path);
- if(!file.exists()){
- return AjaxResult.error("未生成裁决书");
- }
+ isExistPdf = true;
+ String filePath = caseAttach.getAnnexPath();
+ if (StrUtil.isEmpty(filePath)) {
+ throw new ServiceException("未找到文件");
+ }
+ path = filePath.replace("/profile/", "/home/ruoyi/uploadPath/");
+ File file = new File(path);
+ //判断文件是否存在
+ if (!file.exists()) {
+ isExistPdf = false;
+ //若不存在裁决书则从e签宝下载PDF文件
+ try {
+ SealSignRecord sealSignRecord = new SealSignRecord();
+ sealSignRecord.setCaseAppliId(caseApplication.getId());
+ //3为"签署用印记录表"的状态为签署完成
+ sealSignRecord.setSignFlowStatus(3);
+ List sealSignRecords = sealSignRecordMapper.selectSealSignRecord(sealSignRecord);
+ if (sealSignRecords != null && sealSignRecords.size() > 0) {
+ SealSignRecord sealSignRecord1 = sealSignRecords.get(0);
+ downFileService.downPdfFileFormEsign(sealSignRecord1.getSignFlowid(), caseAttach.getCaseAppliId());
+ //下载成功后重新查询
+ List caseAttachList1 = caseAttachMapper.queryCaseAttachList(caseApplication1);
+ for (CaseAttach caseAttach1 : caseAttachList1) {
+ if (caseAttach1.getAnnexType() == 3) {
+ isExistPdf = true;
+ filePath = caseAttach.getAnnexPath();
+ if (StrUtil.isEmpty(filePath)) {
+ throw new ServiceException("未找到文件");
+ }
+ path = filePath.replace("/profile/", "/home/ruoyi/uploadPath/");
+ File file1 = new File(path);
+ if (!file1.exists()) {
+ isExistPdf = false;
+ }
+ path = null;
+ caseAttachList = caseAttachList1;
+ break;
+ }
+ }
+ //若附件中没有裁决书PDF文件则终止
+ if (!isExistPdf) {
+ return AjaxResult.error("未找到签名后的裁决书");
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ //找到签署后的PDF文件后调出该循环
+ break;
}
}
}
+ if (!isExistPdf) {
+ return AjaxResult.error("未找到签名后的裁决书");
+ }
//修改案件状态
caseApplication1.setCaseStatus(CaseApplicationConstants.CASE_FILING);
caseApplicationMapper.submitCaseApplication(caseApplication1);
- //保存邮箱信息和快递单号到关联人表
- CaseAffiliate caseAffiliate = new CaseAffiliate();
- caseAffiliate.setCaseAppliId(id);
- List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
- if (caseAffiliates != null && caseAffiliates.size() > 0) {
- for (CaseAffiliate affiliate : caseAffiliates) {
- if (affiliate.getIdentityType() == 1) { //申请人
- affiliate.setSendEmail(appEmail);
- affiliate.setTrackNum(apptrackingNum);
- caseAffiliateMapper.updataCaseAffiliate(affiliate);
- } else {
- affiliate.setSendEmail(resEmail);
- affiliate.setTrackNum(restrackingNum);
- caseAffiliateMapper.updataCaseAffiliate(affiliate);
- }
+ //申请人发送邮件
+ boolean appEmailFlag = sendCaseEmail(caseApplication1, appEmail, caseAttachList,caseNum);
+
+ // 被申请人发送邮件
+ boolean resEmailFlag = sendCaseEmail(caseApplication1, resEmail, caseAttachList,caseNum);
+ if (!appEmailFlag && !resEmailFlag) {
+ throw new ServiceException("裁决书发送失败");
+ }
+ if (!appEmailFlag) {
+ throw new ServiceException("申请人裁决书发送失败");
+ }
+ if (!resEmailFlag) {
+ throw new ServiceException("被申请人裁决书发送失败");
+ }
+ // 发送短信
+ if (appEmailFlag || resEmailFlag) {
+ // 查询案件相关人员
+ CaseAffiliateEntity affiliateEntity = new CaseAffiliateEntity();
+ affiliateEntity.setCaseAppliId(id);
+ List affiliateEntities = caseAffiliateMapper.selectCaseAffiliate(affiliateEntity);
+// 申请操作人
+ Optional applicantAffiliateOpt = affiliateEntities.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).findFirst();
+ // 被申请操作人
+ Optional resAffiliateOpt = affiliateEntities.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).findFirst();
+ List operatorList = new ArrayList<>();
+ if (applicantAffiliateOpt.isPresent() && StrUtil.isNotEmpty(applicantAffiliateOpt.get().getPhone())) {
+ operatorList.add(applicantAffiliateOpt.get());
}
- }
- //发送邮件
- boolean b = sendCaseEmail(caseApplication1, appEmail, resEmail,caseAttachList);
- SendMailRecord sendMailRecord = new SendMailRecord();
- sendMailRecord.setCaseId(id);
- sendMailRecord.setMailAddress(appEmail);
- sendMailRecord.setMailContent("您好,审核后的裁决书在附件中请查阅");
- sendMailRecord.setMailName("签署后的裁决书");
- sendMailRecord.setSendTime(new Date());
- sendMailRecord.setCreateBy(getUsername());
- if (b) {
- sendMailRecord.setSendStatus(1);
- } else {
- sendMailRecord.setSendStatus(0);
- }
- sendMailRecordMapper.saveSendMailRecord(sendMailRecord);
- SendMailRecord sendMailRecord1 = new SendMailRecord();
- sendMailRecord1.setCaseId(id);
- sendMailRecord1.setMailAddress(resEmail);
- sendMailRecord1.setMailContent("您好,审核后的裁决书在附件中请查阅");
- sendMailRecord1.setMailName("签署后的裁决书");
- sendMailRecord1.setSendTime(new Date());
- sendMailRecord1.setCreateBy(getUsername());
- if (b) {
- sendMailRecord1.setSendStatus(1);
- // 发送短信
- if(CollectionUtil.isNotEmpty(caseAffiliates)) {
- SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
- request.setTemplateId("1990362");
- for (CaseAffiliate affiliate : caseAffiliates) {
-
- request.setPhone(affiliate.getContactTelphone());
-// if(affiliate.getIdentityType() == 1) {
-// request.setTemplateParamSet(new String[]{caseAffiliate.getName(), caseApplication1.getCaseNum(), appEmail});
-// }else {
-// request.setTemplateParamSet(new String[]{caseAffiliate.getName(), caseApplication1.getCaseNum(), resEmail});
-// }
- request.setTemplateParamSet(new String[]{caseAffiliate.getName(), caseApplication1.getCaseNum()});
- Boolean aBoolean = SmsUtils.sendSms(request);
-
- // 保存短信发送记录
- SmsSendRecord smsSendRecord = new SmsSendRecord();
- smsSendRecord.setCaseId(caseAffiliate.getCaseAppliId());
-
- smsSendRecord.setCaseNum(caseApplication1.getCaseNum());
- smsSendRecord.setPhone(request.getPhone());
- smsSendRecord.setSendTime(new Date());
-// // 尊敬的{1}用户,您的{2}仲裁案件,裁决书已送达,请知晓,如非本人操作,请忽略本短信。
-// if(affiliate.getIdentityType() == 1) {
-// smsSendRecord.setSendContent("尊敬的" + caseAffiliate.getName() + "用户,您的" + caseApplication1.getCaseNum() + "仲裁案件,裁决书已送达至" +appEmail+"邮箱,请知晓,如非本人操作,请忽略本短信。");
-// }else {
-// smsSendRecord.setSendContent("尊敬的" + caseAffiliate.getName() + "用户,您的" + caseApplication1.getCaseNum() + "仲裁案件,裁决书已送达至" +resEmail+"邮箱,请知晓,如非本人操作,请忽略本短信。");
-// }
- smsSendRecord.setSendContent("尊敬的" + caseAffiliate.getName() + "用户,您的" + caseApplication1.getCaseNum() + "仲裁案件,裁决书已送达,请知晓,如非本人操作,请忽略本短信。");
-
-
- smsSendRecord.setCreateBy(getUsername());
- if (aBoolean) {
- smsSendRecord.setSendStatus(1);
- } else {
- smsSendRecord.setSendStatus(0);
- }
- smsRecordMapper.saveSmsSendRecord(smsSendRecord);
+ if (resAffiliateOpt.isPresent() && StrUtil.isNotEmpty(resAffiliateOpt.get().getPhone())) {
+ operatorList.add(resAffiliateOpt.get());
+ }
+ if (CollectionUtil.isNotEmpty(operatorList)) {
+ for (CaseAffiliateEntity affiliate : operatorList) {
+ SmsUtils.sendSms(caseApplication1, "1990362", affiliate.getPhone(), new String[]{affiliate.getName(),caseApplication1.getCaseNum()});
}
}
- } else {
- sendMailRecord1.setSendStatus(0);
}
- sendMailRecordMapper.saveSendMailRecord(sendMailRecord1);
+
// 新增日志
- CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_FILING, "");
+ CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.ARBITRATION_DELIVERY, "");
- return AjaxResult.success("仲裁文书送达成功");
+ return AjaxResult.success("裁决书送达成功");
}
+
+
/**
* 通过邮件发送裁决书文件
*
- * @param caseApplication1
- * @param appEmail
- * @param resEmail
+ * @param
*/
- private boolean sendCaseEmail(CaseApplication caseApplication1, String appEmail, String resEmail, List caseAttachList) {
+ private boolean sendCaseEmail(CaseApplication caseApplication, String email, List caseAttachList, String caseNum) {
List fileList = new ArrayList<>();
File file = null;
+ Long fileId = null;
+ Map fileNameMap = new HashMap<>();
if (caseAttachList != null && caseAttachList.size() > 0) {
for (CaseAttach caseAttach : caseAttachList) {
- if (caseAttach.getAnnexType() == 3) {
- String annexName = caseAttach.getAnnexName();
- String prefix = "/profile/upload/";
- int startIndex = prefix.length();
- String path = caseAttach.getAnnexPath() + annexName.substring(startIndex);
+ if (Objects.equals(caseAttach.getAnnexType(), 3)) {
+ String annexPath = caseAttach.getAnnexPath();
+ String path = annexPath.replace("/profile/upload/","/home/ruoyi/uploadPath/upload/");
file = new File(path);
fileList.add(file);
+ fileId = caseAttach.getAnnexId();
+ fileNameMap.put(file.getPath(), caseAttach.getAnnexName());
System.out.println("文件长度==================:" + file.length());
}
}
}
+ SendMailRecord sendMailRecord = new SendMailRecord();
+ sendMailRecord.setCaseId(caseApplication.getId());
+ sendMailRecord.setCaseNum(caseNum);
+ sendMailRecord.setMailAddress(email);
+ sendMailRecord.setMailContent("您好,审核后的调解书在附件中请查阅");
+ sendMailRecord.setMailName("签署后的调解书");
+ sendMailRecord.setSendTime(new Date());
+ sendMailRecord.setMailSubject("签署后的调解书");
+ sendMailRecord.setMailFromAddress(emailFrom);
+ sendMailRecord.setFileIds(fileId != null ? fileId.toString() : "");
+// sendMailRecord.setCreateBy(SecurityUtils.getUsername());
+ sendMailRecord.setCreateTime(new Date());
+ sendMailRecord.setMailFromAddress(emailFrom);
if (file != null && file.exists()) {
try {
- Boolean aBoolean = emailOutUtil.sendEmil(appEmail, "您好,审核后的裁决书在附件中请查阅", "签署后的裁决书", fileList, null);
- Boolean aBoolean1 = emailOutUtil.sendEmil(resEmail, "您好,审核后的裁决书在附件中请查阅", "签署后的裁决书", fileList, null);
- if (aBoolean && aBoolean1) {
+ Boolean aBoolean = emailOutUtil.sendEmil(email, "您好,审核后的调解书在附件中请查阅", "签署后的调解书", fileList, null,fileNameMap);
+
+ if (aBoolean) {
+ sendMailRecord.setSendStatus(1);
+ sendMailRecordMapper.saveSendMailRecord(sendMailRecord);
+ MsSendMailHistoryRecord msSendMailHistoryRecord = new MsSendMailHistoryRecord();
+ BeanUtils.copyProperties(sendMailRecord, msSendMailHistoryRecord);
+ msSendMailHistoryRecord.setParentId(sendMailRecord.getId());
+ msSendMailHistoryRecord.setId(null);
+ sendMailHistoryRecordMapper.insertSelective(msSendMailHistoryRecord);
return Boolean.TRUE;
}
} catch (Exception e) {
System.out.println("邮件发送失败++++++++++++++++++++++++++++++++");
System.out.println(e.toString());
+ sendMailRecord.setSendStatus(0);
+ MsSendMailHistoryRecord msSendMailHistoryRecord = new MsSendMailHistoryRecord();
+ BeanUtils.copyProperties(sendMailRecord, msSendMailHistoryRecord);
+ msSendMailHistoryRecord.setParentId(sendMailRecord.getId());
+ msSendMailHistoryRecord.setId(null);
+ sendMailHistoryRecordMapper.insertSelective(msSendMailHistoryRecord);
+ sendMailRecordMapper.saveSendMailRecord(sendMailRecord);
return Boolean.FALSE;
}
}
return Boolean.FALSE;
}
- @Override
- public AjaxResult stamp(CaseApplication caseApplication) {
- //更改案件状态(暂时)
- caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
- caseApplicationMapper.submitCaseApplication(caseApplication);
- // 新增日志
- CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.ARBITRATION_DELIVERY, "");
-
- return AjaxResult.success("用印成功,案件状态已改为待仲裁文书送达");
- }
-
- @Override
- public AjaxResult getArchivesDetail(Long id) {
- ArchivesDetailVO archivesDetailVO = new ArchivesDetailVO();
- CaseApplication caseApplication = new CaseApplication();
- caseApplication.setId(id);
- //查询案件信息
-// CaseApplication caseApplication1 = caseApplicationService.selectCaseApplication(caseApplication);
-// if (caseApplication1 != null) {
-// archivesDetailVO.setCaseApplication(caseApplication1);
-// }
- //查询案件日志信息
-// CaseLogRecord caseLogRecord = new CaseLogRecord();
-// caseLogRecord.setCaseAppliId(id);
-// List caseLogRecords = caseLogRecordService.selectCaseLogRecordList(caseLogRecord);
-// if (caseLogRecords != null && caseLogRecords.size() > 0) {
-// archivesDetailVO.setCaseLogRecordList(caseLogRecords);
-// }
- //查询快递信息
- List logisticsInfo = this.getLogisticsInfo(caseApplication);
- if (logisticsInfo != null && logisticsInfo.size() > 0) {
- archivesDetailVO.setLogisticsInfoVOList(logisticsInfo);
- }
- return AjaxResult.success(archivesDetailVO);
- }
-
- @Override
- @Transactional
- public AjaxResult regenerationDocument(CaseApplication caseApplication) {
- try {
- Map datas = new HashMap<>();
- Long id = caseApplication.getId();
- if (id == null) {
- return null;
- }
- //获取案件详细信息
- CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
- //生成编码
- String equipmentNo = getNewEquipmentNo();
- datas.put("num", equipmentNo);
- //获取仲裁记录相关信息
- ArbitrateRecord arbitrateRecord1 = caseApplication.getArbitrateRecord();
-
- //获取案件关联人信息
- CaseAffiliate caseAffiliate = new CaseAffiliate();
- caseAffiliate.setCaseAppliId(id);
- List caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
- List nameAgentList = new ArrayList<>();
- if (caseAffiliates != null && caseAffiliates.size() > 0) {
- for (CaseAffiliate affiliate : caseAffiliates) {
- //获取身份类型
- int identityType = affiliate.getIdentityType();
- if (identityType == 1) { //申请人
- datas.put("appName", affiliate.getName());
- datas.put("appAddress", affiliate.getResidenAffili());
- datas.put("appContactAddress", affiliate.getContactAddress());
- datas.put("appLegalPerson", affiliate.getCompLegalPerson());
- datas.put("appLegalPersonTitle", affiliate.getCompLegalperPost());
- datas.put("appAgentName", affiliate.getNameAgent());
- datas.put("appAgentTitle", affiliate.getAppliAgentTitle());
- nameAgentList.add(affiliate.getNameAgent());
- } else if (identityType == 2) { //被申请人
- datas.put("resName", affiliate.getName());
- datas.put("resAddress", affiliate.getResidenAffili());
- String responSex = affiliate.getResponSex();
- if (responSex.equals("0")) {
- datas.put("resSex", "男");
- } else {
- datas.put("resSex", "女");
- }
- Date responBirth = affiliate.getResponBirth();
- if (responBirth != null) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- String responBirthStr = sdf.format(responBirth);
- datas.put("resDateOfBirth", responBirthStr);
- }
- datas.put("resContactAddress", affiliate.getContactAddress());
- nameAgentList.add(affiliate.getNameAgent());
- }
- }
- }
- Date createTime = caseApplication1.getCreateTime();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- // 将日期格式化为字符串
- String createTimeStr = sdf.format(createTime);
- datas.put("submissionDate", createTimeStr);
- Date registerDate = caseApplication1.getRegisterDate();
- String registerDateStr = sdf.format(registerDate);
- datas.put("acceptDate", registerDateStr);
- //反请求
- Integer adjudicaCounter = caseApplication1.getAdjudicaCounter();
- String counterclaim = "在《2022年版仲裁规则》第十八条第(一)项规定的期限内,被申请人向秘书处提交了" +
- "《仲裁反请求申请书》及证据材料。仲裁委依据《2022年版仲裁规则》第十八条的规定受理了该仲裁反请求案申请。" +
- "仲裁反请求案件受理后,秘书处向被申请人发送了仲裁反请求通知书及附件,向申请人发送了仲裁反请求通知书及附件、仲裁反请求申请书及附件。";
- if (adjudicaCounter == null) {
- datas.put("counterclaim", null);
- } else if (adjudicaCounter == 1) {
- datas.put("counterclaim", counterclaim);
- } else {
- datas.put("counterclaim", null);
- }
- //财产保全
- Integer properPreser = caseApplication1.getProperPreser();
- String preservation = "本案受理后,申请人向仲裁委提交了财产保全申请,仲裁委根据《中华人民共和国仲裁法》" +
- "第二十八条之规定,将该申请提交至法院。";
- if (properPreser == null) {
- datas.put("preservation", null);
- } else if (properPreser == 1) {
- datas.put("preservation", preservation);
- } else {
- datas.put("preservation", null);
- }
- //管辖权异议
- Integer objectiJuris = caseApplication1.getObjectiJuris();
- String jurisdictionalObjection = "本案受理后,被申请人向仲裁委提交了《管辖异议申请书》,认为" +
- ",仲裁委经审理,当庭驳回了被申请人的管辖异议申请,并告知被申请人具体的事实和理由将在裁决书中一并列明。";
- if (objectiJuris == null) {
- datas.put("jurisdictionalObjection", null);
- } else if (objectiJuris == 1) {
- datas.put("jurisdictionalObjection", jurisdictionalObjection);
- } else {
- datas.put("jurisdictionalObjection", null);
- }
- String arbitratorName = caseApplication1.getArbitratorName();
- datas.put("arbitratorName", arbitratorName);
- Integer arbitratMethod = caseApplication1.getArbitratMethod();
- Date hearDate = caseApplication1.getHearDate();
- String hearDateStr = "";
- if (hearDate != null) {
- hearDateStr = sdf.format(hearDate);
- }
- //线上开庭时
- if (arbitratMethod == 1) {
- String onLine1 = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于";
- String onLine2 = "通过仲裁委智慧仲裁平台开庭审理了本案。";
- datas.put("onLine1", onLine1);
- datas.put("hearDate", hearDateStr);
- datas.put("onLine2", onLine2);
- } else {
- //书面仲裁时
- String written1 = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于";
- String written2 = "在仲裁委所在地开庭审理了本案。";
- datas.put("written1", written1);
- datas.put("hearDate1", hearDateStr);
- datas.put("written2", written2);
- }
- Integer isAbsence = caseApplication1.getIsAbsence();
- if (isAbsence == null) {
- datas.put("absent1", null);
- datas.put("absent2", null);
- datas.put("absent3", null);
- datas.put("absent4", null);
- datas.put("absent5", null);
- datas.put("attend1", null);
- datas.put("attend2", null);
- datas.put("attend3", null);
- datas.put("attend4", null);
- datas.put("attend5", null);
- datas.put("attend6", null);
- datas.put("attend7", null);
- datas.put("appAgentName1", null);
- datas.put("appAgentName2", null);
- datas.put("resAgentName", null);
- } else if (isAbsence == 1) {
- //缺席审理
- String absent1 = "申请人的特别授权委托代理人";
- String absent2 = "出席了庭审。被申请人经依法送达开庭通知,无正当理由未出席庭审,故仲裁庭依据" +
- "《2022年版仲裁规则》第四十条第(二)项的规定,对本案进行了缺席审理。";
- String absent3 = "庭审中,申请人陈述了仲裁请求事项及事实与理由,出示了证据材料并进行了说明," +
- "发表了意见,回答了仲裁庭的提问,并作了最后陈述。因被申请人缺席庭审,故仲裁庭无法组织调解。";
- String absent4 = "(二/三)当事人提供的证据材料\n" +
- "申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:";
- String absent5 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
- "第四十条第(二)项、第五十一条的规定,缺席裁决如下:";
- datas.put("absent1", absent1);
- datas.put("absent2", absent2);
- datas.put("absent3", absent3);
- datas.put("absent4", absent4);
- datas.put("absent5", absent5);
- datas.put("appAgentName1", nameAgentList.get(0));
- } else {
- //出席审理
- String attend1 = "申请人的特别授权委托代理人";
- String attend2 = "和被申请人本人/的特别授权委托代理人";
- String attend3 = "出席了庭审。";
- String attend4 = "庭审中,申请人陈述了仲裁请求事项及所依据的事实与理由,被申请人进行了答辩;" +
- "双方当事人均出示了证据材料并对对方的证据材料进行了质证;申请人出示了证据材料," +
- "被申请人对对方的证据材料进行了质证;双方当事人均回答了仲裁庭的提问,进行了辩论," +
- "并分别作了最后陈述。双方当事人在仲裁庭的主持下进行了调解,但未能达成调解协议。";
- String attend5 = "(二)被申请人的答辩意见";
- String attend6 = "(二/三)当事人提供的证据材料及对方的质证意见\n" +
- "申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:";
- String attend7 = "被申请人对上述材料的质证意见为:";
- datas.put("attend1", attend1);
- datas.put("attend2", attend2);
- datas.put("attend3", attend3);
- datas.put("attend4", attend4);
- datas.put("attend5", attend5);
- datas.put("attend6", attend6);
- datas.put("attend7", attend7);
- datas.put("responCrossOpin", caseApplication1.getResponCrossOpin());
- datas.put("appAgentName2", nameAgentList.get(0));
- datas.put("resAgentName", nameAgentList.get(1));
- if (arbitratMethod == 1) {
- //被申出席+开庭
- String attend8 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
- "第五十一条的规定,裁决如下:";
- datas.put("attend8", attend8);
- } else {
- //被申出席+书面
- String attend9 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
- "第五十一条、第五十八条的规定,裁决如下:";
- datas.put("attend9", attend9);
- }
- }
- datas.put("claims", caseApplication1.getArbitratClaims());
- datas.put("request", caseApplication1.getRequestRule());
- CaseApplication caseApplication2 = caseApplicationService.selectCaseApplication(caseApplication);
- List caseAttachList1 = caseApplication2.getCaseAttachList();
- if (caseAttachList1 != null && caseAttachList1.size() > 0) {
- for (CaseAttach caseAttach : caseAttachList1) {
- if (caseAttach.getAnnexType() == 6) { //被申请人证据材料
- String annexName = caseAttach.getAnnexName();
- boolean isImageFile = Pattern.matches(".*\\.(jpg|png|gif|bmp)$", annexName);
- if (isImageFile) {
- String annexPath = "/home/ruoyi" + caseAttach.getAnnexPath();
- System.out.println("路径是===========" + annexPath);
- PictureRenderData pictureRenderData = WordUtil
- .rebuildImageContent(100, 100, null, annexPath);
- datas.put("resEvidenceMaterial", pictureRenderData);
- }
- } else if (caseAttach.getAnnexType() == 2) { //申请人证据材料
- String annexName = caseAttach.getAnnexName();
- boolean isImageFile = Pattern.matches(".*\\.(jpg|png|gif|bmp)$", annexName);
- if (isImageFile) {
- String annexPath = "/home/ruoyi" + caseAttach.getAnnexPath();
- System.out.println("路径是===========" + annexPath);
- PictureRenderData pictureRenderData = WordUtil
- .rebuildImageContent(100, 100, null, annexPath);
- //申请人证据材料
- datas.put("appEvidenceMaterial", pictureRenderData);
- }
- }
- }
- }
- datas.put("applicaCrossOpin", "被申请人证据不足,无法说明事实");
-
- datas.put("factDetermi", "被申请人欠款属实");
- datas.put("arbitrateThink", "被申请人应按约定还款");
- datas.put("rulingFollows", "被申请人依法偿还申请人欠款");
-
- LocalDate now = LocalDate.now();
- String year = Integer.toString(now.getYear());
- datas.put("year", year);
- String month = String.format("%02d", now.getMonthValue());
- String day = String.format("%02d", now.getDayOfMonth());
- String modalFilePath = "/data/arbitrate-document/template/新裁决书模板.docx";
-// String modalFilePath = "D:/develop/新裁决书模板.docx";
- String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
-// String saveFolderPath = "D:/data/" + year + "/" + month + "/" + day;
- String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
- String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
- String resultFilePath = saveFolderPath + "/" + fileName;
- // 创建日期目录
- File saveFolder = new File(saveFolderPath);
- if (!saveFolder.exists()) {
- saveFolder.mkdirs();
- }
- Path sourcePath = new File(modalFilePath).toPath();
- Path destinationPath = new File(resultFilePath).toPath();
- Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING);
- String docFilePath = WordUtil.getDocFilePath(datas, modalFilePath, resultFilePath);
- String savePath = docFilePath.substring(0, docFilePath.indexOf("/upload/") + 8);
- //将裁决书更新到附件表里
- CaseAttach caseAttach = CaseAttach.builder()
- .caseAppliId(id)
- .annexName(saveName)
- .annexPath(savePath)
- .annexType(3)
- .build();
- int i = caseAttachMapper.updateCaseAttachBycaseid(caseAttach);
-
-
- if (i > 0) {
- if (arbitrateRecord1 != null) {
- //将仲裁记录更新到仲裁记录表
- arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
- }
- }
-
- String annexName = caseAttach.getAnnexName();
- String prefix = "/profile";
- int startIndex = annexName.indexOf(prefix);
- startIndex += prefix.length();
- String annexPath = "/uploadPath" + annexName.substring(startIndex);
- caseAttach.setAnnexPath(annexPath);
- int startIndexnew = annexName.lastIndexOf("/");
- if (startIndexnew != -1) {
- String annexNamenew = annexName.substring(startIndexnew + 1);
- caseAttach.setAnnexName(annexNamenew);
- }
-
- return AjaxResult.success(caseAttach);
- } catch (IOException e) {
- e.printStackTrace();
- return AjaxResult.error("重新生成裁决书异常");
- }
- }
@Override
public AjaxResult emailByCaseId(Long id) {
- List list = caseAffiliateMapper.emailByCaseId(id);
+ List list = caseAffiliateMapper.emailByCaseId(id);
BookSendVO bookSendVO = new BookSendVO();
if (CollectionUtil.isNotEmpty(list)) {
- for (CaseAffiliate caseAffiliate : list) {
- // 申请人邮箱
- if (caseAffiliate.getIdentityType() == 1) {
- bookSendVO.setAppEmail(caseAffiliate.getEmail());
- } else {
- // 被申请人邮箱
- bookSendVO.setResEmail(caseAffiliate.getEmail());
- }
+ // 申请操作人
+ Optional applicantAffiliateOpt = list.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getEmail()) && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).findFirst();
+ // 被申请操作人
+ Optional resAffiliateOpt = list.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getEmail()) && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).findFirst();
+ if (!applicantAffiliateOpt.isPresent() || !resAffiliateOpt.isPresent()) {
+ throw new ServiceException("未找到案件操作人员");
}
+ bookSendVO.setAppEmail(applicantAffiliateOpt.get().getEmail());
+ bookSendVO.setResEmail(resAffiliateOpt.get().getEmail());
}
return AjaxResult.success(bookSendVO);
}
- private void setExecList(List execList, List columnValueList){
- if(CollectionUtil.isNotEmpty(columnValueList)){
- Function,Integer> function= columnValueMapper::batchSave;
- execList.add(new MultipleThreadListParam(function,columnValueList));
+
+ private void setExecList(List execList, List columnValueList) {
+ if (CollectionUtil.isNotEmpty(columnValueList)) {
+ Function, Integer> function = columnValueMapper::batchSave;
+ execList.add(new MultipleThreadListParam(function, columnValueList));
}
}
- @Transactional
+
+ @Transactional
@Override
public AjaxResult batchDocument(List ids) {
- // todo 多线程生成裁决书
// List execList=new ArrayList<>();
// if(CollectionUtil.isNotEmpty(columnValueList)) {
// setExecList(execList, columnValueList);
@@ -1283,6 +1036,457 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
return AjaxResult.success();
}
+ /**
+ * 根据签署流程id查询批量签名链接
+ *
+ * @param idsReq
+ * @return
+ */
+ @Override
+ public SealSignRecord selectBatchSignUrl(StringIdsReq idsReq) {
+ SealSignRecord signRecord = new SealSignRecord();
+
+ try {
+ EsignHttpResponse identityInfo = SignAward.identityInfo(idsReq);
+
+ Gson gson = new Gson();
+ if (StrUtil.isNotEmpty(identityInfo.getBody())) {
+ JsonObject identityInfoJsonObject = gson.fromJson(identityInfo.getBody(), JsonObject.class);
+ if (identityInfoJsonObject != null && !identityInfoJsonObject.get("data").isJsonNull()) {
+ JsonObject identityInfoData = identityInfoJsonObject.getAsJsonObject("data");
+ if (identityInfoData != null && !identityInfoData.get("psnId").isJsonNull()) {
+ idsReq.setPsnId(identityInfoData.get("psnId").getAsString());
+ }
+ }
+ }
+ if (StrUtil.isEmpty(idsReq.getPsnId())) {
+ throw new ServiceException("该用户未认证");
+ }
+ EsignHttpResponse batchSignUrl = SignAward.batchSignUrl(idsReq);
+ if (StrUtil.isNotEmpty(batchSignUrl.getBody())) {
+ JsonObject signUrlJsonObject = gson.fromJson(batchSignUrl.getBody(), JsonObject.class);
+ if (signUrlJsonObject != null && !signUrlJsonObject.get("data").isJsonNull()) {
+ JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data");
+ if (signUrlData != null && !signUrlData.get("batchSignUrlWithoutLogin").isJsonNull()) {
+ // 免登录批量签链接(链接有效期2小时)
+ String url = signUrlData.get("batchSignUrlWithoutLogin").getAsString();
+ // batchSignUrl 需登录批量签链接(链接有效期2小时),batchSignShortUrl需登录批量签短链接(链接有效期2小时),batchSignShortUrlWithoutLogin免登录批量签短链接(链接有效期2小时)
+ signRecord.setSignUrl(url);
+ }
+ }
+ }
+ } catch (EsignDemoException e) {
+ e.printStackTrace();
+ }
+
+ return signRecord;
+ }
+
+ @Override
+ public SealSignRecord selectBatchSealUrl(StringIdsReq idsReq) {
+ SealSignRecord signRecord = new SealSignRecord();
+
+ try {
+ EsignHttpResponse identityInfo = SignAward.identityInfo(idsReq);
+
+ Gson gson = new Gson();
+ if (StrUtil.isNotEmpty(identityInfo.getBody())) {
+ JsonObject identityInfoJsonObject = gson.fromJson(identityInfo.getBody(), JsonObject.class);
+ if (identityInfoJsonObject != null && !identityInfoJsonObject.get("data").isJsonNull()) {
+ JsonObject identityInfoData = identityInfoJsonObject.getAsJsonObject("data");
+ if (identityInfoData != null && !identityInfoData.get("psnId").isJsonNull()) {
+ idsReq.setPsnId(identityInfoData.get("psnId").getAsString());
+ }
+ }
+ }
+ if (StrUtil.isEmpty(idsReq.getPsnId())) {
+ throw new ServiceException("该用户未认证");
+ }
+ EsignHttpResponse batchSignUrl = SignAward.batchSignUrl(idsReq);
+ if (StrUtil.isNotEmpty(batchSignUrl.getBody())) {
+ JsonObject signUrlJsonObject = gson.fromJson(batchSignUrl.getBody(), JsonObject.class);
+ if (signUrlJsonObject != null && !signUrlJsonObject.get("data").isJsonNull()) {
+ JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data");
+ if (signUrlData != null && !signUrlData.get("batchSignUrlWithoutLogin").isJsonNull()) {
+ // 免登录批量签链接(链接有效期2小时)
+ String url = signUrlData.get("batchSignUrlWithoutLogin").getAsString();
+ // batchSignUrl 需登录批量签链接(链接有效期2小时),batchSignShortUrl需登录批量签短链接(链接有效期2小时),batchSignShortUrlWithoutLogin免登录批量签短链接(链接有效期2小时)
+ signRecord.setSignUrl(url);
+ }
+ }
+ }
+ } catch (EsignDemoException e) {
+ e.printStackTrace();
+ }
+
+ return signRecord;
+ }
+
+ @Override
+ public SealSignRecord getSignUrlBatch(StringIdsReq idsReq) {
+ SealSignRecord signRecord = new SealSignRecord();
+ try {
+ EsignHttpResponse identityInfo = SignAward.identityInfo(idsReq);
+
+ Gson gson = new Gson();
+ if (StrUtil.isNotEmpty(identityInfo.getBody())) {
+ JsonObject identityInfoJsonObject = gson.fromJson(identityInfo.getBody(), JsonObject.class);
+ if (identityInfoJsonObject != null && !identityInfoJsonObject.get("data").isJsonNull()) {
+ JsonObject identityInfoData = identityInfoJsonObject.getAsJsonObject("data");
+ if (identityInfoData != null && !identityInfoData.get("psnId").isJsonNull()) {
+ idsReq.setPsnId(identityInfoData.get("psnId").getAsString());
+ }
+ }
+ }
+ if (StrUtil.isEmpty(idsReq.getPsnId())) {
+ throw new ServiceException("该用户未认证");
+ }
+ Integer batchNumber = idsReq.getBatchNumber();
+ Integer caseStatus = CaseApplicationConstants.SIGN_ARBITRATION;
+ List caseApplications = sealSignRecordMapper.selectsignFlow(batchNumber, caseStatus);
+ if (caseApplications != null && caseApplications.size() > 0) {
+ List signFlowIds = caseApplications.stream().map(CaseApplication::getSignFlowId).collect(Collectors.toList());
+ idsReq.setIds(signFlowIds);
+
+ EsignHttpResponse batchSignUrl = SignAward.batchSignUrl(idsReq);
+ if (StrUtil.isNotEmpty(batchSignUrl.getBody())) {
+ JsonObject signUrlJsonObject = gson.fromJson(batchSignUrl.getBody(), JsonObject.class);
+ if (signUrlJsonObject != null && !signUrlJsonObject.get("data").isJsonNull()) {
+ JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data");
+ if (signUrlData != null && !signUrlData.get("batchSignUrlWithoutLogin").isJsonNull()) {
+ // 免登录批量签链接(链接有效期2小时)
+ String url = signUrlData.get("batchSignUrlWithoutLogin").getAsString();
+ // batchSignUrl 需登录批量签链接(链接有效期2小时),batchSignShortUrl需登录批量签短链接(链接有效期2小时),batchSignShortUrlWithoutLogin免登录批量签短链接(链接有效期2小时)
+ signRecord.setSignUrl(url);
+ }
+ }
+ }
+
+ } else {
+ throw new ServiceException("这个批号没有批量签名的案件");
+ }
+
+ } catch (EsignDemoException e) {
+ e.printStackTrace();
+ }
+
+ return signRecord;
+ }
+
+ @Override
+ public SealSignRecord getSealUrlBatch(StringIdsReq idsReq) {
+ SealSignRecord signRecord = new SealSignRecord();
+ try {
+ EsignHttpResponse identityInfo = SignAward.identityInfo(idsReq);
+
+ Gson gson = new Gson();
+ if (StrUtil.isNotEmpty(identityInfo.getBody())) {
+ JsonObject identityInfoJsonObject = gson.fromJson(identityInfo.getBody(), JsonObject.class);
+ if (identityInfoJsonObject != null && !identityInfoJsonObject.get("data").isJsonNull()) {
+ JsonObject identityInfoData = identityInfoJsonObject.getAsJsonObject("data");
+ if (identityInfoData != null && !identityInfoData.get("psnId").isJsonNull()) {
+ idsReq.setPsnId(identityInfoData.get("psnId").getAsString());
+ }
+ }
+ }
+ if (StrUtil.isEmpty(idsReq.getPsnId())) {
+ throw new ServiceException("该用户未认证");
+ }
+ Integer batchNumber = idsReq.getBatchNumber();
+ Integer caseStatus = CaseApplicationConstants.ARBITRATED_SEAL;
+ List caseApplications = sealSignRecordMapper.selectsignFlow(batchNumber, caseStatus);
+ if (caseApplications != null && caseApplications.size() > 0) {
+ List signFlowIds = caseApplications.stream().map(CaseApplication::getSignFlowId).collect(Collectors.toList());
+ idsReq.setIds(signFlowIds);
+
+ EsignHttpResponse batchSignUrl = SignAward.batchSignUrl(idsReq);
+ if (StrUtil.isNotEmpty(batchSignUrl.getBody())) {
+ JsonObject signUrlJsonObject = gson.fromJson(batchSignUrl.getBody(), JsonObject.class);
+ if (signUrlJsonObject != null && !signUrlJsonObject.get("data").isJsonNull()) {
+ JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data");
+ if (signUrlData != null && !signUrlData.get("batchSignUrlWithoutLogin").isJsonNull()) {
+ // 免登录批量签链接(链接有效期2小时)
+ String url = signUrlData.get("batchSignUrlWithoutLogin").getAsString();
+ // batchSignUrl 需登录批量签链接(链接有效期2小时),batchSignShortUrl需登录批量签短链接(链接有效期2小时),batchSignShortUrlWithoutLogin免登录批量签短链接(链接有效期2小时)
+ signRecord.setSignUrl(url);
+ }
+ }
+ }
+
+ } else {
+ throw new ServiceException("这个批号没有批量用印的案件");
+ }
+ } catch (EsignDemoException e) {
+ e.printStackTrace();
+ }
+ return signRecord;
+ }
+
+ @Override
+ @Transactional
+ public AjaxResult caseFileBatch(Integer batchNumber) {
+ CaseApplication caseApplicationsel = new CaseApplication();
+ caseApplicationsel.setBatchNumber(batchNumber);
+ caseApplicationsel.setCaseStatus(CaseApplicationConstants.CASE_FILING);
+ List caseApplications1 = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel);
+ if (caseApplications1 != null && caseApplications1.size() > 0) {
+ List ids = caseApplications1.stream().map(CaseApplication::getId).collect(Collectors.toList());
+ try {
+ for (Long id : ids) {
+ // Integer currentStatus = caseApplicationMapper.selectCaseApplicationCaseStatus(id);
+ CaseApplication caseApplication = new CaseApplication();
+ caseApplication.setId(id);
+ //更改案件状态(暂时)
+ caseApplication.setCaseStatus(CaseApplicationConstants.CASE_ARCHIVED);
+ caseApplicationMapper.submitCaseApplication(caseApplication);
+ // 新增日志
+ CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_FILING, "");
+ }
+ } catch (Exception e) {
+ return AjaxResult.error(e.getMessage());
+ }
+
+ } else {
+ throw new ServiceException("这个批号没有批量归档的案件");
+ }
+
+ return AjaxResult.success("归档成功");
+ }
+
+ @Override
+ @Transactional
+ public AjaxResult serviceBatch(Integer batchNumber) throws EsignDemoException, IOException {
+ List operatorList = new ArrayList<>();
+ CaseApplication caseApplicationsel = new CaseApplication();
+ caseApplicationsel.setBatchNumber(batchNumber);
+ caseApplicationsel.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
+ List caseApplications1 = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel);
+ if (caseApplications1 != null && caseApplications1.size() > 0) {
+ List ids = caseApplications1.stream().map(CaseApplication::getId).collect(Collectors.toList());
+ for (Long id : ids) {
+ CaseApplication caseApplication = new CaseApplication();
+ caseApplication.setId(id);
+
+ CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
+ if (caseApplication1 == null) {
+ return AjaxResult.error("未查询到相关案件");
+ }
+
+ String appEmail = "";
+ String resEmail = "";
+ CaseAffiliate caseAffiliate = new CaseAffiliate();
+ caseAffiliate.setCaseAppliId(id);
+ List caseAffiliates = caseApplicationService.selectAfflicatesByCaseId(id);
+ if (caseAffiliates != null && caseAffiliates.size() > 0) {
+// 申请操作人
+ Optional applicantAffiliateOpt = caseAffiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).findFirst();
+ // 被申请操作人
+ Optional resAffiliateOpt = caseAffiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).findFirst();
+ if (applicantAffiliateOpt.isPresent()) {
+ operatorList.add(applicantAffiliateOpt.get());
+ appEmail = applicantAffiliateOpt.get().getEmail();
+ }
+ if (resAffiliateOpt.isPresent()) {
+ operatorList.add(resAffiliateOpt.get());
+ resEmail = resAffiliateOpt.get().getEmail();
+ }
+
+ }
+ adjudicationService.service(id, appEmail, resEmail, "","");
+
+ }
+
+
+ } else {
+ throw new ServiceException("这个批号没有批量送达裁决书的案件");
+ }
+ return AjaxResult.success("裁决书送达成功");
+
+ }
+
+ /**
+ * 开庭审理,确定审理结果,生成裁决书
+ *
+ * @param req
+ * @return
+ */
+ @Override
+ public AjaxResult caseJudgment(CaseApplication req) {
+ //获取案件详细信息
+ CaseApplication caseApplicationById = caseApplicationService.selectCaseApplication(req);
+ if (caseApplicationById == null) {
+ return AjaxResult.error("案件不存在");
+ }
+
+ if (caseApplicationById.getTemplateId() == null) {
+ return AjaxResult.error("请先指定裁决书模板");
+ }
+ // 根据模板id查找对应的模板
+ TemplateManage templateManage = new TemplateManage();
+ templateManage.setId(caseApplicationById.getTemplateId());
+ List templateManages = templateManageMapper.selectTemplateList(templateManage);
+ if (CollectionUtil.isEmpty(templateManages)) {
+ return AjaxResult.error("请先指定裁决书模板");
+ }
+ String templatePath = templateManages.get(0).getTemOrigPath();
+ if (StrUtil.isEmpty(templatePath)) {
+ return AjaxResult.error("未找到该模板");
+ }
+ templatePath = "/home/ruoyi/" + templatePath;
+ try {
+ File file = new File(templatePath);
+ } catch (Exception e) {
+ return AjaxResult.error("未找到该模板");
+ }
+ // 查询案件相关表信息
+ List caseAffiliates = caseApplicationService.selectAfflicatesByCaseId(req.getId());
+ if (CollectionUtil.isEmpty(caseAffiliates)) {
+ return AjaxResult.error("未找到案件相关人员");
+ }
+ // 在系统表中查询案件内置字段
+ SysDictData sysDictData = new SysDictData();
+ sysDictData.setDictType("case_built_type");
+ List dictDataList = dictDataMapper.selectDictDataList(sysDictData);
+ // 根据模板id查询抓取规则,判断从主表取值还是从columnValue值取
+ List fatchRuleList = fatchRuleMapper.listByTemplateId(caseApplicationById.getTemplateId());
+ // 抓取规则,0-内置字段,1-自定义字段
+ Map> fatchRuleMap = new HashMap<>();
+ // 裁决书需要的字段和内容,占位符需要配置成中文
+ Map valueMap = new HashMap<>();
+ // 如果未设置抓取规则,则从主表取数据,设置内置字段值
+ if (CollectionUtil.isNotEmpty(fatchRuleList)) {
+ fatchRuleMap = fatchRuleList.stream().collect(Collectors.groupingBy(FatchRule::getIsDefault));
+ }
+ // 自定义字段,从columnValue值取
+ if (fatchRuleMap.size() > 0 && fatchRuleMap.containsKey(1)) {
+ // 根据案件id查询key-value表
+ List columnValueList = columnValueMapper.listByCaseId(req.getId());
+ if (CollectionUtil.isNotEmpty(columnValueList)) {
+ columnValueList.forEach(columnValue -> valueMap.put(columnValue.getName(), columnValue.getValue()));
+ }
+ }
+ // 组装内置字段,在主表中查出内容
+ buildDefaultColumnValue(dictDataList, caseAffiliates, valueMap, caseApplicationById);
+
+ // 获取模板中的占位符key
+ List bookmarkList = getBookmarkByDocx(templatePath);
+ if (CollectionUtil.isEmpty(bookmarkList)) {
+ return AjaxResult.success("请检查模板是否配置正确,未获取到占位符");
+ }
+ //获取仲裁记录表里的相关信息
+ ArbitrateRecord arbitrateRecord = new ArbitrateRecord();
+ arbitrateRecord.setCaseAppliId(req.getId());
+ ArbitrateRecord arbitrateRecordSelect = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecord);
+
+ Map datas = new HashMap<>();
+ // 遍历书签,给书签赋值
+ replaceBookmark(bookmarkList, datas, valueMap);
+ // 根据条件替换书签
+ conditionReplaceBookmark(caseApplicationById, datas, "", "", arbitrateRecordSelect);
+ // 裁决书生成时间
+ LocalDate now = LocalDate.now();
+ String year = Integer.toString(now.getYear());
+ datas.put("裁决书生成时间", year);
+ //生成编码
+ String equipmentNo = getNewEquipmentNo();
+ // 裁决书编号
+ datas.put("裁决书编号", equipmentNo);
+ // 仲裁费
+ datas.put("仲裁费", caseApplicationById.getFeePayable() != null ? caseApplicationById.getFeePayable().toString() : "");
+ // 案件创建时间
+ Date createTime = caseApplicationById.getCreateTime();
+ // 将日期格式化为字符串
+ String createTimeStr = sdf.format(createTime);
+ datas.put("案件创建时间", createTimeStr);
+ // 立案日期
+ Date registerDate = caseApplicationById.getRegisterDate();
+ String registerDateStr = sdf.format(registerDate);
+ datas.put("立案日期", registerDateStr);
+
+
+ String month = String.format("%02d", now.getMonthValue());
+ String day = String.format("%02d", now.getDayOfMonth());
+ // todo
+ String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
+// String saveFolderPath = "D:/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
+ String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
+ // todo
+ String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
+// String saveName = "D:/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day + "/" + fileName;
+ // 将word中的标签替换掉,生成新的word
+ String docFilePath = null;
+ try {
+ docFilePath = wordChangeText(templatePath, datas, saveFolderPath, fileName);
+ } catch (IOException e) {
+ throw new ServiceException("生成裁决书失败");
+ }
+ String annexPath = saveName.replace("/profile/upload/", "/home/ruoyi/uploadPath/upload/");
+ // 上传到onlyoffice
+ JSONArray jsonArray = caseApplicationService.uploadOnlyOffice(annexPath, req.getId());
+ CaseAttach caseAttach = null;
+ if (jsonArray != null && jsonArray.size() > 0) {
+
+ for (Object obj : jsonArray) {
+ JSONObject jsonObject = (JSONObject) obj;
+ String path = jsonObject.get("filePath")!=null?jsonObject.getString("filePath"):"";
+ path=path.replace("/home/ruoyi/uploadPath/","/profile/");
+ String name = jsonObject.get("fileName")!=null?jsonObject.getString("fileName"):"";
+ caseAttach = CaseAttach.builder()
+ .caseAppliId(req.getId())
+ .annexName(name)
+ .annexPath(path)
+ .annexType(3)
+ .onlyOfficeFileId(jsonObject.getString("fileId"))
+ .build();
+
+// if (jsonObject.get("filePath") != null) {
+// String officePath = jsonObject.getString("filePath");
+// String replace = officePath.replace("/home/ruoyi/uploadPath/", "/profile/");
+// caseAttach.setAnnexName(replace);
+//
+// }
+
+ }
+ }
+ if (caseAttach != null) {
+ // 保存裁决书附件
+ saveArbitorFile(caseAttach, caseApplicationById, arbitrateRecordSelect, null);
+ } else {
+ return AjaxResult.error("上传onlyoffice服务器失败");
+ }
+
+ return AjaxResult.success();
+ }
+
+ @Transactional
+ @Override
+ public AjaxResult changeCaseStatus(Long id, Integer caseStatus) {
+ if (id == null || caseStatus == null) {
+ return AjaxResult.error("参数校验失败");
+ }
+ Integer currentStatus = caseApplicationMapper.selectCaseApplicationCaseStatus(id);
+ CaseApplication caseApplication = new CaseApplication();
+ caseApplication.setId(id);
+ caseApplication.setCaseStatus(caseStatus);
+
+ caseApplicationMapper.submitCaseApplication(caseApplication);
+ // 新增日志
+ insertCaseLog(id, CaseApplicationConstants.PENDING_OPENCOURT_HEAR, "");
+ return AjaxResult.success();
+ }
+
+ /**
+ * 根据仲裁员手机号分页查询等待签署,签署中的裁决书
+ *
+ * @param personAccount 仲裁员手机号
+ * @return
+ */
+ @Override
+ public List selectSealSigning(String personAccount, Integer caseStatus) {
+ return sealSignRecordMapper.selectSealSigning(personAccount, caseStatus);
+ }
+
+
public String getNewEquipmentNo() {
Object awardNum = redisCache.getCacheObject("awardNum");
if (awardNum == null) {
@@ -1311,33 +1515,34 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
/**
* 根据裁决书模板获取所有的占位符,占位符必须是{{name}}格式
+ *
* @param path
* @return
*/
- public List getBookmarkByDocx(String path){
+ public List getBookmarkByDocx(String path) {
XWPFDocument xwpfDocument = null;
try {
- log.error("path===="+path);
+ log.error("path====" + path);
FileInputStream fileInputStream = new FileInputStream(path);
log.error("fileInputStream====");
xwpfDocument = new XWPFDocument(fileInputStream);
- log.error("xwpfDocument===="+xwpfDocument);
+ log.error("xwpfDocument====" + xwpfDocument);
} catch (IOException e) {
- e.printStackTrace();
+ throw new ServiceException("系统找不到指定的文件。");
}
- if(xwpfDocument==null){
+ if (xwpfDocument == null) {
return new ArrayList<>();
}
List paragraphs = xwpfDocument.getParagraphs();
- if(CollectionUtil.isEmpty( xwpfDocument.getParagraphs())){
+ if (CollectionUtil.isEmpty(xwpfDocument.getParagraphs())) {
return new ArrayList<>();
}
String regex = "\\{\\{.*?\\}\\}"; // 定义占位符的正则表达式
Pattern pattern = Pattern.compile(regex);
- List bookmarkList=new ArrayList<>();
+ List bookmarkList = new ArrayList<>();
for (XWPFParagraph paragraph : paragraphs) {
String text = paragraph.getText();
- if(StrUtil.isNotEmpty(text)) {
+ if (StrUtil.isNotEmpty(text)) {
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
@@ -1350,7 +1555,4 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
return bookmarkList;
}
-
-
-
}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java
index d879caf..9d81e0a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java
@@ -3,15 +3,14 @@ package com.ruoyi.wisdomarbitrate.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.enums.UpdateSubmitStatus;
import com.ruoyi.common.enums.YesOrNoEnum;
import com.ruoyi.common.utils.ObjectFieldUtils;
-import com.ruoyi.common.utils.SmsUtils;
+import com.ruoyi.wisdomarbitrate.mapper.sendrecord.SmsRecordMapper;
+import com.ruoyi.wisdomarbitrate.utils.SmsUtils;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
-import com.ruoyi.wisdomarbitrate.domain.SmsSendRecord;
import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
import com.ruoyi.wisdomarbitrate.domain.vo.CompareCaseVO;
import com.ruoyi.wisdomarbitrate.domain.vo.UpdateSubmitVO;
@@ -210,30 +209,11 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService
return AjaxResult.success();
}
- SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
- request.setTemplateId("1996949");
- request.setPhone(caseAffiliate.getContactTelphone());
- request.setTemplateParamSet(new String[]{caseAffiliate.getName(), logCase.getCaseNum(),vo.getReason()});
- Boolean aBoolean = SmsUtils.sendSms(request);
- //保存短信发送记录
- SmsSendRecord smsSendRecord = new SmsSendRecord();
- smsSendRecord.setCaseId(caseAffiliate.getCaseAppliId());
CaseApplication caseApplication = new CaseApplication();
caseApplication.setId(caseAffiliate.getCaseAppliId());
caseApplication = caseApplicationMapper.selectCaseApplication(caseApplication);
- smsSendRecord.setCaseNum(caseApplication.getCaseNum());
- smsSendRecord.setPhone(request.getPhone());
- smsSendRecord.setSendTime(new Date());
- // 1996949 审核案件结果通知 尊敬的{1}用户,您的{2}仲裁案件,审核未通过,理由为{3},请知晓,如非本人操作,请忽略本短信
- String content = "尊敬的" + caseAffiliate.getName() + ",您的"+logCase.getCaseNum()+"仲裁案件,审核未通过,理由为"+vo.getReason()+",请知晓,如非本人操作,请忽略本短信。";
- smsSendRecord.setSendContent(content);
- smsSendRecord.setCreateBy(getUsername());
- if (aBoolean) {
- smsSendRecord.setSendStatus(1);
- } else {
- smsSendRecord.setSendStatus(0);
- }
- smsRecordMapper.saveSmsSendRecord(smsSendRecord);
+
+ SmsUtils.sendSms(caseApplication, "1996949", caseAffiliate.getContactTelphone(), new String[]{caseAffiliate.getName(),caseApplication.getCaseNum(),vo.getReason()});
return AjaxResult.success();
}
@@ -247,7 +227,7 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService
CaseApplication beforeCase = caseApplicationService.selectCaseApplication(caseApplication);
// 查询案件关联人员
- afterCase.setCaseAffiliates(caseAffiliateLogMapper.selectCaseAffiliate(afterCase.getCaseLogId()));
+ // afterCase.setAffiliate(caseAffiliateLogMapper.selectCaseAffiliate(afterCase.getCaseLogId()));
// 查询自定义字段表
afterCase.setColumnValues(columnValueLogMapper.listBycaseAppliLogId(afterCase.getCaseLogId()));
// 查询附件
@@ -259,17 +239,10 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService
List afterAttachList = caseAttachLogMapper.getCaseAttachByCaseIdAndType(caseAttach);
if (CollectionUtil.isNotEmpty(afterAttachList)) {
for (CaseAttach attach : afterAttachList) {
- String annexName = attach.getAnnexName();
- String prefix = "/profile";
- int startIndex = annexName.indexOf(prefix);
- startIndex += prefix.length();
- String annexPath = "/uploadPath" + annexName.substring(startIndex);
- attach.setAnnexPath(annexPath);
- int startIndexnew = annexName.lastIndexOf("/");
- if (startIndexnew != -1) {
- String annexNamenew = annexName.substring(startIndexnew + 1);
- attach.setAnnexName(annexNamenew);
- }
+ String path = attach.getAnnexPath()==null?"":attach.getAnnexPath();
+ attach.setAnnexPath(path);
+ attach.setAnnexName(attach.getAnnexName());
+
}
afterCase.setCaseAttachList(afterAttachList);
}
@@ -299,7 +272,7 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService
}
// 对比案件人员字段
- compareAffilate(beforeCase, afterCase);
+// compareAffilate(beforeCase, afterCase);
// 对比申请人证据资料
compareCaseVO.setChangeColumn(compareApplicantFile(beforeCase, afterCase, changeColumn).toString());
// 对比自定义字段
@@ -385,70 +358,70 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService
* @param beforeCase
* @param afterCase
*/
- private void compareAffilate(CaseApplication beforeCase, CaseApplication afterCase) {
- // 对比人员字段
- List beforeCaseCaseAffiliates = beforeCase.getCaseAffiliates();
- List afterCaseCaseAffiliates = afterCase.getCaseAffiliates();
- Map beforeCaseCaseAffiliateMap = null;
- if (CollectionUtil.isNotEmpty(beforeCaseCaseAffiliates)) {
- // 转为map
- beforeCaseCaseAffiliateMap = beforeCaseCaseAffiliates.stream().collect(Collectors.toMap(CaseAffiliate::getIdentityType, v -> v, (n1, n2) -> n2));
- }
- StringBuilder affiliateChangeColumn;
- // 如果上一个版本和现版本有一个为空,那么所有字段都修改
- if (beforeCaseCaseAffiliates != null && afterCaseCaseAffiliates == null) {
- affiliateChangeColumn = new StringBuilder();
- for (String column : affiliateColumns) {
-
- affiliateChangeColumn.append(column).append(",");
- }
-
- } else if (beforeCaseCaseAffiliates == null && afterCaseCaseAffiliates != null) {
- affiliateChangeColumn = new StringBuilder();
- for (String column : affiliateColumns) {
-
- affiliateChangeColumn.append(column).append(",");
- }
- } else if (beforeCaseCaseAffiliates != null && afterCaseCaseAffiliates != null) {
- for (CaseAffiliate afterCaseCaseAffiliate : afterCaseCaseAffiliates) {
- // 找到相同身份类型的数据,进行对比
- affiliateChangeColumn = new StringBuilder();
- int identityType = afterCaseCaseAffiliate.getIdentityType();
- if (beforeCaseCaseAffiliateMap != null && beforeCaseCaseAffiliateMap.containsKey(identityType)) {
- CaseAffiliate beforeCaseCaseAffiliate = beforeCaseCaseAffiliateMap.get(identityType);
- for (String column : affiliateColumns) {
- String beforeValue = ObjectFieldUtils.getValue(beforeCaseCaseAffiliate, column);
- String afterValue = ObjectFieldUtils.getValue(afterCaseCaseAffiliate, column);
- if (StrUtil.isEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue)) {
- affiliateChangeColumn.append(column).append(",");
- continue;
- }
- if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isEmpty(afterValue)) {
- affiliateChangeColumn.append(column).append(",");
- continue;
- }
- if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue) && !Objects.equals(beforeValue, afterValue)) {
- affiliateChangeColumn.append(column).append(",");
- continue;
-
- }
-
- }
-
-
- } else {
- for (String column : affiliateColumns) {
-
- affiliateChangeColumn.append(column).append(",");
- }
- }
- afterCaseCaseAffiliate.setChangeColumn(affiliateChangeColumn.toString());
-
- }
-
-
- }
- }
+// private void compareAffilate(CaseApplication beforeCase, CaseApplication afterCase) {
+// // 对比人员字段
+// List beforeCaseCaseAffiliates = beforeCase.getCaseAffiliates();
+// List afterCaseCaseAffiliates = afterCase.getCaseAffiliates();
+// Map beforeCaseCaseAffiliateMap = null;
+// if (CollectionUtil.isNotEmpty(beforeCaseCaseAffiliates)) {
+// // 转为map
+// beforeCaseCaseAffiliateMap = beforeCaseCaseAffiliates.stream().collect(Collectors.toMap(CaseAffiliate::getIdentityType, v -> v, (n1, n2) -> n2));
+// }
+// StringBuilder affiliateChangeColumn;
+// // 如果上一个版本和现版本有一个为空,那么所有字段都修改
+// if (beforeCaseCaseAffiliates != null && afterCaseCaseAffiliates == null) {
+// affiliateChangeColumn = new StringBuilder();
+// for (String column : affiliateColumns) {
+//
+// affiliateChangeColumn.append(column).append(",");
+// }
+//
+// } else if (beforeCaseCaseAffiliates == null && afterCaseCaseAffiliates != null) {
+// affiliateChangeColumn = new StringBuilder();
+// for (String column : affiliateColumns) {
+//
+// affiliateChangeColumn.append(column).append(",");
+// }
+// } else if (beforeCaseCaseAffiliates != null && afterCaseCaseAffiliates != null) {
+// for (CaseAffiliate afterCaseCaseAffiliate : afterCaseCaseAffiliates) {
+// // 找到相同身份类型的数据,进行对比
+// affiliateChangeColumn = new StringBuilder();
+// int identityType = afterCaseCaseAffiliate.getIdentityType();
+// if (beforeCaseCaseAffiliateMap != null && beforeCaseCaseAffiliateMap.containsKey(identityType)) {
+// CaseAffiliate beforeCaseCaseAffiliate = beforeCaseCaseAffiliateMap.get(identityType);
+// for (String column : affiliateColumns) {
+// String beforeValue = ObjectFieldUtils.getValue(beforeCaseCaseAffiliate, column);
+// String afterValue = ObjectFieldUtils.getValue(afterCaseCaseAffiliate, column);
+// if (StrUtil.isEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue)) {
+// affiliateChangeColumn.append(column).append(",");
+// continue;
+// }
+// if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isEmpty(afterValue)) {
+// affiliateChangeColumn.append(column).append(",");
+// continue;
+// }
+// if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue) && !Objects.equals(beforeValue, afterValue)) {
+// affiliateChangeColumn.append(column).append(",");
+// continue;
+//
+// }
+//
+// }
+//
+//
+// } else {
+// for (String column : affiliateColumns) {
+//
+// affiliateChangeColumn.append(column).append(",");
+// }
+// }
+// afterCaseCaseAffiliate.setChangeColumn(affiliateChangeColumn.toString());
+//
+// }
+//
+//
+// }
+// }
/**
* 同意撤销
diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java
index ddadc91..7510f01 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java
@@ -1,8 +1,10 @@
package com.ruoyi.wisdomarbitrate.service.impl;
+import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
@@ -10,10 +12,13 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.ruoyi.common.annotation.DataScope;
+import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.CaseApplicationConstants;
+import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.*;
import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.UpdateSubmitStatus;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.exception.ServiceException;
@@ -23,14 +28,16 @@ import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.thread.ThreadPoolUtil;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.mapper.*;
-import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
-import com.ruoyi.wisdomarbitrate.domain.vo.ReservedConferenceVO;
-import com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount;
+import com.ruoyi.wisdomarbitrate.domain.dto.CaseApplicationDTO;
+import com.ruoyi.wisdomarbitrate.domain.entity.CaseAffiliateEntity;
+import com.ruoyi.wisdomarbitrate.domain.vo.*;
import com.ruoyi.wisdomarbitrate.domain.*;
-import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
import com.ruoyi.wisdomarbitrate.mapper.*;
+import com.ruoyi.wisdomarbitrate.mapper.sendrecord.SmsRecordMapper;
+import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import com.ruoyi.wisdomarbitrate.utils.SignAward;
+import com.ruoyi.wisdomarbitrate.utils.SmsUtils;
import com.ruoyi.wisdomarbitrate.utils.UnZipFileUtils;
import com.ruoyi.wisdomarbitrate.utils.ZipFileUtils;
import com.tencentyun.TLSSigAPIv2;
@@ -40,22 +47,20 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+
import java.io.*;
import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.StandardCopyOption;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
-import java.time.ZoneId;
import java.util.*;
import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.zip.ZipOutputStream;
+import static com.ruoyi.common.constant.CaseApplicationConstants.HEAD_CHECK_ARBITRATION;
import static com.ruoyi.common.core.domain.AjaxResult.error;
import static com.ruoyi.common.core.domain.AjaxResult.success;
import static com.ruoyi.common.utils.PageUtils.startPage;
@@ -72,6 +77,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
// 腾讯云即时通信密钥
@Value("${imConfig.sdkSecretKey}")
private String sdkSecretKey;
+ @Value("${onlyOfficeConfig.url}")
+ private String onlyOfficeUrl;
@Autowired
private CaseApplicationMapper caseApplicationMapper;
@@ -121,192 +128,304 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
@Autowired
private CaseZipImportImpl caseZipImportImpl;
+ @Autowired
+ IAdjudicationService adjudicationService;
+ @Autowired
+ private RedisCache redisCache;
// 手机号正则
private static final Pattern TELEPHONE_REGX = Pattern.compile("^1(3\\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$");
// 邮箱正则
private static final Pattern EMAIL_PATTERN = Pattern.compile("^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$");
// 基本字段校验
- private static final String[] baseColumns = {"caseName","caseSubjectAmount","loanStartDate", "loanEndDate","contractNumber","claimInterestOwed","claimLiquidDamag",
- "claimPrinciOwed","arbitratClaims"};
+ private static final String[] baseColumns = {"caseName", "caseSubjectAmount", "loanStartDate", "loanEndDate", "contractNumber", "claimInterestOwed", "claimLiquidDamag",
+ "claimPrinciOwed", "arbitratClaims"};
// 申请人字段校验
- private static final String[] applicAffiliateColumns = {"name", "contactTelphone","contactAddress","workTelphone","workAddress",
- "residenAffili","compLegalPerson",
- "compLegalperPost","email","nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent"};
- // 申请人/被申请人代理人字段校验
- private static final String[] applicAgentAffiliateColumns = {"nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent"};
+ private static final String[] applicAffiliateColumns = {"name", "phone", "address", "home", "email"};
// 被申请人字段校验
- private static final String[] dectborAffiliateColumns = {"name", "identityNum","contactTelphone","contactAddress","workTelphone","workAddress",
- "residenAffili","responSex","responBirth","email","nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent"};
+// private static final String[] dectborAffiliateColumns = {"name", "identityNum", "contactTelphone", "contactAddress", "workTelphone", "workAddress",
+// "residenAffili", "responSex", "responBirth", "email", "nameAgent", "identityNumAgent", "contactTelphoneAgent", "contactAddressAgent"};
+ private static final String[] dectborAffiliateColumns = {"name", "phone", "address", "home", "email"};
/**
+ * 分页查询
* 数据权限:1.每个人不同的角色,而每个角色可以操作不同的案件状态
- * 2.申请人:金融机构下,可以看到改机构的所有的案件
- * 3.被申请人:可以看到自己相关的案件(案件有被申请人相关的信息)
- * 4.仲裁员:案件选定了某个仲裁员后,该仲裁员就可以查看该案件
- * 5.仲裁委(部门长):可以查看所有的案件
- * 6.法律顾问秘书:可以属于多个机构,可以查看相关机构的所有案件
- * 7.超级管理员:可以查看所有的信息和数据
+ * 2.申请人,被申请人:可以看到自己相关的案件(案件有被申请人相关的信息)
+ * 3.仲裁员:案件选定了某个仲裁员后,该仲裁员就可以查看该案件
+ * 4.超级管理员,法律顾问秘书,仲裁委(部门长):可以查看所有案件
*
* @param caseApplication
* @return
*/
- @Override
- public List selectCaseApplicationListByRole(CaseApplication caseApplication) {
+ public List page(CaseApplication caseApplication) {
+ List caseApplications = new ArrayList<>();
// 获取登录用户
LoginUser loginUser = getLoginUser();
SysUser user = loginUser.getUser();
Long userId = user.getUserId();
- // 查询登录人身份证号
+ // 查询登录人,根据邮箱查询
SysUser sysUser = sysUserMapper.selectUserById(userId);
+ if (sysUser == null) {
+ throw new ServiceException("未获取到登录用户信息");
+ }
+
+
+ List roles = sysUser.getRoles();
+ // 没有角色不能查看案件列表
+ if (CollectionUtil.isEmpty(roles)) {
+ throw new ServiceException("该用户没有角色权限");
+ }
+ // 是否嗲三方代理人
+ boolean agentFlag = false;
+ List caseStatusList = new ArrayList<>();
+ List roleIds = roles.stream().map(SysRole::getRoleId).collect(Collectors.toList());
startPage();
- // 已办案件
- if (caseApplication.getSelectCaseStatus().equals("1")) {
- caseApplication.setLoginUserName(sysUser.getUserName());
- return caseApplicationMapper.selectHandledCase(caseApplication);
- } else { // 待办案件
+ // 查看所有权限
+ if (StrUtil.equals(SecurityUtils.getUsername(), "admin")) {
+ startPage();
+ caseApplication.setIsOtherRole(1);
+ caseApplications = caseApplicationMapper.list(caseApplication, caseStatusList, null);
+ setArbitorMethod(caseApplications, agentFlag);
+ return caseApplications;
+ }
+
+ for (SysRole role : roles) {
+ if (StrUtil.isEmpty(role.getRoleName())) {
+ continue;
+ }
+ if (StrUtil.contains(role.getRoleName(), "财务")
+ || StrUtil.contains(role.getRoleName(), "法律顾问")
+ || StrUtil.contains(role.getRoleName(), "部门长")
+ ) {
+ roleIds = null;
+ }
+ if ("申请人" .equals(role.getRoleName()) || "被申请人" .equals(role.getRoleName())) {
+ caseApplication.setUserId(userId);
+ }
+ if (StrUtil.contains(role.getRoleName(), "代理")) {
+ caseApplication.setCreateBy(String.valueOf(sysUser.getUserName()));
+ agentFlag = true;
+
+ }
+ if (StrUtil.equals(role.getRoleName(), "仲裁员")) {
+ caseApplication.setArbitratorId(String.valueOf(sysUser.getUserId()));
+ }
+// if ("申请人".equals(role.getRoleName())) {
+// // 申请人在生成裁决书之前都可以修改案件
+// Integer[] array = {0, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 31};
+// caseStatusList.addAll(Arrays.asList(array));
+// }
+// if ("被申请人".equals(role.getRoleName())) {
+// // 案件质证,开庭审理,书面审理
+// caseStatusList.add(4);
+// caseStatusList.add(8);
+// caseStatusList.add(9);
+// }
+// if ("仲裁员".equals(role.getRoleName())) {
+// caseApplication.setIsOtherRole(1);
+// Integer[] array = {7, 8, 9, 13, 18};
+// caseStatusList.addAll(Arrays.asList(array));
+// caseApplication.setArbitratorId(String.valueOf(sysUser.getUserId()));
+// }
+// if ("仲裁委".equals(role.getRoleName())
+// || "部门长".equals(role.getRoleName())) {
+// caseApplication.setIsOtherRole(1);
+// // 组庭确定,部门长审核裁决书
+// caseStatusList.add(CaseApplicationConstants.CONFIRMDED_PENDING_TRIAL);
+// caseStatusList.add(CaseApplicationConstants.CHECK_ARBITRATION);
+// }
+// if ("财务".equals(role.getRoleName())) {
+// caseStatusList.add(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM);
+// }
+// if ("法律顾问".equals(role.getRoleName()) || "秘书".equals(role.getRoleName())) {
+// Integer[] array = {1, 5, 8, 9, 11, 14, 15, 16, 31};
+// caseStatusList.addAll(Arrays.asList(array));
+// }
+ }
+ startPage();
+ caseApplications = caseApplicationMapper.list(caseApplication, caseStatusList, roleIds);
+ setArbitorMethod(caseApplications, agentFlag);
+ return caseApplications;
+
+ }
+
+ /**
+ * 设置仲裁方式
+ *
+ * @param list
+ * @param agentFlag 是否第三方代理人
+ */
+ private void setArbitorMethod(List list, boolean agentFlag) {
+
+ if (CollectionUtil.isEmpty(list)) {
+ return;
+ }
+ // 是否调解员
+ boolean isMediatorRole = false;
+ List