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