From d46beba25ccb64a1047a98d642b6ce45e82f0bee Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期一, 17 十月 2022 18:07:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java          |   50 +----
 ycl-platform/src/main/java/com/ycl/service/region/ISccgRegionService.java               |    2 
 ycl-platform/src/main/java/com/ycl/service/message/impl/MessageScheduleServiceImpl.java |   35 ++++
 ycl-platform/src/main/java/com/ycl/entity/message/Message.java                          |    7 
 ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java                   |   10 +
 ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java                        |    5 
 ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml                         |   63 +++++--
 ycl-platform/src/main/java/com/ycl/service/region/impl/SccgRegionServiceImpl.java       |    9 
 ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java          |   51 ++++++
 ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java                |   17 +
 ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java             |    5 
 ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java                     |    3 
 ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java                     |   32 ++++
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java |   48 +++++-
 ycl-platform/src/main/java/com/ycl/scheduling/SchedulingConfiguration.java              |   85 ++++++++++
 ycl-platform/src/main/java/com/ycl/service/message/MessageScheduleService.java          |   13 +
 ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java                             |   28 ---
 ycl-platform/src/main/java/com/ycl/entity/region/SccgRegion.java                        |   10 +
 18 files changed, 368 insertions(+), 105 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
index 893f3b4..e3d63c6 100644
--- a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
+++ b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ycl.annotation.LogSave;
 import com.ycl.api.BasePageDTO;
 import com.ycl.api.BasePageVO;
@@ -45,7 +46,7 @@
 
     @ApiOperation("娣诲姞閮ㄩ棬")
     @PostMapping(value = "/create")
