From 20f9f2864d2a1e9db629394a73564ca012d02b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Sun, 16 Feb 2025 10:30:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/controller/TokenController.java | 14 ++ .../ProProjectInfoSubdeptsGroupMapper.xml | 2 +- .../mapper/manage/WxMenuConfigMapper.xml | 1 + .../service/impl/FlowTaskServiceImpl.java | 17 +- .../impl/ProProjectInfoServiceImpl.java | 22 ++- ...roProjectInfoSubdeptsUsersServiceImpl.java | 6 +- yanzhu-ui-app/miniprogram/api/login.js | 9 + yanzhu-ui-app/miniprogram/app.js | 4 +- .../project_flowable/approveTask/index.js | 6 +- .../project_flowable/approveTask/index.wxml | 4 +- .../project_flowable/approveTask/index.wxss | 10 + .../project_flowable/detailTask/index.js | 6 +- .../project_flowable/subDeptsUsers/index.wxml | 2 +- .../miniprogram/pages/project_qr/index.js | 17 +- .../miniprogram/pages/project_qr/index.wxml | 176 +++++++++--------- .../miniprogram/pages/project_qr/index.wxss | 11 ++ .../miniprogram/project.private.config.json | 2 +- .../proProjectInfoSubdeptsUsers/index.vue | 20 +- 18 files changed, 199 insertions(+), 130 deletions(-) diff --git a/yanzhu-auth/src/main/java/com/yanzhu/auth/controller/TokenController.java b/yanzhu-auth/src/main/java/com/yanzhu/auth/controller/TokenController.java index d68a4b32..8564ad6e 100644 --- a/yanzhu-auth/src/main/java/com/yanzhu/auth/controller/TokenController.java +++ b/yanzhu-auth/src/main/java/com/yanzhu/auth/controller/TokenController.java @@ -98,6 +98,20 @@ public class TokenController */ @PostMapping("wxLogin") public R wxLogin(@RequestBody LoginBody form) + { + // 用户登录 + LoginUser userInfo = sysLoginService.wxLogin(form.getUsername()); + // 获取登录token + return R.ok(tokenService.createMobileToken(userInfo)); + } + + /** + * 账号密码登录 微信 + * @param form + * @return + */ + @PostMapping("wxNumberLogin") + public R wxNumberLogin(@RequestBody LoginBody form) { String openId = Convert.toStr(redisService.getCacheObject("SysUserPhoneNumber::"+form.getUsername()),null); if(Objects.isNull(openId)){ diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsGroupMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsGroupMapper.xml index 7b661617..4ab1a5b3 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsGroupMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoSubdeptsGroupMapper.xml @@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and psg.craft_type = #{craftType} and psg.craft_post = #{craftPost} and psg.use_status = #{useStatus} - and ps.approve_status = ]]> 100 + and psg.approve_status = ]]> 100 and psg.is_del != 2 order by psg.id desc diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml index fb861218..40668692 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml @@ -28,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and menu_name like concat('%', #{menuName}, '%') and menu_type = #{menuType} and project_id is null + and del_flag = 0 diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java index 615ddf27..e2b045ce 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java @@ -115,11 +115,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask if (Objects.isNull(task)) { return AjaxResult.error("任务不存在"); } - String userId = taskVo.getUserId(); + String userId = Convert.toStr(SecurityUtils.getLoginUser().getUserid()); // 获取流程实例对象 - ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() + /**ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() .processInstanceId(task.getProcessInstanceId()) - .singleResult(); + .singleResult();*/ /**if(task.getName().indexOf("预算员审批")>-1 || task.getName().indexOf("预算员审批")>-1 || task.getName().indexOf("预算员审批")>-1){ R data = remoteProService.findUserComSign(Convert.toLong(processInstance.getBusinessKey()), SecurityConstants.INNER); Boolean vis = data.getData(); @@ -481,7 +481,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask @Override @Transactional(rollbackFor = Exception.class) public void claim(FlowTaskVo flowTaskVo) { - taskService.claim(flowTaskVo.getTaskId(), flowTaskVo.getUserId()); + String userId = Convert.toStr(SecurityUtils.getLoginUser().getUserid()); + taskService.claim(flowTaskVo.getTaskId(), userId); } /** @@ -651,13 +652,14 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() .processInstanceId(flowTaskVo.getInstanceId()) .singleResult(); + String userId = Convert.toStr(SecurityUtils.getLoginUser().getUserid()); BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()); if (Objects.nonNull(bpmnModel)) { Process process = bpmnModel.getMainProcess(); List endNodes = process.findFlowElementsOfType(EndEvent.class, false); if (CollectionUtils.isNotEmpty(endNodes)) { // 设置流程终止人 - Authentication.setAuthenticatedUserId(flowTaskVo.getUserId()); + Authentication.setAuthenticatedUserId(userId); taskService.addComment(flowTaskVo.getTaskId(), processInstance.getProcessInstanceId(), FlowComment.STOP.getType(), StringUtils.isBlank(flowTaskVo.getComment()) ? "取消申请" : flowTaskVo.getComment()); // 获取当前流程最后一个节点 @@ -693,10 +695,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask if(ObjectUtil.isNull(processInstance)) { throw new RuntimeException("流程已结束或已挂起,无法执行撤回操作"); } + String userId = Convert.toStr(SecurityUtils.getLoginUser().getUserid()); // 获取待撤回任务实例 HistoricTaskInstance currTaskIns = historyService.createHistoricTaskInstanceQuery() .taskId(taskId) - .taskAssignee(flowTaskVo.getUserId()) + .taskAssignee(userId) .singleResult(); if (ObjectUtil.isNull(currTaskIns)) { throw new RuntimeException("当前任务无法执行撤回操作或不存在。"); @@ -727,7 +730,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask // 检查激活的任务节点是否存在下一级中,如果存在,则加入到需要撤回的节点 if (CollUtil.contains(nextUserTaskKeys, task.getTaskDefinitionKey())) { // 添加撤回审批信息 - taskService.setAssignee(task.getId(), flowTaskVo.getUserId()); + taskService.setAssignee(task.getId(), userId); taskService.addComment(task.getId(), task.getProcessInstanceId(), FlowComment.REVOKE.getType(), flowTaskVo.getAssignee() + "撤回流程审批"); revokeExecutionIds.add(task.getExecutionId()); } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java index 27f1472c..4dfc1d02 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java @@ -179,15 +179,23 @@ public class ProProjectInfoServiceImpl implements IProProjectInfoService WxMenuConfig wxMenuConfigQuery = new WxMenuConfig(); wxMenuConfigQuery.setActiveTags("sys"); List wxMenuConfigList = wxMenuConfigMapper.selectWxMenuConfigList(wxMenuConfigQuery); + List myMenuConfigList = new ArrayList<>(); + if(StringUtils.isNotEmpty(wxMenuConfigList)){ + for(WxMenuConfig wxMenuConfig:wxMenuConfigList){ + wxMenuConfig.setProjectId(proProjectInfo.getId()); + wxMenuConfigMapper.insertWxMenuConfig(wxMenuConfig); + myMenuConfigList.add(wxMenuConfig); + } + } //初始化项目角色信息... - this.insertProRole(UserTypeEnums.FBWTDL.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBWTDL.getInfo(),proProjectInfo.getId(),wxMenuConfigList); - this.insertProRole(UserTypeEnums.FBXMJL.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBXMJL.getInfo(),proProjectInfo.getId(),wxMenuConfigList); - this.insertProRole(UserTypeEnums.FBBZZZ.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBBZZZ.getInfo(),proProjectInfo.getId(),wxMenuConfigList); - this.insertProRole(UserTypeEnums.FBLWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBLWRY.getInfo(),proProjectInfo.getId(),wxMenuConfigList); - this.insertProRole(UserTypeEnums.FBCLRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBCLRY.getInfo(),proProjectInfo.getId(),wxMenuConfigList); - this.insertProRole(UserTypeEnums.FBAQRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBAQRY.getInfo(),proProjectInfo.getId(),wxMenuConfigList); - this.insertProRole(UserTypeEnums.JSDWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.JSDWRY.getInfo(),proProjectInfo.getId(),wxMenuConfigList); + this.insertProRole(UserTypeEnums.FBWTDL.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBWTDL.getInfo(),proProjectInfo.getId(),myMenuConfigList); + this.insertProRole(UserTypeEnums.FBXMJL.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBXMJL.getInfo(),proProjectInfo.getId(),myMenuConfigList); + this.insertProRole(UserTypeEnums.FBBZZZ.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBBZZZ.getInfo(),proProjectInfo.getId(),myMenuConfigList); + this.insertProRole(UserTypeEnums.FBLWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBLWRY.getInfo(),proProjectInfo.getId(),myMenuConfigList); + this.insertProRole(UserTypeEnums.FBCLRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBCLRY.getInfo(),proProjectInfo.getId(),myMenuConfigList); + this.insertProRole(UserTypeEnums.FBAQRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.FBAQRY.getInfo(),proProjectInfo.getId(),myMenuConfigList); + this.insertProRole(UserTypeEnums.JSDWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.JSDWRY.getInfo(),proProjectInfo.getId(),myMenuConfigList); this.insertProRole(UserTypeEnums.JLDWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.JLDWRY.getInfo(),proProjectInfo.getId(),null); this.insertProRole(UserTypeEnums.SGDWRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.SGDWRY.getInfo(),proProjectInfo.getId(),null); this.insertProRole(UserTypeEnums.CLFBRY.getKeys()+"_"+proProjectInfo.getId(),UserTypeEnums.CLFBRY.getInfo(),proProjectInfo.getId(),null); diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java index fc6480d5..fc5836ef 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java @@ -591,7 +591,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proSubdeptsGroup.setSubDeptName(proProjectInfoSubdeptsUsers.getSubDeptName()); proSubdeptsGroup.setSubDeptType(proProjectInfoSubdeptsUsers.getSubDeptType()); int count = proSubdeptsGroupList.size()+1; - String pre = Objects.equals(proProjectInfoSubdeptsUsers.getCraftType(), CraftTypeEnums.PYGZ.getCode())?"普通":"特殊"; + String pre = "普通"; String craftPostName = DictUtils.getDictLabel("pro_craft_post",proProjectInfoSubdeptsUsers.getCraftPost()); proSubdeptsGroup.setGroupName(pre+craftPostName+"班组"+count); proSubdeptsGroup.setCraftType(proProjectInfoSubdeptsUsers.getCraftType()); @@ -626,7 +626,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proSubdeptsGroup.setSubDeptName(proProjectInfoSubdeptsUsers.getSubDeptName()); proSubdeptsGroup.setSubDeptType(proProjectInfoSubdeptsUsers.getSubDeptType()); int count = proSubdeptsGroupList.size()+1; - String pre = Objects.equals(proProjectInfoSubdeptsUsers.getCraftType(), CraftTypeEnums.PYGZ.getCode())?"普通":"特殊"; + String pre = "普通"; String craftPostName = DictUtils.getDictLabel("pro_craft_post",proProjectInfoSubdeptsUsers.getCraftPost()); proSubdeptsGroup.setGroupName(pre+craftPostName+"班组"+count); proSubdeptsGroup.setCraftType(proProjectInfoSubdeptsUsers.getCraftType()); @@ -808,7 +808,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu dirFile.mkdirs(); } proSubdeptsUser.setSubStep(100L); - proSubdeptsUser.setEduStatus("1"); + proSubdeptsUser.setEduStatus("0"); proSubdeptsUser.setEduDate(DateUtils.getNowDate()); proSubdeptsUser.setEduFilePath(saveEdusFilePath); // word文件转PDF文件 diff --git a/yanzhu-ui-app/miniprogram/api/login.js b/yanzhu-ui-app/miniprogram/api/login.js index 19297524..39ab28dc 100644 --- a/yanzhu-ui-app/miniprogram/api/login.js +++ b/yanzhu-ui-app/miniprogram/api/login.js @@ -17,6 +17,15 @@ export function wxLogin(data) { }) } +// 手机号静默登录 +export function wxNumberLogin(data) { + return request({ + url: '/auth/wxNumberLogin', + method: 'post', + data: data, + }) +} + // 获取授权 export function getMaOpenId(data) { return request({ diff --git a/yanzhu-ui-app/miniprogram/app.js b/yanzhu-ui-app/miniprogram/app.js index 1bacb4bd..d9f57c3a 100644 --- a/yanzhu-ui-app/miniprogram/app.js +++ b/yanzhu-ui-app/miniprogram/app.js @@ -81,11 +81,11 @@ App({ }, //页面弹窗 - toast: function (msg, type) { + toast: function (msg, type, time) { wx.showToast({ title: msg, icon: type === undefined ? 'none' : type, - duration: 1000, + duration: time === undefined ? 1200: time, mask: true }); }, diff --git a/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.js b/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.js index a3f1ecce..8f737e16 100644 --- a/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.js +++ b/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.js @@ -63,7 +63,7 @@ Page({ index = idx + 1; } list.push({ - text: item.name.substr(0,6), + text: item.name.substr(0,5), desc: '' }); }); @@ -359,9 +359,7 @@ Page({ * @param {*} e */ downFile: function (e) { - let { - path - } = e.currentTarget.dataset.set + let path = this.data.subDeptUserData.eduFilePath; wx.downloadFile({ // 示例 url,并非真实存在 url: config.baseUrl + '/file/download?fileName=' + path, diff --git a/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.wxml b/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.wxml index f65f849b..01746523 100644 --- a/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.wxml +++ b/yanzhu-ui-app/miniprogram/pages/project_flowable/approveTask/index.wxml @@ -309,13 +309,13 @@ - 审批意见 + 审批意见