From 8f9dba748594660d3b4512ebfb07bddf9f61c9f8 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 28 二月 2025 13:44:50 +0800
Subject: [PATCH] 审批流定时任务

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java           |    9 +++++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java   |    2 +-
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java     |   10 ++++++++--
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java |    4 ++--
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java  |   13 +++++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java            |    7 +++++++
 ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java        |    4 ++++
 7 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
index 7e21076..6f4ac09 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -225,7 +225,7 @@
                             new ImmutableMap.Builder<String, Long>().
                                     put("id", flwTask.getId())
                                     .build();
-                    QuartzManager.addJob(StateProcessJob.class, (StateProcessJob.name+flwTask.getId()).toUpperCase(), TimeJobType.AUTO_AUDIT,new Date(new Date().getTime()+60*1000L), maps);
+                    QuartzManager.addJob(StateProcessJob.class, (StateProcessJob.name+flwTask.getId()).toUpperCase(), TimeJobType.AUTO_AUDIT,new Date(new Date().getTime()+3*60*1000L), maps);
                 }
             }
         }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java
index ad65a32..dd19d51 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java
@@ -73,6 +73,9 @@
     @ApiOperation(value = "添加租户")
     @PostMapping(value = "/add")
     public R<Boolean> add(@Validated @RequestBody TTenantDTO dto) {
+        if(tenantService.isExit(dto)){
+            return R.fail("该账号已存在");
+        }
         // 密码加密
         dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
         return R.ok(tenantService.save(dto));
@@ -86,6 +89,9 @@
     @ApiOperation(value = "修改租户")
     @PostMapping(value = "/update")
     public R<Boolean> update(@Validated @RequestBody TTenantDTO dto) {
+        if(tenantService.isExit(dto)){
+            return R.fail("该账号已存在");
+        }
         // 密码加密
         if(StringUtils.isNotBlank(dto.getPassword())){
             dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
@@ -101,8 +107,8 @@
     @GetMapping(value = "/getDetailById")
     public R<TTenant> getDetailById(@RequestParam String id) {
         TTenant tenant = tenantService.getById(id);
-        tenant.setTenantAttributes(StringUtils.isNotEmpty(tenant.getTenantAttributes())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenant.getTenantAttributes()):"");
-        tenant.setTenantType(StringUtils.isNotEmpty(tenant.getTenantType())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenant.getTenantType()):"");
+//        tenant.setTenantAttributes(StringUtils.isNotEmpty(tenant.getTenantAttributes())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenant.getTenantAttributes()):"");
+//        tenant.setTenantType(StringUtils.isNotEmpty(tenant.getTenantType())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenant.getTenantType()):"");
         return R.ok(tenant);
     }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
index 989de6c..6097744 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
@@ -3,7 +3,9 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.dto.TBillDto;
+import com.ruoyi.system.dto.TTenantDTO;
 import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.TDept;
 import com.ruoyi.system.model.THouse;
 import com.ruoyi.system.query.TBillAppletQuery;
 import com.ruoyi.system.query.TExamineAppletQuery;
@@ -45,4 +47,11 @@
 
     PageInfo<ExamineVO> examineList(TExamineAppletQuery dto);
 
+    /**
+     * 判断租户是否已存在
+     * @param dto
+     * @return
+     */
+    boolean isExit(TTenantDTO dto);
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java
index 49604e5..5391d65 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java
@@ -101,7 +101,7 @@
                             new ImmutableMap.Builder<String, Long>().
                                     put("id", flwTask.getId())
                                     .build();
-                    QuartzManager.addJob(StateProcessJob.class, (StateProcessJob.name+flwTask.getId()).toUpperCase(), TimeJobType.AUTO_AUDIT,new Date(new Date().getTime()+60*1000L), maps);
+                    QuartzManager.addJob(StateProcessJob.class, (StateProcessJob.name+flwTask.getId()).toUpperCase(), TimeJobType.AUTO_AUDIT,new Date(new Date().getTime()+3*60*1000L), maps);
 
 
                     //对比发起人和节点审批人
@@ -152,7 +152,7 @@
                             new ImmutableMap.Builder<String, Long>().
                                     put("id", flwTask.getId())
                                     .build();
-                    QuartzManager.addJob(StateProcessJob.class, (StateProcessJob.name+flwTask.getId()).toUpperCase(), TimeJobType.AUTO_AUDIT,new Date(new Date().getTime()+60*1000L), maps);
+                    QuartzManager.addJob(StateProcessJob.class, (StateProcessJob.name+flwTask.getId()).toUpperCase(), TimeJobType.AUTO_AUDIT,new Date(new Date().getTime()+3*60*1000L), maps);
 
 
                     //对比发起人和节点审批人
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
index eb76072..0c1e19f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
@@ -7,11 +7,13 @@
 import com.ruoyi.common.constant.DictConstants;
 import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.dto.TTenantDTO;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.mapper.TContractMapper;
 import com.ruoyi.system.mapper.THouseMapper;
 import com.ruoyi.system.mapper.TTenantMapper;
 import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.TDept;
 import com.ruoyi.system.model.THouse;
 import com.ruoyi.system.model.TTenant;
 import com.ruoyi.system.query.TBillAppletQuery;
@@ -139,4 +141,15 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
+
+    @Override
+    public boolean isExit(TTenantDTO dto) {
+        if(StringUtils.isNotEmpty(dto.getId())){
+            // 修改
+            return this.count(Wrappers.lambdaQuery(TTenant.class).ne(TTenant::getId, dto.getId()).eq(TTenant::getPhone, dto.getPhone())) > 0;
+        }else {
+            // 新增
+            return this.count(Wrappers.lambdaQuery(TTenant.class).eq(TTenant::getPhone, dto.getPhone())) > 0;
+        }
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java b/ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java
index 720445d..c6aee66 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java
@@ -2,6 +2,9 @@
 
 import com.aizuda.bpm.mybatisplus.mapper.FlwTaskActorMapper;
 import com.aizuda.bpm.mybatisplus.mapper.FlwTaskMapper;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.SmsUtil;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.StateProcessTemplateService;
 import com.ruoyi.system.task.utils.SpringContextsUtil;
 import org.quartz.Job;
@@ -19,11 +22,15 @@
 	protected StateProcessTemplateService stateProcessTemplateService;
 	protected FlwTaskMapper flwTaskMapper;
 	protected FlwTaskActorMapper flwTaskActorMapper;
+	protected SmsUtil smsUtil;
+	protected ISysUserService sysUserService;
 
 	public AbstractJob(){
 		this.stateProcessTemplateService = SpringContextsUtil.getBean(StateProcessTemplateService.class);
 		this.flwTaskMapper = SpringContextsUtil.getBean(FlwTaskMapper.class);
 		this.flwTaskActorMapper = SpringContextsUtil.getBean(FlwTaskActorMapper.class);
+		this.smsUtil = SpringContextsUtil.getBean(SmsUtil.class);
+		this.sysUserService = SpringContextsUtil.getBean(ISysUserService.class);
 	}
 
 	 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java b/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java
index c4ad3a2..73e2ab2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java
@@ -2,6 +2,7 @@
 
 import com.aizuda.bpm.engine.entity.FlwTaskActor;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.system.bo.ProcessAgreeBO;
 import com.ruoyi.system.task.base.AbstractJob;
@@ -37,6 +38,9 @@
 			processAgreeBO.setRemark("自动审批");
 			processAgreeBO.setUserId(Long.valueOf(flwTaskActor.getActorId()));
 			stateProcessTemplateService.agree(processAgreeBO);
+			// 短信发送
+			SysUser sysUser = sysUserService.selectUserById(Long.valueOf(flwTaskActor.getActorId()));
+			smsUtil.sendSms(sysUser.getPhonenumber(), "2369951", new String[]{""});
 		}catch(Exception e){
 			e.printStackTrace();
 		}

--
Gitblit v1.7.1