Selaa lähdekoodia

Merge remote-tracking branch 'origin/test' into test

dongxin 1 vuosi sitten
vanhempi
commit
5f2ae7a407

+ 0 - 17
src/main/java/com/ydtech/config/scheduledConfig/ScheduledConfig.java

@@ -1,17 +0,0 @@
-package com.ydtech.config.scheduledConfig;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-
-@Configuration
-public class ScheduledConfig {
-    @Bean
-    public ThreadPoolTaskScheduler threadPoolTaskScheduler() {
-        ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
-        threadPoolTaskScheduler.setPoolSize(5);
-        threadPoolTaskScheduler.setRemoveOnCancelPolicy(true);
-        return threadPoolTaskScheduler;
-    }
-}
-

+ 4 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -535,6 +535,10 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      */
     SysUser getByRoleIdAndDeptId(@Param("roleId") String roleId, @Param("deptId") String deptId);
 
+    /**
+     * 根据登陆者 id deptId 查询
+     */
+    List<SysUser> selectLeaderBylanderInfo(@Param("deptId") String deptId, @Param("leaderId") String leaderId, @Param("userId") String userId);
 }
 
 

+ 2 - 2
src/main/java/com/ydtech/modules/admin/model/vo/SysUserBaseVO.java

@@ -120,10 +120,10 @@ public class SysUserBaseVO {
     @ApiModelProperty(value = "银行卡号信息")
     private String bankCardNumbers;
 
-
     @ApiModelProperty(value = "身份证号")
     private String identity;
 
     @ApiModelProperty(value = "居住地址")
-    private String liveAddress = "";
+    private String liveAddress;
+
 }

+ 79 - 8
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -876,13 +876,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Transactional(rollbackFor = Exception.class)
     public HttpResult saveUserInfoByPartner(SysUser2Vo sysUserVo) {
         SysUser sysUser = sysUserVo.getSysUser();
+        //1:合伙人 2:工作室管理员
+        Integer type = sysUser.getType();
         // 手机号
-        List<SysUser> mobileList = lambdaQuery().eq(SysUser::getMobile, sysUser.getMobile()).list();
+        List<SysUser> mobileList = lambdaQuery().eq(SysUser::getMobile, sysUser.getMobile()).eq(SysUser::getType,type).list();
         if (!mobileList.isEmpty()) {
             throw new SystemException("手机号已经注册请更换手机号。");
         }
         // 身份证号
-        List<SysUser> identityList = lambdaQuery().eq(SysUser::getIdentity, sysUser.getIdentity()).list();
+        List<SysUser> identityList = lambdaQuery().eq(SysUser::getIdentity, sysUser.getIdentity()).eq(SysUser::getType,type).list();
         if (!identityList.isEmpty()) {
             throw new SystemException("身份证号已经注册请更换身份证号。");
         }
@@ -967,7 +969,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             List<EsmUserImage> esmUserImages = esmUserImageVo.stream().map(x -> new EsmUserImage(x, finalUserId)).collect(Collectors.toList());
             esmUserImageService.saveBatch(esmUserImages);
         }
-        SpringUtil.getBean(RecordUserUtils.class).addRecord(userId, Optional.ofNullable(sysUserVo.getSysUser().getReferrerId()).orElse("admin") );
+        SysUser sysUser1 = sysUserMapper.selectById(sysUserVo.getSysUser().getReferrerId());
+        SpringUtil.getBean(RecordUserUtils.class).addRecord(userId, Optional.ofNullable(sysUser1.getName()).orElse("admin") );
         return HttpResult.ok("新增成功", sysUserMapper.selectById(userId));
     }
 
