xucaiqin 1 miesiąc temu
rodzic
commit
cc433dc01e
21 zmienionych plików z 348 dodań i 85 usunięć
  1. 16 0
      sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java
  2. 37 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/RoleChangeVo.java
  3. 2 0
      sckw-auth/src/main/java/com/sckw/auth/service/IAuthService.java
  4. 32 3
      sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java
  5. 105 0
      sckw-auth/src/main/java/com/sckw/auth/service/impl/UserService.java
  6. 16 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/DateTimeUtil.java
  7. 1 0
      sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java
  8. 1 1
      sckw-common/sckw-common-remote/src/main/java/com/sckw/remote/annotation/SckwRemoteApplication.java
  9. 6 1
      sckw-modules-api/sckw-modules-bom/pom.xml
  10. 1 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java
  11. 26 5
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteUserService.java
  12. 1 1
      sckw-modules/sckw-message/pom.xml
  13. 2 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java
  14. 13 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java
  15. 20 3
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java
  16. 13 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteUserServiceImpl.java
  17. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindEntListPojo.java
  18. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntRegisterReqVo.java
  19. 31 52
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  20. 18 8
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java
  21. 5 5
      sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

+ 16 - 0
sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java

@@ -47,6 +47,22 @@ public class AuthController {
         return authService.login(loginBase);
         return authService.login(loginBase);
     }
     }
 
 
+    /**
+     * 切换角色
+     *
+     * @param reqVo
+     * @return
+     */
+    @PostMapping("/changeRole")
+    public HttpResult changeRole(@Valid @RequestBody RoleChangeVo reqVo, HttpServletRequest request) {
+        int systemType = request.getIntHeader("System-Type");
+        String clientType = request.getHeader("Client-Type");
+
+        reqVo.setSystemType(systemType);
+        reqVo.setClientType(clientType);
+        return authService.changeRole(reqVo);
+    }
+
     /**
     /**
      * @return HttpResult
      * @return HttpResult
      * @desc: 根据token获取登录信息
      * @desc: 根据token获取登录信息

+ 37 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/RoleChangeVo.java

@@ -0,0 +1,37 @@
+package com.sckw.auth.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 登录接口入参
+ * @date 2023/6/12
+ */
+@Data
+public class RoleChangeVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6021472117198868910L;
+
+    /**
+     * 角色id
+     */
+    @NotNull(message = "角色id不能为空")
+    private Long roleId;
+    @NotNull(message = "企业id不能为空")
+    private Long entId;
+
+    /**
+     * 系统类型(1 运营管理中心/2 运营管理中心/3 司机应用/4 官网)
+     */
+    private int systemType;
+
+    /**
+     * 客户端类型(ios 苹果设备/android 安卓设备/pc 浏览器/pc-background 管理系统)
+     */
+    private String clientType;
+}

+ 2 - 0
sckw-auth/src/main/java/com/sckw/auth/service/IAuthService.java

@@ -51,4 +51,6 @@ public interface IAuthService {
      * @date: 2023/9/27
      * @date: 2023/9/27
      */
      */
     LoginResVo1 getLoginResByToken(String clientType, String token);
     LoginResVo1 getLoginResByToken(String clientType, String token);
+
+    HttpResult changeRole(RoleChangeVo reqVo);
 }
 }

+ 32 - 3
sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java

@@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.sckw.auth.model.vo.req.ForgetPasswordReqVo;
 import com.sckw.auth.model.vo.req.ForgetPasswordReqVo;
 import com.sckw.auth.model.vo.req.LoginBase;
 import com.sckw.auth.model.vo.req.LoginBase;
-import com.sckw.auth.model.vo.req.RegisterReqVo;
+import com.sckw.auth.model.vo.req.RoleChangeVo;
 import com.sckw.auth.model.vo.res.LoginResVo;
 import com.sckw.auth.model.vo.res.LoginResVo;
 import com.sckw.auth.model.vo.res.LoginResVo1;
 import com.sckw.auth.model.vo.res.LoginResVo1;
 import com.sckw.auth.service.IAuthService;
 import com.sckw.auth.service.IAuthService;
@@ -28,14 +28,12 @@ import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.req.ForgetPasswordReqDto;
 import com.sckw.system.api.model.dto.req.ForgetPasswordReqDto;
-import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.req.UserLoginReqDto;
 import com.sckw.system.api.model.dto.req.UserLoginReqDto;
 import com.sckw.system.api.model.dto.res.*;
 import com.sckw.system.api.model.dto.res.*;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.redisson.api.RSet;
 import org.redisson.api.RSet;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -407,6 +405,35 @@ public class AuthServiceImpl implements IAuthService {
         return loginRes;
         return loginRes;
     }
     }
 
 
