Ver código fonte

Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_scrm_java

caoliqin 1 semana atrás
pai
commit
e33c5dc0a2
18 arquivos alterados com 200 adições e 12 exclusões
  1. 7 0
      fs-company-app/src/main/java/com/fs/app/controller/CompanyUserController.java
  2. 23 6
      fs-company-app/src/main/java/com/fs/app/controller/UserController.java
  3. 4 0
      fs-company-app/src/main/java/com/fs/app/param/ChangeUserDeptAndPostParam.java
  4. 8 0
      fs-company-app/src/main/java/com/fs/app/service/IAppService.java
  5. 44 4
      fs-company-app/src/main/java/com/fs/app/service/impl/AppServiceImpl.java
  6. 15 0
      fs-company-app/src/main/java/com/fs/app/vo/CompanyRoleVO.java
  7. 2 0
      fs-company-app/src/main/java/com/fs/app/vo/UserVO.java
  8. 22 1
      fs-service-system/src/main/java/com/fs/company/domain/CompanyUser.java
  9. 8 0
      fs-service-system/src/main/java/com/fs/company/mapper/CompanyPostMapper.java
  10. 8 0
      fs-service-system/src/main/java/com/fs/company/mapper/CompanyRoleMapper.java
  11. 7 0
      fs-service-system/src/main/java/com/fs/company/service/ICompanyPostService.java
  12. 7 0
      fs-service-system/src/main/java/com/fs/company/service/ICompanyRoleService.java
  13. 6 0
      fs-service-system/src/main/java/com/fs/company/service/ICompanyUserRoleService.java
  14. 10 0
      fs-service-system/src/main/java/com/fs/company/service/impl/CompanyPostServiceImpl.java
  15. 10 0
      fs-service-system/src/main/java/com/fs/company/service/impl/CompanyRoleServiceImpl.java
  16. 5 0
      fs-service-system/src/main/java/com/fs/company/service/impl/CompanyUserRoleServiceImpl.java
  17. 10 0
      fs-service-system/src/main/resources/mapper/company/CompanyRoleMapper.xml
  18. 4 1
      fs-service-system/src/main/resources/mapper/company/CompanyUserMapper.xml

+ 7 - 0
fs-company-app/src/main/java/com/fs/app/controller/CompanyUserController.java

@@ -287,6 +287,13 @@ public class CompanyUserController extends AppBaseController {
         return R.ok().put("data", appService.postList(getCompanyId()));
     }
 
+    @Login
+    @ApiOperation("角色列表")
+    @GetMapping("/roleList")
+    public R roleList() {
+        return R.ok().put("data", appService.roleList(getCompanyId()));
+    }
+
     @Login
     @ApiOperation("修改用户部门和岗位")
     @PostMapping("/changeUserDeptAndPost")

+ 23 - 6
fs-company-app/src/main/java/com/fs/app/controller/UserController.java

@@ -9,10 +9,7 @@ import com.fs.app.param.EditUserInfoParam;
 import com.fs.app.param.EditUserQrCodeParam;
 import com.fs.app.param.LoginParam;
 import com.fs.app.utils.JwtUtils;
-import com.fs.app.vo.CompanyUserAppVO;
-import com.fs.app.vo.UserListVO;
-import com.fs.app.vo.UserPostVO;
-import com.fs.app.vo.UserVO;
+import com.fs.app.vo.*;
 import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.config.FSConfig;
 import com.fs.common.core.domain.R;
