From de467361d90f37cfcd83f3a4d930f23ead5a6345 Mon Sep 17 00:00:00 2001 From: JyuHsin <729757837@qq.com> Date: Wed, 4 Mar 2026 15:12:12 +0800 Subject: [PATCH] commit --- .../sms/impl/jshvc/SmsJshvcServiceImpl.java | 6 +-- .../controller/FlowTodoCenterController.java | 1 + .../ProcessTaskStartEventListener.java | 6 ++- .../impl/ProcessInstanceServiceImpl.java | 7 ++++ .../controller/SysSignatureController.java | 2 +- .../app/sys/controller/SysUserController.java | 13 ++++-- .../app/todo/platform/TodoPlatformConfig.java | 4 +- .../todo/service/impl/TodoServiceImpl.java | 42 ++++++++++++------- .../budwk/app/web/commons/base/Globals.java | 2 +- .../ActivityReimbursementApplyController.java | 1 + .../ActivityReimbursementMineController.java | 6 +-- .../resources/views/layouts/platform_h5.html | 4 +- .../views/platform/flow/todoCenter/index.html | 17 ++++++-- 13 files changed, 75 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java b/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java index 338f6a1..2776fd7 100644 --- a/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java +++ b/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java @@ -75,10 +75,6 @@ public class SmsJshvcServiceImpl implements SmsService { */ private void doSend(String title, String content, List> receivers, String link) { - if(!SecurityUtil.getUserLoginname().equals("superadmin")) { - return; - } - if (Lang.isEmpty(receivers)) { log.error("send fail by receivers is null"); return; @@ -94,7 +90,7 @@ public class SmsJshvcServiceImpl implements SmsService { NutMap paramsMap = new NutMap(); paramsMap.put("sign", sign); paramsMap.put("msgType", "0"); - paramsMap.put("subject", title); + paramsMap.put("subject", "智慧工会"); paramsMap.put("content", content); paramsMap.put("sendType", "5"); paramsMap.put("receivers", receivers); diff --git a/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java b/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java index 59138a8..11fcd5a 100644 --- a/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java +++ b/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java @@ -117,6 +117,7 @@ public class FlowTodoCenterController { if (StrUtil.isNotBlank(searchKeyword)) { cnd.where().andLike("ins.variable ->> '$.instanceName'", searchKeyword); } + cnd.and("t.taskName", "!=", "startTask"); cnd.desc("t.createdAt"); sql.setCondition(cnd); Pagination pagination = sysUserService.listPageMap(pageNumber, pageSize, sql); diff --git a/src/main/java/com/budwk/app/flow/listenter/ProcessTaskStartEventListener.java b/src/main/java/com/budwk/app/flow/listenter/ProcessTaskStartEventListener.java index 4291d95..0b0507d 100644 --- a/src/main/java/com/budwk/app/flow/listenter/ProcessTaskStartEventListener.java +++ b/src/main/java/com/budwk/app/flow/listenter/ProcessTaskStartEventListener.java @@ -9,6 +9,7 @@ import com.budwk.app.flow.entity.ProcessTask; import com.budwk.app.flow.entity.ProcessTaskActor; import com.budwk.app.flow.enums.ProcessEventTypeEnum; import com.budwk.app.todo.service.TodoService; +import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.zhgh.dayofficework.message.service.GlobalMessageSendService; import lombok.extern.slf4j.Slf4j; import org.nutz.dao.Cnd; @@ -61,8 +62,11 @@ public class ProcessTaskStartEventListener implements ProcessEventListener { for (ProcessTaskActor taskActor : taskActors) { // 模拟发送消息 - String message = StrUtil.format("您有一条待办任务,实例:{},处理环节:{}", taskActor.getActorName(), instanceName, taskDisplayName); + String message = StrUtil.format("您有一条待办任务,实例:{},处理环节:{}", instanceName, taskDisplayName); log.info(message); + if (!List.of("superadmin" ,"CS2025015", "20182040").contains(SecurityUtil.getUserLoginname())) { + break; + } globalMessageSendService.sendMessage(taskDisplayName, message, 2, List.of(taskActor.getActorId()), null); } diff --git a/src/main/java/com/budwk/app/flow/service/impl/ProcessInstanceServiceImpl.java b/src/main/java/com/budwk/app/flow/service/impl/ProcessInstanceServiceImpl.java index cbb831c..5cb21fd 100644 --- a/src/main/java/com/budwk/app/flow/service/impl/ProcessInstanceServiceImpl.java +++ b/src/main/java/com/budwk/app/flow/service/impl/ProcessInstanceServiceImpl.java @@ -32,6 +32,8 @@ import com.budwk.app.flow.service.ProcessTaskService; import com.budwk.app.flow.vo.HighLightVO; import com.budwk.app.flow.vo.ProcessInstanceVO; import com.budwk.app.flow.vo.ProcessTaskVO; +import com.budwk.app.todo.service.TodoService; +import com.budwk.app.todo.service.impl.TodoServiceImpl; import com.budwk.app.web.commons.auth.utils.SecurityUtil; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Chain; @@ -43,6 +45,7 @@ import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.lang.util.NutMap; +import org.nutz.mvc.Mvcs; import java.util.*; import java.util.stream.Collectors; @@ -558,6 +561,10 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl List taskIds = taskList.stream().map(ProcessTask::getId).toList(); dao().clear(ProcessTask.class, Cnd.where(ProcessTask::getId, "in", taskIds)); dao().clear(ProcessInstance.class, Cnd.where(ProcessInstance::getId, "=", processInstanceId)); + + // 删除学校待办 + TodoService todoService = Mvcs.getIoc().get(TodoServiceImpl.class); + todoService.deleteProcessInstance(processInstanceId.toString()); } @Override diff --git a/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java b/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java index adbcab6..d4ad211 100644 --- a/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java +++ b/src/main/java/com/budwk/app/sys/controller/SysSignatureController.java @@ -131,7 +131,7 @@ public class SysSignatureController { @Aop(TransAop.READ_COMMITTED) public Result update(@Param("file") TempFile tempFile) { String url = sysFileService.uploadReturnUrl(SysFileEngineTypeEnum.MINIO.getValue(), tempFile); - Sys_user_signature sysUserSignature = dao.fetch(Sys_user_signature.class); + Sys_user_signature sysUserSignature = dao.fetch(Sys_user_signature.class, Cnd.where("userId", "=", SecurityUtil.getUserId())); if (ObjectUtil.isNull(sysUserSignature)) { sysUserSignature = new Sys_user_signature(); } diff --git a/src/main/java/com/budwk/app/sys/controller/SysUserController.java b/src/main/java/com/budwk/app/sys/controller/SysUserController.java index 03d93b8..2f6fd91 100644 --- a/src/main/java/com/budwk/app/sys/controller/SysUserController.java +++ b/src/main/java/com/budwk/app/sys/controller/SysUserController.java @@ -361,10 +361,15 @@ public class SysUserController { if (StrUtil.isBlank(pathname)) { } - int i = pathname.indexOf("?"); - if(i > 0) { - pathname = pathname.substring(0, i); - } + int i = pathname.indexOf("?"); + if (i > 0) { + pathname = pathname.substring(0, i); + } + + if (pathname.contains("webvpn")) { + int platform = pathname.indexOf("/platform"); + pathname = pathname.substring(platform); + } // Sys_menu menu = sysMenuService.fetch(Cnd.where(Sys_menu::getHref, "like", pathname + "%")); Sys_menu menu = sysMenuService.fetch(Cnd.where(Sys_menu::getHref, "=", pathname)); if (menu == null) { diff --git a/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java b/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java index f532ec5..76647ab 100644 --- a/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java +++ b/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java @@ -12,7 +12,9 @@ public class TodoPlatformConfig { // token 获取 public static final String TOKEN_URL = "https://gateway.jshvc.edu.cn/token/gateway/accessToken"; // 待办平台基础地址 - public static final String TODO_PLATFORM_BASE_URL = "https://gateway.jshvc.edu.cn/casp-tdc/task/saveOrUpdate"; + public static final String TODO_PLATFORM_BASE_URL = "https://gateway.jshvc.edu.cn"; + // 待办平台新增或者修改 + public static final String TODO_PLATFORM_SAVE_OR_UPDATE_URL = "https://gateway.jshvc.edu.cn/casp-tdc/task/saveOrUpdate"; // 待办平台修改地址 public static final String TODO_PLATFORM_MODIFY_URL = "https://gateway.jshvc.edu.cn/casp-tdc/task/modifyInfo"; // 待办平台删除任务地址 diff --git a/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java b/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java index e222a09..33eda2b 100644 --- a/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java +++ b/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java @@ -12,6 +12,7 @@ import com.budwk.app.sys.models.Sys_user; import com.budwk.app.todo.platform.TodoPlatformConfig; import com.budwk.app.todo.service.TodoService; import com.budwk.app.web.commons.auth.utils.SecurityUtil; +import com.budwk.app.web.commons.base.Globals; import com.wisedu.casp.sdk.api.BaseResponse; import com.wisedu.casp.sdk.api.tdc.constants.*; import com.wisedu.casp.sdk.api.tdc.model.*; @@ -55,7 +56,7 @@ public class TodoServiceImpl implements TodoService { @Override public void saveTask(ProcessTask task) { - if(!SecurityUtil.getUserLoginname().equals("superadmin")) { + if (!List.of("superadmin" ,"CS2025015", "20182040").contains(SecurityUtil.getUserLoginname())) { return; } log.info("新增待办任务,任务数据:{}", Json.toJson(task)); @@ -66,6 +67,7 @@ public class TodoServiceImpl implements TodoService { ProcessDefine define = dao.fetch(ProcessDefine.class, instance.getProcessDefineId()); // 获取流程发起人 String initiatorAccount = Json.fromJson(NutMap.class, instance.getVariable()).getString(FlowConst.INITIATOR_ACCOUNT); + String instanceName = Json.fromJson(NutMap.class, instance.getVariable()).getString("instanceName"); // 获取任务执行人 List taskActors = dao.query(ProcessTaskActor.class, Cnd.where(ProcessTaskActor::getProcessTaskId, "=", task.getId())); List processorList = taskActors.stream().map(o -> new Processor(o.getActorAccount())).toList(); @@ -79,25 +81,31 @@ public class TodoServiceImpl implements TodoService { insertModel.setTaskId(task.getId().toString()); insertModel.setInitiatorId(initiatorAccount); insertModel.setInitiatorType(ProcessorType.USER_ACCOUNT); - insertModel.setSubject(define.getDisplayName()); + insertModel.setSubject(instanceName); insertModel.setPriority(PriorityType.COMMON); insertModel.setTaskType(TaskType.COMMON); insertModel.setProcessors(processorList); insertModel.setProcessType(ProcessType.OR_SIGN); insertModel.setNodeId(task.getId().toString()); - insertModel.setNodeName(task.getTaskName()); - insertModel.setPcViewUrl(task.getFormKey()); - insertModel.setH5ViewUrl(task.getH5FormKey()); + insertModel.setNodeName(task.getDisplayName()); + insertModel.setPcViewUrl(Globals.AppDomain + task.getFormKey()); + insertModel.setH5ViewUrl(Globals.AppDomain + task.getH5FormKey()); // insertModel.setServiceId("xxx"); // insertModel.setServiceName("xxx"); // 任务关联的申请信息 ApplicationModel applicationModel = new ApplicationModel(); applicationModel.setProcessInstanceId(instance.getId().toString()); + applicationModel.setSubject(define.getDisplayName()); + applicationModel.setProcessors(processorList); + applicationModel.setProcessInstanceStatus(ProcessInstanceStatusType.RUNNING); + applicationModel.setNodeId(task.getId().toString()); + applicationModel.setNodeName(task.getDisplayName()); insertModel.setApplicationModel(applicationModel); request.setInsertModel(Collections.singletonList(insertModel)); + log.info("新增待办任务,请求参数:{}", Json.toJson(request)); BaseResponse response = client.execute(request); log.info("新增待办任务,接口响应数据:{}", Json.toJson(response)); } catch (Exception e) { @@ -107,7 +115,7 @@ public class TodoServiceImpl implements TodoService { @Override public void updateTask(ProcessTask task) { - if(!SecurityUtil.getUserLoginname().equals("superadmin")) { + if (!List.of("superadmin" ,"CS2025015", "20182040").contains(SecurityUtil.getUserLoginname())) { return; } log.info("更新待办任务,任务数据:{}", Json.toJson(task)); @@ -123,7 +131,7 @@ public class TodoServiceImpl implements TodoService { ProcessTaskVO taskVO = flowEngine.processTaskService().findById(task.getId()); // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_MODIFY_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); // 创建请求对象 SaveOrUpdateRequest request = new SaveOrUpdateRequest(); @@ -142,11 +150,12 @@ public class TodoServiceImpl implements TodoService { applyModel.setProcessInstanceId(instance.getId().toString()); applyModel.setProcessInstanceStatus(ProcessInstanceStatusType.RUNNING); applyModel.setNodeId(task.getId().toString()); - applyModel.setNodeName(task.getTaskName()); + applyModel.setNodeName(task.getDisplayName()); applyModel.setProcessors(processorList); updateModel.setApplyModels(Collections.singletonList(applyModel)); request.setUpdateModel(updateModel); + log.info("更新待办任务,请求参数:{}", Json.toJson(request)); BaseResponse response = client.execute(request); log.info("更新待办任务,接口响应数据:{}", Json.toJson(response)); } catch (Exception e) { @@ -156,13 +165,13 @@ public class TodoServiceImpl implements TodoService { @Override public void modifyInfo(ProcessTask task) { - if(!SecurityUtil.getUserLoginname().equals("superadmin")) { + if (!List.of("superadmin" ,"CS2025015", "20182040").contains(SecurityUtil.getUserLoginname())) { return; } log.info("修改待办任务,任务数据:{}", Json.toJson(task)); try { // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_MODIFY_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); // 创建请求对象 TaskModifyInfoRequest request = new TaskModifyInfoRequest(); // 需要修改什么后面扩展吧 @@ -170,6 +179,7 @@ public class TodoServiceImpl implements TodoService { request.setSubject("test"); request.setProcessors(Arrays.asList(new Processor("user01"), new Processor("user02"))); + log.info("修改待办任务,请求参数:{}", Json.toJson(request)); BaseResponse response = client.execute(request); log.info("修改待办任务,接口响应数据:{}", Json.toJson(response)); } catch (Exception e) { @@ -179,16 +189,18 @@ public class TodoServiceImpl implements TodoService { @Override public void deleteTask(String taskId) { - if(!SecurityUtil.getUserLoginname().equals("superadmin")) { + if (!List.of("superadmin" ,"CS2025015", "20182040").contains(SecurityUtil.getUserLoginname())) { return; } log.info("删除待办任务,任务ID:{}", taskId); try { // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_DELETE_TASK_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); // 创建请求对象 TaskRealDeleteRequest request = new TaskRealDeleteRequest(); request.setTaskId(taskId); + + log.info("删除待办任务,请求参数:{}", Json.toJson(request)); BaseResponse response = client.execute(request); log.info("删除待办任务,接口响应数据:{}", Json.toJson(response)); } catch (Exception e) { @@ -198,16 +210,18 @@ public class TodoServiceImpl implements TodoService { @Override public void deleteProcessInstance(String processInstanceId) { - if(!SecurityUtil.getUserLoginname().equals("superadmin")) { + if (!List.of("superadmin" ,"CS2025015", "20182040").contains(SecurityUtil.getUserLoginname())) { return; } log.info("删除待办流程,实例ID:{}", processInstanceId); try { // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_DELETE_INSTANCE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); // 创建请求对象 ProcessInstanceRealDeleteRequest request = new ProcessInstanceRealDeleteRequest(); request.setProcessInstanceId(processInstanceId); + + log.info("删除待办流程,请求参数:{}", Json.toJson(request)); BaseResponse response = client.execute(request); log.info("删除待办流程,接口响应数据:{}", Json.toJson(response)); } catch (Exception e) { diff --git a/src/main/java/com/budwk/app/web/commons/base/Globals.java b/src/main/java/com/budwk/app/web/commons/base/Globals.java index 20535a3..0df0601 100644 --- a/src/main/java/com/budwk/app/web/commons/base/Globals.java +++ b/src/main/java/com/budwk/app/web/commons/base/Globals.java @@ -34,7 +34,7 @@ public class Globals { //项目LOGO public static String AppLogo = ""; //项目域名 - public static String AppDomain = "http://127.0.0.1"; + public static String AppDomain = "https://zhgh.jshvc.edu.cn"; //文件访问域名 public static String AppFileDomain = ""; //学校代码 diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementApplyController.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementApplyController.java index 5b0d0ef..117c64a 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementApplyController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementApplyController.java @@ -145,6 +145,7 @@ public class ActivityReimbursementApplyController { args.set("outlayManageSource", activityReimbursementInfo.getOutlayManageSource()); args.set("actualMoney", activityReimbursementInfo.getActualMoney()); args.set("next", activityReimbursementInfo.getReimbursementIdentity()); + args.set("clubId",activityReimbursementInfo.getClubId()); ProcessInstance instance = flowEngine.startProcessInstanceByKey("HDBX", activityReimbursementInfo.getId(), SecurityUtil.getUserId(), args); // 自动完成第一个申请任务 diff --git a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java index 12e4f46..33f72fa 100644 --- a/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java +++ b/src/main/java/com/budwk/app/zhgh/activity/declarereimbursement/reimbursement/controller/ActivityReimbursementMineController.java @@ -137,7 +137,7 @@ public class ActivityReimbursementMineController { """); Cnd cnd = Cnd.NEW(); SqlExpressionGroup group = new SqlExpressionGroup(); - if (AuthUtil.hasPermission("activityReimbursement.apply.schoolHas")) { + /*if (AuthUtil.hasPermission("activityReimbursement.apply.schoolHas")) { group.or("info.reimbursementIdentity", "=", "school"); } if (AuthUtil.hasPermission("activityReimbursement.apply.unionHas")) { @@ -151,8 +151,8 @@ public class ActivityReimbursementMineController { clubGroup.and("info.clubId", "in", SecurityUtil.getClubIds()); clubGroup.and("info.reimbursementIdentity", "=", "club"); group.or(clubGroup); - } - if (Lang.isNotEmpty(group)) { + }*/ + if (!group.isEmpty()) { cnd.and(group); } else { cnd.and("info.userId", "=", SecurityUtil.getUserId()); diff --git a/src/main/resources/views/layouts/platform_h5.html b/src/main/resources/views/layouts/platform_h5.html index 6e0596c..17ced9b 100644 --- a/src/main/resources/views/layouts/platform_h5.html +++ b/src/main/resources/views/layouts/platform_h5.html @@ -70,10 +70,10 @@ - + >-->