@@ -975,7 +978,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Transactional(rollbackFor = Exception.class)
     public HttpResult saveUserInfo1(SysUser2Vo sysUserVo) {
 
-        log.info("添加团队入参:{}", sysUserVo);
+        log.info("添加团队添加入参:{}", sysUserVo);
         SysUser sysUser = sysUserVo.getSysUser();
         sysUser.setType(3);
         sysUser.setCreateTime(new Date());
@@ -1040,12 +1043,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 //        SysUser sysUser = sysUserVo.getSysUser();
         // 手机号
-        List<SysUser> mobileList = lambdaQuery().eq(SysUser::getMobile, sysUser.getMobile()).list();
+        List<SysUser> mobileList = lambdaQuery().eq(SysUser::getMobile, sysUser.getMobile()).eq(SysUser::getType,sysUser.getType()).list();
         if (!mobileList.isEmpty()) {
             throw new SystemException("手机号已经注册请更换手机号。");
         }
         // 身份证号
-        List<SysUser> identityList = lambdaQuery().eq(SysUser::getIdentity, sysUser.getIdentity()).list();
+        List<SysUser> identityList = lambdaQuery().eq(SysUser::getIdentity, sysUser.getIdentity()).eq(SysUser::getType,sysUser.getType()).list();
         if (!identityList.isEmpty()) {
             throw new SystemException("身份证号已经注册请更换身份证号。");
         }
@@ -1130,7 +1133,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             List<EsmUserImage> esmUserImages = esmUserImageVo.stream().map(x -> new EsmUserImage(x, finalUserId)).collect(Collectors.toList());
             esmUserImageService.saveBatch(esmUserImages);
         }
-        SpringUtil.getBean(RecordUserUtils.class).addRecord(userId, Optional.ofNullable(sysUserVo.getSysUser().getReferrerId()).orElse("admin"));
+        SysUser referrerInfo = sysUserMapper.selectById(sysUserVo.getSysUser().getReferrerId());
+        SpringUtil.getBean(RecordUserUtils.class).addRecord(userId, Optional.ofNullable(referrerInfo.getName()).orElse("admin"));
         return HttpResult.ok("新增成功", sysUserMapper.selectById(userId));
     }
 
@@ -1535,6 +1539,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         //获取领导字段不为空的人的ID
         List<SysUser> users = lambdaQuery().isNotNull(SysUser::getLeaderId).list();
 
+
         if (users == null || users.size() == 0) {
             return new ArrayList<>();
         }
@@ -1866,11 +1871,77 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public List<SysUserBaseVO> getAllUsersByHospitality(SysUserVOExt sysUserVOExt) {
         if (StringUtils.isNotEmpty(sysUserVOExt.getUserId()) || StringUtils.isNotEmpty(sysUserVOExt.getIdentity()) ||
                 StringUtils.isNotEmpty(sysUserVOExt.getMobile()) || StringUtils.isNotEmpty(sysUserVOExt.getName())) {
-            return super.baseMapper.getAllUsersByHospitality(sysUserVOExt);
+            List<SysUserBaseVO> allUsersByHospitality = super.baseMapper.getAllUsersByHospitality(sysUserVOExt);
+            //数据隔离操作
+            List<SysUserBaseVO> divideUserInfo = this.dataDivide(allUsersByHospitality);
+            return divideUserInfo;
         }
         return new ArrayList<SysUserBaseVO>();
     }
 