@@ -174,6 +171,12 @@ public class UserController extends AppBaseController {
             if (company == null || company.getStatus() == 0 || company.getIsDel() == 1) {
                 throw new BaseException("此用户所属公司不存在或已停用");
             }
+
+            // 公司名称
+            companyUser.setCompanyName(company.getCompanyName());
+            // 岗位
+            companyUser.setPosts(postService.selectCompanyPostListByUserId(companyUser.getUserId()));
+
             if (StringUtils.isNotEmpty(param.getJpushId())) {
                 companyUser.setJpushId(param.getJpushId());
                 userService.updateUserProfile(companyUser);
@@ -239,14 +242,18 @@ public class UserController extends AppBaseController {
     public R getCompanyUser() {
         try {
             CompanyUser companyUser = userService.selectCompanyUserById(Long.parseLong(getUserId()));
-            List<String> postList = postService.selectPostNameListByUserId(Long.parseLong(getUserId()));
             if (companyUser == null) {
                 return R.error(40001, "用户不存在");
             }
             if (companyUser.getStatus().equals("1")) {
                 return R.error(40002, "用户已停用");
             }
-            return R.ok().put("user", companyUser).put("post", postList);
+            // 公司名称
+            Company company = companyService.selectCompanyById(companyUser.getCompanyId());
+            companyUser.setCompanyName(company.getCompanyName());
+            // 岗位
+            companyUser.setPosts(postService.selectCompanyPostListByUserId(companyUser.getUserId()));
+            return R.ok().put("user", companyUser);
         } catch (Exception e) {
 
             return R.error("操作异常");
@@ -301,6 +308,16 @@ public class UserController extends AppBaseController {
                 }).collect(Collectors.toList()));
             }
 
+            // 角色信息
+            if (Objects.nonNull(u.getRoles())) {
+                vo.setRoles(u.getRoles().stream().map(r -> {
+                    CompanyRoleVO role = new CompanyRoleVO();
+                    role.setRoleId(r.getRoleId());
+                    role.setRoleName(r.getRoleName());
+                    return role;
+                }).collect(Collectors.toList()));
+            }
+
             users.add(vo);
         }
         Map<Object, List<UserVO>> res = users.parallelStream().collect(

+ 4 - 0
fs-company-app/src/main/java/com/fs/app/param/ChangeUserDeptAndPostParam.java

@@ -19,4 +19,8 @@ public class ChangeUserDeptAndPostParam {
      * 岗位ID
      */
     private String postIds;
+    /**
+     * 角色ID
+     */
+    private String roleIds;
 }

+ 8 - 0
fs-company-app/src/main/java/com/fs/app/service/IAppService.java

@@ -1,6 +1,7 @@
 package com.fs.app.service;
 
 import com.fs.app.param.ChangeUserDeptAndPostParam;
+import com.fs.app.vo.CompanyRoleVO;
 import com.fs.app.vo.UserPostVO;
 import com.fs.company.domain.CompanyDeptTreeSelect;
 
@@ -28,4 +29,11 @@ public interface IAppService {
      * @return list
      */
     List<UserPostVO> postList(Long companyId);
+
+    /**
+     * 获取公司角色列表
+     * @param companyId 公司ID
+     * @return  list
+     */
+    List<CompanyRoleVO> roleList(Long companyId);
 }

+ 44 - 4
fs-company-app/src/main/java/com/fs/app/service/impl/AppServiceImpl.java

@@ -3,14 +3,12 @@ package com.fs.app.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.fs.app.param.ChangeUserDeptAndPostParam;
 import com.fs.app.service.IAppService;
+import com.fs.app.vo.CompanyRoleVO;
 import com.fs.app.vo.UserPostVO;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.StringUtils;
 import com.fs.company.domain.*;
-import com.fs.company.service.ICompanyDeptService;
-import com.fs.company.service.ICompanyPostService;
-import com.fs.company.service.ICompanyUserPostService;
-import com.fs.company.service.ICompanyUserService;
+import com.fs.company.service.*;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -31,6 +29,8 @@ public class AppServiceImpl implements IAppService {
     private final ICompanyDeptService companyDeptService;
     private final ICompanyPostService companyPostService;
     private final ICompanyUserPostService companyUserPostService;
+    private final ICompanyRoleService companyRoleService;
+    private final ICompanyUserRoleService companyUserRoleService;
 
     /**
      * 修改用户部门和岗位
@@ -76,6 +76,23 @@ public class AppServiceImpl implements IAppService {
                 });
             }
         }
+
+        // 修改角色
+        if (StringUtils.isNotBlank(param.getRoleIds())) {
+            List<Long> roleIds = Arrays.stream(param.getRoleIds().split(",")).map(Long::new).collect(Collectors.toList());
+            List<CompanyRole> CompanyRoles =  companyRoleService.selectCompanyRoleByIds(roleIds);
+            if (Objects.nonNull(CompanyRoles) && !CompanyRoles.isEmpty()) {
+                companyUsers.forEach(companyUser -> {
+                    companyUserRoleService.deleteCompanyUserRoleById(companyUser.getUserId());
+                    companyUserRoleService.batchInsertCompanyUserRole(CompanyRoles.stream().map(p -> {
+                        CompanyUserRole companyUserRole = new CompanyUserRole();
+                        companyUserRole.setRoleId(p.getRoleId());
+                        companyUserRole.setUserId(companyUser.getUserId());
+                        return companyUserRole;
+                    }).collect(Collectors.toList()));
+                });
+            }
+        }
     }
 
     /**
@@ -116,4 +133,27 @@ public class AppServiceImpl implements IAppService {
             return userPostVO;
         }).collect(Collectors.toList());
     }
+
+    /**
+     * 获取公司角色列表
+     * @param companyId 公司ID
+     * @return  list
+     */
+    @Override
+    public List<CompanyRoleVO> roleList(Long companyId) {
+        log.debug("roleList companyId: {}", companyId);
+        if (Objects.isNull(companyId)) {
+            throw new CustomException("获取companyId失败, 请重新登录");
+        }
+        CompanyRole companyRole = new CompanyRole();
+        companyRole.setCompanyId(companyId);
+        companyRole.setStatus("0");
+        companyRole.setDelFlag("0");
+        return companyRoleService.selectCompanyRoleList(companyRole).stream().map(r -> {
+            CompanyRoleVO companyRoleVO = new CompanyRoleVO();
+            companyRoleVO.setRoleId(r.getRoleId());
+            companyRoleVO.setRoleName(r.getRoleName());
+            return companyRoleVO;
+        }).collect(Collectors.toList());
+    }
 }

+ 15 - 0
fs-company-app/src/main/java/com/fs/app/vo/CompanyRoleVO.java

@@ -0,0 +1,15 @@
+package com.fs.app.vo;
+
+import lombok.Data;
+
+@Data
+public class CompanyRoleVO {
+    /**
+     * 角色ID
+     */
+    private Long roleId;
+    /**
+     * 角色名称
+     */
+    private String roleName;
+}

+ 2 - 0
fs-company-app/src/main/java/com/fs/app/vo/UserVO.java

@@ -29,4 +29,6 @@ public class UserVO {
     private Integer isAudit;
     // 岗位
     private List<UserPostVO> post;
+    // 角色
+    private List<CompanyRoleVO> roles;
 }

+ 22 - 1
fs-service-system/src/main/java/com/fs/company/domain/CompanyUser.java

@@ -5,7 +5,6 @@ import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
 
 import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
 import java.util.Date;
 import java.util.List;
 
@@ -21,6 +20,9 @@ public class CompanyUser extends BaseEntity
     @Excel(name = "公司ID")
     private Long companyId;
 
+    /** 公司名称 */
+    private String companyName;
+
     /** 部门ID */
     @Excel(name = "部门ID")
     private Long deptId;
@@ -110,6 +112,9 @@ public class CompanyUser extends BaseEntity
     /** 岗位组 */
     private Long[] postIds;
 
+    /** 岗位 */
+    private List<CompanyPost> posts;
+
     private String firstchar;
     private String postName;
     private String deptName;
@@ -483,4 +488,20 @@ public class CompanyUser extends BaseEntity
     public void setIsNeedRegisterMember(Integer isNeedRegisterMember) {
         this.isNeedRegisterMember = isNeedRegisterMember;
     }
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
+
+    public List<CompanyPost> getPosts() {
+        return posts;
+    }
+
+    public void setPosts(List<CompanyPost> posts) {
+        this.posts = posts;
+    }
 }

+ 8 - 0
fs-service-system/src/main/java/com/fs/company/mapper/CompanyPostMapper.java

@@ -77,4 +77,12 @@ public interface CompanyPostMapper
      * @return  list
      */
     List<CompanyPost> selectCompanyPostByIds(@Param("postIds") List<Long> postIds);
+
+    /**
+     * 根据销售ID查询岗位列表
+     * @param userId    销售ID
+     * @return  list
+     */
+    @Select("select p.post_id, p.post_name from company_user_post up inner join company_post p on p.post_id=up.post_id where up.user_id = #{userId}")
+    List<CompanyPost> selectCompanyPostByUserId(@Param("userId") Long userId);
 }