+    @Override
+    public HttpResult changeRole(RoleChangeVo reqVo) {
+        KwsUserResDto user = systemService.queryUserDetails(LoginUserHolder.getAccount(), LoginUserHolder.getSystemType());
+
+        /*信息校验**/
+        if (user == null) {
+            return HttpResult.error(HttpStatus.QUERY_FAIL_CODE, "账号不存在,请检查并重新输入!");
+        }
+
+        if (user.getStatus() == Global.YES) {
+            return HttpResult.error(HttpStatus.CODE_10301, "您的账号已冻结,如需帮助,请致电平台客服!");
+        }
+
+        //企业信息
+        EntCacheResDto enterprise = systemService.queryEntDetails(reqVo.getEntId());
+        if (Objects.equals(LoginUserHolder.getSystemType(), SystemTypeEnum.COMPANY.getCode())) {
+            if (enterprise == null) {
+                return HttpResult.error(HttpStatus.QUERY_FAIL_CODE, "账号没有归属企业,请检查并重新输入!");
+            }
+        }
+        if (enterprise != null && enterprise.getStatus() == Global.YES) {
+            return HttpResult.error(HttpStatus.QUERY_FAIL_CODE, "企业已冻结,如需帮助,请致电平台客服!");
+        }
+
+        UserService userService = new UserService(reqVo, user, enterprise, remoteUserService);
+        userService.run();
+        return HttpResult.ok("切换成功,请刷新菜单");
+    }
+
     /**
     /**
      * @param loginBase {}
      * @param loginBase {}
      * @param userId    用户ID
      * @param userId    用户ID
@@ -526,6 +553,8 @@ public class AuthServiceImpl implements IAuthService {
             loginUserInfo.setStatus(user.getStatus());
             loginUserInfo.setStatus(user.getStatus());
             loginUserInfo.setIsMain(user.getIsMain());
             loginUserInfo.setIsMain(user.getIsMain());
             loginUserInfo.setEntId(user.getEntId());
             loginUserInfo.setEntId(user.getEntId());
+            loginUserInfo.setUseRoleId(user.getRoleId());
+            loginUserInfo.setUseEntId(user.getEntId());
             loginUserInfo.setEntName(enterprise != null ? enterprise.getFirmName() : null);
             loginUserInfo.setEntName(enterprise != null ? enterprise.getFirmName() : null);
 
 
             //普通用户需要填充数据权限
             //普通用户需要填充数据权限

+ 105 - 0
sckw-auth/src/main/java/com/sckw/auth/service/impl/UserService.java

@@ -0,0 +1,105 @@
+package com.sckw.auth.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSON;
+import com.sckw.auth.model.vo.req.RoleChangeVo;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.model.LoginUserInfo;
+import com.sckw.redis.utils.RedissonUtils;
+import com.sckw.system.api.RemoteUserService;
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.system.api.model.dto.res.KwsUserResDto;
+import com.sckw.system.api.model.dto.res.UserAccessMenuInfoResDto;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author xucaiqin
+ * @date 2025-11-15 10:28:35
+ */
+@Slf4j
+public class UserService {
+    private final RoleChangeVo loginBase;
+
+    private final KwsUserResDto user;
+
+
+    private final EntCacheResDto enterprise;
+
+    private final RemoteUserService remoteUserService;
+
+    public UserService(RoleChangeVo loginBase, KwsUserResDto user, EntCacheResDto enterprise,
+                       RemoteUserService remoteUserService) {
+        this.loginBase = loginBase;
+        this.user = user;
+        this.enterprise = enterprise;
+        this.remoteUserService = remoteUserService;
+    }
+
+    public void run() {
+        if (user == null) {
+            return;
+        }
+        //存用户登录信息
+        LoginUserInfo loginUserInfo = new LoginUserInfo();
+        loginUserInfo.setId(user.getId());
+        loginUserInfo.setSystemType(loginBase.getSystemType());
+        loginUserInfo.setClientType(loginBase.getClientType());
+        loginUserInfo.setAccount(user.getPhone());
+        loginUserInfo.setUserName(user.getName());
+        loginUserInfo.setPhone(user.getPhone());
+        loginUserInfo.setStatus(user.getStatus());
+        loginUserInfo.setIsMain(user.getIsMain());
+        loginUserInfo.setEntId(user.getEntId());
+        loginUserInfo.setUseRoleId(loginBase.getRoleId());
+        loginUserInfo.setUseEntId(loginBase.getEntId());
+        loginUserInfo.setEntName(enterprise != null ? enterprise.getFirmName() : null);
+
+        //普通用户需要填充数据权限 //11.15 用户id数据权限已经去掉
+//        if (user.getIsMain().equals(Global.NO)) {
+//            loginUserInfo.setAuthUserIdList(remoteUserService.queryAuthUserList(user.getId()));
+//        } else {
+//            List<FindEntUserResDto> entUser = remoteUserService.findEntUser(user.getEntId());
+//            if (CollectionUtils.isNotEmpty(entUser)) {
+//                loginUserInfo.setAuthUserIdList(entUser.stream().map(FindEntUserResDto::getUserId).distinct().toList());
+//            }
+//        }
+        saveEntList(loginUserInfo);
+        String key = Global.getFullUserLoginKey(loginUserInfo.getSystemType(), loginUserInfo.getId());
+        RedissonUtils.putString(key, JSON.toJSONString(loginUserInfo), Global.APP_TOKEN_EXPIRE);
+        //存缓存请求地址
+        saveMenusToCache(user.getId(), loginUserInfo.getSystemType(), loginBase.getRoleId());
+    }
+
+
+    private void saveEntList(LoginUserInfo loginUserInfo) {
+        List<Long> childEntList = remoteUserService.findChildEntList(loginUserInfo.getUseEntId());
+        if (CollUtil.isNotEmpty(childEntList)) {
+            loginUserInfo.setChildEntList(childEntList);
+        }
+    }
+
+    private void saveMenusToCache(Long userId, Integer systemType, Long roleId) {
+        //存权限菜单
+        List<UserAccessMenuInfoResDto> userAccessMenuInfo = remoteUserService.queryRoleMenu(roleId);
+        if (CollectionUtils.isEmpty(userAccessMenuInfo)) {
+            RedissonUtils.delete(Global.REDIS_SYS_MENU_PREFIX + systemType + Global.COLON + userId);
+            log.error("未查询到用户 [{}] 角色 [{}] 的菜单权限", userId, roleId);
+            return;
+        }
+
+        List<String> menus = new ArrayList<>();
+        for (UserAccessMenuInfoResDto userAccessMenuInfoResDto : userAccessMenuInfo) {
+            String links = userAccessMenuInfoResDto.getLinks();
+            if (StringUtils.isNotBlank(links)) {
+                menus.addAll(Arrays.asList(userAccessMenuInfoResDto.getLinks().split(",")));
+            }
+        }
+        RedissonUtils.putSet(Global.REDIS_SYS_MENU_PREFIX + userId, menus);
+    }
+}

+ 16 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/DateTimeUtil.java

@@ -4,6 +4,7 @@ package com.sckw.core.utils;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.LocalTime;
+import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.TemporalAdjusters;
 import java.time.temporal.TemporalAdjusters;
@@ -301,6 +302,21 @@ public class DateTimeUtil {
         return dateRange;
         return dateRange;
     }
     }
 
 
