From 3279fd5f64c5ac9373b1f5e3488d3c215952adef Mon Sep 17 00:00:00 2001
From: zhanglipeng <chinazhanglipeng@qq.com>
Date: Mon, 8 Mar 2021 16:36:33 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1-=E5=81=9C?=
 =?UTF-8?q?=E7=94=A8=E5=BD=93=E5=89=8D=E6=97=A5=E6=9C=9F=E5=A4=A7=E4=BA=8E?=
 =?UTF-8?q?=E5=B9=BC=E5=84=BF=E5=9B=AD=E5=BC=80=E9=80=9A=E6=88=AA=E6=AD=A2?=
 =?UTF-8?q?=E6=97=A5=E6=9C=9F=E7=9A=84=E5=9B=AD=E6=89=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/com/ruoyi/framework/task/RyTask.java | 83 +++++++++++++++++--
 .../ruoyi/project/common/SchoolCommon.java    | 12 ++-
 .../project/system/mapper/SysDeptMapper.java  |  8 ++
 .../project/system/mapper/SysUserMapper.java  |  8 ++
 .../system/service/ISysDeptService.java       |  8 ++
 .../system/service/ISysUserService.java       |  8 ++
 .../service/impl/SysDeptServiceImpl.java      | 12 +++
 .../service/impl/SysUserServiceImpl.java      | 11 +++
 .../mybatis/system/SysDeptMapper.xml          | 18 ++++
 .../mybatis/system/SysUserMapper.xml          | 24 ++++++
 10 files changed, 182 insertions(+), 10 deletions(-)

diff --git a/ruoyi/src/main/java/com/ruoyi/framework/task/RyTask.java b/ruoyi/src/main/java/com/ruoyi/framework/task/RyTask.java
index eb7f5b9a4..504984f54 100644
--- a/ruoyi/src/main/java/com/ruoyi/framework/task/RyTask.java
+++ b/ruoyi/src/main/java/com/ruoyi/framework/task/RyTask.java
@@ -1,28 +1,93 @@
 package com.ruoyi.framework.task;
 
+import com.ruoyi.project.common.SchoolCommon;
+import com.ruoyi.project.system.domain.BySchool;
+import com.ruoyi.project.system.domain.SysDept;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.service.IBySchoolService;
+import com.ruoyi.project.system.service.ISysDeptService;
+import com.ruoyi.project.system.service.ISysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.ruoyi.common.utils.StringUtils;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 定时任务调度测试
- * 
+ *
  * @author ruoyi
  */
 @Component("ryTask")
