From 51ad03fcc8ffdb52469216558031a1bd31ed1fa6 Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期二, 23 七月 2024 09:57:47 +0800 Subject: [PATCH] 0723添加异常预警,消息推送,企业确认流程,企业自助建议反馈 --- project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java | 2 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java | 5 project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java | 4 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java | 29 +++- project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java | 34 +---- project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java | 4 project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java | 13 ++ project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java | 8 + project-system/src/main/java/com/project/system/service/ISysDeptService.java | 2 project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java | 2 project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java | 22 +++ project-admin/src/main/resources/application.yml | 3 project-system/src/main/java/com/project/system/sms/YPSmsApi.java | 6 + project-quartz/pom.xml | 6 + project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java | 11 + project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java | 19 +++ project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java | 2 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java | 70 ++++++++++- project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java | 4 project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml | 13 ++ project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java | 11 + project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java | 2 project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java | 17 ++ project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java | 32 +++-- 24 files changed, 260 insertions(+), 61 deletions(-) diff --git a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java index 78ea21f..3c0cb27 100644 --- a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java +++ b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java @@ -36,7 +36,7 @@ private final IEnforceComplaintLogService iEnforceComplaintLogService; - @ApiOperation("鏌ヨ鎶曡瘔璁板綍鍒楄〃") + @ApiOperation("鈥斺�旇褰曞垪琛�") @GetMapping("/list") public TableDataInfo list(EnforceComplaintLogQueryBo bo) { @@ -46,6 +46,26 @@ } + @ApiOperation("鎴戠殑鎶曡瘔鈥斺�旇褰曞垪琛�") + @GetMapping("/complaintList") + public TableDataInfo complaintList(EnforceComplaintLogQueryBo bo) + { + startPage(); + List<EnforceComplaintLogVo> list = iEnforceComplaintLogService.complaintList(bo); + return getDataTable(list); + } + + + + @ApiOperation("璇夋眰寤鸿鈥斺�旇褰曞垪琛�") + @GetMapping("/pleaseList") + public TableDataInfo pleaseList(EnforceComplaintLogQueryBo bo) + { + startPage(); + List<EnforceComplaintLogVo> list = iEnforceComplaintLogService.queryPleaseList(bo); + return getDataTable(list); + } + @ApiOperation("瀵煎嚭鎶曡瘔璁板綍鍒楄〃") //@PreAuthorize("@ss.hasPermi('enforce:log:export')") diff --git a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java index bf08edc..80bf645 100644 --- a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java +++ b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java @@ -230,4 +230,15 @@ { return toAjax(iEnforceOrderService.deleteByIds(Arrays.asList(orderIds)) ? 1 : 0); } + + + @ApiOperation("浼佷笟纭鈥斺�旀墽娉曞崟") + //@PreAuthorize("@ss.hasPermi('enforce:order:remove')") + @Log(title = "浼佷笟纭鎵ф硶鍗�" , businessType = BusinessType.UPDATE) + @PostMapping("/confirm/{orderId}") + @RepeatSubmit + public AjaxResult remove(@PathVariable Long orderId) + { + return toAjax(iEnforceOrderService.confirm(orderId) ? 1 : 0); + } } diff --git a/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java b/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java index a2ee3fa..bc670cd 100644 --- a/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java +++ b/project-admin/src/main/java/com/project/admin/controller/system/SysDeptController.java @@ -1,18 +1,5 @@ package com.project.admin.controller.system; -import java.util.List; -import org.apache.commons.lang3.ArrayUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import com.project.common.annotation.Log; import com.project.common.constant.UserConstants; import com.project.common.core.controller.BaseController; @@ -21,10 +8,17 @@ import com.project.common.enums.BusinessType; import com.project.common.utils.StringUtils; import com.project.system.service.ISysDeptService; +import org.apache.commons.lang3.ArrayUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 閮ㄩ棬淇℃伅 - * + * * @author project */ @RestController @@ -37,6 +31,16 @@ /** * 鑾峰彇閮ㄩ棬鍒楄〃 */ + @GetMapping("/allList") + public AjaxResult allList(@RequestParam("parentId") Long parentId) + { + List<SysDept> depts = deptService.list(deptService.lq().eq(SysDept::getParentId, parentId)); + return success(depts); + } + + /** + * 鑾峰彇閮ㄩ棬鍒楄〃 + */ @PreAuthorize("@ss.hasPermi('system:dept:list')") @GetMapping("/list") public AjaxResult list(SysDept dept) diff --git a/project-admin/src/main/resources/application.yml b/project-admin/src/main/resources/application.yml index 6f63bda..04194ef 100644 --- a/project-admin/src/main/resources/application.yml +++ b/project-admin/src/main/resources/application.yml @@ -143,6 +143,9 @@ - /system/company/add - /system/dict/** - /system/doc/** + - /system/company/** + - /system/dept/allList + - /enforce/company/log/** - /tool/** - /verify/** - /report/** diff --git a/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java b/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java index 973090d..7056983 100644 --- a/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java +++ b/project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java @@ -107,6 +107,9 @@ @ApiModelProperty("鎵爜鍏ュ満鏃堕棿") private Date inTime; + @ApiModelProperty("浼佷笟纭鏃堕棿") + private Date confirmTime; + @ApiModelProperty("鎵ф硶闃熷憳浜烘暟") private Integer userNum; @@ -199,6 +202,7 @@ private Integer isEva; + @ApiModelProperty("璇勪环鎬诲緱鍒�") private BigDecimal totalScore; diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java index 4e25f7a..9153b80 100644 --- a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java +++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceCompanyLogBo.java @@ -73,7 +73,7 @@ /** 鏉ヨ鏃堕棿 */ @ApiModelProperty("鏉ヨ鏃堕棿") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date comeTime; + private String comeTime; /** 鏇存柊浜� */ @ApiModelProperty("鏇存柊浜�") diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java index 10af5ea..6998497 100644 --- a/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java +++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java @@ -213,4 +213,8 @@ /** 鎶曡瘔鍐呭 */ @ApiModelProperty("鎶曡瘔鍐呭") private String complaintReason; + + @ApiModelProperty("浼佷笟纭鏃堕棿") + private Date confirmTime; + } diff --git a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java index b86c265..a3b9983 100644 --- a/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java +++ b/project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java @@ -187,6 +187,10 @@ @ApiModelProperty("鎶曡瘔绫诲瀷") private String complaintType; + @ApiModelProperty("浼佷笟纭鏃堕棿") + private Date confirmTime; + + @ApiModelProperty("鐢宠閮ㄩ棬ids") private List<Long> applyDeptIds; diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java index 0572bad..1d58f24 100644 --- a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java +++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceCompanyLogVo.java @@ -60,7 +60,7 @@ @ApiModelProperty("鎵ц浜哄崟浣�") private String comeDeptName; @Excel(name = "鏉ヨ鏃堕棿" , width = 30, dateFormat = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty("鏉ヨ鏃堕棿") private Date comeTime; @Excel(name = "澶囨敞") diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java new file mode 100644 index 0000000..a369f89 --- /dev/null +++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceDistinctVo.java @@ -0,0 +1,19 @@ +package com.project.enforce.domain.vo; + +import lombok.Data; + +/** + * 鍔熻兘鎻忚堪锛� + * + * @author ZQN + * @version 1.0 + */ + +@Data +public class EnforceDistinctVo +{ + private Long companyId; + private Long checkDeptId; + private String applyTimeStr; + private Integer applyNum; +} diff --git a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java index 0f55ef1..19fd8cd 100644 --- a/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java +++ b/project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java @@ -94,6 +94,10 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date inTime; + @ApiModelProperty("浼佷笟纭鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date confirmTime; + @Excel(name = "鎵ф硶闃熷憳浜烘暟") @ApiModelProperty("鎵ф硶闃熷憳浜烘暟") private Integer userNum; @@ -182,6 +186,7 @@ private String complaintReason; + @ApiModelProperty("鍚岃浜烘暟缁�") private List<EnforcePeer> peers; diff --git a/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java b/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java index 459a525..361934d 100644 --- a/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java +++ b/project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java @@ -4,6 +4,7 @@ import com.project.enforce.domain.EnforceOrder; import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo; import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo; +import com.project.enforce.domain.vo.EnforceDistinctVo; import com.project.enforce.domain.vo.EnforceOrderVo; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -28,4 +29,5 @@ @Select("SELECT COUNT(DISTINCT company_id) FROM enforce_order where check_status>=2") Integer getDistinctCompanyNum(); + List<EnforceDistinctVo> selectDistinctCheckDeptIdAndCompanyId(); } diff --git a/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java b/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java index 812f1b1..785c910 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java +++ b/project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java @@ -23,6 +23,16 @@ */ List<EnforceComplaintLogVo> queryList(EnforceComplaintLogQueryBo bo); + /** + * 鎶曡瘔鍒楄〃 + */ + List<EnforceComplaintLogVo> complaintList(EnforceComplaintLogQueryBo bo); + + /** + * 寤鸿鍒楄〃 + */ + List<EnforceComplaintLogVo> queryPleaseList(EnforceComplaintLogQueryBo bo); + /** * 鏌ヨ鍗曚釜 * @return EnforceComplaintLogVo @@ -72,4 +82,5 @@ * @return true鎴愬姛 false澶辫触 */ Boolean doComplaint(ComplaintResultBo bo); + } diff --git a/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java b/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java index 7f05381..eb10dce 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java +++ b/project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java @@ -149,4 +149,17 @@ */ Integer getDistinctCompanyNum(); + /** + * 浼佷笟纭 + * @param orderId 璁㈠崟id + * @return 缁撴灉 + */ + Boolean confirm(Long orderId); + + /** + * 澶勭悊寮傚父鍗曞瓙 + * @return 缁撴灉 + */ + Integer executeEnforceOrderWarn(); + } diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java index cd265fe..d9e2e25 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java +++ b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java @@ -64,9 +64,11 @@ if (bo.getCheckStatus()== -1){ company.setCheckStatus(-1); companyBo.setCompanyStatus(1); + smsService.sendCompanyCheckMsg(company.getCompanyPhone(), -1); } else { company.setCheckStatus(2); companyBo.setCompanyStatus(0); + smsService.sendCompanyCheckMsg(company.getCompanyPhone(), 2); } addCheckLog(company, bo); company.setCheckReason(bo.getCheckReason()); diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java index 7268711..96b50e0 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java +++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.project.common.utils.DateUtils; import com.project.common.utils.StringUtils; import com.project.enforce.domain.EnforceCompanyLog; import com.project.enforce.domain.bo.editBo.EnforceCompanyLogBo; @@ -52,6 +53,7 @@ public Boolean insertByBo(EnforceCompanyLogBo bo) { EnforceCompanyLog add = Convert.convert(EnforceCompanyLog.class, bo); + add.setComeTime(DateUtils.dateTime(DateUtils.YYYY_MM_DD, bo.getComeTime())); validEntityBeforeSave(add); return this.save(add); } @@ -81,7 +83,7 @@ //淇濆瓨鍓嶆牎楠� private void validEntityBeforeSave(EnforceCompanyLog entity) { - if (StringUtils.isEmpty(entity.getComeDeptName()) && entity.getComeDeptId()!=null){ + if (StringUtils.isNotEmpty(entity.getComeDeptName()) && entity.getComeDeptId()!=null){ entity.setComeDeptName(deptService.getDeptAllName(entity.getComeDeptId())); } } @@ -103,7 +105,9 @@ qw.eq(StringUtils.isNotEmpty(bo.getComePhone()), "come_phone", bo.getComePhone()); qw.eq(bo.getComeDeptId() != null, "come_dept_id", bo.getComeDeptId()); qw.like(StringUtils.isNotEmpty(bo.getComeDeptName()), "come_dept_name", bo.getComeDeptName()); - qw.eq(bo.getComeTime() != null, "come_time", bo.getComeTime()); + qw.ge(StringUtils.isNotEmpty(bo.getBeginTime()), "come_time", bo.getBeginTime()); + qw.le(StringUtils.isNotEmpty(bo.getEndTime()), "come_time", bo.getEndTime()); + if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){ if ("acs".equals(bo.getIsAsc())) { qw.orderByAsc(bo.getOrderByColumn()); diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java index 52e6bee..f74e35d 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java +++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java @@ -49,6 +49,23 @@ return Convert.toList(EnforceComplaintLogVo.class , list); } + @Override//鍒楄〃鏌ヨ + public List<EnforceComplaintLogVo> complaintList(EnforceComplaintLogQueryBo bo) + { + QueryWrapper<EnforceComplaintLog> qw = getQw(bo); + qw.ne("complaint_type","-1"); + List<EnforceComplaintLog> list = this.list(qw); + return Convert.toList(EnforceComplaintLogVo.class , list); + } + + @Override + public List<EnforceComplaintLogVo> queryPleaseList(EnforceComplaintLogQueryBo bo) { + QueryWrapper<EnforceComplaintLog> qw = getQw(bo); + qw.eq("complaint_type","-1"); + List<EnforceComplaintLog> list = this.list(qw); + return Convert.toList(EnforceComplaintLogVo.class , list); + } + @Override//id鏌ヨ public EnforceComplaintLogVo queryById(Long id) { @@ -91,7 +108,7 @@ List<OrderNodeVo> vos = new ArrayList<>(); EnforceComplaintLog order = this.getById(id); if (order.getComplaintTime()!=null){ - vos.add(new OrderNodeVo("鍙戣捣鎶曡瘔",order.getCompanyUser(),order.getCompanyName(),order.getComplaintTime(), null)); + vos.add(new OrderNodeVo("鍙戣捣璇夋眰",order.getCompanyUser(),order.getCompanyName(),order.getComplaintTime(), null)); } if (order.getInTime()!=null && StringUtils.isNotEmpty(order.getInUser())){ @@ -156,11 +173,11 @@ ){ throw new BaseException("鎶曡瘔浼佷笟涓嶈兘涓虹┖锛�"); } - if (entity.getExecuteDeptId() == null - || StringUtils.isEmpty(entity.getExecuteDeptName()) - ){ - throw new BaseException("鎶曡瘔鍗曚綅涓嶈兘涓虹┖锛�"); - } +// if (entity.getExecuteDeptId() == null +// || StringUtils.isEmpty(entity.getExecuteDeptName()) +// ){ +// throw new BaseException("鎶曡瘔鍗曚綅涓嶈兘涓虹┖锛�"); +// } if (StringUtils.isEmpty(entity.getComplaintType())){ throw new BaseException("璇烽�夋嫨瑕佹姇璇夌被鍨嬶紒"); } diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java index 8fb7825..bfcaa46 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java +++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.common.annotation.DataScope; import com.project.common.core.domain.entity.SysUser; +import com.project.common.core.domain.model.DateRange; import com.project.common.enums.OrderPre; import com.project.common.exception.base.BaseException; import com.project.common.utils.DateUtils; @@ -19,6 +20,7 @@ import com.project.enforce.domain.bo.editBo.OrderResultBo; import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo; import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo; +import com.project.enforce.domain.vo.EnforceDistinctVo; import com.project.enforce.domain.vo.EnforceEvaluateVo; import com.project.enforce.domain.vo.EnforceOrderVo; import com.project.enforce.domain.vo.OrderNodeVo; @@ -34,6 +36,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.LinkedList; import java.util.List; /** @@ -57,7 +60,7 @@ /** * 閫氱敤鍒楄〃-鏃犳潈闄� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -74,8 +77,59 @@ } /** + * 浼佷笟纭鎵ф硶鍗� + * @param orderId 璁㈠崟id + * @return 缁撴灉 + */ + @Override + @Transactional + public Boolean confirm(Long orderId) + { + EnforceOrder order = this.getById(orderId); + if (order.getOrderStatus()!=4){ + throw new BaseException("璇峰緟鎵ф硶閮ㄩ棬涓婃姤缁撴灉鍚庣‘璁わ紒"); + } + order.setOrderStatus(5); + order.setConfirmTime(DateUtils.getNowDate()); + return this.updateById(order); + } + + @Override + @Transactional + public Integer executeEnforceOrderWarn() + { + List<EnforceOrder> updList = new LinkedList<>(); + //鍚屼竴澶╅噸澶嶆墽娉� + List<EnforceDistinctVo> list =baseMapper.selectDistinctCheckDeptIdAndCompanyId(); + if (StringUtils.isNotEmpty(list)){ + for (EnforceDistinctVo distinctVo : list) { + List<EnforceOrder> orderList = this.list(lq() + .eq(EnforceOrder::getCompanyId, distinctVo.getCompanyId()) + .eq(EnforceOrder::getCheckDeptId, distinctVo.getCheckDeptId()) + .like(EnforceOrder::getApplyTime, distinctVo.getApplyTimeStr()) + .orderByDesc(EnforceOrder::getApplyTime) + ); + if (StringUtils.isNotEmpty(orderList)){ + List<EnforceOrder> enforceOrders = orderList.subList(0, orderList.size() - 1); + enforceOrders.forEach(order->{order.setWarnStatus(1);order.setWarnReason("鍚屼竴澶╁唴瀵瑰悓涓�浼佷笟閲嶅鎵ф硶");}); + updList.addAll(enforceOrders); + } + } + } + if (StringUtils.isNotEmpty(updList)){ + this.updateBatchById(updList); + } + return updList.size(); + } + + public static void main(String[] args) { + DateRange todayRange = DateUtils.getTodayRange(); + System.out.println(todayRange); + } + + /** * 浼佷笟鎵ф硶鍗曞垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -89,7 +143,7 @@ /** * 鎵ф硶鐢宠鍗曞垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -104,7 +158,7 @@ /** * 鎵ф硶鎵ц鍗曞垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -118,7 +172,7 @@ /** * 寰呭鏍稿垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -137,7 +191,7 @@ /** * 瀹℃壒璁板綍鍒楄〃 - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -293,7 +347,9 @@ if (order.getExecuteTime()!=null){ vos.add(new OrderNodeVo("缁撴灉涓婃姤",order.getExecuteUser(),order.getExecuteDeptName(),order.getExecuteTime(), null)); } - + if (order.getConfirmTime()!=null){ + vos.add(new OrderNodeVo("浼佷笟纭",order.getCompanyUser(),order.getCompanyName(),order.getConfirmTime(), null)); + } return vos; } diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java b/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java index 5d014f5..6aaac4e 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java +++ b/project-enforce/src/main/java/com/project/enforce/service/impl/YPSmsService.java @@ -65,4 +65,21 @@ String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.COMPANY_TMP, applyDeptName, date)); smsApi.sendSms(phone, applyMsg) ; } + + /** + * 閫氱煡浼佷笟瀹℃牳缁撴灉 + * @param phone 鎵嬫満鍙� + * @param checkStatus 鎵ф硶閮ㄩ棬 + */ + @Async + public void sendCompanyCheckMsg(String phone, Integer checkStatus) + { + String companyCheckMsg; + if (checkStatus==-1){ + companyCheckMsg = YPSmsApi.COMPANY_CHECK_FILE_TMP; + } else { + companyCheckMsg = YPSmsApi.COMPANY_CHECK_SUCCESS_TMP; + } + smsApi.sendSms(phone, companyCheckMsg) ; + } } diff --git a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml index 80bc40f..56c5291 100644 --- a/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml +++ b/project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml @@ -115,4 +115,17 @@ AND t2.company_code = #{companyCode} order by t2.apply_time asc </select> + + + <select id="selectDistinctCheckDeptIdAndCompanyId" + resultType="com.project.enforce.domain.vo.EnforceDistinctVo"> + select t.* from + ( + SELECT company_id, check_dept_id, SUBSTR(apply_time,1,10) as apply_time_str, count( 1 ) AS apply_num + FROM enforce_order WHERE warn_status=0 + GROUP BY company_id, check_dept_id,apply_time_str + ) t + WHERE + t.apply_num > 1 + </select> </mapper> diff --git a/project-quartz/pom.xml b/project-quartz/pom.xml index 4c832b6..f8913c1 100644 --- a/project-quartz/pom.xml +++ b/project-quartz/pom.xml @@ -17,6 +17,12 @@ <dependencies> + <dependency> + <groupId>com.project</groupId> + <artifactId>project-enforce</artifactId> + </dependency> + + <!-- 瀹氭椂浠诲姟 --> <dependency> <groupId>org.quartz-scheduler</groupId> diff --git a/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java b/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java index b80abd4..ee3aad2 100644 --- a/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java +++ b/project-quartz/src/main/java/com/project/quartz/task/ProjectTask.java @@ -1,7 +1,7 @@ package com.project.quartz.task; import com.project.common.utils.DateUtils; -import com.project.common.utils.WeChatUtils; +import com.project.enforce.service.IEnforceOrderService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -19,35 +19,15 @@ public class ProjectTask { + private final IEnforceOrderService orderService; - public void refreshWxAccessToken() + //姣忓ぉ澶勭悊寮傚父璀﹀憡璁㈠崟 + public void executeEnforceOrderWarn() { - WeChatUtils.refreshAccessToken(); - log.info(DateUtils.getTime() + "鍒锋柊access_token"); + log.info(DateUtils.getTime()+"_寮傚父璀﹀憡澶勭悊寮�濮�...."); + Integer size = orderService.executeEnforceOrderWarn(); + log.info(DateUtils.getTime()+"_寮傚父璀﹀憡澶勭悊瀹屾垚锛屽鐞嗘潯鏁帮細"+size); } - - -// //姣忓ぉ澶勭悊鐏电帀杩旇繕 -// public void executeIntegralToMoney() -// { -// log.info(DateUtils.getTime()+"_澶勭悊鐏电帀杩旇繕鍒颁綑棰�"); -// walletService.executeIntegralToMoney(); -// } -// -// -// //姣忓ぉ澶勭悊鎶曡祫杩旇繕 -// public void executeInvestorToMoney() -// { -// log.info(DateUtils.getTime()+"_澶勭悊鎶曡祫杩旇繕鍒颁綑棰�"); -// walletService.executeInvestorToMoney(); -// } -// -// //姣忓ぉ澶勭悊7澶╄嚜鍔ㄦ敹璐� -// public void executeAutoReciver() -// { -// log.info(DateUtils.getTime()+"_澶勭悊鑷姩鏀惰揣"); -// orderDataService.autoReciverSend(); -// } } diff --git a/project-system/src/main/java/com/project/system/service/ISysDeptService.java b/project-system/src/main/java/com/project/system/service/ISysDeptService.java index 0902dac..211705c 100644 --- a/project-system/src/main/java/com/project/system/service/ISysDeptService.java +++ b/project-system/src/main/java/com/project/system/service/ISysDeptService.java @@ -145,6 +145,4 @@ * @return 鍏ㄥ悕 */ String getDeptAllName(Long deptId); - - } diff --git a/project-system/src/main/java/com/project/system/sms/YPSmsApi.java b/project-system/src/main/java/com/project/system/sms/YPSmsApi.java index 19da555..33200b9 100644 --- a/project-system/src/main/java/com/project/system/sms/YPSmsApi.java +++ b/project-system/src/main/java/com/project/system/sms/YPSmsApi.java @@ -71,6 +71,12 @@ public static final String COMPANY_TMP = SIGN + "{} 鍗曚綅棰勮灏嗕簬 {} 鍒拌吹鍗曚綅杩涜妫�鏌ワ紝璇锋彁鍓嶇煡鏅擄紒"; /** + * 浼佷笟瀹℃牳缁撴灉閫氱煡妯℃澘 + */ + public static final String COMPANY_CHECK_SUCCESS_TMP = SIGN + "鎮ㄧ殑浼佷笟娉ㄥ唽淇℃伅瀹℃牳宸查�氳繃锛岃鐢ㄧ敵璇锋椂濉啓鐨勮仈绯讳汉鎵嬫満鍙风櫥褰曞皬绋嬪簭銆�"; + public static final String COMPANY_CHECK_FILE_TMP = SIGN + "鎮ㄧ殑浼佷笟娉ㄥ唽淇℃伅瀹℃牳鏈�氳繃锛岃閲嶆柊鍦ㄥ皬绋嬪簭鎻愪氦淇℃伅杩涜瀹℃牳銆�"; + + /** * 楠岃瘉鐮佹ā鏉� */ public static final String CODE_TMP = SIGN + "鎮ㄧ殑楠岃瘉鐮佹槸{}"; -- Gitblit v1.9.1