+    /**
+     * 获取当前时间到次日00:00剩余多少秒
+     *
+     * @return
+     */
+    public static long getTime() {
+        // 当前时间
+        LocalDateTime now = LocalDateTime.now();
+        // 次日 00:00
+        LocalDateTime nextMidnight = now.plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0);
+        // 转换为毫秒数并计算差值
+        return (nextMidnight.toInstant(ZoneOffset.of("+8")).toEpochMilli()
+                - now.toInstant(ZoneOffset.of("+8")).toEpochMilli()) / 1000;
+    }
+
     public static void main(String[] args) {
     public static void main(String[] args) {
 
 
         System.out.println(parse("2023-12-11"));
         System.out.println(parse("2023-12-11"));

+ 1 - 0
sckw-common/sckw-common-redis/src/main/java/com/sckw/redis/constant/RedisConstant.java

@@ -122,5 +122,6 @@ public class RedisConstant {
      * uid:filter:channel->time
      * uid:filter:channel->time
      */
      */
     public static final String WALLET_TIME = "%s:%s:%s";
     public static final String WALLET_TIME = "%s:%s:%s";
+    public static final String HOT_KEY = "hot:key";
 
 
 }
 }

+ 1 - 1
sckw-common/sckw-common-remote/src/main/java/com/sckw/remote/annotation/SckwRemoteApplication.java

@@ -12,6 +12,6 @@ import java.lang.annotation.*;
 @Inherited
 @Inherited
 @EnableDubbo
 @EnableDubbo
 @EnableFeignClients({"com.sckw.*.api.feign"})
 @EnableFeignClients({"com.sckw.*.api.feign"})
-@ComponentScan(basePackages = {"com.sckw.message.consumer","com.sckw.file.config", "com.sckw.payment.config", "com.sckw.fleet.config", "com.sckw.remote.filter", "com.sckw.*.controller", "com.sckw.*.service", "com.sckw.*.repository", "com.sckw.*.dubbo", "com.sckw.*.model", "com.sckw.transport.*", "com.sckw.*.serivce"})
+@ComponentScan(basePackages = {"com.sckw.message.consumer","com.sckw.file.config", "com.sckw.payment.config", "com.sckw.fleet.config", "com.sckw.remote.filter", "com.sckw.*.dao","com.sckw.*.controller", "com.sckw.*.service", "com.sckw.*.repository", "com.sckw.*.dubbo", "com.sckw.*.model", "com.sckw.transport.*", "com.sckw.*.serivce"})
 public @interface SckwRemoteApplication {
 public @interface SckwRemoteApplication {
 }
 }

+ 6 - 1
sckw-modules-api/sckw-modules-bom/pom.xml

@@ -62,6 +62,11 @@
                 <artifactId>sckw-manage-api</artifactId>
                 <artifactId>sckw-manage-api</artifactId>
                 <version>${project.version}</version>
                 <version>${project.version}</version>
             </dependency>
             </dependency>
+            <dependency>
+                <groupId>com.sckw</groupId>
+                <artifactId>sckw-product-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
         </dependencies>
         </dependencies>
     </dependencyManagement>
     </dependencyManagement>
-</project>
+</project>

+ 1 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java

@@ -75,6 +75,7 @@ public interface RemoteSystemService {
      * @date: 2023/7/7
      * @date: 2023/7/7
      */
      */
     List<SysDictResDto> queryDictBottom(String type, String value);
     List<SysDictResDto> queryDictBottom(String type, String value);
+    List<SysDictResDto> queryGoodsDict(String keywords);
 
 
     /**
     /**
      * @param type 字典类型 value key
      * @param type 字典类型 value key

+ 26 - 5
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteUserService.java

@@ -17,6 +17,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 根据用户名查用户信息
      * 根据用户名查用户信息
+     *
      * @param username 用户账号
      * @param username 用户账号
      * @return
      * @return
      */
      */
@@ -24,6 +25,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 根据用户姓名模糊查用户信息
      * 根据用户姓名模糊查用户信息
+     *
      * @param name 用户姓名
      * @param name 用户姓名
      * @return list
      * @return list
      */
      */
@@ -31,6 +33,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 根据用户id查用户和机构关联关系
      * 根据用户id查用户和机构关联关系
+     *
      * @param userId 用户id
      * @param userId 用户id
      * @return
      * @return
      */
      */
@@ -38,6 +41,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 根据机构id查机构信息
      * 根据机构id查机构信息
+     *
      * @param ids
      * @param ids
      * @return
      * @return
      */
      */
@@ -53,15 +57,17 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 校验密码
      * 校验密码
-     * @param account 入参传的账号
-     * @param password 入参传的密码
+     *
+     * @param account    入参传的账号
+     * @param password   入参传的密码
      * @param currentPwd 当前用户的密码
      * @param currentPwd 当前用户的密码
-     * @param salt 当前用户的盐
+     * @param salt       当前用户的盐
      */
      */
     void checkPassword(String account, String password, String currentPwd, String salt) throws SystemException;
     void checkPassword(String account, String password, String currentPwd, String salt) throws SystemException;
 
 
     /**
     /**
      * 检验用户信息
      * 检验用户信息
+     *
      * @param account
      * @param account
      * @return
      * @return
      */
      */
@@ -69,6 +75,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 根基id查企业
      * 根基id查企业
+     *
      * @param entId
      * @param entId
      * @return
      * @return
      */
      */
@@ -92,9 +99,17 @@ public interface RemoteUserService {
      */
      */
     List<UserAccessMenuInfoResDto> queryUserAccessMenu(long id);
     List<UserAccessMenuInfoResDto> queryUserAccessMenu(long id);
 
 
+    /**
+     * 查询角色对一个你的菜单
+     *
+     * @param roleId
+     * @return
+     */
+    List<UserAccessMenuInfoResDto> queryRoleMenu(Long roleId);
+
 
 
     /**
     /**
-     * @param userLoginReqDto  用户登录信息
+     * @param userLoginReqDto 用户登录信息
      * @desc: 保存用户登录信息
      * @desc: 保存用户登录信息
      * @author: czh
      * @author: czh
      * @date: 2023/6/19
      * @date: 2023/6/19
@@ -232,7 +247,7 @@ public interface RemoteUserService {
     List<Long> findEntIds(List<Integer> entTypes, String firmName);
     List<Long> findEntIds(List<Integer> entTypes, String firmName);
 
 
     /**
     /**
-     * @param entIds 企业ID
+     * @param entIds   企业ID
      * @param userName 用户名称
      * @param userName 用户名称
      * @desc 根据企业ID或用户名称搜索用户ID(适用于关键字搜索)
      * @desc 根据企业ID或用户名称搜索用户ID(适用于关键字搜索)
      * @author zk
      * @author zk
@@ -243,6 +258,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)
+     *
      * @param userId 客户经理id
      * @param userId 客户经理id
      * @return list 企业id数组
      * @return list 企业id数组
      */
      */
@@ -250,6 +266,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)-判断是不是管理员账户
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)-判断是不是管理员账户
+     *
      * @param userId 客户经理id
      * @param userId 客户经理id
      * @return list 企业id数组
      * @return list 企业id数组
      */
      */
@@ -257,6 +274,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)
+     *
      * @param userIds 客户经理id
      * @param userIds 客户经理id
      * @return list 企业id数组
      * @return list 企业id数组
      */
      */
