Bladeren bron

company-app 修改销售列表查询、设置用户信息 FIX:获取通讯录

Long 2 dagen geleden
bovenliggende
commit
17242b7ac9

+ 25 - 8
fs-company-app/src/main/java/com/fs/app/controller/CompanyUserController.java

@@ -13,10 +13,8 @@ import com.fs.common.core.domain.R;
 import com.fs.common.exception.ServiceException;
 import com.fs.common.utils.PatternUtils;
 import com.fs.common.utils.bean.BeanUtils;
-import com.fs.company.domain.Company;
-import com.fs.company.domain.CompanyDept;
-import com.fs.company.domain.CompanyUser;
-import com.fs.company.domain.CompanyUserChangeApply;
+import com.fs.company.domain.*;
+import com.fs.company.mapper.CompanyRoleMapper;
 import com.fs.company.service.ICompanyDeptService;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserChangeApplyService;
@@ -54,15 +52,34 @@ public class CompanyUserController extends AppBaseController {
     private final IFsCourseWatchLogService courseWatchLogService;
     private final IFsCourseRedPacketLogService courseRedPacketLogService;
     private final ICompanyUserChangeApplyService companyUserChangeApplyService;
+    private final CompanyRoleMapper companyRoleMapper;
 
     @Login
-    @ApiOperation("下级用户列表")
+    @ApiOperation("查询用户列表")
     @GetMapping("/getCompanyUserList")
     public R getCompanyUserList(@RequestParam(required = false, defaultValue = "1") Integer pageNum,
                                 @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
-        log.debug("下级用户列表 pageNum: {}, pageSize: {}", pageNum, pageSize);
-        PageHelper.startPage(pageNum, pageSize);
-        List<CompanyUser> companyUsers = companyUserService.selectCompanySubUserList(Long.parseLong(getUserId()));
+        log.debug("查询用户列表 pageNum: {}, pageSize: {}", pageNum, pageSize);
+
+        Long userId = Long.parseLong(getUserId());
+        CompanyUser companyUser = companyUserService.selectCompanyUserById(userId);
+        List<CompanyRole> companyRoles = companyRoleMapper.selectRolePermissionByUserId(userId);
+        List<CompanyUser> companyUsers;
+
+        // 判断是否管理员 或者包含 1:全部数据权限
+        if (companyUser.isAdmin() || companyRoles.stream().anyMatch(r -> "1".equals(r.getDataScope()))) {
+            PageHelper.startPage(pageNum, pageSize);
+            companyUsers = companyUserService.getCompanyUserListByDeptId(null);
+        }
+        // 判断是否包含 3:本部门数据权限 4:本部门及以下数据权限
+        else if (companyRoles.stream().anyMatch(r -> "3".equals(r.getDataScope()) || "4".equals(r.getDataScope()))) {
+            PageHelper.startPage(pageNum, pageSize);
+            companyUsers = companyUserService.getCompanyUserListByDeptId(companyUser.getDeptId());
+        }
+        // 默认空 -- 判断是否包含 5:仅可查看本人
+        else {
+            companyUsers = new ArrayList<>();
+        }
         PageInfo<CompanyUser> page = new PageInfo<>(companyUsers);
 
         // 转换对象

+ 8 - 2
fs-company-app/src/main/java/com/fs/app/controller/UserController.java

@@ -271,12 +271,16 @@ public class UserController extends AppBaseController {
         List<UserVO> users = new ArrayList<>();
         for (CompanyUserVO u : list) {
             UserVO vo = new UserVO();
-            vo.setDeptName(u.getDept().getDeptName());
+            if (Objects.nonNull(u.getDept())) {
+                vo.setDeptName(u.getDept().getDeptName());
+            }
             vo.setFirstLetter(PinYinUtil.cn2py(u.getNickName().substring(0, 1)));
             vo.setNickName(u.getNickName());
             vo.setUserId(u.getUserId());
             vo.setAvatar(u.getAvatar());
-            vo.setRegisterTime(u.getCreateTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
+            if (Objects.nonNull(u.getCreateTime())) {
+                vo.setRegisterTime(u.getCreateTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
+            }
             vo.setStatus(u.getStatus());
             vo.setPhoneNumber(u.getPhonenumber());
             vo.setIsAudit(u.getIsAudit());
@@ -419,6 +423,8 @@ public class UserController extends AppBaseController {
             user.setPhonenumber(param.getMobile());
             user.setEmail(param.getEmail());
             user.setSex(param.getSex());
+            user.setNickName(param.getNickName());
+            user.setQrCodeWeixin(param.getQrCodeWeixin());
             if (userService.updateUserProfile(user) > 0) {
                 return R.ok("修改成功");
             } else {

+ 4 - 2
fs-company-app/src/main/java/com/fs/app/param/EditUserInfoParam.java

@@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
 
 @Data
@@ -18,5 +17,8 @@ public class EditUserInfoParam implements Serializable {
     private String mobile;
     @ApiModelProperty(value = "用户邮箱")
     private String email;
-
+    @ApiModelProperty(value = "微信二维码")
+    private String qrCodeWeixin;
+    @ApiModelProperty(value = "用户昵称")
+    private String nickName;
 }

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

@@ -281,4 +281,11 @@ public interface CompanyUserMapper
                                         @Param("previousDay") LocalDate previousDay);
 
     List<CompanyUser> selectCompanyUserByDeptId(@Param("deptId") Long deptId);
+
+    /**
+     * 根据部门ID查询销售列表
+     * @param deptId    部门ID
+     * @return  list
+     */
+    List<CompanyUser> selectAllCompanyUserByDeptId(@Param("deptId") Long deptId);
 }

+ 3 - 3
fs-service-system/src/main/java/com/fs/company/service/ICompanyUserService.java

@@ -155,11 +155,11 @@ public interface ICompanyUserService {
     void auditUsers(List<Long> userIds);
 
     /**
-     * 查询下级销售列表
-     * @param companyUserId 销售ID
+     * 查询销售列表
+     * @param deptId 部门ID
      * @return list
      */
-    List<CompanyUser> selectCompanySubUserList(Long companyUserId);
+    List<CompanyUser> getCompanyUserListByDeptId(Long deptId);
 
     List<CompanyUser> getAllUserListLimit(Long companyId, String keywords);
 

+ 4 - 7
fs-service-system/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java

@@ -1,7 +1,5 @@
 package com.fs.company.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fs.common.annotation.DataScope;
 import com.fs.common.core.domain.R;
 import com.fs.common.exception.CustomException;
@@ -22,7 +20,6 @@ import com.fs.his.vo.CitysAreaVO;
 import com.fs.his.vo.OptionsVO;
 import com.fs.qw.vo.CompanyUserQwVO;
 import com.fs.qw.vo.QwUserVO;
-import com.fs.his.vo.OptionsVO;
 import com.fs.store.mapper.FsUserMapper;
 import com.fs.store.service.IFsCityService;
 import com.fs.system.oss.CloudStorageService;
@@ -532,13 +529,13 @@ public class CompanyUserServiceImpl implements ICompanyUserService
     }
 
     /**
-     * 查询下级销售列表
-     * @param companyUserId 销售ID
+     * 查询销售列表
+     * @param deptId 部门ID
      * @return list
      */
     @Override
-    public List<CompanyUser> selectCompanySubUserList(Long companyUserId) {
-        return companyUserMapper.selectAllCompanyUserByParentId(companyUserId);
+    public List<CompanyUser> getCompanyUserListByDeptId(Long deptId) {
+        return companyUserMapper.selectAllCompanyUserByDeptId(deptId);
     }
 
 }

+ 7 - 0
fs-service-system/src/main/resources/mapper/company/CompanyUserMapper.xml

@@ -541,6 +541,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select * from company_user where dept_id = ${deptId} and status='0'
     </select>
 
+    <select id="selectAllCompanyUserByDeptId" resultType="com.fs.company.domain.CompanyUser">
+        select * from company_user where del_flag = '0'
+        <if test="deptId != null">
+            and dept_id = #{deptId}
+        </if>
+    </select>
+
     <update id="setIsRegisterMember" parameterType="Long">
         update company_user
         set is_need_register_member = #{status} where user_id in