Sfoglia il codice sorgente

用户管理修改上级时,下拉框列表去掉了下属。增加定时拉取优化审核建议job

huangxuechao 4 anni fa
parent
commit
d79f326033

+ 32 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.annotation.Required;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
@@ -131,9 +132,14 @@ public class SysUserController {
     }
 
     @RequestMapping(value = "/getAllUser", method = RequestMethod.GET)
-    public Result<Object> getAllUser(String status) {
+    public Result<Object> getAllUser(@RequestParam("status")String status,@RequestParam(name="userId",required = false )String userId) {
         try {
             List<SysUserVo> allUser = sysUserService.getAllUser(null, status);
+            if(!Check.isNull(userId)){
+                List<SysUserVo> mulUserList = treeCategoryData(allUser, userId);    //获取自己的下属id
+                allUser.removeAll(mulUserList);
+            }
+
             return Result.ok(allUser);
         } catch (Exception e) {
             e.printStackTrace();
@@ -141,6 +147,18 @@ public class SysUserController {
         return Result.error("查询失败");
     }
 
+    public List<SysUserVo> treeCategoryData(List<SysUserVo> allList, String leaderId) {
+        List<SysUserVo> mapList = new ArrayList<>();
+        for (SysUserVo vo : allList) {
+            if (leaderId.equals(vo.getLeaderId())){
+                mapList.add(vo);
+                mapList.addAll(treeCategoryData(allList,vo.getUserId()));
+            }
+        }
+        return mapList;
+
+    }
+
 
     /**
      * 获取用户列表数据
@@ -372,6 +390,18 @@ public class SysUserController {
             } else {
                 sysUser = sysUserService.queryPageList(sysUser).get(0);
                 SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
+
+                //汇报上级选择合法性校验:校验被修改人的汇报上级的汇报上级是不是本人
+                String leaderId = user.getLeaderId();
+                if(!Check.isNull(leaderId) && !sysUser.getLeaderId().equals(leaderId)){    //判断此次修改是否修改了leadId
+                    String leaderIdOfLeaderUser = sysUserService.getById(leaderId).getLeaderId();
+                    if(!Check.isNull(leaderIdOfLeaderUser) && leaderIdOfLeaderUser.equals(user.getId())){   //汇报上级的上级领导不为空,且恰好是自己构成了管理循环
+                        result.error500("要修改的汇报上级是自己的下属,请重新选择!");
+                        return result;
+                    }
+                }
+
+                //添加修改记录的日志
                 BytedanceOperationLog bytedanceOperationLog = new BytedanceOperationLog();
                 bytedanceOperationLog.setOldData(sysUser.toString());
                 bytedanceOperationLog.setNewData(user.toString());
@@ -384,7 +414,7 @@ public class SysUserController {
 
                 user.setLeaderName(user.getLeaderName().trim());
                 user.setUpdateTime(new Date());
-                user.setLeaderName(user.getLeaderName().trim());
+//                user.setLeaderName(user.getLeaderName().trim());
                 //String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt());
                 user.setPassword(sysUser.getPassword());
                 String roles = jsonObject.getString("selectedroles");//用户角色

+ 1 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml

@@ -91,6 +91,7 @@ SELECT
     <select id="getAllUser" resultType="cn.com.ctop.common.module.vo.SysUserVo">
         SELECT
         t1.id userId,
+        t1.leader_id,
         t1.username userName,
         t1.realname realName,
         (SELECT role_name FROM sys_role WHERE id = t2.role_id ) roleName

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/vo/SysUserVo.java

@@ -30,4 +30,6 @@ public class SysUserVo implements Serializable {
 
     private String roleName;
 
+    private String leaderId;
+
 }

+ 19 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceRejectReasonJob.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.job.bytedance.handler;
+
+import cn.com.ctop.common.module.utils.HttpUtils;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import org.jeecg.common.util.DateUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Component
+public class BytedanceRejectReasonJob {
+    private static final String URLPREFIX = "http://118.24.244.213:8080/bytedance-api/ctop/bytedanceRejectReason/getReasonInRecentHours?hour=";
+    @XxlJob("bytedanceRejectReasonJob")
+    public void execute() throws Exception {
+
+        //定时任务设置每2个小时执行一次,就传入参数hour是2.每次运行获取2个小时内的计划,拉取审核建议
+        HttpUtils.httpGet(URLPREFIX + 2, null, null);
+    }
+}