@@ -264,6 +282,7 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)
      * 通过用户id查询所有的企业信息(传递的是客户经理用户的id)
+     *
      * @param userIds 客户经理id
      * @param userIds 客户经理id
      * @return list 企业id数组
      * @return list 企业id数组
      */
      */
@@ -271,12 +290,14 @@ public interface RemoteUserService {
 
 
     /**
     /**
      * 通过账号类型查出相关所有的企业账户
      * 通过账号类型查出相关所有的企业账户
+     *
      * @param systemType
      * @param systemType
      * @return
      * @return
      */
      */
     List<Long> selectUserBySystemType(Integer systemType);
     List<Long> selectUserBySystemType(Integer systemType);
 
 
     List<Long> findAllEnterprise();
     List<Long> findAllEnterprise();
+
     List<Long> findChildEntList(Long entId);
     List<Long> findChildEntList(Long entId);
 
 
     List<Long> findEntListByUserId(Long userId);
     List<Long> findEntListByUserId(Long userId);

+ 1 - 1
sckw-modules/sckw-message/pom.xml

@@ -114,4 +114,4 @@
             </plugin>
             </plugin>
         </plugins>
         </plugins>
     </build>
     </build>
-</project>
+</project>

+ 2 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -376,6 +376,7 @@ public class KwsEnterpriseController {
      * @return
      * @return
      */
      */
     @GetMapping("/query")
     @GetMapping("/query")
+    @Operation(summary = "通过企业名称精确查询企业信息")
     public BaseResult<EntInfo> query(@RequestParam("entName") String entName) {
     public BaseResult<EntInfo> query(@RequestParam("entName") String entName) {
         return BaseResult.success(kwsEntService.queryEnt(entName));
         return BaseResult.success(kwsEntService.queryEnt(entName));
     }
     }
@@ -389,7 +390,7 @@ public class KwsEnterpriseController {
         return BaseResult.success(kwsEntService.childEnt());
         return BaseResult.success(kwsEntService.childEnt());
     }
     }
     /**
     /**
-     * 查询企业及子企业数据
+     * 查询所有母企业
      * @return
      * @return
      */
      */
     @GetMapping("/list")
     @GetMapping("/list")

+ 13 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java

@@ -1,6 +1,5 @@
 package com.sckw.system.controller;
 package com.sckw.system.controller;
 
 
-import com.sckw.core.exception.SystemException;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.vo.req.EditRoleReqVo;
 import com.sckw.system.model.vo.req.EditRoleReqVo;
@@ -11,10 +10,12 @@ import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
+
 import java.util.HashMap;
 import java.util.HashMap;
 
 
 /**
 /**
  * 角色
  * 角色
+ *
  * @author zk
  * @author zk
  * @date 2023-05-31
  * @date 2023-05-31
  */
  */
@@ -37,6 +38,16 @@ public class KwsRoleController {
         return HttpResult.ok(kwsRoleService.selectByKey(id));
         return HttpResult.ok(kwsRoleService.selectByKey(id));
     }
     }
 
 
