Administrator
4 days ago cb78ad5f3aa9436cf32ae74f07dd1a5d18b8f046
refactor(ai): 调整公司ID查询逻辑和端口配置

- 在AiCommonEnum中添加默认公司ID枚举值
- 修改AiMemberRoleServiceImpl中使用默认公司ID替代空值判断
- 修改AiProductCategoryServiceImpl中使用默认公司ID替代空值判断
- 将应用端口从8085调整为808
- 注释掉Netty WebSocket相关配置代码
6 files modified
160 ■■■■ changed files
src/main/java/cc/mrbird/febs/ai/enumerates/AiCommonEnum.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java 10 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java 22 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/websocket/NettyWebSocketConfig.java 66 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/websocket/WebSocketServer.java 58 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/enumerates/AiCommonEnum.java
@@ -9,6 +9,8 @@
@Getter
public enum AiCommonEnum {
    COMPANY_ID("默认公司ID","692cfaafb3c247c49dd7e4bf53a190c7"),
    SHARE_DESCRIBE("SHARE_DESCRIBE","描述"),
    SHARE_TITLE("SHARE_TITLE","标题"),
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
@@ -4,6 +4,7 @@
import cc.mrbird.febs.ai.entity.AiCompanyMemberApply;
import cc.mrbird.febs.ai.entity.AiMember;
import cc.mrbird.febs.ai.entity.AiMemberRole;
import cc.mrbird.febs.ai.enumerates.AiCommonEnum;
import cc.mrbird.febs.ai.mapper.AiCompanyMapper;
import cc.mrbird.febs.ai.mapper.AiCompanyMemberApplyMapper;
import cc.mrbird.febs.ai.mapper.AiMemberRoleMapper;
@@ -81,11 +82,10 @@
        List<ApiMemberRoleVo> list = new ArrayList<>();
        LambdaQueryWrapper<AiMemberRole> query = Wrappers.lambdaQuery(AiMemberRole.class);
        if (StrUtil.isNotEmpty(dto.getCompanyId())){
            query.eq(AiMemberRole::getCompanyId, dto.getCompanyId());
        }else{
            query.isNull(AiMemberRole::getCompanyId);
        if (StrUtil.isBlank(dto.getCompanyId())){
            dto.setCompanyId(AiCommonEnum.COMPANY_ID.getPrompt());
        }
        query.eq(AiMemberRole::getCompanyId, dto.getCompanyId());
        query.eq(AiMemberRole::getState, 1);
        List<AiMemberRole> listByQuery = this.getListByQuery(query);
        if (CollUtil.isNotEmpty(listByQuery)){
@@ -104,7 +104,7 @@
    public String getDefaultMemberRoleId() {
        LambdaQueryWrapper<AiMemberRole> queryWrapper = Wrappers.lambdaQuery(AiMemberRole.class);
        queryWrapper.eq(AiMemberRole::getState, 1);
        queryWrapper.isNull(AiMemberRole::getCompanyId);
        queryWrapper.eq(AiMemberRole::getCompanyId, AiCommonEnum.COMPANY_ID.getPrompt());
        queryWrapper.orderByAsc(AiMemberRole::getCreatedTime);
        queryWrapper.last("limit 1");
        List<AiMemberRole> listByQuery = this.getListByQuery(queryWrapper);
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.ai.entity.AiMemberRole;
import cc.mrbird.febs.ai.entity.AiProductCategory;
import cc.mrbird.febs.ai.enumerates.AiCommonEnum;
import cc.mrbird.febs.ai.enumerates.ProductCategoryLevelEnum;
import cc.mrbird.febs.ai.mapper.AiProductCategoryMapper;
import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryAllDto;
@@ -79,11 +80,10 @@
        List<ApiProductCategoryVo> list = new ArrayList<>();
        LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
        if (StrUtil.isNotEmpty(dto.getCompanyId())){
            query.eq(AiProductCategory::getCompanyId, dto.getCompanyId());
        }else{
            query.isNull(AiProductCategory::getCompanyId);
        if (StrUtil.isEmpty(dto.getCompanyId())){
            dto.setCompanyId(AiCommonEnum.COMPANY_ID.getPrompt());
        }
        query.eq(AiProductCategory::getCompanyId, dto.getCompanyId());
        query.eq(AiProductCategory::getLevel, ProductCategoryLevelEnum.LEVEL_TWO.getLevel());
        query.eq(AiProductCategory::getState, 1);
        query.eq(AiProductCategory::getHotState, 1);
@@ -108,11 +108,10 @@
        List<ApiProductCategoryVo> list = new ArrayList<>();
        LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
        if (StrUtil.isNotEmpty(dto.getCompanyId())){
            query.eq(AiProductCategory::getCompanyId, dto.getCompanyId());
        }else{
            query.isNull(AiProductCategory::getCompanyId);
        if (StrUtil.isEmpty(dto.getCompanyId())){
            dto.setCompanyId(AiCommonEnum.COMPANY_ID.getPrompt());
        }
        query.eq(AiProductCategory::getCompanyId, dto.getCompanyId());
        query.eq(AiProductCategory::getLevel, ProductCategoryLevelEnum.LEVEL_ONE.getLevel());
        query.eq(AiProductCategory::getState, 1);
        query.eq(AiProductCategory::getHotState, 1);
@@ -171,11 +170,10 @@
    public FebsResponse allList(ApiProductCategoryAllDto dto) {
        List<ApiProductCategoryVo> list = new ArrayList<>();
        LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
        if (StrUtil.isNotEmpty(dto.getCompanyId())){
            query.eq(AiProductCategory::getCompanyId, dto.getCompanyId());
        }else{
            query.isNull(AiProductCategory::getCompanyId);
        if (StrUtil.isEmpty(dto.getCompanyId())){
            dto.setCompanyId(AiCommonEnum.COMPANY_ID.getPrompt());
        }
        query.eq(AiProductCategory::getCompanyId, dto.getCompanyId());
        query.eq(AiProductCategory::getState, 1);
        query.eq(AiProductCategory::getLevel, ProductCategoryLevelEnum.LEVEL_ONE.getLevel());
        query.orderByAsc(AiProductCategory::getSort);
src/main/java/cc/mrbird/febs/common/websocket/NettyWebSocketConfig.java
@@ -18,37 +18,37 @@
@Configuration
public class NettyWebSocketConfig {
    @Value("${netty.websocket.port:9102}")
    private int port;
    @Bean(name = "bossGroup", destroyMethod = "shutdownGracefully")
    public EventLoopGroup bossGroup() {
        return new NioEventLoopGroup(1);
    }
    @Bean(name = "workerGroup", destroyMethod = "shutdownGracefully")
    public EventLoopGroup workerGroup() {
        return new NioEventLoopGroup();
    }
    @Bean
    public ServerBootstrap serverBootstrap(EventLoopGroup bossGroup, EventLoopGroup workerGroup) {
        ServerBootstrap bootstrap = new ServerBootstrap();
        bootstrap.group(bossGroup, workerGroup)
                .channel(NioServerSocketChannel.class)
                .option(ChannelOption.SO_BACKLOG, 128)
                .childOption(ChannelOption.SO_KEEPALIVE, true)
                .handler(new LoggingHandler(LogLevel.INFO))
                .childHandler(new io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>() {
                    @Override
                    protected void initChannel(io.netty.channel.socket.SocketChannel ch) throws Exception {
                        ch.pipeline().addLast(new HttpServerCodec());
                        ch.pipeline().addLast(new ChunkedWriteHandler());
                        ch.pipeline().addLast(new HttpObjectAggregator(65536));
                        ch.pipeline().addLast(new WebSocketServerProtocolHandler("/ws"));
                        ch.pipeline().addLast(new cc.mrbird.febs.common.websocket.WebSocketServerHandler());
                    }
                });
        return bootstrap;
    }
//    @Value("${netty.websocket.port:9109}")
//    private int port;
//
//    @Bean(name = "bossGroup", destroyMethod = "shutdownGracefully")
//    public EventLoopGroup bossGroup() {
//        return new NioEventLoopGroup(1);
//    }
//
//    @Bean(name = "workerGroup", destroyMethod = "shutdownGracefully")
//    public EventLoopGroup workerGroup() {
//        return new NioEventLoopGroup();
//    }
//
//    @Bean
//    public ServerBootstrap serverBootstrap(EventLoopGroup bossGroup, EventLoopGroup workerGroup) {
//        ServerBootstrap bootstrap = new ServerBootstrap();
//        bootstrap.group(bossGroup, workerGroup)
//                .channel(NioServerSocketChannel.class)
//                .option(ChannelOption.SO_BACKLOG, 128)
//                .childOption(ChannelOption.SO_KEEPALIVE, true)
//                .handler(new LoggingHandler(LogLevel.INFO))
//                .childHandler(new io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>() {
//                    @Override
//                    protected void initChannel(io.netty.channel.socket.SocketChannel ch) throws Exception {
//                        ch.pipeline().addLast(new HttpServerCodec());
//                        ch.pipeline().addLast(new ChunkedWriteHandler());
//                        ch.pipeline().addLast(new HttpObjectAggregator(65536));
//                        ch.pipeline().addLast(new WebSocketServerProtocolHandler("/ws"));
//                        ch.pipeline().addLast(new cc.mrbird.febs.common.websocket.WebSocketServerHandler());
//                    }
//                });
//        return bootstrap;
//    }
}
src/main/java/cc/mrbird/febs/common/websocket/WebSocketServer.java
@@ -13,33 +13,33 @@
@Component
public class WebSocketServer {
    @Value("${netty.websocket.port:9102}")
    private int port;
    @Autowired
    private ServerBootstrap serverBootstrap;
    @Autowired
    private EventLoopGroup bossGroup;
    @Autowired
    private EventLoopGroup workerGroup;
    private ChannelFuture channelFuture;
    @PostConstruct
    public void start() throws InterruptedException {
        channelFuture = serverBootstrap.bind(port).sync();
        System.out.println("Netty WebSocket服务器启动在端口:" + port);
    }
    @PreDestroy
    public void stop() {
        if (channelFuture != null) {
            channelFuture.channel().close();
        }
        bossGroup.shutdownGracefully();
        workerGroup.shutdownGracefully();
        System.out.println("Netty WebSocket服务器已停止");
    }
//    @Value("${netty.websocket.port:9102}")
//    private int port;
//
//    @Autowired
//    private ServerBootstrap serverBootstrap;
//
//    @Autowired
//    private EventLoopGroup bossGroup;
//
//    @Autowired
//    private EventLoopGroup workerGroup;
//
//    private ChannelFuture channelFuture;
//
//    @PostConstruct
//    public void start() throws InterruptedException {
//        channelFuture = serverBootstrap.bind(port).sync();
//        System.out.println("Netty WebSocket服务器启动在端口:" + port);
//    }
//
//    @PreDestroy
//    public void stop() {
//        if (channelFuture != null) {
//            channelFuture.channel().close();
//        }
//        bossGroup.shutdownGracefully();
//        workerGroup.shutdownGracefully();
//        System.out.println("Netty WebSocket服务器已停止");
//    }
}
src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8085
  port: 8088
  tomcat:
    uri-encoding: utf-8