+ 8 - 0
fs-service-system/src/main/java/com/fs/company/mapper/CompanyRoleMapper.java

@@ -1,6 +1,7 @@
 package com.fs.company.mapper;
 
 import com.fs.company.domain.CompanyRole;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -69,4 +70,11 @@ public interface CompanyRoleMapper
     CompanyRole checkRoleKeyUnique(String roleKey);
 
     List<Integer> selectRoleListByUserId(Long userId);
+
+    /**
+     * 根据ID集合查询角色列表
+     * @param roleIds  ID集合
+     * @return  list
+     */
+    List<CompanyRole> selectRoleListByIds(@Param("roleIds") List<Long> roleIds);
 }

+ 7 - 0
fs-service-system/src/main/java/com/fs/company/service/ICompanyPostService.java

@@ -72,4 +72,11 @@ public interface ICompanyPostService
      * @return  list
      */
     List<CompanyPost> selectCompanyPostByIds(List<Long> postIds);
+
+    /**
+     * 根据销售ID查询岗位列表
+     * @param userId    销售ID
+     * @return  list
+     */
+    List<CompanyPost> selectCompanyPostListByUserId(Long userId);
 }

+ 7 - 0
fs-service-system/src/main/java/com/fs/company/service/ICompanyRoleService.java

@@ -86,4 +86,11 @@ public interface ICompanyRoleService
     public int countUserRoleByRoleId(Long roleId);
 
     List<Integer> selectRoleListByUserId(Long userId);