+    /**
+     * 查询当前企业拥有的角色列表
+     *
+     * @return
+     */
+    @GetMapping("/list")
+    public HttpResult list(Long entId) {
+        return HttpResult.ok(kwsRoleService.queryList(entId));
+    }
+
     /**
     /**
      * @param params {page:页数、pageSize:每页条数、。。。}
      * @param params {page:页数、pageSize:每页条数、。。。}
      * @return
      * @return
@@ -89,7 +100,7 @@ public class KwsRoleController {
     }
     }
 
 
     /**
     /**
-     * @param  reqVo 多个角色用","隔开
+     * @param reqVo 多个角色用","隔开
      * @return HttpResult
      * @return HttpResult
      * @desc: 用戶分配角色
      * @desc: 用戶分配角色
      * @author: czh
      * @author: czh

+ 20 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -1,5 +1,6 @@
 package com.sckw.system.dubbo;
 package com.sckw.system.dubbo;
 
 
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
@@ -233,6 +234,24 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         return BeanUtils.copyToList(checkNextLevelDict(sysDictGroupResDto.getChild()), SysDictResDto.class);
         return BeanUtils.copyToList(checkNextLevelDict(sysDictGroupResDto.getChild()), SysDictResDto.class);
     }
     }
 
 
+    @Override
+    public List<SysDictResDto> queryGoodsDict(String keywords) {
+        if (StringUtils.isBlank(keywords)) {
+            return Collections.emptyList();
+        }
+        //industry_type  classification_type product_name_type
+        List<SysDictResDto> sysDictResDtos1 = queryDictByType("industry_type");
+        List<SysDictResDto> collect = sysDictResDtos1.stream().filter(d -> StrUtil.contains(d.getLabel(), keywords)).toList();
+        List<SysDictResDto> res = new ArrayList<>(collect);
+        List<SysDictResDto> sysDictResDtos2 = queryDictByType("classification_type");
+        List<SysDictResDto> collect2 = sysDictResDtos2.stream().filter(d -> StrUtil.contains(d.getLabel(), keywords)).toList();
+        res.addAll(collect2);
+        List<SysDictResDto> sysDictResDtos3 = queryDictByType("product_name_type");
+        List<SysDictResDto> collect3 = sysDictResDtos3.stream().filter(d -> StrUtil.contains(d.getLabel(), keywords)).toList();
+        res.addAll(collect3);
+        return res;
+    }
+
     @Override
     @Override
     public List<SysDictResDto> queryDictFrontAll(String type, String value) {
     public List<SysDictResDto> queryDictFrontAll(String type, String value) {
         if (StringUtils.isBlank(type) || StringUtils.isBlank(value)) {
         if (StringUtils.isBlank(type) || StringUtils.isBlank(value)) {
@@ -885,13 +904,11 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
     }
     }
 
 
     @Override
     @Override
-    public  List<KwsEnterpriseResDto> queryEntListByEntIds(List<Long> entIds) {
+    public List<KwsEnterpriseResDto> queryEntListByEntIds(List<Long> entIds) {
         return remoteBaseService.queryEntListByEntIds(entIds);
         return remoteBaseService.queryEntListByEntIds(entIds);
     }
     }
 
 
 
 
-
-
     @Override
     @Override
     public EntTypeResDto queryEntTypeById(Long entId) {
     public EntTypeResDto queryEntTypeById(Long entId) {
         return remoteBaseService.queryEntTypeById(entId).get(0);
         return remoteBaseService.queryEntTypeById(entId).get(0);

+ 13 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteUserServiceImpl.java

@@ -85,7 +85,6 @@ public class RemoteUserServiceImpl implements RemoteUserService {
     public List<KwsRoleResDto> queryRoleInfoByUserId(Long userId) {
     public List<KwsRoleResDto> queryRoleInfoByUserId(Long userId) {
         return remoteBaseService.queryRoleInfoByUserId(userId);
         return remoteBaseService.queryRoleInfoByUserId(userId);
     }
     }
-
     @Override
     @Override
     public List<UserAccessMenuInfoResDto> queryUserAccessMenu(long id) {
     public List<UserAccessMenuInfoResDto> queryUserAccessMenu(long id) {
         FindMenuTreePojo findMenuTreePojo = new FindMenuTreePojo();
         FindMenuTreePojo findMenuTreePojo = new FindMenuTreePojo();
@@ -103,6 +102,19 @@ public class RemoteUserServiceImpl implements RemoteUserService {
         return BeanUtils.copyToList(kwsMenuResVos, UserAccessMenuInfoResDto.class);
         return BeanUtils.copyToList(kwsMenuResVos, UserAccessMenuInfoResDto.class);
     }
     }
 
 
+    @Override
+    public List<UserAccessMenuInfoResDto> queryRoleMenu(Long roleId) {
+        FindMenuTreePojo findMenuTreePojo = new FindMenuTreePojo();
+        findMenuTreePojo.setRoleIds(Collections.singletonList(roleId));
+
+        List<KwsMenuResVo> kwsMenuResVos = kwsMenuService.findList(findMenuTreePojo);
+        if (CollectionUtils.isEmpty(kwsMenuResVos)) {
+            return Collections.emptyList();
+        }
+
+        return BeanUtils.copyToList(kwsMenuResVos, UserAccessMenuInfoResDto.class);
+    }
+
     @Override
     @Override
     public void forgetPassword(ForgetPasswordReqDto reqDto) throws SystemException {
     public void forgetPassword(ForgetPasswordReqDto reqDto) throws SystemException {
         com.sckw.system.model.vo.req.ForgetPasswordReqVo forgetPasswordReqVo = new ForgetPasswordReqVo();
         com.sckw.system.model.vo.req.ForgetPasswordReqVo forgetPasswordReqVo = new ForgetPasswordReqVo();

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindEntListPojo.java

@@ -211,6 +211,6 @@ public class FindEntListPojo {
     /**
     /**
      * 母企业名
      * 母企业名
      */
      */
-    private String pEntName;
+    private String pentName;
 
 
 }
 }

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntRegisterReqVo.java

@@ -29,7 +29,7 @@ public class EntRegisterReqVo implements Serializable {
     /**
     /**
      * 母公司id(当注册的公司是一家子公司时,entPid必传)
      * 母公司id(当注册的公司是一家子公司时,entPid必传)
      */
      */
-    private Long entPid;
+    private Long pid;
 
 
     /**
     /**
      * 企业编号
      * 企业编号

+ 31 - 52
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -351,10 +351,7 @@ public class KwsEnterpriseService {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_026);
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_026);
         }
         }
         //校验统一社会信用代码
         //校验统一社会信用代码
-        KwsEnterprise kwsEnterprise1 = kwsEnterpriseDao.selectOne(new LambdaQueryWrapper<KwsEnterprise>()
-                .eq(KwsEnterprise::getCreditCode, reqVo.getOrgCode())
-                .eq(KwsEnterprise::getStatus, 0)
-                .eq(KwsEnterprise::getDelFlag, Global.UN_DELETED));
+        KwsEnterprise kwsEnterprise1 = kwsEnterpriseDao.selectOne(new LambdaQueryWrapper<KwsEnterprise>().eq(KwsEnterprise::getCreditCode, reqVo.getOrgCode()).eq(KwsEnterprise::getStatus, 0).eq(KwsEnterprise::getDelFlag, Global.UN_DELETED));
         if (Objects.nonNull(kwsEnterprise1) && !Objects.equals(kwsEnterprise1.getId(), reqVo.getEntId())) {
         if (Objects.nonNull(kwsEnterprise1) && !Objects.equals(kwsEnterprise1.getId(), reqVo.getEntId())) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.ENT_CODE);
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.ENT_CODE);
         }
         }
@@ -442,27 +439,23 @@ public class KwsEnterpriseService {
 
 
         /*2、存企业类型,一个企业可以有多个类型*/
         /*2、存企业类型,一个企业可以有多个类型*/
         List<KwsEntType> listByEntId = kwsEntTypeDao.findListByEntId(entId);
         List<KwsEntType> listByEntId = kwsEntTypeDao.findListByEntId(entId);
-        List<Integer> currentTypeList = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(listByEntId)) {
         if (CollectionUtils.isNotEmpty(listByEntId)) {
-            currentTypeList.addAll(listByEntId.stream().map(KwsEntType::getType).toList());
+            kwsEntTypeDao.deleteBatchIds(listByEntId.stream().map(KwsEntType::getId).collect(Collectors.toList()));
         }
         }
