From 5b9d8648f3a0da63bb26fdb17c39d8999c9491c4 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 15 Sep 2025 14:44:50 +0800
Subject: [PATCH] feat(ai): 增加公司ID筛选功能
---
src/main/java/cc/mrbird/febs/common/controller/BaseController.java | 9 ++++
src/main/java/cc/mrbird/febs/system/service/impl/UserServiceImpl.java | 16 ++++++++
src/main/java/cc/mrbird/febs/ai/service/AiProductService.java | 2
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java | 11 +++++
src/main/java/cc/mrbird/febs/system/service/IUserService.java | 8 ++++
src/main/java/cc/mrbird/febs/ai/controller/memberRole/AiMemberRoleController.java | 8 +++-
src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java | 4 +
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java | 3 +
src/main/java/cc/mrbird/febs/ai/req/AdminMoveChooseInfoDto.java | 1
9 files changed, 56 insertions(+), 6 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/AiMemberRoleController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/AiMemberRoleController.java
index 4300e07..24373ad 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/AiMemberRoleController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/AiMemberRoleController.java
@@ -31,7 +31,8 @@
@GetMapping("list")
public FebsResponse list(AiMemberRole dto, QueryRequest request) {
-
+ String companyId = getCurrentUserCompanyId();
+ dto.setCompanyId(companyId);
Map<String, Object> data = getDataTable(aiMemberRoleService.listInPage(dto, request));
return new FebsResponse().success().data(data);
}
@@ -49,7 +50,8 @@
@PostMapping("add")
@ControllerEndpoint(operation = "新增", exceptionMessage = "操作失败")
public FebsResponse add(@RequestBody @Valid AiMemberRole dto) {
-
+ String companyId = getCurrentUserCompanyId();
+ dto.setCompanyId(companyId);
return aiMemberRoleService.memberRoleAdd(dto);
}
@@ -73,6 +75,8 @@
@ControllerEndpoint(operation = "产品配置", exceptionMessage = "操作失败")
public FebsResponse productSet(@RequestBody @Valid AdminMoveChooseInfoDto dto) {
+ String companyId = getCurrentUserCompanyId();
+ dto.setCompanyId(companyId);
return aiMemberRoleService.productSet(dto);
}
}
diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java
index 24dd069..b333218 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ViewController.java
@@ -69,11 +69,13 @@
Set<String> productIds = new HashSet<>();
AiMemberRole entity = aiMemberRoleService.getById(id);
+ String companyId = entity.getCompanyId();
if(ObjectUtil.isNotNull(entity)){
//右侧数据
LambdaQueryWrapper<AiMemberRoleProduct> query = Wrappers.lambdaQuery(AiMemberRoleProduct.class);
if(StrUtil.isNotEmpty(id)){
query.eq(AiMemberRoleProduct::getRoleId, id);
+ query.eq(AiMemberRoleProduct::getCompanyId, companyId);
}
List<AiMemberRoleProduct> selectedList = aiMemberRoleProductService.selectListByQuery(query);
if(CollUtil.isNotEmpty(selectedList)){
@@ -82,7 +84,7 @@
}
//左侧数据
- List<AiProduct> allList = aiProductService.selectList();
+ List<AiProduct> allList = aiProductService.selectList(companyId);
if(CollUtil.isNotEmpty(allList)){
//stream流操作mallMembers,生成一个新的List<MallMemberVo>
vos = allList.stream().map(AiProduct -> {
diff --git a/src/main/java/cc/mrbird/febs/ai/req/AdminMoveChooseInfoDto.java b/src/main/java/cc/mrbird/febs/ai/req/AdminMoveChooseInfoDto.java
index 0c79a18..ba3bc79 100644
--- a/src/main/java/cc/mrbird/febs/ai/req/AdminMoveChooseInfoDto.java
+++ b/src/main/java/cc/mrbird/febs/ai/req/AdminMoveChooseInfoDto.java
@@ -8,6 +8,7 @@
public class AdminMoveChooseInfoDto {
private String chooseId;
+ private String companyId;
private List<String> chooseIds;
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiProductService.java b/src/main/java/cc/mrbird/febs/ai/service/AiProductService.java
index 06321a9..cadec8e 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiProductService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductService.java
@@ -34,7 +34,7 @@
FebsResponse delete(String id);
- List<AiProduct> selectList();
+ List<AiProduct> selectList(String companyId);
FebsResponse productSet(AdminMoveChooseInfoDto dto);
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
index 688e684..388c09c 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
@@ -10,8 +10,10 @@
import cc.mrbird.febs.ai.util.UUID;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.system.service.IUserService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -38,6 +40,7 @@
private final AiMemberRoleMapper aiMemberRoleMapper;
private final AiProductService aiProductService;
private final AiMemberRoleProductService aiMemberRoleProductService;
+ private final IUserService iUserService;
@Override
public AiMemberRole getById(String id) {
@@ -46,9 +49,11 @@
@Override
public IPage<AiMemberRole> listInPage(AiMemberRole dto, QueryRequest request) {
-
Page<AiMemberRole> page = new Page<>(request.getPageNum(), request.getPageSize());
LambdaQueryWrapper<AiMemberRole> query = Wrappers.lambdaQuery(AiMemberRole.class);
+ if (StrUtil.isNotEmpty(dto.getCompanyId())){
+ query.eq(AiMemberRole::getCompanyId, dto.getCompanyId());
+ }
query.ne(AiMemberRole::getState, 2);
query.orderByAsc(AiMemberRole::getSort);
Page<AiMemberRole> pages = aiMemberRoleMapper.selectPage(page, query);
@@ -77,6 +82,7 @@
entity.setIconImg(dto.getIconImg());
entity.setSort(dto.getSort());
entity.setState(dto.getState());
+ entity.setCompanyId(dto.getCompanyId());
entity.setCreatedTime(new Date());
this.save( entity);
return new FebsResponse().success().message("操作成功");
@@ -118,12 +124,14 @@
@Override
public FebsResponse productSet(AdminMoveChooseInfoDto dto) {
String chooseId = dto.getChooseId();
+ String companyId = dto.getCompanyId();
List<String> chooseIds = dto.getChooseIds();
AiMemberRole aiMemberRole = this.getById(chooseId);
if (ObjectUtil.isNotNull(aiMemberRole)) {
aiMemberRoleProductService.deleteByQuery(
Wrappers.lambdaQuery(AiMemberRoleProduct.class)
.eq(AiMemberRoleProduct::getRoleId,chooseId)
+ .eq(AiMemberRoleProduct::getCompanyId,companyId)
);
if(CollUtil.isNotEmpty(chooseIds)){
Date createdTime = new Date();
@@ -132,6 +140,7 @@
entity.setId(UUID.getSimpleUUIDString());
entity.setRoleId(chooseId);
entity.setProductId(item);
+ entity.setCompanyId(companyId);
entity.setCreatedTime(createdTime);
aiMemberRoleProductService.getBaseMapper().insert(entity);
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java
index 5ab494e..51e1572 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java
@@ -158,9 +158,10 @@
}
@Override
- public List<AiProduct> selectList() {
+ public List<AiProduct> selectList(String companyId) {
return aiProductMapper.selectList(
Wrappers.lambdaQuery(AiProduct.class)
+ .eq(AiProduct::getCompanyId, companyId)
.ne(AiProduct::getState, 2)
);
}
diff --git a/src/main/java/cc/mrbird/febs/common/controller/BaseController.java b/src/main/java/cc/mrbird/febs/common/controller/BaseController.java
index af736fe..a726cd9 100644
--- a/src/main/java/cc/mrbird/febs/common/controller/BaseController.java
+++ b/src/main/java/cc/mrbird/febs/common/controller/BaseController.java
@@ -23,6 +23,15 @@
return (User) getSubject().getPrincipal();
}
+ protected String getCurrentUserCompanyId() {
+ String description = null;
+ User user = (User) getSubject().getPrincipal();
+ if (user != null){
+ description = user.getDescription();
+ }
+ return description;
+ }
+
protected Session getSession() {
return getSubject().getSession();
}
diff --git a/src/main/java/cc/mrbird/febs/system/service/IUserService.java b/src/main/java/cc/mrbird/febs/system/service/IUserService.java
index 3b9291f..4b2b289 100644
--- a/src/main/java/cc/mrbird/febs/system/service/IUserService.java
+++ b/src/main/java/cc/mrbird/febs/system/service/IUserService.java
@@ -18,6 +18,14 @@
* @param username 用户名
* @return 用户
*/
+ String findDesByName(String username);
+
+ /**
+ * 通过用户名查找用户
+ *
+ * @param username 用户名
+ * @return 用户
+ */
User findByName(String username);
/**
diff --git a/src/main/java/cc/mrbird/febs/system/service/impl/UserServiceImpl.java b/src/main/java/cc/mrbird/febs/system/service/impl/UserServiceImpl.java
index 33336fa..f816a0c 100644
--- a/src/main/java/cc/mrbird/febs/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/system/service/impl/UserServiceImpl.java
@@ -14,10 +14,12 @@
import cc.mrbird.febs.system.service.IUserDataPermissionService;
import cc.mrbird.febs.system.service.IUserRoleService;
import cc.mrbird.febs.system.service.IUserService;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
@@ -45,6 +47,20 @@
private final ShiroRealm shiroRealm;
@Override
+ public String findDesByName(String username) {
+ String description = null;
+ User user = this.baseMapper.selectOne(
+ Wrappers.lambdaQuery(User.class)
+ .eq(User::getUsername, username)
+ .last("limit 1")
+ );
+ if (user != null){
+ description = user.getDescription();
+ }
+ return description;
+ }
+
+ @Override
public User findByName(String username) {
return this.baseMapper.findByName(username);
}
--
Gitblit v1.9.1