-    @LogSave(operationType = "閮ㄩ棬绠$悊",contain = "娣诲姞閮ㄩ棬")
+    @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "娣诲姞閮ㄩ棬")
     public CommonResult<Void> create(@Validated @RequestBody DepartVO.AddDepartVO addDepartVO) {
         departService.create(addDepartVO);
         return CommonResult.success(null);
@@ -53,7 +54,7 @@
 
     @ApiOperation("缂栬緫閮ㄩ棬")
     @PostMapping(value = "/update")
-    @LogSave(operationType = "閮ㄩ棬绠$悊",contain = "缂栬緫閮ㄩ棬")
+    @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "缂栬緫閮ㄩ棬")
     public CommonResult<Void> create(@Validated @RequestBody DepartVO.UpdateDepartVO params) {
         departService.update(params);
         return CommonResult.success(null);
@@ -61,7 +62,7 @@
 
     @ApiOperation("鍒犻櫎")
     @PostMapping(value = "/delete")
-    @LogSave(operationType = "閮ㄩ棬绠$悊",contain = "鍒犻櫎閮ㄩ棬")
+    @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鍒犻櫎閮ㄩ棬")
     public CommonResult<Void> delete(@Validated @RequestBody DepartVO.IdDepartVO params) {
         departService.delete(params.getId());
         return CommonResult.success(null);
@@ -74,7 +75,7 @@
      **/
     @ApiOperation("鎵瑰鐞�-鍒犻櫎")
     @PostMapping(value = "/batch_deletion")
-    @LogSave(operationType = "閮ㄩ棬绠$悊",contain = "鎵归噺鍒犻櫎閮ㄩ棬")
+    @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鎵归噺鍒犻櫎閮ㄩ棬")
     public CommonResult delete(@RequestParam List<Long> ids) {
         if (ids.isEmpty()) {
             return CommonResult.failed("bad request parameter");
@@ -84,7 +85,7 @@
 
     @ApiOperation("璇︽儏")
     @PostMapping(value = "/detail")
-    @LogSave(operationType = "閮ㄩ棬绠$悊",contain = "鏌ョ湅閮ㄩ棬")
+    @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鏌ョ湅閮ㄩ棬")
     public CommonResult<UmsDepart> detail(@Validated @RequestBody DepartVO.IdDepartVO params) {
         UmsDepart sccgDepart = departService.loadDepartById(params.getId());
         return CommonResult.success(sccgDepart);
@@ -106,8 +107,10 @@
 
     @ApiOperation("鏌ヨ鍏ㄩ儴閮ㄩ棬")
     @GetMapping(value = "/page")
-    public CommonResult<IPage<UmsDepartVO>> page(DepartVO.PageDepartVO params) {
-        IPage<UmsDepartVO> page = departService.pageDepart(params);
+    public CommonResult<IPage<UmsDepartVO>> page(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize,
+                                                @RequestParam(value = "departName", required = false) String departName) {
+        IPage<UmsDepartVO> page = new Page<>(currentPage, pageSize);
+        departService.pageDepart(departName, page);
         return CommonResult.success(page);
     }
 
diff --git a/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java b/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java
index 79d5849..a89249a 100644
--- a/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java
+++ b/ycl-common/src/main/java/com/ycl/mapper/depart/UmsDepartMapper.java
@@ -2,6 +2,8 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ycl.entity.depart.UmsDepart;
+import com.ycl.vo.depart.UmsDepartVO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -17,4 +19,5 @@
 
     List<UmsDepart> selectDepartList();
 
+    List<UmsDepartVO> selectPageByName(@Param("departName") String departName, @Param("offset") Long offset, @Param("size") Long size);
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java b/ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java
index 50f9d50..550c14d 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java
@@ -1,10 +1,12 @@
 package com.ycl.service.depart;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ycl.entity.depart.UmsDepart;
 import com.ycl.vo.depart.DepartVO;
 import com.ycl.vo.depart.UmsDepartVO;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -41,25 +43,29 @@
 
     /**
      * 鍒犻櫎
+     *
      * @param id
      */
     void delete(long id);
 
     /**
      * 鏍戝舰
+     *
      * @return
      */
     List<UmsDepart> tree();
 
     /**
      * 鍒嗛〉
-     * @param params
+     *
+     * @param page
      * @return
      */
-    IPage<UmsDepartVO> pageDepart(DepartVO.PageDepartVO params);
+    IPage<UmsDepartVO> pageDepart(String departName, IPage<UmsDepartVO> page);
 
     /**
      * 淇敼鐘舵��
+     *
      * @param params
      */
     void updateStatus(DepartVO.StatusDepartVO params);
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
index 801bdf2..5979651 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -63,7 +63,7 @@
         }
         UmsDepart depart = new UmsDepart();
         BeanUtils.copyProperties(addDepartVO, depart);
-		depart.setStatus(Short.valueOf("1"));
+        depart.setStatus(Short.valueOf("1"));
         umsDepartService.save(depart);
         addDepartVO.getDepartManagerList()
                 .forEach(item -> {
@@ -139,44 +139,16 @@
     }
 
     @Override
-    public IPage<UmsDepartVO> pageDepart(DepartVO.PageDepartVO params) {
-        Page<UmsDepart> page = new Page<>(params.getCurrent(), params.getPageSize());
-        LambdaQueryWrapper<UmsDepart> query = new LambdaQueryWrapper<>();
-        if (StringUtils.isNotBlank(params.getDepartName())) {
-            query.like(UmsDepart::getDepartName, params.getDepartName());
-        }
-        if (PojoUtils.Vo.isUsefulSearchParam(params.getDepartType())) {
-            query.like(UmsDepart::getDepartType, params.getDepartType());
-        }
-        query.orderByDesc(UmsDepart::getCreateTime);
-        Page<UmsDepart> departPage = sccgDepartMapper.selectPage(page, query);
-        Page<UmsDepartVO> umsDepartVOPage = new Page<>();
-        BeanUtils.copyProperties(departPage, umsDepartVOPage);
-        List<UmsDepartVO> umsDepartVOList = new ArrayList<>();
-        //璐熻矗浜�
-        if (CollUtil.isNotEmpty(departPage.getRecords())) {
-            for (UmsDepart record : departPage.getRecords()) {
-                UmsDepartVO umsDepartVO = new UmsDepartVO();
-                BeanUtils.copyProperties(record, umsDepartVO);
-                umsDepartVO.setDepartType(dataDictionaryMapper
-                        .selectOne(new LambdaQueryWrapper<DataDictionary>()
-                                .eq(DataDictionary::getId, record.getDepartType()))
-                        .getName());
-                umsDepartVOList.add(umsDepartVO);
-                List<UmsDepartManage> umsAdminDeparts = umsAdminDepartService.queryByDepartId(record.getId());
-                if (CollUtil.isNotEmpty(umsAdminDeparts)) {
-                    List<AdminDepartDTO.UserInfoDTO> userInfoDTOS = umsAdminDeparts.stream().map(a -> {
-                        AdminDepartDTO.UserInfoDTO userInfoDTO = new AdminDepartDTO.UserInfoDTO();
-                        userInfoDTO.setUserId(a.getUserId());
-//                        userInfoDTO.setUsername(umsAdminService.getById(a.getUserId()).getUsername());
-                        return userInfoDTO;
-                    }).collect(Collectors.toList());
-                    record.setUserInfoDTOS(userInfoDTOS);
-                }
-            }
-        }
-        umsDepartVOPage.setRecords(umsDepartVOList);
-        return umsDepartVOPage;
+    public IPage<UmsDepartVO> pageDepart(String departName, IPage<UmsDepartVO> page) {
+
+        List<UmsDepartVO> ls = sccgDepartMapper.selectPageByName(departName, page.offset(), page.getSize());
+        LambdaQueryWrapper<UmsDepart> queryWrapper = new LambdaQueryWrapper<UmsDepart>()
+                .like(StringUtils.isNotEmpty(departName), UmsDepart::getDepartName, departName);
+        long total = this.count(queryWrapper);
+
+        page.setRecords(ls);
+        page.setTotal(total);
+        return page;
     }
 
     @Override
diff --git a/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java b/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java
index 9abc73e..5bdc4be 100644
--- a/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java
+++ b/ycl-common/src/main/java/com/ycl/vo/depart/UmsDepartVO.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.*;
 import com.ycl.api.BaseEntity;
 import com.ycl.dto.user.AdminDepartDTO;
+import com.ycl.entity.depart.UmsDepart;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -22,32 +23,9 @@
 @Getter
 @Setter
 @ApiModel(value = "umsDepartVO", description = "閮ㄩ棬琛�")
-public class UmsDepartVO {
-
-    @ApiModelProperty("涓婚敭")
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    @ApiModelProperty("閮ㄩ棬鍚嶇О")
-    private String departName;
-
-    @ApiModelProperty("閮ㄩ棬鎻忚堪")
-    private String departDes;
+public class UmsDepartVO extends UmsDepart {
 
     @ApiModelProperty("閮ㄩ棬绫诲瀷")
-    private String departType;
+    private String departTypeName;
 
-    @ApiModelProperty("鐖剁骇id,榛樿0")
-    private Long parentId;
-
-    @ApiModelProperty("鍋滅敤鐘舵�侊紝0->false,1->true,榛樿鍋滅敤")
-    private Short status;
-
-    /**
-     * 閫昏緫鍒犻櫎 0:false 1:true 榛樿0
-     */
-    @ApiModelProperty(value = "鏄惁鍒犻櫎", hidden = true)
-    @TableField(select = false)
-    @TableLogic()
-    private byte isDeleted;
 }
diff --git a/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml b/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
index b8ec297..a477ce2 100644
--- a/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
+++ b/ycl-common/src/main/resources/mapper/depart/UmsDepartMapper.xml
@@ -4,30 +4,57 @@
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.ycl.entity.depart.UmsDepart">
-        <id column="id" property="id" />
-        <result column="depart_name" property="departName" />
-        <result column="depart_des" property="departDes" />
-        <result column="depart_type" property="departType" />
-        <result column="parent_id" property="parentId" />
-        <result column="status" property="status" />
-        <result column="create_time" property="createTime" />
-        <result column="update_time" property="updateTime" />
-        <result column="is_deleted" property="isDeleted" />
+        <id column="id" property="id"/>
+        <result column="depart_name" property="departName"/>
+        <result column="depart_des" property="departDes"/>
+        <result column="depart_type" property="departType"/>
+        <result column="parent_id" property="parentId"/>
+        <result column="status" property="status"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="is_deleted" property="isDeleted"/>
     </resultMap>
     <resultMap type="com.ycl.entity.depart.UmsDepart" id="UserDepartResultMap" extends="BaseResultMap">
         <collection property="userInfoDTOS" javaType="ArrayList" ofType="com.ycl.dto.user.DepartUserDTO">
-            <id column="user_id" property="userId" />
-            <result column="username" property="username" />
+            <id column="user_id" property="userId"/>
+            <result column="username" property="username"/>
         </collection>
     </resultMap>
 
-    <select id="selectDepartList"  resultMap="UserDepartResultMap">
-        SELECT
-            ud.*,ua.id user_id,ua.username
-        FROM
-            ums_depart ud
-                LEFT JOIN ums_depart_manager udm ON ud.id = udm.depart_id
-                LEFT JOIN ums_admin ua ON udm.user_id = ua.id
+    <resultMap id="DepartVOMap" type="com.ycl.vo.depart.UmsDepartVO" extends="BaseResultMap">
+        <result column="depart_type_name" property="departTypeName" jdbcType="VARCHAR"></result>
+        <collection property="userInfoDTOS" javaType="ArrayList" ofType="com.ycl.dto.user.DepartUserDTO">
+            <id column="user_id" property="userId"/>
+            <result column="username" property="username"/>
+        </collection>
+    </resultMap>
+
+    <select id="selectDepartList" resultMap="UserDepartResultMap">
+        SELECT ud.*,
+               ua.id user_id,
+               ua.username
+        FROM ums_depart ud
+                 LEFT JOIN ums_depart_manager udm ON ud.id = udm.depart_id
+                 LEFT JOIN ums_admin ua ON udm.user_id = ua.id
+    </select>
+    <select id="selectPageByName" resultMap="DepartVOMap">
+        SELECT t_0.*,
+        ua.id user_id,
+        ua.username,
+        dd.`name` as depart_type_name
+        FROM (
+        SELECT ud.*
+        FROM ums_depart ud
+        WHERE is_deleted = 0
+        <if test="departName!=null and departName!=''">
+            and ud.name like CONCAT('%',#{departName},'%')
+        </if>
+        ORDER BY create_time desc
+        LIMIT #{offset}, #{size}
+        ) t_0
+        LEFT JOIN ums_depart_manager udm ON t_0.id = udm.depart_id
+        LEFT JOIN ums_admin ua ON udm.user_id = ua.id
+        left join ums_data_dictionary as dd on t_0.depart_type = dd.id
     </select>
 
 
diff --git a/ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java b/ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java
new file mode 100644
index 0000000..8d971ba
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java
@@ -0,0 +1,32 @@
+package com.ycl.common.constant;
+
+/**
+ * <p>
+ *   瀹℃牳缁撴灉
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-17
+ */
+public enum CheckResult {
+
+    PASS("01", "閫氳繃"),
+    REJECT("02", "椹冲洖");
+
+
+    private String code;
+    private String name;
+
+    CheckResult(String code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getName() {
+        return name;
+    }
+}
diff --git a/ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java b/ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java
index 3a22e82..b4d892f 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java
@@ -1,15 +1,15 @@
 package com.ycl.controller.region;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.api.CommonResult;
 import com.ycl.controller.BaseController;
 import com.ycl.entity.region.SccgRegion;
 import com.ycl.service.region.ISccgRegionService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -36,4 +36,49 @@
         List<SccgRegion> treeList = iSccgRegionService.getTree();
         return CommonResult.success(treeList);
     }
+
+    @ApiOperation(value = "娣诲姞琛屾斂鍖哄煙")
+    @RequestMapping(value = "/addRegion", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult addRegion(@Validated @RequestBody SccgRegion sccgRegion) {
+        return CommonResult.success(iSccgRegionService.save(sccgRegion));
+    }
+    @ApiOperation(value = "鑾峰彇琛屾斂鍖哄煙鍒嗛〉鏌ヨ")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult<IPage<SccgRegion>> list(@Validated @RequestBody SccgRegion sccgRegion) {
+        return CommonResult.success(iSccgRegionService.list(sccgRegion));
+    }
+
+
+    @ApiOperation("鑾峰彇鎸囧畾琛屾斂鍖哄煙")
+    @RequestMapping(value = "/getRegion/{id}", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult<SccgRegion> getMessage(@PathVariable Long id) {
+        SccgRegion sccgRegion = iSccgRegionService.getById(id);
+        return CommonResult.success(sccgRegion);
+    }
+
+    @ApiOperation("淇敼鎸囧畾琛屾斂鍖哄煙")
+    @RequestMapping(value = "/update/{id}", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult update(@PathVariable Long id, @RequestBody SccgRegion sccgRegion) {
+        sccgRegion.setId(id);
+        boolean success = iSccgRegionService.updateById(sccgRegion);
+        if (success) {
+            return CommonResult.success(null);
+        }
+        return CommonResult.failed();
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎琛屾斂鍖哄煙")
+    @RequestMapping(value = "/delete", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult delete(@RequestParam("ids") List<Long> ids) {
+        boolean success = iSccgRegionService.removeBatchByIds(ids);
+        if (success) {
+            return CommonResult.success(null);
+        }
+        return CommonResult.failed();
+    }
 }
diff --git a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
index 806cc20..b1f84a4 100644
--- a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
+++ b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
@@ -82,4 +82,9 @@
      */
     @ApiModelProperty(value = "鍒涘缓浜�")
     private Long createUser;
+    /**
+     * 鏄惁鎵弿0-鏈壂鎻�1-宸叉壂鎻�
+     */
+    @ApiModelProperty(value = "鏄惁鎵弿0-鏈壂鎻�1-宸叉壂鎻�")
+    private Integer isScan;
 }
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/entity/message/Message.java b/ycl-platform/src/main/java/com/ycl/entity/message/Message.java
index dcd5edc..1171542 100644
--- a/ycl-platform/src/main/java/com/ycl/entity/message/Message.java
+++ b/ycl-platform/src/main/java/com/ycl/entity/message/Message.java
@@ -119,6 +119,13 @@
     @ApiModelProperty(value = "鐘舵��0-鏈彂甯�1-宸插彂甯�")
     private Integer status;
     /**
+     * 鏄惁鎵弿0-鏈壂鎻�1-宸叉壂鎻�
+     */
+    @TableField("is_scan")
+    @ApiModelProperty(value = "鏄惁鎵弿0-鏈壂鎻�1-宸叉壂鎻�")
+    private Integer isScan;
+
+    /**
      * 鏄惁鏌ョ湅0-鏈煡鐪�1-宸叉煡鐪�
      */
     @TableField("is_view")
diff --git a/ycl-platform/src/main/java/com/ycl/entity/region/SccgRegion.java b/ycl-platform/src/main/java/com/ycl/entity/region/SccgRegion.java
index 2800a93..8b9f4fc 100644
--- a/ycl-platform/src/main/java/com/ycl/entity/region/SccgRegion.java
+++ b/ycl-platform/src/main/java/com/ycl/entity/region/SccgRegion.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -35,14 +36,23 @@
      * 鍦板煙鍚�
      */
     @TableField("region_name")
+    @ApiModelProperty(value = "鍦板煙鍚�")
     private String regionName;
 
     /**
      * 榛樿0
      */
     @TableField("parent_id")
+    @ApiModelProperty(value = "榛樿0")
     private Long parentId;
 
+    /**
+     * 绫诲瀷1-琛楅亾2-绀惧尯3-涔�4-闀�
+     */
+    @TableField("type")
+    @ApiModelProperty(value = "绫诲瀷0-甯�1-鍘�2-琛楅亾3-绀惧尯4-涔�5-闀�")
+    private Integer type;
+
     @TableField(exist = false)
     private List<SccgRegion> children;
 }
diff --git a/ycl-platform/src/main/java/com/ycl/scheduling/SchedulingConfiguration.java b/ycl-platform/src/main/java/com/ycl/scheduling/SchedulingConfiguration.java
new file mode 100644
index 0000000..d6fb5bf
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/scheduling/SchedulingConfiguration.java
@@ -0,0 +1,85 @@
+package com.ycl.scheduling;
+
+import com.ycl.service.message.MessageScheduleService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+@Configuration
+@EnableScheduling
+public class SchedulingConfiguration {
+
+	private Logger logger = LoggerFactory.getLogger(getClass());
+
+	//
+	//鍏朵腑姣忎釜鍏冪礌鍙互鏄竴涓��(濡�6),涓�涓繛缁尯闂�(9-12),涓�涓棿闅旀椂闂�(8-18/4)(/琛ㄧず姣忛殧4灏忔椂),涓�涓垪琛�(1,3,5),閫氶厤绗︺�傜敱浜�"鏈堜唤涓殑鏃ユ湡"鍜�"鏄熸湡涓殑鏃ユ湡"杩欎袱涓厓绱犱簰鏂ョ殑,蹇呴』瑕佸鍏朵腑涓�涓缃�?.
+	//0 0 10,14,16 * * ? 姣忓ぉ涓婂崍10鐐癸紝涓嬪崍2鐐癸紝4鐐�
+	//0 0/30 9-17 * * ?   鏈濅節鏅氫簲宸ヤ綔鏃堕棿鍐呮瘡鍗婂皬鏃�
+	//0 0 12 ? * WED 琛ㄧず姣忎釜鏄熸湡涓変腑鍗�12鐐�
+	//"0 0 12 * * ?" 姣忓ぉ涓崍12鐐硅Е鍙�
+	//"0 15 10 ? * *" 姣忓ぉ涓婂崍10:15瑙﹀彂
+	//"0 15 10 * * ?" 姣忓ぉ涓婂崍10:15瑙﹀彂
+	//"0 15 10 * * ? *" 姣忓ぉ涓婂崍10:15瑙﹀彂
+	//"0 15 10 * * ? 2005" 2005骞寸殑姣忓ぉ涓婂崍10:15瑙﹀彂
+	//"0 * 14 * * ?" 鍦ㄦ瘡澶╀笅鍗�2鐐瑰埌涓嬪崍2:59鏈熼棿鐨勬瘡1鍒嗛挓瑙﹀彂
+	//"0 0/5 14 * * ?" 鍦ㄦ瘡澶╀笅鍗�2鐐瑰埌涓嬪崍2:55鏈熼棿鐨勬瘡5鍒嗛挓瑙﹀彂
+	//"0 0/5 14,18 * * ?" 鍦ㄦ瘡澶╀笅鍗�2鐐瑰埌2:55鏈熼棿鍜屼笅鍗�6鐐瑰埌6:55鏈熼棿鐨勬瘡5鍒嗛挓瑙﹀彂
+	//"0 0-5 14 * * ?" 鍦ㄦ瘡澶╀笅鍗�2鐐瑰埌涓嬪崍2:05鏈熼棿鐨勬瘡1鍒嗛挓瑙﹀彂
+	//"0 10,44 14 ? 3 WED" 姣忓勾涓夋湀鐨勬槦鏈熶笁鐨勪笅鍗�2:10鍜�2:44瑙﹀彂
+	//"0 15 10 ? * MON-FRI" 鍛ㄤ竴鑷冲懆浜旂殑涓婂崍10:15瑙﹀彂
+	//"0 15 10 15 * ?" 姣忔湀15鏃ヤ笂鍗�10:15瑙﹀彂
+	//"0 15 10 L * ?" 姣忔湀鏈�鍚庝竴鏃ョ殑涓婂崍10:15瑙﹀彂
+	//"0 15 10 ? * 6L" 姣忔湀鐨勬渶鍚庝竴涓槦鏈熶簲涓婂崍10:15瑙﹀彂
+	//"0 15 10 ? * 6L 2002-2005" 2002骞磋嚦2005骞寸殑姣忔湀鐨勬渶鍚庝竴涓槦鏈熶簲涓婂崍10:15瑙﹀彂
+	//"0 15 10 ? * 6#3" 姣忔湀鐨勭涓変釜鏄熸湡浜斾笂鍗�10:15瑙﹀彂
+	//鏈変簺瀛愯〃杈惧紡鑳藉寘鍚竴浜涜寖鍥存垨鍒楄〃
+	//渚嬪锛氬瓙琛ㄨ揪寮忥紙澶╋紙鏄熸湡锛夛級鍙互涓� 鈥淢ON-FRI鈥濓紝鈥淢ON锛學ED锛孎RI鈥濓紝鈥淢ON-WED,SAT鈥�
+	//鈥�*鈥濆瓧绗︿唬琛ㄦ墍鏈夊彲鑳界殑鍊�
+	//鍥犳锛屸��*鈥濆湪瀛愯〃杈惧紡锛堟湀锛夐噷琛ㄧず姣忎釜鏈堢殑鍚箟锛屸��*鈥濆湪瀛愯〃杈惧紡锛堝ぉ锛堟槦鏈燂級锛夎〃绀烘槦鏈熺殑姣忎竴澶�
+	//
+	//鈥�/鈥濆瓧绗︾敤鏉ユ寚瀹氭暟鍊肩殑澧為噺
+	//渚嬪锛氬湪瀛愯〃杈惧紡锛堝垎閽燂級閲岀殑鈥�0/15鈥濊〃绀轰粠绗�0鍒嗛挓寮�濮嬶紝姣�15鍒嗛挓
+	//         鍦ㄥ瓙琛ㄨ揪寮忥紙鍒嗛挓锛夐噷鐨勨��3/20鈥濊〃绀轰粠绗�3鍒嗛挓寮�濮嬶紝姣�20鍒嗛挓锛堝畠鍜屸��3锛�23锛�43鈥濓級鐨勫惈涔変竴鏍�
+	//
+	//鈥滐紵鈥濆瓧绗︿粎琚敤浜庡ぉ锛堟湀锛夊拰澶╋紙鏄熸湡锛変袱涓瓙琛ㄨ揪寮忥紝琛ㄧず涓嶆寚瀹氬��
+	//褰�2涓瓙琛ㄨ揪寮忓叾涓箣涓�琚寚瀹氫簡鍊间互鍚庯紝涓轰簡閬垮厤鍐茬獊锛岄渶瑕佸皢鍙︿竴涓瓙琛ㄨ揪寮忕殑鍊艰涓衡�滐紵鈥�
+	//
+	//鈥淟鈥� 瀛楃浠呰鐢ㄤ簬澶╋紙鏈堬級鍜屽ぉ锛堟槦鏈燂級涓や釜瀛愯〃杈惧紡锛屽畠鏄崟璇嶁�渓ast鈥濈殑缂╁啓
+	//浣嗘槸瀹冨湪涓や釜瀛愯〃杈惧紡閲岀殑鍚箟鏄笉鍚岀殑銆�
+	//鍦ㄥぉ锛堟湀锛夊瓙琛ㄨ揪寮忎腑锛屸�淟鈥濊〃绀轰竴涓湀鐨勬渶鍚庝竴澶�
+	//鍦ㄥぉ锛堟槦鏈燂級鑷〃杈惧紡涓紝鈥淟鈥濊〃绀轰竴涓槦鏈熺殑鏈�鍚庝竴澶╋紝涔熷氨鏄疭AT
+	//濡傛灉鍦ㄢ�淟鈥濆墠鏈夊叿浣撶殑鍐呭锛屽畠灏卞叿鏈夊叾浠栫殑鍚箟浜�
+	//渚嬪锛氣��6L鈥濊〃绀鸿繖涓湀鐨勫�掓暟绗紪澶╋紝鈥滐鸡锛诧缉锛�濊〃绀鸿繖涓湀鐨勬渶涓�涓槦鏈熶簲
+	//娉ㄦ剰锛氬湪浣跨敤鈥淟鈥濆弬鏁版椂锛屼笉瑕佹寚瀹氬垪琛ㄦ垨鑼冨洿锛屽洜涓鸿繖浼氬鑷撮棶棰�
+	//
+	//
+	//瀛楁   鍏佽鍊�   鍏佽鐨勭壒娈婂瓧绗�
+	//绉�	 	0-59	 	, - * /
+	//鍒�	 	0-59	 	, - * /
+	//灏忔椂	 	0-23	 	, - * /
+	//鏃ユ湡	 	1-31	 	, - * ? / L W C
+	//鏈堜唤	 	1-12 鎴栬�� JAN-DEC	 	, - * /
+	//鏄熸湡	 	1-7 鎴栬�� SUN-SAT	 	, - * ? / L C #
+	//骞达紙鍙�夛級	鐣欑┖, 1970-2099	 	, -
+
+	//鎸夐『搴忎緷娆′负
+	//绉掞紙0~59锛�
+	//鍒嗛挓锛�0~59锛�
+	//灏忔椂锛�0~23锛�
+	//澶╋紙鏈堬級锛�0~31锛屼絾鏄綘闇�瑕佽�冭檻浣犳湀鐨勫ぉ鏁帮級
+	//鏈堬紙0~11锛�
+	//澶╋紙鏄熸湡锛夛紙1~7 1=SUN 鎴� SUN锛孧ON锛孴UE锛學ED锛孴HU锛孎RI锛孲AT锛�
+	//7.骞翠唤锛�1970锛�2099锛�
+	@Autowired
+	private MessageScheduleService messageScheduleService;
+
+	@Scheduled(cron = "0/50 * * * * ?") // 姣�50绉掓墽琛屼竴娆�
+	public void scheduler() {
+		//瀹氭椂鎵弿鍙戦�佺煭淇�
+		messageScheduleService.sendSmsSchedule();
+	}
+}
+
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
index ccf530a..1a4d0c4 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.common.constant.BaseCaseStatus;
+import com.ycl.common.constant.CheckResult;
 import com.ycl.common.constant.StepName;
 import com.ycl.dto.caseHandler.ChechParam;
 import com.ycl.entity.caseHandler.BaseCase;
@@ -42,17 +43,50 @@
 
     @Override
     public Boolean check(ChechParam chechParam) {
-         //淇敼妗堜欢鐘舵�佷负瀹℃牳
-        BaseCase baseCase = new BaseCase();
-        baseCase.setId(chechParam.getBaseCaseId());
-        baseCase.setState(BaseCaseStatus.CHECK);
-        baseCase.setAuditOpinion(chechParam.getCheckOpinion());
-        baseCaseMapper.updateById(baseCase);
 
 
         QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>();
         stepQurey.eq("name", StepName.CHECK.getName());
         WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey);
+        //淇敼妗堜欢鐘舵�佷负瀹℃牳
+        BaseCase baseCase = new BaseCase();
+        baseCase.setId(chechParam.getBaseCaseId());
+        baseCase.setAuditOpinion(chechParam.getCheckOpinion());
+        //淇敼鏍告煡璁板綍
+        DisposeRecord disposeRecord = new DisposeRecord();
+         //椹冲洖澶勭悊
+        if (CheckResult.REJECT.getName().equals(chechParam.getResult())) {
+            QueryWrapper<WorkflowConfigStep> lastNextqurey = new QueryWrapper<>();
+            lastNextqurey.eq("workflow_config_id", workflowConfigStep.getWorkflowConfigId());
+            lastNextqurey.eq("seq", workflowConfigStep.getSeq()-1);
+            WorkflowConfigStep lastStep = workflowConfigStepMapper.selectOne(lastNextqurey);
+            //鍒犻櫎涓婁竴姝ユ暟鎹�
+            UpdateWrapper<DisposeRecord> deleteWrapper = new UpdateWrapper<>();
+            deleteWrapper.eq("base_case_id", chechParam.getBaseCaseId()).eq("workflow_config_step_id",lastStep.getId());
+            disposeRecordMapper.delete(deleteWrapper);
+            //淇敼鐘舵�佷负涓婁笂涓�姝ョ姸鎬�
+            QueryWrapper<WorkflowConfigStep> lastLastNextqurey = new QueryWrapper<>();
+            lastLastNextqurey.eq("workflow_config_id", workflowConfigStep.getWorkflowConfigId());
+            lastLastNextqurey.eq("seq", workflowConfigStep.getSeq()-2);
+            WorkflowConfigStep lastLastStep = workflowConfigStepMapper.selectOne(lastLastNextqurey);
+
+            UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.eq("base_case_id", chechParam.getBaseCaseId()).eq("workflow_config_step_id",lastLastStep.getId());
+
+            disposeRecord.setHandlerId(chechParam.getCurrentUser());
+            //鏍告煡宸茬粨鏉�
+            disposeRecord.setState(0);
+            disposeRecord.setEndTime(LocalDateTime.now());
+            disposeRecordMapper.update(disposeRecord, updateWrapper);
+            //璋冨害
+            baseCase.setState(BaseCaseStatus.DISPATCH);
+            baseCaseMapper.updateById(baseCase);
+            return true;
+        }
+        //鏍告煡
+        baseCase.setState(BaseCaseStatus.CHECK);
+        baseCaseMapper.updateById(baseCase);
+
 
         if (workflowConfigStep == null) {
             throw new ApiException("鏈煡璇㈠埌璇ユ祦绋嬬幆鑺�");
@@ -61,8 +95,6 @@
         UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
         updateWrapper.eq("base_case_id", baseCase.getId()).eq("workflow_config_step_id",workflowConfigStep.getId());
 
-        //淇敼鏍告煡璁板綍
-        DisposeRecord disposeRecord = new DisposeRecord();
         disposeRecord.setHandlerId(chechParam.getCurrentUser());
         //鏍告煡宸茬粨鏉�
         disposeRecord.setState(1);
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/MessageScheduleService.java b/ycl-platform/src/main/java/com/ycl/service/message/MessageScheduleService.java
new file mode 100644
index 0000000..0e14643
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/message/MessageScheduleService.java
@@ -0,0 +1,13 @@
+package com.ycl.service.message;
+
+/**
+ * <p>
+ * 绫昏鏄�
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-17
+ */
+public interface MessageScheduleService {
+   void sendSmsSchedule();
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java b/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java
index 76639dc..2da8edd 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/factory/InnerSender.java
@@ -46,7 +46,9 @@
             //鐢熸垚8浣嶉殢鏈烘暟娑堟伅缂栫爜
             messageAdd.setMessageNumber(messageNumber);
             //鍙戦�佹椂闂�
-            messageAdd.setSendTime(new Date());
+            if (messageAdd.getSendTime() == null) {
+                messageAdd.setSendTime(new Date());
+            }
             //鐢熸垚榛樿鍙傛暟
             messageAdd.setCreateTime(new Date());
             messageAdd.setUpdateTime(new Date());
@@ -54,6 +56,7 @@
             messageAdd.setUpdateUser(messageParam.getCreateUser());
             messageAdd.setIsView(0);
             messageAdd.setVersion(0);
+            messageAdd.setIsScan(1);
             messages.add(messageAdd);
         }
         BeanUtils.copyProperties(messageParam, message);
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageScheduleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageScheduleServiceImpl.java
new file mode 100644
index 0000000..0ee9501
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageScheduleServiceImpl.java
@@ -0,0 +1,35 @@
+package com.ycl.service.message.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ycl.entity.message.Message;
+import com.ycl.mapper.message.MessageMapper;
+import com.ycl.service.message.MessageScheduleService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 绫昏鏄�
+ * </p>
+ *
+ * @author mg
+ * @since 2022-10-17
+ */
+@Service
+public class MessageScheduleServiceImpl implements MessageScheduleService {
+
+
+    @Resource
+    MessageMapper messageMapper;
+
+    @Override
+    public void sendSmsSchedule() {
+        QueryWrapper<Message> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(Message::getIsScan, 0).le(Message::getSendTime,new Date());
+        List<Message> messages = messageMapper.selectList(wrapper);
+        System.out.println("--------------------寮�濮嬫壂鎻忕煭淇′俊鎭�-------------------澶у皬涓�"+messages.size());
+    }
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/region/ISccgRegionService.java b/ycl-platform/src/main/java/com/ycl/service/region/ISccgRegionService.java
index 98aff41..7ba1682 100644
--- a/ycl-platform/src/main/java/com/ycl/service/region/ISccgRegionService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/region/ISccgRegionService.java
@@ -1,5 +1,6 @@
 package com.ycl.service.region;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ycl.entity.region.SccgRegion;
 
@@ -19,4 +20,5 @@
      * @return
      */
     List<SccgRegion> getTree();
+    IPage<SccgRegion> list(SccgRegion sccgRegion);
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/region/impl/SccgRegionServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/region/impl/SccgRegionServiceImpl.java
index b0ddd36..e077eec 100644
--- a/ycl-platform/src/main/java/com/ycl/service/region/impl/SccgRegionServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/region/impl/SccgRegionServiceImpl.java
@@ -1,12 +1,12 @@
 package com.ycl.service.region.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.entity.depart.UmsDepart;
 import com.ycl.entity.region.SccgRegion;
 import com.ycl.mapper.region.SccgRegionMapper;
-import com.ycl.service.region.ISccgRegionService;
 import com.ycl.service.redis.RedisService;
+import com.ycl.service.region.ISccgRegionService;
 import com.ycl.utils.common.LiveTimeMillisecond;
 import com.ycl.utils.redis.RedisKey;
 import org.apache.commons.lang3.StringUtils;
@@ -84,4 +84,9 @@
         }
         return e;
     }
+
+    @Override
+    public IPage<SccgRegion> list(SccgRegion sccgRegion) {
+        return null;
+    }
 }

--
Gitblit v1.8.0