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(); 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") ruoyi-admin/src/main/resources/application-dev.yml
@@ -106,4 +106,11 @@ queueCapacity: 10000 scheduling: #控制线程是否执行 true:执行;false:不执行 enabled: true enabled: true # 七牛云相关信息 safecheckqiniuymes: accesskey: 5YprpjY0BJiyjII2VqlHed7UhBEvvkPZicbwd8Kl secretkey: m3gGQNQ9cLmVBBZwPXZ5-Wzr0duzyAPPmJUx4_ay templateid: 1844221365930962944 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; } } 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); } 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); } 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); } } 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> 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> 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)); } 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)); } 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)); } 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)); } 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; } } 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() { 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; } } signature/src/main/java/com/gkhy/sign/dto/req/SignatureItemReq.java
@@ -8,4 +8,6 @@ private Integer status; private Long userId; private Integer type; } 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; } 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; } 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); } signature/src/main/java/com/gkhy/sign/mapper/SignatureItemMapper.java
@@ -16,4 +16,5 @@ void updateByItemId(SignatureItem signatureItem); List<SignatureItemRep> getItemListApp(SignatureItemReq signatureItem); } 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); 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); 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 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; } 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(); } } } 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> 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>