+
+    /**
+     * 根据ID集合查询角色列表
+     * @param roleIds  ID集合
+     * @return  list
+     */
+    List<CompanyRole> selectCompanyRoleByIds(List<Long> roleIds);
 }

+ 6 - 0
fs-service-system/src/main/java/com/fs/company/service/ICompanyUserRoleService.java

@@ -59,4 +59,10 @@ public interface ICompanyUserRoleService
      * @return 结果
      */
     public int deleteCompanyUserRoleById(Long userId);
+
+    /**
+     * 批量添加用户和角色关系
+     * @param collect   参数
+     */
+    void batchInsertCompanyUserRole(List<CompanyUserRole> collect);
 }

+ 10 - 0
fs-service-system/src/main/java/com/fs/company/service/impl/CompanyPostServiceImpl.java

@@ -119,4 +119,14 @@ public class CompanyPostServiceImpl implements ICompanyPostService
     public List<CompanyPost> selectCompanyPostByIds(List<Long> postIds) {
         return companyPostMapper.selectCompanyPostByIds(postIds);
     }
+
+    /**
+     * 根据销售ID查询岗位列表
+     * @param userId    销售ID
+     * @return  list
+     */
+    @Override
+    public List<CompanyPost> selectCompanyPostListByUserId(Long userId) {
+        return companyPostMapper.selectCompanyPostByUserId(userId);
+    }
 }

+ 10 - 0
fs-service-system/src/main/java/com/fs/company/service/impl/CompanyRoleServiceImpl.java

@@ -268,4 +268,14 @@ public class CompanyRoleServiceImpl implements ICompanyRoleService
         return companyRoleMapper.selectRoleListByUserId(userId);
     }
 
+    /**
+     * 根据ID集合查询角色列表
+     * @param roleIds  ID集合
+     * @return  list
+     */
+    @Override
+    public List<CompanyRole> selectCompanyRoleByIds(List<Long> roleIds) {
+        return companyRoleMapper.selectRoleListByIds(roleIds);
+    }
+
 }

+ 5 - 0
fs-service-system/src/main/java/com/fs/company/service/impl/CompanyUserRoleServiceImpl.java

@@ -91,4 +91,9 @@ public class CompanyUserRoleServiceImpl implements ICompanyUserRoleService
     {
         return companyUserRoleMapper.deleteCompanyUserRoleById(userId);
     }
+
+    @Override
+    public void batchInsertCompanyUserRole(List<CompanyUserRole> collect) {
+        companyUserRoleMapper.batchUserRole(collect);
+    }
 }

+ 10 - 0
fs-service-system/src/main/resources/mapper/company/CompanyRoleMapper.xml

@@ -37,6 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="menuCheckStrictly != null "> and menu_check_strictly = #{menuCheckStrictly}</if>
             <if test="deptCheckStrictly != null "> and dept_check_strictly = #{deptCheckStrictly}</if>
             <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="delFlag != null  and delFlag != ''"> and del_flag = #{delFlag}</if>
         </where>
     </select>
     
@@ -152,4 +153,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	        left join company_user u on u.user_id = ur.user_id
 	    where u.user_id = #{userId}
 	</select>
+
+    <select id="selectRoleListByIds" resultType="com.fs.company.domain.CompanyRole">
+        select * from company_role
+        where del_flag = '0' and status = '0'
+        and role_id in
+        <foreach collection="roleIds" item="roleId" separator="," open="(" close=")">
+            #{roleId}
+        </foreach>
+    </select>
 </mapper>

+ 4 - 1
fs-service-system/src/main/resources/mapper/company/CompanyUserMapper.xml

@@ -286,8 +286,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <select id="selectMyUserList" parameterType="com.fs.company.vo.CompanyUserVO" resultMap="CompanyUserVOResult">
-        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,u.open_id,u.id_card, d.dept_name, d.leader, u.is_audit
+        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,u.open_id,u.id_card, d.dept_name, d.leader, u.is_audit,
+               cr.role_id, cr.role_name
         from company_user u
+        left join company_user_role cur on cur.user_id = u.user_id
+        left join company_role cr on cr.role_id = cur.role_id
         left join company_dept d on u.dept_id = d.dept_id
         where u.del_flag = '0' and u.status=0
         <if test="companyId != null  ">