-public class RyTask
-{
-    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
-    {
+public class RyTask {
+
+    @Autowired
+    private IBySchoolService bySchoolService;
+    @Autowired
+    private SchoolCommon schoolCommon;
+    @Autowired
+    private ISysDeptService deptService;
+    @Autowired
+    private ISysUserService userService;
+
+    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
         System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
     }
 
-    public void ryParams(String params)
-    {
+    public void ryParams(String params) {
+        //jzsj 截止时间 过后禁止登录
+        if (params.equals("jzsj")) {
+            BySchool bySchool = new BySchool();
+            BySchool bySchoolModel = null;
+            bySchool.setStatus("0");
+            bySchool.setIsDel("0");
+            List<BySchool> list = bySchoolService.selectBySchoolList(bySchool);
+            if (list != null && list.size() > 0) {
+                for (int i = 0; i < list.size(); i++) {
+                    bySchoolModel = list.get(i);
+                    //如果当前时间大于截止时间,那么停用账号
+                    Date dt = new Date();
+                    //compareTo()方法的返回值,dt1小于dt2返回-1,dt1大于dt2返回1,相等返回0
+                    int compareTo = dt.compareTo(bySchoolModel.getOpenDeadline());
+                    if (compareTo > 0) {
+                        //停用部门
+                        //System.out.println("xxdm:"+bySchoolModel.getXxdm());
+                        SysDept sysDept = schoolCommon.getDept(bySchoolModel.getXxdm());
+                        sysDept.setStatus("1");
+                        deptService.updateDept(sysDept);
+
+                        //停用用户
+                        SysUser sysUser = new SysUser();
+                        sysUser.setDeptId(sysDept.getDeptId());
+                        sysUser.setStatus("0");
+                        sysUser.setDelFlag("0");
+                        List<SysUser> listUser = userService.selectUserListAll(sysUser);
+                        if (listUser != null && listUser.size() > 0) {
+                            updateUserState(listUser);
+                        }
+
+                        //停用当前学校
+                        bySchoolModel.setStatus("1");
+                        bySchoolService.updateBySchool(bySchoolModel);
+                    }
+                }
+            }
+        }
         System.out.println("执行有参方法:" + params);
     }
 
-    public void ryNoParams()
-    {
+    //停用用户
+    public void updateUserState(List<SysUser> list) {
+        SysUser sysUser = null;
+        for (int j = 0; j < list.size(); j++) {
+            sysUser = list.get(j);
+            sysUser.setStatus("1");
+            userService.updateUser(sysUser);
+        }
+    }
+
+    public void ryNoParams() {
         System.out.println("执行无参方法");
     }
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/common/SchoolCommon.java b/ruoyi/src/main/java/com/ruoyi/project/common/SchoolCommon.java
index 5d35be7dc..ac2e7c7a9 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/common/SchoolCommon.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/common/SchoolCommon.java
@@ -67,6 +67,17 @@ public class SchoolCommon {
         return sysDept;
     }
 
+    public SysDept getDept(String schoolId) {
+        SysDept sysDept = new SysDept();
+        sysDept.setSchoolId(schoolId);
+        List<SysDept> list = deptService.selectDeptListAll(sysDept);
+        if (list != null && list.size() > 0) {
+            sysDept = list.get(0);
+        }
+
+        return sysDept;
+    }
+
     //获取用户信息
     public SysUser getUser() {
         LoginUser loginUser = SecurityUtils.getLoginUser();
@@ -97,7 +108,6 @@ public class SchoolCommon {
     }
 
 
-
     /**
      * 判断当前用户是否拥有班级
      **/
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
index 81b7a2667..988ea55f7 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
@@ -19,6 +19,14 @@ public interface SysDeptMapper
      */
     public List<SysDept> selectDeptList(SysDept dept);
 
+    /**
+     * 查询部门管理数据
+     *
+     * @param dept 部门信息
+     * @return 部门信息集合
+     */
+    public List<SysDept> selectDeptListAll(SysDept dept);
+
     /**
      * 根据角色ID查询部门树信息
      * 
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
index 35e1a7159..3fda5b468 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
@@ -29,6 +29,14 @@ public interface SysUserMapper
      */
     public List<SysUser> selectUserList(SysUser sysUser);
 
+    /**
+     * 根据条件分页查询用户列表
+     *
+     * @param sysUser 用户信息
+     * @return 用户信息集合信息
+     */
+    public List<SysUser> selectUserListAll(SysUser sysUser);
+
     /**
      * 通过用户名查询用户
      * 
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java
index 4aba5dd0f..d18e0bc3c 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java
@@ -19,6 +19,14 @@ public interface ISysDeptService
      */
     public List<SysDept> selectDeptList(SysDept dept);
 
+    /**
+     * 查询部门管理数据
+     *
+     * @param dept 部门信息
+     * @return 部门信息集合
+     */
+    public List<SysDept> selectDeptListAll(SysDept dept);
+
     /**
      * 根据用户ID获取岗位选择框列表
      *
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java
index 1e134c194..b691c7185 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java
@@ -27,6 +27,14 @@ public interface ISysUserService
      */
     public List<SysUser> selectUserList(SysUser user);
 
+    /**
+     * 根据条件分页查询用户列表
+     *
+     * @param user 用户信息
+     * @return 用户信息集合信息
+     */
+    public List<SysUser> selectUserListAll(SysUser user);
+
     /**
      * 通过用户名查询用户
      * 
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
index cda6411ca..57c70705c 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
@@ -39,6 +39,18 @@ public class SysDeptServiceImpl implements ISysDeptService
         return deptMapper.selectDeptList(dept);
     }
 
+    /**
+     * 查询部门管理数据
+     *
+     * @param dept 部门信息
+     * @return 部门信息集合
+     */
+    @Override
+    public List<SysDept> selectDeptListAll(SysDept dept)
+    {
+        return deptMapper.selectDeptListAll(dept);
+    }
+
     /**
      * 根据用户ID获取岗位选择框列表
      *
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
index c86398ec6..8bb8ec858 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
@@ -70,6 +70,17 @@ public class SysUserServiceImpl implements ISysUserService {
         return userMapper.selectUserList(user);
     }
 
+    /**
+     * 根据条件分页查询用户列表
+     *
+     * @param user 用户信息
+     * @return 用户信息集合信息
+     */
+    @Override
+    public List<SysUser> selectUserListAll(SysUser user) {
+        return userMapper.selectUserListAll(user);
+    }
+
     /**
      * 通过用户名查询用户
      *
diff --git a/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml b/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
index f1d50bd5b..20e0e9f8d 100644
--- a/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
@@ -65,6 +65,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		${dataScope}
 		order by d.parent_id, d.order_num
     </select>
+
+	<select id="selectDeptListAll" parameterType="SysDept" resultMap="SysDeptResult">
+		<include refid="selectDeptVo"/>
+		where d.del_flag = '0'
+		<if test="parentId != null and parentId != 0">
+			AND parent_id = #{parentId}
+		</if>
+		<if test="deptName != null and deptName != ''">
+			AND dept_name like concat('%', #{deptName}, '%')
+		</if>
+		<if test="status != null and status != ''">
+			AND status = #{status}
+		</if>
+		<if test="schoolId != null and schoolId != ''">
+			AND school_id = #{schoolId}
+		</if>
+		order by d.parent_id, d.order_num
+	</select>
     
     <select id="selectDeptListByRoleId" parameterType="Long" resultType="Integer">
 		select d.dept_id, d.parent_id
diff --git a/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml b/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml
index a3f55a9af..00fc26bdf 100644
--- a/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml
@@ -86,6 +86,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<!-- 数据范围过滤 -->
 		${dataScope}
 	</select>
+
+	<select id="selectUserListAll" parameterType="SysUser" resultMap="SysUserResult">
+		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
+		left join sys_dept d on u.dept_id = d.dept_id
+		where u.del_flag = '0'
+		<if test="userName != null and userName != ''">
+			AND u.user_name like concat('%', #{userName}, '%')
+		</if>
+		<if test="status != null and status != ''">
+			AND u.status = #{status}
+		</if>
+		<if test="phonenumber != null and phonenumber != ''">
+			AND u.phonenumber like concat('%', #{phonenumber}, '%')
+		</if>
+		<if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 -->
+			AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')
+		</if>
+		<if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
+			AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+		</if>
+		<if test="deptId != null and deptId != 0">
+			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET (#{deptId},ancestors) ))
+		</if>
+	</select>
 	
 	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
 	    <include refid="selectUserVo"/>