提交 ab6710f3 作者: 洪东保

1.删除无用代码

2.智能体授权用户查看和保存接口-aigc服务使用
父级 4e244f4d
......@@ -79,6 +79,8 @@ public class RobotWebSecurityConfig extends WebSecurityConfigurerAdapter {
*/
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
// 白名单 智能体授权相关
String[] api = {"/agent/auth/**"};
httpSecurity
// 由于使用的是JWT,我们这里不需要csrf
.csrf().disable()
......@@ -88,7 +90,7 @@ public class RobotWebSecurityConfig extends WebSecurityConfigurerAdapter {
.authorizeRequests()
// 对于登录login 图标 要允许匿名访问
// .antMatchers(customApi).access("@robotJwtCustomTokenFilter.checkToken(request)")
// .antMatchers(api).anonymous()
.antMatchers(api).anonymous()
.antMatchers(HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css",
"/**/*.js", "/**/*.map")
.permitAll()
......
//package com.cmeeting.config;
//
//import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
//import org.apache.ibatis.session.SqlSessionFactory;
//import org.mybatis.spring.SqlSessionTemplate;
//import org.mybatis.spring.annotation.MapperScan;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.jdbc.DataSourceBuilder;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
//
//import javax.sql.DataSource;
//
//// 从数据源配置
//@Configuration
//@MapperScan(basePackages = "com.cmeeting.mapper.secondary", sqlSessionFactoryRef = "slaveSqlSessionFactory")
//public class SlaveDataSourceConfig {
//
// @Bean(name = "slaveDataSource")
// @ConfigurationProperties(prefix = "spring.datasource.slave")
// public DataSource slaveDataSource() {
// return DataSourceBuilder.create().build();
// }
//
// @Bean(name = "slaveSqlSessionFactory")
// public SqlSessionFactory slaveSqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource) throws Exception {
// MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
// bean.setDataSource(dataSource);
// bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/secondary/*.xml"));
// return bean.getObject();
// }
//
// @Bean(name = "slaveSqlSessionTemplate")
// public SqlSessionTemplate slaveSqlSessionTemplate(@Qualifier("slaveSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
// return new SqlSessionTemplate(sqlSessionFactory);
// }
//}
//package com.cmeeting.config;
//
//import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
//import org.apache.ibatis.session.SqlSessionFactory;
//import org.mybatis.spring.SqlSessionTemplate;
//import org.mybatis.spring.annotation.MapperScan;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.jdbc.DataSourceBuilder;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
//
//import javax.sql.DataSource;
//
//// 从数据源配置
//@Configuration
//@MapperScan(basePackages = "com.cmeeting.mapper.tertiary", sqlSessionFactoryRef = "tertiarySqlSessionFactory")
//public class TertiaryDataSourceConfig {
//
// @Bean(name = "tertiaryDataSource")
// @ConfigurationProperties(prefix = "spring.datasource.tertiary")
// public DataSource tertiaryDataSource() {
// return DataSourceBuilder.create().build();
// }
//
// @Bean(name = "tertiarySqlSessionFactory")
// public SqlSessionFactory tertiarySqlSessionFactory(@Qualifier("tertiaryDataSource") DataSource dataSource) throws Exception {
// MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
// bean.setDataSource(dataSource);
// bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/tertiary/*.xml"));
// return bean.getObject();
// }
//
// @Bean(name = "tertiarySqlSessionTemplate")
// public SqlSessionTemplate tertiarySqlSessionTemplate(@Qualifier("tertiarySqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
// return new SqlSessionTemplate(sqlSessionFactory);
// }
//}
package com.cmeeting.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cmeeting.pojo.CoreModulePermissions;
import com.cmeeting.service.IAgentAuthService;
import com.cmeeting.util.R;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping("/agent/auth")
public class AgentAuthController {
@Resource
private IAgentAuthService iAgentAuthService;
@GetMapping("/list")
public R list(String tenantId){
return R.ok(iAgentAuthService.list(new LambdaQueryWrapper<CoreModulePermissions>()
.eq(CoreModulePermissions::getTenantId, tenantId)));
}
@PostMapping("/save")
public R save(@RequestBody List<CoreModulePermissions> data){
return R.ok(iAgentAuthService.saveBatch(data));
}
@GetMapping("/remove")
public R remove(String id){
return R.ok(iAgentAuthService.removeById(id));
}
}
package com.cmeeting.mapper.primary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cmeeting.pojo.CoreModulePermissions;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -7,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface AuthMapper {
public interface AuthMapper extends BaseMapper<CoreModulePermissions> {
/**
* 智能体权限查询
......
package com.cmeeting.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
......@@ -18,12 +21,13 @@ import java.util.Date;
@Builder
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("core_module_permissions")
@TableName("core_module_permission")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CoreModulePermissions {
public class CoreModulePermissions implements Serializable {
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
/**
......@@ -37,11 +41,6 @@ public class CoreModulePermissions {
private Integer userType;
/**
* 来源(0:角色授权, 1:应用授权, 2:文档授权)
*/
private Integer source;
/**
* 关联ID
*/
private String relId;
......@@ -49,12 +48,11 @@ public class CoreModulePermissions {
/**
* 创建时间
*/
private Date createTime;
@DateTimeFormat(pattern = "yyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh", timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private Date createTime = new Date();
/**
* 更新时间
*/
private Date updateTime;
/**
* 目标ID
......@@ -66,18 +64,4 @@ public class CoreModulePermissions {
*/
private String tenantId;
@Override
public String toString() {
return "CoreModulePermissions{" +
"id='" + id + '\'' +
", type=" + type +
", userType=" + userType +
", source=" + source +
", relId='" + relId + '\'' +
", createTime=" + createTime +
", updateTime=" + updateTime +
", targetId='" + targetId + '\'' +
", tenantId='" + tenantId + '\'' +
'}';
}
}
\ No newline at end of file
package com.cmeeting.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cmeeting.pojo.CoreModulePermissions;
public interface IAgentAuthService extends IService<CoreModulePermissions> {
}
//package com.cmeeting.service;
//
//import cn.hutool.core.lang.tree.Tree;
//import com.baomidou.mybatisplus.extension.service.IService;
//import com.cmeeting.dto.PermissionCheckedDTO;
//import com.cmeeting.pojo.ShareUser;
//
//import java.util.List;
//
///**
// * (ShareUser)表服务接口
// *
// * @author makejava
// * @since 2025-01-16 14:50:15
// */
//public interface IShareUserService extends IService<ShareUser>{
//
//
// PermissionCheckedDTO findName(String categoryId, String search, String tenantId, List<String> categoryList, List<String> userList);
//}
package com.cmeeting.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cmeeting.mapper.primary.AuthMapper;
import com.cmeeting.pojo.CoreModulePermissions;
import com.cmeeting.service.IAgentAuthService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class AgentAuthServiceImpl extends ServiceImpl<AuthMapper, CoreModulePermissions> implements IAgentAuthService {
}
......@@ -33,8 +33,6 @@ public class ModulePermissionServiceImpl extends ServiceImpl<ModulePermissionMap
@Resource
private SysUserSyncService iSysUserSyncService;
// @Resource
// private IShareUserService iShareUserService;
@Override
public PermissionCheckedDTO permissionList(String search, String categoryId, Integer userType, Integer purpose, Integer targetId, List<String> categoryIdList, List<String> userIdList) {
......@@ -77,20 +75,6 @@ public class ModulePermissionServiceImpl extends ServiceImpl<ModulePermissionMap
@Override
public PermissionCheckedDTO permissionList(String search, String categoryId, Integer userType, Integer purpose, List<String> categoryList, List<String> userList) {
return iSysUserSyncService.listByCategoryId(categoryId, search, categoryList, userList);
// PermissionCheckedDTO dto = new PermissionCheckedDTO();
// if (userType != null) {
// if (userType == UserTypeConstant.SYNC) {
// dto = iSysUserSyncService.listByCategoryId(categoryId, search, categoryList, userList);
// } else if (userType == UserTypeConstant.ADMIN) {
// dto = iShareUserService.findName(categoryId, search, SecurityUtil.getTenantId(), categoryList, userList);
// }
// } else {
// dto = iSysUserSyncService.listByCategoryId(categoryId, search, categoryList, userList);
// PermissionCheckedDTO dto1 = iShareUserService.findName(categoryId, search, SecurityUtil.getTenantId(), categoryList, userList);
// dto.getUserList().addAll(dto1.getUserList());
// dto.getCategoryList().addAll(dto1.getCategoryList());
// }
// return dto;
}
@Override
......
//package com.cmeeting.service.impl;
//
//import cn.hutool.core.collection.CollUtil;
//import cn.hutool.core.util.StrUtil;
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.cmeeting.constant.CategoryConstant;
//import com.cmeeting.constant.UserTypeConstant;
//import com.cmeeting.dto.PermissionCheckedDTO;
//import com.cmeeting.mapper.secondary.ShareUserMapper;
//import com.cmeeting.pojo.ShareUser;
//import com.cmeeting.pojo.SysUserSyncCategory;
//import com.cmeeting.service.IShareUserService;
//import com.cmeeting.service.ISysUserSyncCategoryService;
//import com.cmeeting.service.SysUserSyncService;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//import java.util.Set;
//import java.util.stream.Collectors;
//
///**
// * (ShareUser)表服务实现类
// *
// * @author makejava
// * @since 2025-01-16 14:50:15
// */
//@Slf4j
//@Service
//public class ShareUserServiceImpl extends ServiceImpl<ShareUserMapper, ShareUser> implements IShareUserService {
//
// @Resource
// private ISysUserSyncCategoryService iSysUserSyncCategoryService;
// @Resource
// private SysUserSyncService iSysUserSyncService;
//
// @Override
// public PermissionCheckedDTO findName(String categoryId, String search, String tenantId, List<String> categoryList, List<String> userList) {
// PermissionCheckedDTO dto = new PermissionCheckedDTO();
//
// List<ShareUser> shareUsers = baseMapper.selectList(new LambdaQueryWrapper<ShareUser>().eq(ShareUser::getTenantId, tenantId).select(ShareUser::getRelId, ShareUser::getType));
//
// if (CollUtil.isNotEmpty(shareUsers)) {
// //分享给租户的所有分享(直接间接)
// List<SysUserSyncCategory> cateList = new ArrayList<>();
//
// List<String> cateIds = shareUsers.stream().filter(e -> e.getType() == 0).map(ShareUser::getRelId).collect(Collectors.toList());
// //查询超管的所有分类
// List<SysUserSyncCategory> allCategoryIds = iSysUserSyncCategoryService.list(new LambdaQueryWrapper<SysUserSyncCategory>()
// .select(SysUserSyncCategory::getDeptId, SysUserSyncCategory::getParentId));
//
// if (CollUtil.isNotEmpty(allCategoryIds)) {
// Map<String, String> map = allCategoryIds.stream().collect(Collectors.toMap(SysUserSyncCategory::getDeptId, SysUserSyncCategory::getParentId));
// for (SysUserSyncCategory category : allCategoryIds) {
// String path = iSysUserSyncCategoryService.getPath(category.getDeptId(), map);
// if (StrUtil.isNotBlank(path)) {
// String[] split = path.split("/");
// for (int i = split.length - 1; i >= 0; i--) {
// if (StrUtil.isNotBlank(split[i]) && cateIds.contains(split[i])) {
// cateList.add(category);
// break;
// }
// }
// }
// }
// }
// List<String> shareCateIds = cateList.stream().map(SysUserSyncCategory::getDeptId).collect(Collectors.toList());
// if (categoryList != null) {
// categoryList.addAll(shareCateIds);
// } else {
// categoryList = shareCateIds;
// }
//
// List<String> noExitParentIds = new ArrayList<>();
// List<String> childrenDeptIds = new ArrayList<>();
//
// if (CategoryConstant.ROOT.equals(categoryId)) {
// // 查询分类为ROOT即查询所有找不到parentId的分类
// Set<String> map = cateList.stream().map(SysUserSyncCategory::getDeptId).collect(Collectors.toSet());
// for (SysUserSyncCategory category : cateList) {
// if (!map.contains(category.getParentId())) {
// noExitParentIds.add(category.getDeptId());
// }
// }
// } else if (StrUtil.isNotBlank(categoryId)) {
// Map<String, List<String>> parentMap = cateList.stream().collect(Collectors.groupingBy(SysUserSyncCategory::getParentId, Collectors.mapping(SysUserSyncCategory::getDeptId, Collectors.toList())));
// List<String> children = getChildren(parentMap, categoryId);
// childrenDeptIds.add(categoryId);
// childrenDeptIds.addAll(children);
// }
// List<SysUserSyncCategory> list = null;
// if (CollUtil.isNotEmpty(categoryList)) {
// list = iSysUserSyncCategoryService.list(new LambdaQueryWrapper<SysUserSyncCategory>()
// .in(StrUtil.isNotBlank(search) && StrUtil.isNotBlank(categoryId) && !CategoryConstant.ROOT.equals(categoryId) && CollUtil.isNotEmpty(childrenDeptIds), SysUserSyncCategory::getDeptId, childrenDeptIds)
// .in(StrUtil.isBlank(search) && CategoryConstant.ROOT.equals(categoryId) && CollUtil.isNotEmpty(noExitParentIds), SysUserSyncCategory::getDeptId, noExitParentIds)
// .eq(StrUtil.isBlank(search) && StrUtil.isNotBlank(categoryId) && !CategoryConstant.ROOT.equals(categoryId), SysUserSyncCategory::getParentId, categoryId)
// .like(StrUtil.isNotBlank(search), SysUserSyncCategory::getName, search)
// .in(SysUserSyncCategory::getDeptId, categoryList) // 指定分类以及分享的所有分享下
// .select(SysUserSyncCategory::getDeptId, SysUserSyncCategory::getName)
// .orderByAsc(SysUserSyncCategory::getId));
// }
// List<PermissionCheckedDTO.Category> cates = new ArrayList<>();
// if (CollUtil.isNotEmpty(list)) {
// list.forEach(ca -> {
// PermissionCheckedDTO.Category category = new PermissionCheckedDTO.Category();
// category.setId(ca.getDeptId());
// category.setName(ca.getName());
// category.setUserType(UserTypeConstant.ADMIN);
// cates.add(category);
// });
// }
// dto.setCategoryList(cates);
//
// List<PermissionCheckedDTO.User> users = new ArrayList<>();
// //所有直接分享的用户
// List<String> userIds = shareUsers.stream().filter(e -> e.getType() == 1).map(ShareUser::getRelId).collect(Collectors.toList());
//
// if (CategoryConstant.ROOT_ID.equals(categoryId)) {
// if (CollUtil.isNotEmpty(userList)) {
// userIds = userIds.stream().filter(userList::contains).collect(Collectors.toList());
// }
// if (StrUtil.isNotBlank(search)) {
// users = iSysUserSyncService.findInUserIdsOrShareCateIds(userIds, shareCateIds, "1", search);
// } else {
// if (CollUtil.isNotEmpty(userIds)) {
// users = iSysUserSyncService.findByParam(userIds, null, null, "1", search, null);
// }
// }
// } else {
// if (StrUtil.isNotBlank(search)) {
// users = iSysUserSyncService.findByParam(userList, null, childrenDeptIds, "1", search, null);
// } else {
// users = iSysUserSyncService.findByParam(userList, null, null, "1", search, categoryId);
// }
// }
// if (CollUtil.isNotEmpty(users)) {
// for (PermissionCheckedDTO.User user : users) {
// user.setUserType(UserTypeConstant.ADMIN);
// }
// }
// dto.setUserList(users);
// }
// return dto;
// }
//
// private List<String> getChildren(Map<String, List<String>> collect, String deptId) {
// List<String> ids = new ArrayList<>();
// if (collect.containsKey(deptId)) {
// List<String> strings = collect.get(deptId);
// ids.addAll(strings);
// for (String string : strings) {
// ids.addAll(getChildren(collect, string));
// }
// }
// return ids;
// }
//
//
//}
......@@ -118,37 +118,11 @@ public class AESUtils {
}
public static void main(String[] args) throws Exception {
int code = 1;
/*String[] arr = {""};
System.out.println(Arrays.toString(arr));
System.out.println(StringUtils.isEmpty(Arrays.toString(arr)));
System.out.println(StringUtils.isEmpty(arr[0]));*/
// String json = "{'username':'yanghanjing','password':'badou123456','key':'12632740','code':4,'isSaveLogin':false}";
// JSONObject jsonObject = JSONObject.parseObject(json);
// Map<String, Object> innerMap = jsonObject.getInnerMap();
// System.out.println(innerMap.get("username"));
//测试加密 feishu feishu123
// String json = "{\"username\":\"hongdongbao1\",\"password\":\"hongdongbao123\",\"key\":\"08277992\",\"code\":"+code+",\"isSaveLogin\":false}";
String json = "{\"username\":\"ceshi_117\",\"password\":\"ceshi123\"}";
String miwen = encrypt(json,"biaopin123456789");// 加密
System.out.println(miwen);
// 测试解密工具类
/*String data = "ts0oGkerChzxZiOKQCkd/z5Hqvt5g9GXrLsZS0dqgCXIJAGmTgUn/Hfg6ponbjAR2WTk3u8x+VNsFtj8NKrf1hvSV7mjZoOdVHSqU9cx+qbPBi/lhBb+mBKTtuWYhG4HwoPl+NLZmCB18a4susJOfA==";
System.out.println(decrypt(data,"biaopin123456789"));// 解密*/
/*JSONObject ject1 = new JSONObject();
JSONObject ject2 = new JSONObject();
ject1.put("1",1);
ject1.put("2",2);
ject1.put("3",3);
ject2.put("3",3);
ject2.put("1",1);
ject2.put("2",1);
System.out.println(ject1.equals(ject2));*/
}
......
......@@ -30,7 +30,6 @@ CORP_SECRET: 7YLePWG7rJqkQFnAB4FeylqAXpmu7q5qv_NOeSGNbm0
############################################################## email
EMAIL_SENDER: cmeeting_assistant@cimc.com
#EMAIL_SENDER_PWD: ENC(bH585hgTtUY5KpMgFqFpNRyL4kI/G7czZUk/7+U+LZY=)
EMAIL_SMTP_HOST: smtp.office365.com
############################################################## permission
......@@ -47,17 +46,6 @@ spring:
username: root
password: qizhi123
driver-class-name: com.mysql.jdbc.Driver
# # 从数据源
# slave:
# jdbc-url: jdbc:mysql://192.168.10.157:3306/zhongji-user?useSSL=false&characterEncoding=utf8&serverTimezone=UTC
# username: root
# password: qizhi123
# driver-class-name: com.mysql.jdbc.Driver
# tertiary:
# jdbc-url: jdbc:mysql://192.168.10.157:3306/zhongji-aigc?useSSL=false&characterEncoding=utf8&serverTimezone=UTC
# username: root
# password: qizhi123
# driver-class-name: com.mysql.jdbc.Driver
redis:
database: ${REDIS_DATABASE}
host: ${REDIS_ADDRESS}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论