-        Integer type = Integer.parseInt(reqVo.getEntTypes());//只能单选
-
 
 
-        if (!currentTypeList.contains(type)) {
-            KwsEntType kwsEntType = new KwsEntType();
-            kwsEntType.setEntId(entId);
-            kwsEntType.setType(type);
-            kwsEntType.setId(new IdWorker(1).nextId());
-            kwsEntType.setStatus(ApprovalEnum.PROCESS.getCode());
-            kwsEntType.setCreateBy(userId);
-            kwsEntType.setCreateTime(date);
-            kwsEntType.setUpdateBy(userId);
-            kwsEntType.setUpdateTime(date);
-            kwsEntType.setDelFlag(Global.NO);
-            if (kwsEntTypeDao.insert(kwsEntType) <= 0) {
-                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
-            }
+        Integer type = Integer.parseInt(reqVo.getEntTypes());//只能单选
+        KwsEntType kwsEntType = new KwsEntType();
+        kwsEntType.setEntId(entId);
+        kwsEntType.setType(type);
+        kwsEntType.setId(new IdWorker(1).nextId());
+        kwsEntType.setStatus(ApprovalEnum.PROCESS.getCode());
+        kwsEntType.setCreateBy(userId);
+        kwsEntType.setCreateTime(date);
+        kwsEntType.setUpdateBy(userId);
+        kwsEntType.setUpdateTime(date);
+        kwsEntType.setDelFlag(Global.NO);
+        if (kwsEntTypeDao.insert(kwsEntType) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
         }
         }
 
 
         /*3、存企业证书*/
         /*3、存企业证书*/
@@ -1117,17 +1110,13 @@ public class KwsEnterpriseService {
             }
             }
 //            kwsEnterprises = kwsEnterprises.stream().filter(item -> !entIds.contains(item.getId())).collect(Collectors.toList());
 //            kwsEnterprises = kwsEnterprises.stream().filter(item -> !entIds.contains(item.getId())).collect(Collectors.toList());
             List<Long> longList = kwsEnterprises.stream().map(KwsEnterprise::getId).distinct().collect(Collectors.toList());
             List<Long> longList = kwsEnterprises.stream().map(KwsEnterprise::getId).distinct().collect(Collectors.toList());
