From a06aacdfa9fdc493eedfb5f5784853b1d8386165 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期二, 25 三月 2025 15:50:53 +0800
Subject: [PATCH] 更新
---
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 14 +
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/IdsDto.java | 24 ++
signature/pom.xml | 9
signature/src/main/java/com/gkhy/sign/service/SignatureItemService.java | 3
signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java | 72 ++++--
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 2
signature/src/main/java/com/gkhy/sign/controller/web/SignatureFlowController.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java | 5
signature/src/main/java/com/gkhy/sign/controller/web/SignatureItemController.java | 4
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java | 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 8
signature/src/main/java/com/gkhy/sign/utils/SendMessageUtil.java | 81 ++++++++
signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureItemController.java | 1
signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureFlowController.java | 2
signature/src/main/resources/mapper/sign/SignatureItemMapper.xml | 42 ++++
signature/src/main/java/com/gkhy/sign/entity/SignatureFlow.java | 2
signature/src/main/java/com/gkhy/sign/mapper/SignatureFlowMapper.java | 4
signature/src/main/java/com/gkhy/sign/service/SignatureFlowService.java | 2
signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemAddReq.java | 108 ++++++++++
signature/src/main/java/com/gkhy/sign/entity/SignatureItem.java | 9
signature/src/main/java/com/gkhy/sign/mapper/SignatureItemMapper.java | 1
signature/src/main/resources/mapper/sign/SignatureFlowMapper.xml | 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 7
signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java | 52 +++-
signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemReq.java | 2
signature/src/main/java/com/gkhy/sign/dto/req/SignatureFlowAddReq.java | 66 -----
signature/src/main/java/com/gkhy/sign/dto/rep/SignatureItemRep.java | 16 +
ruoyi-admin/src/main/resources/application-dev.yml | 9
28 files changed, 440 insertions(+), 117 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index c0d4981..ad90724 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -61,7 +61,7 @@
*
* @return 用户信息
*/
- @GetMapping("getInfo")
+ @GetMapping("/getInfo")
public AjaxResult getInfo()
{
LoginUser loginUser = SecurityUtils.getLoginUser();
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 130c438..643c0ba 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -3,6 +3,8 @@
import java.util.List;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.core.domain.entity.IdsDto;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -65,6 +67,12 @@
return getDataTable(list);
}
+ @PostMapping("/byDeptId")
+ public TableDataInfo byDeptId(@RequestBody IdsDto idsDto){
+ startPage();
+ return getDataTable(userService.selectUserByDeptIds(idsDto));
+ }
+
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')")
@PostMapping("/export")
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index 1bfc956..49628d7 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -106,4 +106,11 @@
queueCapacity: 10000
scheduling:
#控制线程是否执行 true:执行;false:不执行
- enabled: true
\ No newline at end of file
+ enabled: true
+
+
+# 七牛云相关信息
+safecheckqiniuymes:
+ accesskey: 5YprpjY0BJiyjII2VqlHed7UhBEvvkPZicbwd8Kl
+ secretkey: m3gGQNQ9cLmVBBZwPXZ5-Wzr0duzyAPPmJUx4_ay
+ templateid: 1844221365930962944
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/IdsDto.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/IdsDto.java
new file mode 100644
index 0000000..860ed7d
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/IdsDto.java
@@ -0,0 +1,24 @@
+package com.ruoyi.common.core.domain.entity;
+
+public class IdsDto {
+ private Long[] deptId;
+
+ private String nickName;
+
+
+ public Long[] getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long[] deptId) {
+ this.deptId = deptId;
+ }
+
+ public String getNickName() {
+ return nickName;
+ }
+
+ public void setNickName(String nickName) {
+ this.nickName = nickName;
+ }
+}
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 76e1c79..86834ea 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
@@ -1,6 +1,9 @@
package com.ruoyi.system.mapper;
import java.util.List;
+
+import com.ruoyi.common.core.domain.entity.IdsDto;
+import nonapi.io.github.classgraph.json.Id;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysUser;
@@ -124,4 +127,7 @@
* @return 结果
*/
public SysUser checkEmailUnique(String email);
+
+ List<SysUser> selectUserByDeptIds(IdsDto idsDto);
+
}
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 10bc2ab..25f41e1 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
@@ -1,6 +1,8 @@
package com.ruoyi.system.service;
import java.util.List;
+
+import com.ruoyi.common.core.domain.entity.IdsDto;
import com.ruoyi.common.core.domain.entity.SysUser;
/**
@@ -203,4 +205,7 @@
* @return 结果
*/
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
+
+ List<SysUser> selectUserByDeptIds(IdsDto idsDto);
+
}
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 0aa82fb..88de0e7 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
@@ -4,6 +4,8 @@
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
+
+import com.ruoyi.common.core.domain.entity.IdsDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -547,4 +549,9 @@
}
return successMsg.toString();
}
+
+ @Override
+ public List<SysUser> selectUserByDeptIds(IdsDto idsDto) {
+ return userMapper.selectUserByDeptIds(idsDto);
+ }
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 9f868f3..ed99952 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -144,7 +144,19 @@
<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
</select>
-
+ <select id="selectUserByDeptIds" resultMap="SysUserResult">
+ select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark ,d.dept_name, d.leader
+ from sys_user u left join sys_dept d on u.dept_id = d.dept_id
+ where u.del_flag = '0'
+ <if test="nickName!=null and nickName!=''">
+ and u.nick_name like concat('%',#{nickName},'%')
+ </if>
+ and u.dept_id in
+ <foreach item="id" collection="deptId" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </select>
+
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user(
<if test="userId != null and userId != 0">user_id,</if>
diff --git a/signature/pom.xml b/signature/pom.xml
index 30d6153..3fd2dee 100644
--- a/signature/pom.xml
+++ b/signature/pom.xml
@@ -28,6 +28,15 @@
<artifactId>dom4j</artifactId>
<version>2.1.3</version> <!-- 请检查最新版本 -->
</dependency>
+
+ <!-- 七牛云短信-->
+ <dependency>
+ <groupId>com.qiniu</groupId>
+ <artifactId>qiniu-java-sdk</artifactId>
+ <version>[7.2.0, 7.2.99]</version>
+ </dependency>
+
+
</dependencies>
diff --git a/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureFlowController.java b/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureFlowController.java
index 3fbff67..1020e11 100644
--- a/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureFlowController.java
+++ b/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureFlowController.java
@@ -23,7 +23,7 @@
/**
* 保存签名
*/
- @PostMapping("/save/sign")
+ @PostMapping("/save")
public AjaxResult save(@RequestBody SignatureFlowSignReq signatureFlowReq){
return toAjax(signatureFlowService.saveSignatureFlow(signatureFlowReq));
}
diff --git a/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureItemController.java b/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureItemController.java
index df27b3e..08cefc0 100644
--- a/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureItemController.java
+++ b/signature/src/main/java/com/gkhy/sign/controller/app/AppSignatureItemController.java
@@ -25,6 +25,7 @@
@ApiOperation(value = "查询签署项目列表")
public TableDataInfo list(SignatureItemReq signatureItem) {
startPage();
+ signatureItem.setType(2);
return getDataTable(signatureItemService.selectItemList(signatureItem));
}
diff --git a/signature/src/main/java/com/gkhy/sign/controller/web/SignatureFlowController.java b/signature/src/main/java/com/gkhy/sign/controller/web/SignatureFlowController.java
index bfdc7e4..74b6290 100644
--- a/signature/src/main/java/com/gkhy/sign/controller/web/SignatureFlowController.java
+++ b/signature/src/main/java/com/gkhy/sign/controller/web/SignatureFlowController.java
@@ -41,7 +41,7 @@
*/
@PostMapping("/insert")
@ApiOperation(value = "创建签署项目流转记录")
- public AjaxResult add(@Validated @RequestBody SignatureFlow signatureFlow) {
+ public AjaxResult add(@Validated @RequestBody SignatureFlowAddReq signatureFlow) {
return toAjax(signatureFlowService.insertSignatureFlow(signatureFlow));
}
diff --git a/signature/src/main/java/com/gkhy/sign/controller/web/SignatureItemController.java b/signature/src/main/java/com/gkhy/sign/controller/web/SignatureItemController.java
index 50b1bce..af43c3e 100644
--- a/signature/src/main/java/com/gkhy/sign/controller/web/SignatureItemController.java
+++ b/signature/src/main/java/com/gkhy/sign/controller/web/SignatureItemController.java
@@ -1,5 +1,6 @@
package com.gkhy.sign.controller.web;
+import com.gkhy.sign.dto.req.SignatureItemAddReq;
import com.gkhy.sign.dto.req.SignatureItemReq;
import com.gkhy.sign.entity.SignatureItem;
import com.gkhy.sign.entity.SignatureType;
@@ -28,6 +29,7 @@
@ApiOperation(value = "查询签署项目列表")
public TableDataInfo list(SignatureItemReq signatureItem) {
startPage();
+ signatureItem.setType(1);
return getDataTable(signatureItemService.selectItemList(signatureItem));
}
@@ -37,7 +39,7 @@
*/
@PostMapping("/insert")
@ApiOperation(value = "创建签署项目")
- public AjaxResult add(@Validated @RequestBody SignatureItem signatureItem) {
+ public AjaxResult add(@Validated @RequestBody SignatureItemAddReq signatureItem) {
return toAjax(signatureItemService.insertSignatureItem(signatureItem));
}
diff --git a/signature/src/main/java/com/gkhy/sign/dto/rep/SignatureItemRep.java b/signature/src/main/java/com/gkhy/sign/dto/rep/SignatureItemRep.java
index 5111aa6..d8aec87 100644
--- a/signature/src/main/java/com/gkhy/sign/dto/rep/SignatureItemRep.java
+++ b/signature/src/main/java/com/gkhy/sign/dto/rep/SignatureItemRep.java
@@ -25,9 +25,10 @@
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date originateTime;
- private Integer initiaiUserId;
+ private String initiaiUserId;
private String initiaiUserName;
private String itemFile;
+ private String tempFile;
private Integer itemStatus;
private Integer delFlag;
private List<SignatureFlowRep> signatureFlows;
@@ -88,11 +89,11 @@
this.originateTime = originateTime;
}
- public Integer getInitiaiUserId() {
+ public String getInitiaiUserId() {
return initiaiUserId;
}
- public void setInitiaiUserId(Integer initiaiUserId) {
+ public void setInitiaiUserId(String initiaiUserId) {
this.initiaiUserId = initiaiUserId;
}
@@ -135,4 +136,13 @@
public void setSignatureFlows(List<SignatureFlowRep> signatureFlows) {
this.signatureFlows = signatureFlows;
}
+
+
+ public String getTempFile() {
+ return tempFile;
+ }
+
+ public void setTempFile(String tempFile) {
+ this.tempFile = tempFile;
+ }
}
diff --git a/signature/src/main/java/com/gkhy/sign/dto/req/SignatureFlowAddReq.java b/signature/src/main/java/com/gkhy/sign/dto/req/SignatureFlowAddReq.java
index ed3d508..8f21360 100644
--- a/signature/src/main/java/com/gkhy/sign/dto/req/SignatureFlowAddReq.java
+++ b/signature/src/main/java/com/gkhy/sign/dto/req/SignatureFlowAddReq.java
@@ -1,30 +1,18 @@
package com.gkhy.sign.dto.req;
+import java.util.List;
+
public class SignatureFlowAddReq {
private Long itemId;
-
private Long userId;
-
- private String userName;
-
private Long deptId;
- private String deptName;
-
- private Long[] signUserId;
-
- private String signUserName;
-
- private Long signDeptId;
-
- private String signDeptName;
-
+ private List<String> userDept;
private String filePath;
private Integer status;
private Integer sort;
private Integer delFlag;
-
public Long getItemId() {
return itemId;
@@ -42,14 +30,6 @@
this.userId = userId;
}
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
public Long getDeptId() {
return deptId;
}
@@ -58,44 +38,12 @@
this.deptId = deptId;
}
- public String getDeptName() {
- return deptName;
+ public List<String> getUserDept() {
+ return userDept;
}
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public Long[] getSignUserId() {
- return signUserId;
- }
-
- public void setSignUserId(Long[] signUserId) {
- this.signUserId = signUserId;
- }
-
- public String getSignUserName() {
- return signUserName;
- }
-
- public void setSignUserName(String signUserName) {
- this.signUserName = signUserName;
- }
-
- public Long getSignDeptId() {
- return signDeptId;
- }
-
- public void setSignDeptId(Long signDeptId) {
- this.signDeptId = signDeptId;
- }
-
- public String getSignDeptName() {
- return signDeptName;
- }
-
- public void setSignDeptName(String signDeptName) {
- this.signDeptName = signDeptName;
+ public void setUserDept(List<String> userDept) {
+ this.userDept = userDept;
}
public String getFilePath() {
diff --git a/signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemAddReq.java b/signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemAddReq.java
new file mode 100644
index 0000000..7365e8e
--- /dev/null
+++ b/signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemAddReq.java
@@ -0,0 +1,108 @@
+package com.gkhy.sign.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+
+
+public class SignatureItemAddReq {
+ @NotNull(message = "项目名称不能为空")
+ @ApiModelProperty(value = "项目名称")
+ private String itemName;
+ @NotNull(message = "模版不能为空")
+ @ApiModelProperty(value = "模版id")
+ private Integer templateId;
+ @NotNull(message = "部门不能为空")
+ @ApiModelProperty(value = "部门名称")
+ private Integer deptId;
+ @ApiModelProperty(value = "发起时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date originateTime;
+
+ @NotNull(message = "最初签署人不能为空")
+ private String initiaiUserId;
+
+ private List<String> userDept;
+
+ @ApiModelProperty(value = "文件路径")
+ private String filePath;
+
+ @ApiModelProperty(value = "状态 1未签署 2已签署 3已归档")
+ private Integer status;
+ private Integer delFlag;
+
+ public String getItemName() {
+ return itemName;
+ }
+
+ public void setItemName(String itemName) {
+ this.itemName = itemName;
+ }
+
+ public Integer getTemplateId() {
+ return templateId;
+ }
+
+ public void setTemplateId(Integer templateId) {
+ this.templateId = templateId;
+ }
+
+ public Integer getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Integer deptId) {
+ this.deptId = deptId;
+ }
+
+ public Date getOriginateTime() {
+ return originateTime;
+ }
+
+ public void setOriginateTime(Date originateTime) {
+ this.originateTime = originateTime;
+ }
+
+ public String getInitiaiUserId() {
+ return initiaiUserId;
+ }
+
+ public void setInitiaiUserId(String initiaiUserId) {
+ this.initiaiUserId = initiaiUserId;
+ }
+
+ public List<String> getUserDept() {
+ return userDept;
+ }
+
+ public void setUserDept(List<String> userDept) {
+ this.userDept = userDept;
+ }
+
+ public String getFilePath() {
+ return filePath;
+ }
+
+ public void setFilePath(String filePath) {
+ this.filePath = filePath;
+ }
+
+ public Integer getStatus() {
+ return status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ public Integer getDelFlag() {
+ return delFlag;
+ }
+
+ public void setDelFlag(Integer delFlag) {
+ this.delFlag = delFlag;
+ }
+}
diff --git a/signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemReq.java b/signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemReq.java
index 6072e85..b96eaae 100644
--- a/signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemReq.java
+++ b/signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemReq.java
@@ -8,4 +8,6 @@
private Integer status;
private Long userId;
+
+ private Integer type;
}
diff --git a/signature/src/main/java/com/gkhy/sign/entity/SignatureFlow.java b/signature/src/main/java/com/gkhy/sign/entity/SignatureFlow.java
index b47e655..400385b 100644
--- a/signature/src/main/java/com/gkhy/sign/entity/SignatureFlow.java
+++ b/signature/src/main/java/com/gkhy/sign/entity/SignatureFlow.java
@@ -135,7 +135,7 @@
return filePath;
}
- public void setFilePath(String file_path) {
+ public void setFilePath(String filePath) {
this.filePath = filePath;
}
diff --git a/signature/src/main/java/com/gkhy/sign/entity/SignatureItem.java b/signature/src/main/java/com/gkhy/sign/entity/SignatureItem.java
index ff98689..0893f1f 100644
--- a/signature/src/main/java/com/gkhy/sign/entity/SignatureItem.java
+++ b/signature/src/main/java/com/gkhy/sign/entity/SignatureItem.java
@@ -8,6 +8,7 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
+import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
@@ -31,8 +32,8 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date originateTime;
- @NotNull(message = "最初签署人不能为空")
- private Long initiaiUserId;
+ @NotBlank(message = "最初签署人不能为空")
+ private String initiaiUserId;
@ApiModelProperty(value = "文件路径")
private String filePath;
@@ -73,11 +74,11 @@
this.deptId = deptId;
}
- public Long getInitiaiUserId() {
+ public String getInitiaiUserId() {
return initiaiUserId;
}
- public void setInitiaiUserId(Long initiaiUserId) {
+ public void setInitiaiUserId(String initiaiUserId) {
this.initiaiUserId = initiaiUserId;
}
diff --git a/signature/src/main/java/com/gkhy/sign/mapper/SignatureFlowMapper.java b/signature/src/main/java/com/gkhy/sign/mapper/SignatureFlowMapper.java
index 33fe482..650f6b9 100644
--- a/signature/src/main/java/com/gkhy/sign/mapper/SignatureFlowMapper.java
+++ b/signature/src/main/java/com/gkhy/sign/mapper/SignatureFlowMapper.java
@@ -4,6 +4,7 @@
import com.gkhy.sign.dto.rep.SignatureFlowRep;
import com.gkhy.sign.dto.req.SignatureFlowSignReq;
import com.gkhy.sign.entity.SignatureFlow;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,8 +13,9 @@
int updateByFlowItemId(SignatureFlowSignReq signatureFlowReq);
- SignatureFlow selectByItemIdAndUserId(SignatureFlow signatureFlow);
+ List<SignatureFlow> selectByItemIdAndStatus(Long itemId);
int updateByFlow(SignatureFlow signatureFlow);
+ List<SignatureFlow> selectByItemIdAndUserId(@Param("itemId") Long itemId, @Param("signUserId") Long signUserId);
}
diff --git a/signature/src/main/java/com/gkhy/sign/mapper/SignatureItemMapper.java b/signature/src/main/java/com/gkhy/sign/mapper/SignatureItemMapper.java
index 6c9fc6a..dec1bdc 100644
--- a/signature/src/main/java/com/gkhy/sign/mapper/SignatureItemMapper.java
+++ b/signature/src/main/java/com/gkhy/sign/mapper/SignatureItemMapper.java
@@ -16,4 +16,5 @@
void updateByItemId(SignatureItem signatureItem);
+ List<SignatureItemRep> getItemListApp(SignatureItemReq signatureItem);
}
diff --git a/signature/src/main/java/com/gkhy/sign/service/SignatureFlowService.java b/signature/src/main/java/com/gkhy/sign/service/SignatureFlowService.java
index dbdc6b0..a0a4f27 100644
--- a/signature/src/main/java/com/gkhy/sign/service/SignatureFlowService.java
+++ b/signature/src/main/java/com/gkhy/sign/service/SignatureFlowService.java
@@ -11,7 +11,7 @@
public interface SignatureFlowService extends IService<SignatureFlow> {
List<SignatureFlowRep> selectFlowList(Long id);
- int insertSignatureFlow(SignatureFlow signatureFlow);
+ int insertSignatureFlow(SignatureFlowAddReq signatureFlow);
int saveSignatureFlow(SignatureFlowSignReq signatureFlowReq);
diff --git a/signature/src/main/java/com/gkhy/sign/service/SignatureItemService.java b/signature/src/main/java/com/gkhy/sign/service/SignatureItemService.java
index 9e0237c..e1c32c4 100644
--- a/signature/src/main/java/com/gkhy/sign/service/SignatureItemService.java
+++ b/signature/src/main/java/com/gkhy/sign/service/SignatureItemService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.sign.dto.rep.SignatureItemRep;
+import com.gkhy.sign.dto.req.SignatureItemAddReq;
import com.gkhy.sign.dto.req.SignatureItemReq;
import com.gkhy.sign.entity.SignatureItem;
@@ -10,7 +11,7 @@
public interface SignatureItemService extends IService<SignatureItem> {
List<SignatureItemRep> selectItemList(SignatureItemReq signatureItem);
- int insertSignatureItem(SignatureItem signatureItem);
+ int insertSignatureItem(SignatureItemAddReq signatureItem);
int updateSignatureIteme(SignatureItem signatureItem);
diff --git a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java
index c19e870..8a288ac 100644
--- a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java
+++ b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureFlowServiceImpl.java
@@ -18,6 +18,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
@@ -42,23 +43,42 @@
}
@Override
- public int insertSignatureFlow(SignatureFlow signatureFlow) {
-// SignatureFlow signatureFlow1 = signatureFlowMapper.selectByItemIdAndUserId(signatureFlow);
-// if (signatureFlow1.getStatus() == 0 ){
-// throw new RuntimeException("尚未签名,不能流转");
-// }
- List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureFlow.getItemId());
- signatureFlow.setSort(signatureFlowReps.size()+1);
- SysUser sysUser = sysUserMapper.selectUserById(signatureFlow.getUserId());
- SysDept sysDept = sysDeptMapper.selectDeptById(signatureFlow.getDeptId());
- signatureFlow.setUserName(sysUser.getNickName());
- signatureFlow.setDeptName(sysDept.getDeptName());
- SysUser sysUserSign = sysUserMapper.selectUserById(signatureFlow.getSignUserId());
- SysDept sysDeptSign = sysDeptMapper.selectDeptById(signatureFlow.getSignDeptId());
- signatureFlow.setSignUserName(sysUserSign.getNickName());
- signatureFlow.setSignDeptName(sysDeptSign.getDeptName());
+ public int insertSignatureFlow(SignatureFlowAddReq signatureFlowAddReq) {
+ List<SignatureFlow> signatureFlows = signatureFlowMapper.selectByItemIdAndStatus(signatureFlowAddReq.getItemId());
+ if (!CollectionUtils.isEmpty(signatureFlows)){
+ throw new RuntimeException("存在未签名记录,不能流转");
+ }
+ List<String> userDept = signatureFlowAddReq.getUserDept();
+ for (String fileData : userDept) {
+ String[] split = fileData.split("_");
+ List<SignatureFlow> signatureFlows1 = signatureFlowMapper.selectByItemIdAndUserId(signatureFlowAddReq.getItemId(), Long.valueOf(split[0]));
+ if (!signatureFlows1.isEmpty()){
+ throw new RuntimeException("用户已签名,请勿重复选择");
+ }
+ }
- return signatureFlowMapper.insert(signatureFlow);
+ int insert = 0;
+ List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureFlowAddReq.getItemId());
+ for (String fileData : userDept) {
+ SignatureFlow signatureFlow = new SignatureFlow();
+ BeanUtils.copyProperties(signatureFlowAddReq,signatureFlow);
+ String[] split = fileData.split("_");
+ signatureFlow.setSort(signatureFlowReps.size()+1);
+ SysUser sysUser = sysUserMapper.selectUserById(signatureFlow.getUserId());
+ SysDept sysDept = sysDeptMapper.selectDeptById(signatureFlow.getDeptId());
+ signatureFlow.setUserName(sysUser.getNickName());
+ signatureFlow.setDeptName(sysDept.getDeptName());
+ SysUser sysUserSign = sysUserMapper.selectUserById(Long.valueOf(split[0]));
+ SysDept sysDeptSign = sysDeptMapper.selectDeptById(Long.valueOf(split[1]));
+ signatureFlow.setSignUserId(sysUserSign.getUserId());
+ signatureFlow.setSignUserName(sysUserSign.getNickName());
+ signatureFlow.setSignDeptId(sysDeptSign.getDeptId());
+ signatureFlow.setSignDeptName(sysDeptSign.getDeptName());
+
+ insert+= signatureFlowMapper.insert(signatureFlow);
+ }
+
+ return insert;
}
@Override
diff --git a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java
index d3d14bf..e660910 100644
--- a/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java
+++ b/signature/src/main/java/com/gkhy/sign/service/impl/SignatureItemServiceImpl.java
@@ -1,9 +1,11 @@
package com.gkhy.sign.service.impl;
+import cn.hutool.crypto.asymmetric.Sign;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.gkhy.sign.dto.rep.SignatureFlowRep;
import com.gkhy.sign.dto.rep.SignatureItemRep;
+import com.gkhy.sign.dto.req.SignatureItemAddReq;
import com.gkhy.sign.dto.req.SignatureItemReq;
import com.gkhy.sign.entity.SignatureFlow;
import com.gkhy.sign.entity.SignatureItem;
@@ -18,9 +20,13 @@
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import io.lettuce.core.RedisClient;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -32,7 +38,7 @@
@Autowired
private SysDeptMapper sysDeptMapper;
@Autowired
- private SysUserMapper sysUser;
+ private SysUserMapper sysUserMapper;
@Autowired
private SignatureFlowMapper signatureFlowMapper;
@@ -42,16 +48,34 @@
if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
signatureItem.setUserId(SecurityUtils.getUserId());
}
- List<SignatureItemRep> itemList = signatureItemMapper.getItemList(signatureItem);
- for (SignatureItemRep signatureItemRep : itemList) {
+ List<SignatureItemRep> signatureItemReps = new ArrayList<>();
+
+ if (signatureItem.getType()==1){
+ signatureItemReps = signatureItemMapper.getItemList(signatureItem);
+ }else {
+ signatureItemReps = signatureItemMapper.getItemListApp(signatureItem);
+ }
+
+ for (SignatureItemRep signatureItemRep : signatureItemReps) {
List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItemRep.getId());
signatureItemRep.setSignatureFlows(signatureFlowReps);
+ String initiaiUserId = signatureItemRep.getInitiaiUserId();
+ String[] split = initiaiUserId.split(",");
+ StringBuffer stringBuffer = new StringBuffer();
+ for (String userId : split) {
+ SysUser sysUser1 = sysUserMapper.selectUserById(Long.valueOf(userId));
+ stringBuffer.append(sysUser1.getNickName()).append(",");
+ }
+ stringBuffer.deleteCharAt(stringBuffer.length()-1);
+ signatureItemRep.setInitiaiUserName(stringBuffer.toString());
}
- return itemList;
+ return signatureItemReps;
}
@Override
- public int insertSignatureItem(SignatureItem signatureItem) {
+ public int insertSignatureItem(SignatureItemAddReq signatureItemAddReq) {
+ SignatureItem signatureItem = new SignatureItem();
+ BeanUtils.copyProperties(signatureItemAddReq,signatureItem);
SysUser user = SecurityUtils.getLoginUser().getUser();
signatureItem.setCreateBy(user.getUserName());
signatureItem.setCreateTime(new Date());
@@ -59,24 +83,26 @@
int insert = signatureItemMapper.insertSignatureItem(signatureItem);
List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItem.getId());
- SignatureFlow signatureFlow = new SignatureFlow();
- signatureFlow.setItemId(signatureItem.getId());
- signatureFlow.setUserId(SecurityUtils.getUserId());
- SysUser sysUser2 = sysUser.selectUserById(SecurityUtils.getUserId());
- signatureFlow.setUserName(sysUser2.getNickName());
- signatureFlow.setDeptId(SecurityUtils.getDeptId());
- SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getDeptId());
- signatureFlow.setDeptName(sysDept.getDeptName());
- signatureFlow.setSignUserId(signatureItem.getInitiaiUserId());
- SysUser sysUser1 = sysUser.selectUserById(signatureItem.getInitiaiUserId());
- SysDept sysDept1 = sysDeptMapper.selectDeptById(sysUser1.getDeptId());
- signatureFlow.setSignUserName(sysUser1.getNickName());
- signatureFlow.setSignDeptId(sysDept1.getDeptId());
- signatureFlow.setSignDeptName(sysDept1.getDeptName());
- signatureFlow.setStatus(0);
- signatureFlow.setSort(signatureFlowReps.size()+1);
- signatureFlowMapper.insert(signatureFlow);
-
+ for (String userDept : signatureItemAddReq.getUserDept()) {
+ String[] split = userDept.split("_");
+ SignatureFlow signatureFlow = new SignatureFlow();
+ signatureFlow.setItemId(signatureItem.getId());
+ signatureFlow.setUserId(SecurityUtils.getUserId());
+ SysUser sysUser2 = sysUserMapper.selectUserById(SecurityUtils.getUserId());
+ signatureFlow.setUserName(sysUser2.getNickName());
+ signatureFlow.setDeptId(SecurityUtils.getDeptId());
+ SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getDeptId());
+ signatureFlow.setDeptName(sysDept.getDeptName());
+ signatureFlow.setSignUserId(Long.valueOf(split[0]));
+ SysUser sysUserSign = sysUserMapper.selectUserById(Long.valueOf(split[0]));
+ SysDept sysDeptSign = sysDeptMapper.selectDeptById(Long.valueOf(split[1]));
+ signatureFlow.setSignUserName(sysUserSign.getNickName());
+ signatureFlow.setSignDeptId(sysDeptSign.getDeptId());
+ signatureFlow.setSignDeptName(sysDeptSign.getDeptName());
+ signatureFlow.setStatus(0);
+ signatureFlow.setSort(signatureFlowReps.size()+1);
+ signatureFlowMapper.insert(signatureFlow);
+ }
return insert;
}
diff --git a/signature/src/main/java/com/gkhy/sign/utils/SendMessageUtil.java b/signature/src/main/java/com/gkhy/sign/utils/SendMessageUtil.java
new file mode 100644
index 0000000..1617c8d
--- /dev/null
+++ b/signature/src/main/java/com/gkhy/sign/utils/SendMessageUtil.java
@@ -0,0 +1,81 @@
+package com.gkhy.sign.utils;
+
+import com.qiniu.common.QiniuException;
+import com.qiniu.http.Response;
+import com.qiniu.sms.SmsManager;
+import com.qiniu.util.Auth;
+import com.ruoyi.common.utils.http.HttpUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class SendMessageUtil {
+
+ private static final Logger log = LoggerFactory.getLogger(SendMessageUtil.class);
+
+ @Value("${safecheckqiniuymes.accesskey}")
+ private String accesskey;
+
+ @Value("${safecheckqiniuymes.secretkey}")
+ private String secretkey;
+
+ @Value("${safecheckqiniuymes.templateid}")
+ private String templateid;
+
+ public Response sendCheckMessage(String[] phone, Map<String,String> map){
+
+ Auth auth = Auth.create(accesskey, secretkey);
+ SmsManager smsManager = new SmsManager(auth);
+
+ try {
+ Response response = smsManager.sendMessage(templateid, phone, map);
+ return response;
+ } catch (QiniuException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void sendMessage(){
+ String host = "https://kzsms.market.alicloudapi.com";
+ String path = "/api/sms/send";
+ String method = "POST";
+ String appcode = "你自己的AppCode";
+ Map<String, String> headers = new HashMap<String, String>();
+ //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
+ headers.put("Authorization", "APPCODE " + appcode);
+ //根据API的要求,定义相对应的Content-Type
+ headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+ Map<String, String> querys = new HashMap<String, String>();
+ Map<String, String> bodys = new HashMap<String, String>();
+ bodys.put("templateId", "KZvoQcsO1HS23nYL8");
+ bodys.put("mobile", "19548157345");
+ bodys.put("value", "联系客服申请签名和模版");
+
+
+ try {
+ /**
+ * 重要提示如下:
+ * HttpUtils请从
+ * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
+ * 下载
+ *
+ * 相应的依赖请参照
+ * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
+// */
+// HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
+// System.out.println(response.toString());
+// HttpUtils.sendPost()
+ //获取response的body
+ //System.out.println(EntityUtils.toString(response.getEntity()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+
+
+}
diff --git a/signature/src/main/resources/mapper/sign/SignatureFlowMapper.xml b/signature/src/main/resources/mapper/sign/SignatureFlowMapper.xml
index 11db864..ee2547b 100644
--- a/signature/src/main/resources/mapper/sign/SignatureFlowMapper.xml
+++ b/signature/src/main/resources/mapper/sign/SignatureFlowMapper.xml
@@ -3,6 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.sign.mapper.SignatureFlowMapper">
+
<update id="updateByFlowItemId">
UPDATE signature_flow
SET file_path = #{filePath},
@@ -35,6 +36,9 @@
from
signature_flow where item_id = #{id}
</select>
+ <select id="selectByItemIdAndStatus" resultType="com.gkhy.sign.entity.SignatureFlow">
+ select * from signature_flow where item_id = #{itemId} and status = 0
+ </select>
<select id="selectByItemIdAndUserId" resultType="com.gkhy.sign.entity.SignatureFlow">
select * from signature_flow where item_id = #{itemId} and sign_user_id = #{signUserId}
</select>
diff --git a/signature/src/main/resources/mapper/sign/SignatureItemMapper.xml b/signature/src/main/resources/mapper/sign/SignatureItemMapper.xml
index a2d0970..237006d 100644
--- a/signature/src/main/resources/mapper/sign/SignatureItemMapper.xml
+++ b/signature/src/main/resources/mapper/sign/SignatureItemMapper.xml
@@ -15,6 +15,7 @@
<result property="initiaiUserId" column="initiai_user_id"/>
<result property="initiaiUserName" column="initiai_user_name"/>
<result property="itemFile" column="item_file"/>
+ <result property="tempFile" column="temp_file"/>
<result property="itemStatus" column="item_status"/>
<result property="delFlag" column="del_flag"/>
<!-- <collection property="signatureFlows" javaType="java.util.List" resultMap="signatureItemRep"/>-->
@@ -102,9 +103,9 @@
si.dept_id as itme_dept_id,
sd.dept_name as item_dept_name,
si.originate_time,
- su.nick_name AS initiai_user_name,
si.initiai_user_id,
- st.file_path as item_file,
+ si.file_path as item_file,
+ st.file_path as temp_file,
si.`status` as item_status,
si.del_flag
FROM
@@ -129,4 +130,41 @@
</where>
ORDER BY si.create_time desc
</select>
+ <select id="getItemListApp" resultType="com.gkhy.sign.dto.rep.SignatureItemRep">
+ SELECT
+ si.id,
+ si.item_name,
+ si.template_id,
+ st.template_name,
+ si.dept_id as itme_dept_id,
+ sd.dept_name as item_dept_name,
+ si.originate_time,
+ si.initiai_user_id,
+ si.file_path as item_file,
+ st.file_path as temp_file,
+ si.`status` as item_status,
+ si.del_flag
+ FROM
+ signature_item si
+ LEFT JOIN signature_template st ON si.template_id = st.id
+ LEFT JOIN signature_type sty ON st.type_id = sty.id
+ LEFT JOIN sys_dept sd ON si.dept_id = sd.dept_id
+ LEFT JOIN sys_user su ON si.initiai_user_id = su.user_id
+ where
+ si.del_flag = 0
+ AND si.id IN (
+ SELECT DISTINCT si.id
+ FROM signature_item si
+ LEFT JOIN signature_flow sf ON si.id = sf.item_id
+ <where>
+ <if test="status != null">
+ and sf.status = #{status}
+ </if>
+ <if test="userId != null">
+ and sf.sign_user_id = #{userId}
+ </if>
+ </where>
+ )
+ ORDER BY si.create_time desc
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.2