+    private List<SysUserBaseVO> dataDivide(List<SysUserBaseVO> allUsersByHospitality) {
+        List<SysUser> userList = new ArrayList<>();
+        SysUser landerInfo = BaseController.getUser();
+        //超级管理员不做处理
+        if ("admin".equals(landerInfo.getId()) || "99D1501".equals(landerInfo.getId())) {
+            return allUsersByHospitality;
+        }
+
+        //获取查询结果id
+        List<String> userIds = new ArrayList<>();
+        //如果登陆者部门所属总裁办,则进行是否是运营中心领导人逻辑的判断
+        if ("99D15".equals(landerInfo.getDeptId())) {
+            //判断登陆者下属是否所属运营中心
+            LambdaQueryWrapper<SysUser> getLanderBranch = new LambdaQueryWrapper<>();
+            getLanderBranch.notLike(SysUser::getId, "M")
+                    .eq(SysUser::getDeptId, "9914D18")
+                    .eq(SysUser::getLeaderId, landerInfo.getId());
+            List<SysUser> sysUserList = list(getLanderBranch);
+
+            if (StringUtils.isNullOrEmpty(sysUserList) || sysUserList.isEmpty()) {
+                //如果不属于运营中心则不展示数据
+                return new ArrayList<>();
+            }
+            userIds.add(landerInfo.getId());
+            //获取运营中心全部员工
+            LambdaQueryWrapper<SysUser> getOperationUser = new LambdaQueryWrapper<>();
+            getOperationUser.notLike(SysUser::getId, "M")
+                    .eq(SysUser::getDeptId, "9914D18")
+                    .isNotNull(SysUser::getLeaderId);
+            userList.addAll(list(getOperationUser));
+        } else if ("9914D18".equals(landerInfo.getDeptId())) {
+            //查询登陆者组长信息
+            List<SysUser> sysUsers = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), null, landerInfo.getLeaderId());
+            if (StringUtils.isNullOrEmpty(sysUsers) || sysUsers.size() < 1) {
+                userIds.add(landerInfo.getId());
+                //为空则登陆者为组长,id当做leaderID查询
+                sysUsers = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), landerInfo.getId(), null);
+                userList.addAll(sysUsers);
+            } else {
+                SysUser sysUser = sysUsers.get(0);
+                userList.add(sysUser);
+                List<SysUser> sysUserList = super.baseMapper.selectLeaderBylanderInfo(landerInfo.getDeptId(), landerInfo.getLeaderId(), null);
+                userList.addAll(sysUserList);
+            }
+        } else {
+            //如果不属于运营中心则不展示数据
+            return new ArrayList<>();
+        }
+
+        //获取查询结果id
+         userIds.addAll(userList.stream()
+                .filter(user -> !StringUtils.isNullOrEmpty(user) && StringUtils.isNotEmpty(user.getId()))
+                .map(SysUser::getId)
+                .collect(Collectors.toList()));
+
+        List<SysUserBaseVO> divideUserInfo = allUsersByHospitality.stream()
+                .filter(allUser -> !StringUtils.isNullOrEmpty(allUser) && StringUtils.isNotEmpty(allUser.getLeaderId())
+                        && userIds.contains(allUser.getLeaderId()))
+                .collect(Collectors.toList());
+
+        return divideUserInfo;
+    }
+
     /**
      * @version
      * @author: hxl

+ 0 - 48
src/main/java/com/ydtech/utils/scheduledFutureUtil/ScheduledFutureHolder.java

@@ -1,48 +0,0 @@
-package com.ydtech.utils.scheduledFutureUtil;
-
-import java.util.concurrent.ScheduledFuture;
-
-/**
- * 任务执行的包装类
- */
-public class ScheduledFutureHolder {
-    private ScheduledFuture<?> scheduledFuture;
-
-    private Class<? extends Runnable> runnableClass;
-
-    private String corn;
-
-    public ScheduledFuture<?> getScheduledFuture() {
-        return scheduledFuture;
-    }
-
-    public void setScheduledFuture(ScheduledFuture<?> scheduledFuture) {
-        this.scheduledFuture = scheduledFuture;
-    }
-
-    public Class<? extends Runnable> getRunnableClass() {
-        return runnableClass;
-    }
-
-    public void setRunnableClass(Class<? extends Runnable> runnableClass) {
-        this.runnableClass = runnableClass;
-    }
-
-    public String getCorn() {
-        return corn;
-    }
-
-    public void setCorn(String corn) {
-        this.corn = corn;
-    }
-
-    @Override
-    public String toString() {
-        return "ScheduledFutureHolder{" +
-                "scheduledFuture=" + scheduledFuture +
-                ", runnableClass=" + runnableClass +
-                ", corn='" + corn + '\'' +
-                '}';
-    }
-}
-