-            List<Long> intersection = longList.stream()
-                    .filter(entIds::contains)
-                    .collect(Collectors.toList());
+            List<Long> intersection = longList.stream().filter(entIds::contains).collect(Collectors.toList());
             kwsEnterprises = kwsEnterpriseDao.selectByKeys(intersection);
             kwsEnterprises = kwsEnterpriseDao.selectByKeys(intersection);
         } else {
         } else {
             //求交集数据
             //求交集数据
             List<Long> entIds = remoteSystemService.queryEntIdsByCode(accessSpecial, null);
             List<Long> entIds = remoteSystemService.queryEntIdsByCode(accessSpecial, null);
             List<Long> longList = kwsEnterprises.stream().map(KwsEnterprise::getId).distinct().collect(Collectors.toList());
             List<Long> longList = kwsEnterprises.stream().map(KwsEnterprise::getId).distinct().collect(Collectors.toList());
-            List<Long> intersection = longList.stream()
-                    .filter(entIds::contains)
-                    .collect(Collectors.toList());
+            List<Long> intersection = longList.stream().filter(entIds::contains).collect(Collectors.toList());
             kwsEnterprises = kwsEnterpriseDao.selectByKeys(intersection);
             kwsEnterprises = kwsEnterpriseDao.selectByKeys(intersection);
         }
         }
         if (kwsEnterprises.size() < 1) {
         if (kwsEnterprises.size() < 1) {
@@ -1473,8 +1462,8 @@ public class KwsEnterpriseService {
         }
         }
         Set<Long> entIds = kwsEntTypes.stream().map(KwsEntType::getEntId).collect(Collectors.toSet());
         Set<Long> entIds = kwsEntTypes.stream().map(KwsEntType::getEntId).collect(Collectors.toSet());
         //根据企业id查询企业信息
         //根据企业id查询企业信息
-        List<KwsEnterprise> kwsEnterprises = kwsEnterpriseRepository.queryByEntIds(entIds,req.getEntName());
-        if (CollectionUtils.isEmpty(kwsEnterprises)){
+        List<KwsEnterprise> kwsEnterprises = kwsEnterpriseRepository.queryByEntIds(entIds, req.getEntName());
+        if (CollectionUtils.isEmpty(kwsEnterprises)) {
             return new EntInfoResp();
             return new EntInfoResp();
         }
         }
         //组装返回对象
         //组装返回对象
@@ -1498,33 +1487,26 @@ public class KwsEnterpriseService {
         if (CollectionUtils.isEmpty(kwsEnterprises)) {
         if (CollectionUtils.isEmpty(kwsEnterprises)) {
             return new EntInfoResp();
             return new EntInfoResp();
         }
         }
-        Set<Long> entIds = kwsEnterprises.stream()
-                .map(BaseModel::getId)
-                .collect(Collectors.toSet());
+        Set<Long> entIds = kwsEnterprises.stream().map(BaseModel::getId).collect(Collectors.toSet());
         //根据类型进行过滤
         //根据类型进行过滤
         List<KwsEntType> kwsEntTypes = kwsEntTypeRepository.queryByEntIdsAndType(entIds, req.getEntType());
         List<KwsEntType> kwsEntTypes = kwsEntTypeRepository.queryByEntIdsAndType(entIds, req.getEntType());
         if (CollectionUtils.isEmpty(kwsEntTypes)) {
         if (CollectionUtils.isEmpty(kwsEntTypes)) {
             return new EntInfoResp();
             return new EntInfoResp();
         }
         }
-        Set<Long> entIdList = kwsEntTypes.stream()
-                .map(KwsEntType::getEntId)
-                .collect(Collectors.toSet());
+        Set<Long> entIdList = kwsEntTypes.stream().map(KwsEntType::getEntId).collect(Collectors.toSet());
         //过滤类型表中包含的数据
         //过滤类型表中包含的数据
-        List<EntInfoResp.EntInfo> entInfos = kwsEnterprises.stream()
-                .filter(x -> entIdList.contains(x.getId()))
-                .map(k -> {
-                    EntInfoResp.EntInfo entInfoResp = new EntInfoResp.EntInfo();
-                    entInfoResp.setEntId(String.valueOf(k.getId()));
-                    entInfoResp.setEntName(k.getFirmName());
-                    return entInfoResp;
-                }).collect(Collectors.toList());
+        List<EntInfoResp.EntInfo> entInfos = kwsEnterprises.stream().filter(x -> entIdList.contains(x.getId())).map(k -> {
+            EntInfoResp.EntInfo entInfoResp = new EntInfoResp.EntInfo();
+            entInfoResp.setEntId(String.valueOf(k.getId()));
+            entInfoResp.setEntName(k.getFirmName());
+            return entInfoResp;
+        }).collect(Collectors.toList());
         EntInfoResp entInfoResp = new EntInfoResp();
         EntInfoResp entInfoResp = new EntInfoResp();
         entInfoResp.setEntInfos(entInfos);
         entInfoResp.setEntInfos(entInfos);
         return entInfoResp;
         return entInfoResp;
     }
     }
 
 
     /**
     /**
-     *
      * @return
      * @return
      */
      */
     public EntFindInfoResp querySupOrProEnt() {
     public EntFindInfoResp querySupOrProEnt() {
@@ -1542,7 +1524,7 @@ public class KwsEnterpriseService {
 
 
         //查询当前供应商的子级企业
         //查询当前供应商的子级企业
         List<KwsEntDeptDto> subEntList = remoteSystemService.queryEntDeptByPid(entCacheResDto.getParentId());
         List<KwsEntDeptDto> subEntList = remoteSystemService.queryEntDeptByPid(entCacheResDto.getParentId());
-        if (CollectionUtils.isEmpty(subEntList)){
+        if (CollectionUtils.isEmpty(subEntList)) {
             EntFindInfoVO entFindInfoVO = EntFindInfoVO.toPageResp(entCacheResDto);
             EntFindInfoVO entFindInfoVO = EntFindInfoVO.toPageResp(entCacheResDto);
             //子级为空,只返回父级供应商
             //子级为空,只返回父级供应商
             entFindInfoResp.setSupEntInfo(Lists.newArrayList(entFindInfoVO));
             entFindInfoResp.setSupEntInfo(Lists.newArrayList(entFindInfoVO));
@@ -1562,7 +1544,6 @@ public class KwsEnterpriseService {
     }
     }
 
 
     /**
     /**
-
      * @return KwsEnterprise
      * @return KwsEnterprise
      * @desc: 放开接口
      * @desc: 放开接口
      * @author: czh
      * @author: czh
@@ -1570,9 +1551,7 @@ public class KwsEnterpriseService {
      */
      */
     public List<EntCacheResDto> queryKwsEnterpriseById() {
     public List<EntCacheResDto> queryKwsEnterpriseById() {
         //查询采购商企业信息
         //查询采购商企业信息
-        LambdaQueryWrapper<KwsEntType> queryWrapper = Wrappers.<KwsEntType>lambdaQuery()
-                .eq(KwsEntType::getType, 2)
-                .eq(KwsEntType::getDelFlag, 0);
+        LambdaQueryWrapper<KwsEntType> queryWrapper = Wrappers.<KwsEntType>lambdaQuery().eq(KwsEntType::getType, 2).eq(KwsEntType::getDelFlag, 0);
         List<KwsEntType> kwsEntTypes = kwsEntTypeDao.selectList(queryWrapper);
         List<KwsEntType> kwsEntTypes = kwsEntTypeDao.selectList(queryWrapper);
         if (kwsEntTypes.isEmpty()) {
         if (kwsEntTypes.isEmpty()) {
             return new ArrayList<>();
             return new ArrayList<>();
@@ -1583,7 +1562,7 @@ public class KwsEnterpriseService {
     }
     }
 
 
     public EntInfoResp queryKwsEnterprise(EntInfoReq req) {
     public EntInfoResp queryKwsEnterprise(EntInfoReq req) {
-        log.info("查询企业信息请求参数:{}", JSON.toJSONString( req));
+        log.info("查询企业信息请求参数:{}", JSON.toJSONString(req));
         return getInfoResp(req);
         return getInfoResp(req);
 
 
     }
     }
@@ -1597,7 +1576,7 @@ public class KwsEnterpriseService {
     }
     }
 
 
     public List<EntBaseInfo> list() {
     public List<EntBaseInfo> list() {
-        List<KwsEnterprise> kwsEnterprises = kwsEnterpriseDao.selectList(new LambdaQueryWrapper<KwsEnterprise>().eq(KwsEnterprise::getApproval, 1).eq(KwsEnterprise::getStatus, 0));
+        List<KwsEnterprise> kwsEnterprises = kwsEnterpriseDao.selectList(new LambdaQueryWrapper<KwsEnterprise>().eq(KwsEnterprise::getPid, 0).eq(KwsEnterprise::getApproval, 1).eq(KwsEnterprise::getStatus, 0));
         return kwsEnterprises.stream().map(d -> BeanUtils.toBean(d, EntBaseInfo.class)).collect(Collectors.toList());
         return kwsEnterprises.stream().map(d -> BeanUtils.toBean(d, EntBaseInfo.class)).collect(Collectors.toList());
     }
     }
 }
 }

+ 18 - 8
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java

@@ -1,15 +1,10 @@
 package com.sckw.system.service;
 package com.sckw.system.service;
 
 
-import java.util.Date;
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.constant.Global;
-import com.sckw.core.model.enums.MenuTypeEnum;
-import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.BeanUtils;
@@ -26,11 +21,9 @@ import com.sckw.system.model.*;
 import com.sckw.system.model.pojo.FindManagePojo;
 import com.sckw.system.model.pojo.FindManagePojo;
 import com.sckw.system.model.pojo.FindMenuTreePojo;
 import com.sckw.system.model.pojo.FindMenuTreePojo;
 import com.sckw.system.model.report.KwsRoleExcel;
 import com.sckw.system.model.report.KwsRoleExcel;
-import com.sckw.system.model.report.KwsUserExcel;
 import com.sckw.system.model.vo.req.EditRoleReqVo;
 import com.sckw.system.model.vo.req.EditRoleReqVo;
 import com.sckw.system.model.vo.req.RoleBindMenuReqVo;
 import com.sckw.system.model.vo.req.RoleBindMenuReqVo;
 import com.sckw.system.model.vo.req.UserBindRoleReqVo;
 import com.sckw.system.model.vo.req.UserBindRoleReqVo;
-import com.sckw.system.model.vo.res.EntBaseInfo;
 import com.sckw.system.model.vo.res.IdResVo;
 import com.sckw.system.model.vo.res.IdResVo;
 import com.sckw.system.model.vo.res.KwsMenuResVo;
 import com.sckw.system.model.vo.res.KwsMenuResVo;
 import com.sckw.system.model.vo.res.RoleResVo;
 import com.sckw.system.model.vo.res.RoleResVo;
@@ -41,7 +34,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import java.util.*;
 import java.util.*;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -471,4 +463,22 @@ public class KwsRoleService {
         }
         }
         ExcelUtil.downData(response, KwsRoleExcel.class, BeanUtils.copyToList(roleResVos, KwsRoleExcel.class));
         ExcelUtil.downData(response, KwsRoleExcel.class, BeanUtils.copyToList(roleResVos, KwsRoleExcel.class));
     }
     }
+
+    public List<KwsRole> queryList(Long entId) {
+        LambdaQueryWrapper<KwsRole> wrapper = new LambdaQueryWrapper<>();
+        if (Objects.isNull(entId)) {
+            if (!LoginUserHolder.isManager()) {
+                if (Objects.equals(LoginUserHolder.getIsMain(), Global.YES)) {
+                    wrapper.in(KwsRole::getEntId, LoginUserHolder.getChildEntList());
+                } else {
+                    wrapper.eq(KwsRole::getEntId, LoginUserHolder.getEntId());
+                }
+            } else {
+                wrapper.in(KwsRole::getEntId, LoginUserHolder.getChildEntList());
+            }
+        } else {
+            wrapper.eq(KwsRole::getEntId, entId);
+        }
+        return kwsRoleDao.selectList(wrapper);
+    }
 }
 }

