wks 2 gadi atpakaļ
vecāks
revīzija
6838ccfd9d

+ 24 - 0
src/main/java/com/ydtech/constants/SysConstants.java

@@ -1,7 +1,9 @@
 package com.ydtech.constants;
 
 
+import com.ydtech.exception.SystemException;
 import com.ydtech.utils.MacUtils;
+import com.ydtech.utils.StringUtils;
 
 /**
  * 常量管理
@@ -11,6 +13,11 @@ import com.ydtech.utils.MacUtils;
  */
 public class SysConstants {
 
+
+    private SysConstants() {
+        throw new IllegalStateException("Utility class");
+    }
+
     /**
      * 系统管理员用户名
      */
@@ -46,10 +53,27 @@ public class SysConstants {
      */
     public static final String C = "C";
 
+    /**
+     * 五级机构 门店标志
+     */
+    public static final String M = "M";
+
+    /**
+     * 部门标志
+     */
+    public static final String D = "D";
 
     /**
      * 车险保单目录  add lig 2023-09-21
      */
     public static String CAR_INS_POLICY = "carInsPolicy";
 
+
+    public static boolean isAdministration(String userId) {
+        if (StringUtils.isEmpty(userId)) {
+            throw new SystemException("用户id不能为空");
+        }
+        return !userId.contains(M) && userId.contains(D);
+    }
+
 }

+ 4 - 159
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -150,17 +150,13 @@ public class SysUserController extends BaseController {
     @Transactional
     public HttpResult saveUserRole(@RequestParam String userId, @RequestParam String roleId) {
         SysUserRole userRole = new SysUserRole();
-//        List<SysUserRole> list = sysUserRoleService.selectList(" where user_id=?", new Object[]{userId});
-
         sysUserRoleService.deleteByUserId(userId);
-
         userRole = new SysUserRole();
         userRole.setUserId(userId);
         userRole.setRoleId(Long.parseLong(roleId));
         userRole.setCreateBy(getUserName());
         userRole.setCreateTime(new Date());
         sysUserRoleService.save(userRole);
-
         return HttpResult.ok();
     }
 
@@ -184,12 +180,9 @@ public class SysUserController extends BaseController {
     @PostMapping(value = "/findPageUsed")
     @Deprecated
     public HttpResult findPageUsed(@RequestBody PageRequest pageRequest) {
-        //return HttpResult.ok(sysUserService.findPage(pageRequest));
-
         int pageNum = pageRequest.getPageNum();
         int pageSize = pageRequest.getPageSize();
         String name = pageRequest.getColumnFilterValue(pageRequest, "name");
-//		String email = pageRequest.getColumnFilterValue(pageRequest, "email");
         //需要处理传入的部门
         PageResult pageResult = sysUserService.selectPagingCustom(pageNum, pageSize, name, "");
         sysUserService.findSysUseresmUserInternalVORoles(pageResult);
@@ -213,7 +206,6 @@ public class SysUserController extends BaseController {
             return HttpResult.error("ID不存在");
         }
         //密码加密
-        String salt = PasswordUtils.getSalt();
         String pwd = PasswordUtils.encode(password, sysUser.getSalt());
         sysUser.setPassword(pwd);
         sysUserService.updateById(sysUser);
@@ -242,8 +234,7 @@ public class SysUserController extends BaseController {
         lqw.eq(SysUser::getMobile, mobile);
 
         List<SysUser> users = sysUserService.list(lqw);
-//        List<SysUser> users = sysUserService.selectList(" where id != ? and mobile=?", new Object[]{id, mobile});
-        if (users != null && users.size() > 0) {
+        if (users != null && !users.isEmpty()) {
             return HttpResult.error("手机号已存在");
         }
 
@@ -260,11 +251,7 @@ public class SysUserController extends BaseController {
      */
     @GetMapping(value = "/findById")
     public HttpResult findByUserId(@RequestParam String id) {
-        SysUser sysUser = sysUserService.getById(id);
-        SysUserVO sysUserVO = new SysUserVO();
-
-        sysUserVO = sysUserService.gainUserInternal(id);
-//        SysUserVO sysUserVO = sysUserService.selectById(id);
+        SysUserVO sysUserVO = sysUserService.gainUserInternal(id);
         if (sysUserVO != null) {
             return HttpResult.ok(sysUserVO);
         }
@@ -280,7 +267,6 @@ public class SysUserController extends BaseController {
     @GetMapping(value = "/selectByDeptId")
     public HttpResult selectByDeptId(String deptId) {
         return HttpResult.ok(sysUserService.gainUserInternalByDeptId(deptId));
-//        return HttpResult.ok(sysUserService.selectByDeptId(deptId));
     }
 
     /**
@@ -292,31 +278,6 @@ public class SysUserController extends BaseController {
     }
 
 
-//    /**
-//     * 审批
-//     *
-//     * @param userId
-//     * @param status 审批
-//     * @return
-//     */
-//    @ApiOperation(value = "审批")
-//    @ApiImplicitParams({
-//            @ApiImplicitParam(name = "userId", value = "用户ID")
-//            , @ApiImplicitParam(name = "status", value = "审批状态")
-//    })
-//    @GetMapping(value = "/approval")
-//    public HttpResult approval(@RequestParam String userId, @RequestParam String status) {
-//
-//        LambdaUpdateWrapper<SysUser> luw = new LambdaUpdateWrapper();
-//        luw.eq(SysUser::getId, userId);
-//        luw.set(SysUser::getApprovalStatus, status);
-//
-//        return HttpResult.ok(sysUserService.update(luw));
-//
-//    }
-
-
-    //======================== 重构新接口
 
     /**
      * @author: lig
@@ -344,16 +305,14 @@ public class SysUserController extends BaseController {
         }
 
         sysUserService.saveUser(sysUser);
-
         return HttpResult.ok(sysUser);
 
-
     }
 
     @ApiOperation(value = "(重构)逻辑删除")
     @PostMapping(value = "/logicDeleteBatch")
     public HttpResult logicDeleteBatch(@RequestBody List<String> userIds) {
-        if (null != userIds && userIds.size() > 0) {
+        if (null != userIds && !userIds.isEmpty()) {
             LambdaUpdateWrapper<SysUser> luw = new LambdaUpdateWrapper<>();
             luw.set(SysUser::getStatus, "0");
             luw.in(SysUser::getId, userIds);
@@ -362,7 +321,6 @@ public class SysUserController extends BaseController {
         }
         return HttpResult.error("请正确选择参数");
 
-
     }
 
 
@@ -627,114 +585,6 @@ public class SysUserController extends BaseController {
         return HttpResult.ok("保存成功", sysUser.getId());
     }
 
-    @PostMapping(value = "/newUserImport")
-    @ApiOperation(value = "新用户导入")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file"),
-            @ApiImplicitParam(name = "deptId", value = "机构部门ID", required = true, dataType = "String", paramType = "formData")
-    })
-    @Transactional
-    public HttpResult newUserImport(@RequestPart MultipartFile file, @RequestParam String deptId) {
-
-        SysDept sd = sysDeptService.getById(deptId);
-        if (null == sd) return HttpResult.error("机构部门不存在");
-
-        try {
-            List<SysUser> userList = ExcelEasypoiUtils.importExcel(file, SysUser.class, 0, 1, 1);
-            userList = userList.stream().filter(l -> StringUtils.isNotEmpty(l.getMobile())).collect(Collectors.toList());
-
-            userList.stream().forEach(a -> {
-
-                if (StringUtils.isNullOrEmpty(a.getMobile())) throw new SystemException("手机不能为空");
-                //处理密码
-                if (StringUtils.isNotEmpty(a.getPassword())) {
-                    String salt = PasswordUtils.getSalt();
-                    String pwd = PasswordUtils.encode(a.getPassword(), salt);
-                    a.setPassword(pwd);
-                    a.setSalt(salt);
-                }
-                a.setDeptId(sd.getId());
-                a.setDeptName(sd.getName());
-
-                //获取角色
-                LambdaQueryWrapper<SysRole> lqwRole = new LambdaQueryWrapper<>();
-                lqwRole.like(SysRole::getName, a.getRoleName());
-                SysRole sr = sysRoleService.getOne(lqwRole);
-                a.setRoleId(sr.getId().toString());
-                a.setRoleName(sr.getName());
-
-                //状态
-                if (a.getExcelStatus().equals("正常")) {
-                    a.setStatus(1);
-                }
-                if (a.getExcelStatus().equals("新注册")) {
-                    a.setStatus(2);
-                }
-
-//                //性别
-//                if (a.getSex().equals("未知")) {
-//                    a.setSex("U");
-//                }
-//                if (a.getSex().equals("男")) {
-//                    a.setSex("M");
-//                }
-//                if (a.getSex().equals("女")) {
-//                    a.setSex("W");
-//                }
-
-
-                if (StringUtils.isNullOrEmpty(a.getDeptId())) throw new SystemException("机构ID不能为空");
-                //by gws 21	团队长 20	代理人 必须归属团队
-                // 22	后线人员 必须归属部门
-                if (StringUtils.isNullOrEmpty(a.getRoleId())) throw new SystemException("角色ID不能为空");
-                if ("21".equals(a.getRoleId()) || "20".equals(a.getRoleId())) {//21	团队长 20	代理人
-                    boolean teamflag = false;
-                    char[] deptids = a.getDeptId().toCharArray();
-                    char ch1 = 'D';
-                    char ch2 = 'M';
-                    if (deptids.length > 6) {
-                        teamflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] == ch2;
-                    }
-                    if (!teamflag) {
-                        throw new SystemException("团队长和代理人只能归属团队中");
-                    }
-                } else if ("22".equals(a.getRoleId())) {//22	后线人员
-                    boolean deptflag = false;
-                    char[] deptids = a.getDeptId().toCharArray();
-                    char ch1 = 'D';
-                    char ch2 = 'M';
-                    if (deptids.length > 6) {
-                        deptflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] != ch2;
-                    } else if (deptids.length <= 6 && deptids.length > 3) {
-                        deptflag = deptids[deptids.length - 3] == ch1;
-                    }
-                    if (!deptflag) {
-                        throw new SystemException("后线人员只能归属业务部门中");
-                    }
-                } else {
-                    throw new SystemException("角色id有误");
-                }
-                sysUserService.saveUser(a);
-
-            });
-
-        } catch (IOException e) {
-            throw new SystemException(e.getMessage());
-        }
-
-
-        return HttpResult.ok("导入成功");
-    }
-
-
-//    @ApiOperation(value = "保存或更新用户信息")
-//    @PostMapping(value = "/saveOrUpdateInfo")
-//    public HttpResult saveOrUpdateInfo(@RequestBody SysUserInfo sysUserInfo) {
-//        if (StringUtils.isNullOrEmpty(sysUserInfo.getId())) return HttpResult.error("用户ID不能为空");
-//        return HttpResult.ok(sysUserInfoService.saveOrUpdate(sysUserInfo));
-//
-//    }
-
 
     @GetMapping(value = "/findUserInfo/{userId}")
     @ApiOperation(value = "获取用户信息")
@@ -771,12 +621,7 @@ public class SysUserController extends BaseController {
                 if (deptLevel != 6) {
                     throw new SystemException("团队长、代理人、出单员只能归属团队中");
                 }
-            } else if (RoleConstants.R22.getCode().equals(sysUser.getRoleId())) {//22	后线人员
-
-                if (deptLevel != 5) {
-                    throw new SystemException("后线人员只能归属业务部门中");
-                }
-            } else if (RoleConstants.R18.getCode().equals(sysUser.getRoleId())) { // 42 门店长
+            }else if (RoleConstants.R18.getCode().equals(sysUser.getRoleId())) { // 42 门店长
                 if (deptLevel != 5) {
                     throw new SystemException("机构管理员只能归属机构中");
                 }

+ 10 - 11
src/main/java/com/ydtech/modules/admin/model/SysUser.java

@@ -2,19 +2,15 @@ package com.ydtech.modules.admin.model;
 
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.model.BaseEntity;
-import com.ydtech.security.utils.PasswordUtils;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.ibatis.annotations.Select;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.constraints.NotBlank;
@@ -69,7 +65,6 @@ public class SysUser extends BaseEntity {
     private String salt;
 
 
-
     /**
      * 手机号
      */
@@ -94,8 +89,6 @@ public class SysUser extends BaseEntity {
     @TableField(value = "dept_id")
     private String deptId;
 
-
-
     /**
      * 微信id
      */
@@ -113,7 +106,6 @@ public class SysUser extends BaseEntity {
     @TableField(value = "identity")
     private String identity;
 
-
     //------------------
 
     /**
@@ -139,7 +131,6 @@ public class SysUser extends BaseEntity {
     private String deptName;
 
 
-
     @TableField(exist = false)
     @Excel(name = "状态")
     private String excelStatus;
@@ -161,14 +152,22 @@ public class SysUser extends BaseEntity {
     @Excel(name = "推荐人名称")
     private String referrerName;
 
+    @TableField(value = "position_id")
+    @ApiModelProperty("岗位id")
+    private String positionId;
+
+    @TableField(value = "position_name")
+    @ApiModelProperty("岗位名称")
+    private String positionName;
+
     /**
-     *  验证用户
+     * 验证用户
      *
      * @author: lig
      * @date: 2023年07月03日 0003
      */
     @ApiIgnore
-    public static void verifyUser(SysUser user){
+    public static void verifyUser(SysUser user) {
         // 账号不存在、密码错误
         if (user == null) {
             throw new SystemException("账号不存在");

+ 2 - 1
src/main/java/com/ydtech/modules/admin/model/SysUserInfo.java

@@ -11,6 +11,7 @@ import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.util.Date;
 
 /**
@@ -65,7 +66,7 @@ public class SysUserInfo implements Serializable {
 
     @ApiModelProperty(value = "出生日期")
     @TableField(value = "birthday")
-    private Date birthday;
+    private LocalDate birthday;
 
     @ApiModelProperty(value = "婚姻状况")
     @TableField(value = "marital_status")

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

@@ -22,8 +22,6 @@ public class SysUser2Vo {
     @ApiModelProperty("用户详情信息")
     private SysUserInfo sysUserInfo;
 
-//    @ApiModelProperty("用户详细信息")
-//    private EsmUserInternal userInternal;
 
     @ApiModelProperty("影像信息")
     private List<EsmUserImageVo> esmUserImageVo;

+ 18 - 17
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -5,14 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.model.QuTeamNum;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.SysUserRole;
-import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.model.dto.QuTeamNumDto;
 import com.ydtech.modules.admin.model.dto.SysUserDto;
-import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.model.vo.SysUser2Vo;
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.model.vo.SysUserInternalVO;
 import com.ydtech.modules.admin.model.vo.SysUserVO;
 import com.ydtech.modules.base.model.dto.PageDto;
@@ -43,20 +43,21 @@ public interface SysUserService extends IService<SysUser> {
      */
     List<SysUserRole> findUserRoles(Long userId);
 
-    public PageResult selectPagingCustom(int pageNumber, int pageSize, String name, String deptCode);
+    PageResult selectPagingCustom(int pageNumber, int pageSize, String name, String deptCode);
 
     /**
      * 获取用户列表
-     * @param page 分页信息
-     * @param sysUser 查询条件
+     *
+     * @param page            分页信息
+     * @param sysUser         查询条件
      * @param containsSubDept 是否汉堡下级机构
      * @return
      */
-    public IPage<SysUser> selectUserPage(Page page, SysUser sysUser,String containsSubDept);
+    IPage<SysUser> selectUserPage(Page page, SysUser sysUser, String containsSubDept);
 
-    public void findSysUseresmUserInternalVORoles(PageResult pageResult);
+    void findSysUseresmUserInternalVORoles(PageResult pageResult);
 
-    public Integer deleteFlag(List<SysUser> lsSysUser);
+    Integer deleteFlag(List<SysUser> lsSysUser);
 
     SysUser findById(String handlercode);
 
@@ -67,12 +68,13 @@ public interface SysUserService extends IService<SysUser> {
     SysUserVO gainUserInternalByDeptId(String deptId);
 
     List<SysUserVO> findByReferrerId(String deptId);
+
     PageVo<SysUserBaseVO> gainUserPage(PageDto<SysUserDto> pageDto);
 
-//    PageVo gainUserPage(PageDto pageDto);
 
     /**
      * 根据角色查询用户列表
+     *
      * @param pageDto
      * @return
      */
@@ -95,32 +97,31 @@ public interface SysUserService extends IService<SysUser> {
     String findMaxId(String deptId);
 
     //审批
-    public boolean check(String userId,Integer approvalStatus,String approvalOpinion);
-
+    boolean check(String userId, Integer approvalStatus, String approvalOpinion);
 
 
     SysUserBaseVO selectUserById(String userId);
 
 
-
     boolean saveUser(SysUser sysUser);
 
-    HttpResult   saveUserInfo( SysUser2Vo sysUserVo);
+    HttpResult saveUserInfo(SysUser2Vo sysUserVo);
 
     HttpResult updateUserInfo(String userId, SysUser2Vo sysUserVo);
 
-    public List<SysUser> getAllUsers(String userId);
+    List<SysUser> getAllUsers(String userId);
 
-    public List<SysUser> findAllAgentRoleUser(String userId,String roleId);
+    List<SysUser> findAllAgentRoleUser(String userId, String roleId);
 
-    public int getDeptLevel(SysUser2Vo sysUser2Vo);
+    int getDeptLevel(SysUser2Vo sysUser2Vo);
 
     /**
      * 根据机构代码,查询所有人员
+     *
      * @param deptId
      * @return
      */
-    public List<SysUser> findUserList(String deptId);
+    List<SysUser> findUserList(String deptId);
 }
 
 

+ 13 - 14
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -7,10 +7,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.SysConstants;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.*;
 import com.ydtech.modules.admin.model.dto.QuTeamNumDto;
@@ -499,6 +501,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             return checkChuDanUser(sysUser);
         }
         String userId = gainNextUserId(sysUser.getDeptId());
+
+        if (RoleConstants.R22.getCode().equals(sysUser.getRoleId())) {//22	后线人员
+            if (!SysConstants.isAdministration(userId)) {
+                throw new SystemException("后线人员只能公司部门中");
+            }
+        }
+
         sysUser.setId(userId);
         save(sysUser);
 
@@ -573,15 +582,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Transactional
     public HttpResult updateUserInfo(String userId, SysUser2Vo sysUserVo) {
         SysUser sysUser = sysUserVo.getSysUser();
+
         //修改用户不能修改密码
-        /*if (StringUtils.isNotEmpty(sysUser.getPassword())) {
+        if (StringUtils.isNotEmpty(sysUser.getPassword())) {
             String salt = PasswordUtils.getSalt();
             String pwd = PasswordUtils.encode(sysUser.getPassword(), salt);
             sysUser.setPassword(pwd);
             sysUser.setSalt(salt);
         } else {
             return HttpResult.error("密码不能为空");
-        }*/
+        }
+
         //删除状态必须有离司时间
         if (StringUtils.isNotEmpty(sysUser.getStatus().toString())) {
             if (sysUser.getStatus() == 0 && sysUser.getLogoutTime() == null && !sysUser.getRoleId().equals("19")) {
@@ -598,7 +609,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         updateById(sysUser);
 
-
         //角色配置
         SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
         sysUserRole.setRoleId(StringUtils.toLong(sysUser.getRoleId()));
@@ -610,17 +620,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             //推荐人
             esmUserReferrerService.addReferrer(sysUser.getReferrerId(), userId);
         }
-//        EsmUserReferrer referrer = esmUserReferrerService.getById(userId);
-//        EsmUserReferrer eur = new EsmUserReferrer();
-//        eur.setId(userId);
-//        eur.setReferrerName(sysUser.getReferrerName());
-//        eur.setReferrerId(sysUser.getReferrerId());
-//        if (null != referrer) {
-//            eur.setLevel(referrer.getLevel() + 1);
-//        } else {
-//            eur.setLevel(1);
-//        }
-//        esmUserReferrerService.updateById(eur);
 
         //用户详情信息
         SysUserInfo sysUserInfo = sysUserVo.getSysUserInfo();