+ 0 - 40
src/main/java/com/ydtech/utils/scheduledFutureUtil/ScheduledFutureUtil.java

@@ -1,40 +0,0 @@
-package com.ydtech.utils.scheduledFutureUtil;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-import org.springframework.scheduling.support.CronTrigger;
-import org.springframework.stereotype.Component;
-
-import java.util.HashMap;
-import java.util.concurrent.ScheduledFuture;
-
-@Slf4j
-@Component
-public class ScheduledFutureUtil {
-    //存储任务执行的包装类
-    public static HashMap<String, ScheduledFutureHolder> scheduleMap = new HashMap<>();
-    @Autowired
-    private ThreadPoolTaskScheduler threadPoolTaskScheduler;
-
-    public  void startJob(Runnable runnable, String cron) {
-        //将任务交给任务调度器执行
-        ScheduledFuture<?> schedule = threadPoolTaskScheduler.schedule(runnable, new CronTrigger(cron));
-        //将任务包装成ScheduledFutureHolder
-        ScheduledFutureHolder scheduledFutureHolder = new ScheduledFutureHolder();
-        scheduledFutureHolder.setScheduledFuture(schedule);
-        scheduledFutureHolder.setRunnableClass(runnable.getClass());
-        scheduledFutureHolder.setCorn(cron);
-        scheduleMap.put(scheduledFutureHolder.getRunnableClass().getName(), scheduledFutureHolder);
-    }
-
-    public void endJob(String className){
-        if(ScheduledFutureUtil.scheduleMap.containsKey(className)){//如果包含这个任务
-            ScheduledFuture<?> scheduledFuture = ScheduledFutureUtil.scheduleMap.get(className).getScheduledFuture();
-            if(scheduledFuture!=null){
-                scheduledFuture.cancel(true);
-                log.info("{}任务已停止",className);
-            }
-        }
-    }
-}

+ 26 - 4
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -868,8 +868,12 @@
         su.id as userId,
         su.name,
         info.sex,
+        info.live_address,
         su.mobile,
+        su.leader_id,
+        su.leader_name,
         su.status,
+        su.identity,
         sd.id as deptId,
         sd.name as deptName,
         t4.id as roleId,
@@ -901,16 +905,16 @@
         su.status != 0 AND su.id LIKE '%M%' and su.id!='admin'
         <if test='user !=null  '>
             <if test='user.name !=null and user.name!="" '>
-                and su.name = #{user.name}
+                and su.name like concat('%', #{user.name}, '%')
             </if>
             <if test='user.userId !=null and user.userId!="" '>
-                and su.id = #{user.userId}
+                and su.id like concat('%', #{user.userId}, '%')
             </if>
             <if test='user.mobile !=null and user.mobile!=""  '>
-                and su.mobile = #{user.mobile}
+                and su.mobile like concat('%', #{user.mobile}, '%')
             </if>
             <if test='user.identity !=null and user.identity!=""  '>
-                and su.identity = #{user.identity}
+                and su.identity like concat('%', #{user.identity}, '%')
             </if>
         </if>
     </select>
@@ -2042,4 +2046,22 @@
             limit 1
     </select>
 
+    <select id="selectLeaderBylanderInfo" resultType="com.ydtech.modules.admin.model.SysUser">
+        SELECT *
+        FROM sys_user AS su
+        LEFT JOIN sys_dept sd ON su.id = sd.id
+        <where>
+            <if test="deptId != null and deptId != ''">
+                AND su.dept_id = #{deptId}
+            </if>
+            <if test="leaderId != null and leaderId != ''">
+                AND su.leader_id = #{leaderId}
+            </if>
+            <if test="userId != null and userId != ''">
+                AND su.id = #{userId}
+            </if>
+            AND sd.management_source IS NULL
+            AND su.id NOT LIKE '%M%'
+        </where>
+    </select>
 </mapper>