+ 5 - 5
sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

@@ -121,7 +121,7 @@
                min(k.name)                               createByName,
                min(k.name)                               createByName,
                min(ku.name)                              updateByName,
                min(ku.name)                              updateByName,
                min(d.id)                                 pid,
                min(d.id)                                 pid,
-               min(d.firm_name)                          pEntName
+               min(d.firm_name)                          pentName
         from kws_enterprise a
         from kws_enterprise a
             left join kws_user k on a.create_by = k.id
             left join kws_user k on a.create_by = k.id
             left join kws_user ku on a.update_by = ku.id
             left join kws_user ku on a.update_by = ku.id
@@ -129,7 +129,7 @@
         <if test="dto.approval == null or (dto.approval != null and dto.approval != 2)">
         <if test="dto.approval == null or (dto.approval != null and dto.approval != 2)">
             and b.status != 1
             and b.status != 1
         </if>
         </if>
-        left join kws_enterprise d on d.id = d.pid
+        left join kws_enterprise d on d.id = a.pid
         where a.del_flag = 0
         where a.del_flag = 0
         <if test="dto.typeList != null and dto.typeList.size() > 0">
         <if test="dto.typeList != null and dto.typeList.size() > 0">
             and exists (select 1
             and exists (select 1
@@ -755,7 +755,7 @@
                min(k.name)                               createByName,
                min(k.name)                               createByName,
                min(ku.name)                              updateByName,
                min(ku.name)                              updateByName,
                min(d.id)                                 pid,
                min(d.id)                                 pid,
-               min(d.firm_name)                          pEntName
+               min(d.firm_name)                          pentName
         from kws_enterprise a
         from kws_enterprise a
             left join kws_user k on a.create_by = k.id and k.del_flag = 0
             left join kws_user k on a.create_by = k.id and k.del_flag = 0
             left join kws_user ku on a.update_by = ku.id and ku.del_flag = 0
             left join kws_user ku on a.update_by = ku.id and ku.del_flag = 0
@@ -763,7 +763,7 @@
         <if test="dto.approval == null or (dto.approval != null and dto.approval != 2)">
         <if test="dto.approval == null or (dto.approval != null and dto.approval != 2)">
             and b.status != 1
             and b.status != 1
         </if>
         </if>
-        left join kws_enterprise d on a.id = d.pid
+        left join kws_enterprise d on d.id = a.pid
         where a.del_flag = 0
         where a.del_flag = 0
         <!--        <if test="authEntIdList != null and authEntIdList.size() != 0">-->
         <!--        <if test="authEntIdList != null and authEntIdList.size() != 0">-->
         <!--            and a.id in-->
         <!--            and a.id in-->
@@ -909,7 +909,7 @@
     </select>
     </select>
 
 
     <select id="query" resultType="com.sckw.system.model.vo.res.EntInfo">
     <select id="query" resultType="com.sckw.system.model.vo.res.EntInfo">
-        select id, firm_name as entName
+        select id as entId, firm_name as entName
         from kws_enterprise
         from kws_enterprise
         where del_flag = 0
         where del_flag = 0
           and pid = 0
           and pid = 0