From 2fb72d56082e2ee19aa187707751dd0dacd34f4b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 16 Sep 2025 11:29:00 +0800
Subject: [PATCH] feat(ai): 增加公司列表接口并优化相关服务

---
 src/main/java/cc/mrbird/febs/ai/controller/productCategory/ApiProductCategoryController.java |   20 +
 src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryAllDto.java            |   13 +
 src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java                                 |    3 
 src/main/java/cc/mrbird/febs/ai/controller/company/ApiCompanyController.java                 |   39 ++++
 src/main/java/cc/mrbird/febs/ai/controller/productPoint/ApiProductPointController.java       |   14 +
 src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleProductService.java                      |    2 
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java                        |    6 
 src/main/resources/mapper/modules/AiProductPointMapper.xml                                   |   22 ++
 src/main/java/cc/mrbird/febs/ai/service/AiProductPointService.java                           |    3 
 src/main/java/cc/mrbird/febs/ai/service/impl/AiProductPointServiceImpl.java                  |   24 ++
 src/main/java/cc/mrbird/febs/ai/res/productPoint/ApiProductPointListVo.java                  |   46 +++++
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleProductServiceImpl.java             |    9 +
 src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java           |   11 +
 src/main/java/cc/mrbird/febs/ai/res/product/ApiProductVo.java                                |    6 
 src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java                           |    1 
 src/main/java/cc/mrbird/febs/ai/service/AiMemberService.java                                 |    2 
 src/main/java/cc/mrbird/febs/ai/service/AiProductService.java                                |    3 
 src/main/java/cc/mrbird/febs/ai/req/productPoint/ApiProductPointPageDto.java                 |   27 +++
 src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryHotDto.java            |   13 +
 src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java                        |    6 
 src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java                                    |    2 
 src/main/java/cc/mrbird/febs/ai/req/memberRole/ApiMemberRoleDto.java                         |   13 +
 src/main/java/cc/mrbird/febs/ai/req/product/ApiProductPageDto.java                           |    3 
 src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java                             |    5 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java                 |   16 ++
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java                    |   47 +++++
 src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java               |   41 +++++
 src/main/java/cc/mrbird/febs/ai/entity/AiProductPoint.java                                   |    5 
 src/main/resources/mapper/modules/AiProductMapper.xml                                        |    6 
 src/main/java/cc/mrbird/febs/ai/service/impl/AiProductServiceImpl.java                       |    6 
 src/main/java/cc/mrbird/febs/ai/mapper/AiProductPointMapper.java                             |    5 
 src/main/java/cc/mrbird/febs/ai/res/company/ApiCompanyVo.java                                |   13 +
 32 files changed, 421 insertions(+), 11 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/controller/company/ApiCompanyController.java b/src/main/java/cc/mrbird/febs/ai/controller/company/ApiCompanyController.java
new file mode 100644
index 0000000..d6b1535
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/controller/company/ApiCompanyController.java
@@ -0,0 +1,39 @@
+package cc.mrbird.febs.ai.controller.company;
+
+import cc.mrbird.febs.ai.req.memberRole.ApiMemberRoleDto;
+import cc.mrbird.febs.ai.res.company.ApiCompanyVo;
+import cc.mrbird.febs.ai.res.memberRole.ApiMemberRoleVo;
+import cc.mrbird.febs.ai.service.AiMemberRoleService;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author Administrator
+ */
+@Slf4j
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/api/ai/company")
+@Api(value = "ApiCompanyController", tags = "AI-公司")
+public class ApiCompanyController {
+
+    private final AiMemberRoleService aiMemberRoleService;
+
+    @ApiOperation(value = "公司列表", notes = "公司列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiCompanyVo.class)
+    })
+    @GetMapping(value = "/list")
+    public FebsResponse list() {
+        return aiMemberRoleService.companyList();
+    }
+
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java
index 079a0de..44c13da 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java
@@ -1,5 +1,7 @@
 package cc.mrbird.febs.ai.controller.memberRole;
 
+import cc.mrbird.febs.ai.req.memberRole.ApiMemberRoleDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
 import cc.mrbird.febs.ai.res.memberRole.ApiMemberRoleVo;
 import cc.mrbird.febs.ai.service.AiMemberRoleService;
 import cc.mrbird.febs.common.entity.FebsResponse;
@@ -33,4 +35,13 @@
     public FebsResponse list() {
         return aiMemberRoleService.memberRoleList();
     }
+
+    @ApiOperation(value = "角色列表(带公司ID)", notes = "角色列表(带公司ID)")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiMemberRoleVo.class)
+    })
+    @PostMapping(value = "/listV1")
+    public FebsResponse listV1(@RequestBody ApiMemberRoleDto dto) {
+        return aiMemberRoleService.memberRoleListV1(dto);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/controller/productCategory/ApiProductCategoryController.java b/src/main/java/cc/mrbird/febs/ai/controller/productCategory/ApiProductCategoryController.java
index 34a2457..dd25304 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/productCategory/ApiProductCategoryController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/productCategory/ApiProductCategoryController.java
@@ -1,5 +1,7 @@
 package cc.mrbird.febs.ai.controller.productCategory;
 
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryAllDto;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryHotDto;
 import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryPageDto;
 import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo;
 import cc.mrbird.febs.ai.service.AiProductCategoryService;
@@ -35,15 +37,23 @@
         return aiProductCategoryService.hot();
     }
 
-
-    @ApiOperation(value = "全部父级分类", notes = "全部父级分类")
+    @ApiOperation(value = "首页推荐(带公司ID)", notes = "首页推荐(带公司ID)")
     @ApiResponses({
             @ApiResponse(code = 200, message = "success", response = ApiProductCategoryVo.class)
     })
-    @GetMapping(value = "/allList")
-    public FebsResponse allList() {
+    @PostMapping(value = "/hotV1")
+    public FebsResponse hotV1(@RequestBody ApiProductCategoryHotDto dto) {
+        return aiProductCategoryService.hotV1(dto);
+    }
 
-        return aiProductCategoryService.allList();
+    @ApiOperation(value = "全部父级分类(带公司ID)", notes = "全部父级分类(带公司ID)")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiProductCategoryVo.class)
+    })
+    @PostMapping(value = "/allList")
+    public FebsResponse allList(@RequestBody ApiProductCategoryAllDto dto) {
+
+        return aiProductCategoryService.allList(dto);
     }
 
 
diff --git a/src/main/java/cc/mrbird/febs/ai/controller/productPoint/ApiProductPointController.java b/src/main/java/cc/mrbird/febs/ai/controller/productPoint/ApiProductPointController.java
index 88ab37e..f79657f 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/productPoint/ApiProductPointController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/productPoint/ApiProductPointController.java
@@ -1,9 +1,13 @@
 package cc.mrbird.febs.ai.controller.productPoint;
 
 import cc.mrbird.febs.ai.req.product.ApiProductInfoDto;
+import cc.mrbird.febs.ai.req.product.ApiProductPageDto;
 import cc.mrbird.febs.ai.req.productPoint.ApiProductPointInfoDto;
+import cc.mrbird.febs.ai.req.productPoint.ApiProductPointPageDto;
 import cc.mrbird.febs.ai.res.product.ApiProductInfoVo;
+import cc.mrbird.febs.ai.res.product.ApiProductVo;
 import cc.mrbird.febs.ai.res.productPoint.ApiProductPointInfoVo;
+import cc.mrbird.febs.ai.res.productPoint.ApiProductPointListVo;
 import cc.mrbird.febs.ai.service.AiProductPointService;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import io.swagger.annotations.Api;
@@ -31,6 +35,16 @@
 
     private final AiProductPointService aiProductPointService;
 
+    @ApiOperation(value = "知识点列表", notes = "知识点列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiProductPointListVo.class)
+    })
+    @PostMapping(value = "/list")
+    public FebsResponse list(@RequestBody @Validated ApiProductPointPageDto dto) {
+
+        return aiProductPointService.productPointList(dto);
+    }
+
     @ApiOperation(value = "知识点详情", notes = "知识点详情")
     @ApiResponses({
             @ApiResponse(code = 200, message = "success", response = ApiProductPointInfoVo.class)
diff --git a/src/main/java/cc/mrbird/febs/ai/entity/AiProductPoint.java b/src/main/java/cc/mrbird/febs/ai/entity/AiProductPoint.java
index d094130..6d649ef 100644
--- a/src/main/java/cc/mrbird/febs/ai/entity/AiProductPoint.java
+++ b/src/main/java/cc/mrbird/febs/ai/entity/AiProductPoint.java
@@ -19,6 +19,11 @@
     private String companyId;
 
     /**
+     * 类型
+     */
+    private String productCategoryId;
+
+    /**
      * 类型1:普通内容  2:视频号内容
      */
     private Integer isNormal;
diff --git a/src/main/java/cc/mrbird/febs/ai/mapper/AiProductPointMapper.java b/src/main/java/cc/mrbird/febs/ai/mapper/AiProductPointMapper.java
index 7750703..591ad21 100644
--- a/src/main/java/cc/mrbird/febs/ai/mapper/AiProductPointMapper.java
+++ b/src/main/java/cc/mrbird/febs/ai/mapper/AiProductPointMapper.java
@@ -1,7 +1,11 @@
 package cc.mrbird.febs.ai.mapper;
 
 import cc.mrbird.febs.ai.entity.AiProductPoint;
+import cc.mrbird.febs.ai.req.productPoint.ApiProductPointPageDto;
+import cc.mrbird.febs.ai.res.productPoint.ApiProductPointListVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * AI产品知识点 Mapper接口
@@ -11,4 +15,5 @@
  */
 public interface AiProductPointMapper extends BaseMapper<AiProductPoint> {
 
+    Page<ApiProductPointListVo> selectPageListByQuery(Page<ApiProductPointListVo> page,  @Param("record")ApiProductPointPageDto dto);
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/req/memberRole/ApiMemberRoleDto.java b/src/main/java/cc/mrbird/febs/ai/req/memberRole/ApiMemberRoleDto.java
new file mode 100644
index 0000000..ea247e8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/req/memberRole/ApiMemberRoleDto.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.ai.req.memberRole;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMemberRoleDto", description = "参数")
+public class ApiMemberRoleDto {
+
+    @ApiModelProperty(value = "公司ID", example = "1")
+    private String companyId;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/req/product/ApiProductPageDto.java b/src/main/java/cc/mrbird/febs/ai/req/product/ApiProductPageDto.java
index ef63b7c..8c1bce6 100644
--- a/src/main/java/cc/mrbird/febs/ai/req/product/ApiProductPageDto.java
+++ b/src/main/java/cc/mrbird/febs/ai/req/product/ApiProductPageDto.java
@@ -24,6 +24,9 @@
     @ApiModelProperty(value = "分类ID", example = "123")
     private String categoryId;
 
+    @ApiModelProperty(value = "公司ID", example = "123")
+    private String companyId;
+
     @ApiModelProperty(value = "角色ID", example = "123")
     private String memberRoleId;
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryAllDto.java b/src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryAllDto.java
new file mode 100644
index 0000000..ff68738
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryAllDto.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.ai.req.productCategory;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiProductCategoryAllDto", description = "参数")
+public class ApiProductCategoryAllDto {
+
+    @ApiModelProperty(value = "公司ID", example = "1")
+    private String companyId;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryHotDto.java b/src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryHotDto.java
new file mode 100644
index 0000000..281f760
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/req/productCategory/ApiProductCategoryHotDto.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.ai.req.productCategory;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiProductCategoryHotDto", description = "参数")
+public class ApiProductCategoryHotDto {
+
+    @ApiModelProperty(value = "公司ID", example = "1")
+    private String companyId;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/req/productPoint/ApiProductPointPageDto.java b/src/main/java/cc/mrbird/febs/ai/req/productPoint/ApiProductPointPageDto.java
new file mode 100644
index 0000000..955bb4a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/req/productPoint/ApiProductPointPageDto.java
@@ -0,0 +1,27 @@
+package cc.mrbird.febs.ai.req.productPoint;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+@Data
+@ApiModel(value = "ApiProductPointPageDto", description = "参数")
+public class ApiProductPointPageDto {
+
+
+    @NotNull(message = "页码不能为空")
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer pageNow;
+
+    @NotNull(message = "每页数量不能为空")
+    @ApiModelProperty(value = "每页数量", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "分类ID", example = "123")
+    private String categoryId;
+
+    @ApiModelProperty(value = "公司ID", example = "123")
+    private String companyId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/res/company/ApiCompanyVo.java b/src/main/java/cc/mrbird/febs/ai/res/company/ApiCompanyVo.java
new file mode 100644
index 0000000..7339719
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/res/company/ApiCompanyVo.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.ai.res.company;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiCompanyVo", description = "参数")
+public class ApiCompanyVo {
+
+    private String name;
+
+    private String id;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/res/product/ApiProductVo.java b/src/main/java/cc/mrbird/febs/ai/res/product/ApiProductVo.java
index bcb8aa1..2ee36d3 100644
--- a/src/main/java/cc/mrbird/febs/ai/res/product/ApiProductVo.java
+++ b/src/main/java/cc/mrbird/febs/ai/res/product/ApiProductVo.java
@@ -25,4 +25,10 @@
     @ApiModelProperty(value = "ID")
     private String target;
 
+    /**
+     * 小图标
+     */
+    @ApiModelProperty(value = "图片")
+    private String iconImg;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/res/productPoint/ApiProductPointListVo.java b/src/main/java/cc/mrbird/febs/ai/res/productPoint/ApiProductPointListVo.java
new file mode 100644
index 0000000..02008b8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/res/productPoint/ApiProductPointListVo.java
@@ -0,0 +1,46 @@
+package cc.mrbird.febs.ai.res.productPoint;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiProductPointListVo", description = "参数")
+public class ApiProductPointListVo {
+
+
+
+    @ApiModelProperty(value = "知识点ID")
+    private String id;
+
+    /**
+     * 类型1:普通内容  2:视频号内容
+     */
+    @ApiModelProperty(value = "类型1:普通内容  2:视频号内容")
+    private Integer isNormal;
+
+    /**
+     * 视频号 id,以"sph"开头的id,可在视频号助手获取
+     */
+    @ApiModelProperty(value = "视频号 id")
+    private String finderUserName;
+
+    /**
+     * 视频 feedId
+     */
+    @ApiModelProperty(value = "视频 feedId")
+    private String feedId;
+
+    /**
+     * 视频封面
+     */
+    @ApiModelProperty(value = "视频封面")
+    private String feedImg;
+
+    /**
+     * 标题
+     */
+    @ApiModelProperty(value = "标题")
+    private String title;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleProductService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleProductService.java
index c18cad5..ab96452 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleProductService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleProductService.java
@@ -12,5 +12,7 @@
  */
 public interface AiMemberRoleProductService extends IService<AiMemberRoleProduct> {
 
+    List<AiMemberRoleProduct> getProductListByMemberRoleId(String memberRoleId);
+
 
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java
index 5ca434d..927cafb 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs.ai.service;
 
 import cc.mrbird.febs.ai.entity.AiMemberRole;
+import cc.mrbird.febs.ai.req.memberRole.ApiMemberRoleDto;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -19,5 +20,9 @@
 
     FebsResponse memberRoleList();
 
+    FebsResponse memberRoleListV1(ApiMemberRoleDto dto);
+
     String getDefaultMemberRoleId();
+
+    FebsResponse companyList();
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberService.java
index 57c3a1d..5315209 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberService.java
@@ -4,4 +4,6 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 
 public interface AiMemberService extends IService<AiMember> {
+
+    AiMember getById(String id);
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java b/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java
index c5ee767..c29fd8d 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductCategoryService.java
@@ -1,6 +1,8 @@
 package cc.mrbird.febs.ai.service;
 
 import cc.mrbird.febs.ai.entity.AiProductCategory;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryAllDto;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryHotDto;
 import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryPageDto;
 import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo;
 import cc.mrbird.febs.common.entity.FebsResponse;
@@ -25,9 +27,11 @@
 
     FebsResponse hot();
 
+    FebsResponse hotV1(ApiProductCategoryHotDto dto);
+
     FebsResponse categoryList(ApiProductCategoryPageDto dto);
 
     String getDefaultProductCategoryId();
 
-    FebsResponse allList();
+    FebsResponse allList(ApiProductCategoryAllDto dto);
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiProductPointService.java b/src/main/java/cc/mrbird/febs/ai/service/AiProductPointService.java
index 04eb5e2..774609b 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiProductPointService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductPointService.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.ai.entity.AiProductPoint;
 import cc.mrbird.febs.ai.req.productPoint.ApiProductPointInfoDto;
+import cc.mrbird.febs.ai.req.productPoint.ApiProductPointPageDto;
 import cc.mrbird.febs.ai.res.productPoint.ApiProductPointVo;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -21,5 +22,7 @@
 
     List<ApiProductPointVo> listByProductId(String productId);
 
+    FebsResponse productPointList(ApiProductPointPageDto dto);
+
     FebsResponse productPointInfo(ApiProductPointInfoDto dto);
 }
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 70400e2..3801473 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiProductService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductService.java
@@ -7,6 +7,7 @@
 import cc.mrbird.febs.ai.res.product.ApiProductVo;
 import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo;
 import cc.mrbird.febs.common.entity.FebsResponse;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import java.util.List;
@@ -28,4 +29,6 @@
     FebsResponse productInfo(ApiProductInfoDto dto);
 
     FebsResponse pointInfoList(ApiProductInfoDto dto);
+
+    List<AiProduct> getProductListByQuery(LambdaQueryWrapper<AiProduct> productQuery);
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleProductServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleProductServiceImpl.java
index 427dc37..49ebee2 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleProductServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleProductServiceImpl.java
@@ -4,6 +4,7 @@
 import cc.mrbird.febs.ai.mapper.AiMemberRoleProductMapper;
 import cc.mrbird.febs.ai.service.AiMemberRoleProductService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -26,4 +27,12 @@
     private final AiMemberRoleProductMapper aiMemberRoleProductMapper;
 
 
+    @Override
+    public List<AiMemberRoleProduct> getProductListByMemberRoleId(String memberRoleId) {
+
+        return aiMemberRoleProductMapper.selectList(
+                Wrappers.lambdaQuery(AiMemberRoleProduct.class)
+                        .eq(AiMemberRoleProduct::getRoleId, memberRoleId)
+        );
+    }
 }
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 e4aad6e..f4027f5 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
@@ -1,11 +1,16 @@
 package cc.mrbird.febs.ai.service.impl;
 
+import cc.mrbird.febs.ai.entity.AiCompany;
 import cc.mrbird.febs.ai.entity.AiMemberRole;
+import cc.mrbird.febs.ai.mapper.AiCompanyMapper;
 import cc.mrbird.febs.ai.mapper.AiMemberRoleMapper;
+import cc.mrbird.febs.ai.req.memberRole.ApiMemberRoleDto;
+import cc.mrbird.febs.ai.res.company.ApiCompanyVo;
 import cc.mrbird.febs.ai.res.memberRole.ApiMemberRoleVo;
 import cc.mrbird.febs.ai.service.AiMemberRoleService;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -29,6 +34,7 @@
 public class AiMemberRoleServiceImpl extends ServiceImpl<AiMemberRoleMapper, AiMemberRole> implements AiMemberRoleService {
 
     private final AiMemberRoleMapper aiMemberRoleMapper;
+    private final AiCompanyMapper aiCompanyMapper;
 
     @Override
     public List<AiMemberRole> getListByQuery(LambdaQueryWrapper<AiMemberRole> query) {
@@ -57,9 +63,34 @@
     }
 
     @Override
+    public FebsResponse memberRoleListV1(ApiMemberRoleDto dto) {
+        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);
+        }
+        query.eq(AiMemberRole::getState, 1);
+        List<AiMemberRole> listByQuery = this.getListByQuery(query);
+        if (CollUtil.isNotEmpty(listByQuery)){
+            for (AiMemberRole aiMemberRole : listByQuery){
+                ApiMemberRoleVo apiMemberRoleVo = new ApiMemberRoleVo();
+                apiMemberRoleVo.setId(aiMemberRole.getId());
+                apiMemberRoleVo.setName(aiMemberRole.getName());
+                apiMemberRoleVo.setIconImg(aiMemberRole.getIconImg());
+                list.add(apiMemberRoleVo);
+            }
+        }
+        return new FebsResponse().success().data(list);
+    }
+
+    @Override
     public String getDefaultMemberRoleId() {
         LambdaQueryWrapper<AiMemberRole> queryWrapper = Wrappers.lambdaQuery(AiMemberRole.class);
         queryWrapper.eq(AiMemberRole::getState, 1);
+        queryWrapper.isNull(AiMemberRole::getCompanyId);
         queryWrapper.orderByAsc(AiMemberRole::getCreatedTime);
         queryWrapper.last("limit 1");
         List<AiMemberRole> listByQuery = this.getListByQuery(queryWrapper);
@@ -70,4 +101,20 @@
         }
         return null;
     }
+
+    @Override
+    public FebsResponse companyList() {
+        List<ApiCompanyVo> list = new ArrayList<>();
+
+        List<AiCompany> aiCompanies = aiCompanyMapper.selectList(null);
+        if (CollUtil.isNotEmpty(aiCompanies)){
+            for (AiCompany aiCompany : aiCompanies){
+                ApiCompanyVo apiCompanyVo = new ApiCompanyVo();
+                apiCompanyVo.setId(aiCompany.getId());
+                apiCompanyVo.setName(aiCompany.getName());
+                list.add(apiCompanyVo);
+            }
+        }
+        return new FebsResponse().success().data(list);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
index 37f81eb..4ab010e 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
@@ -15,4 +15,10 @@
 @Service
 @RequiredArgsConstructor
 public class AiMemberServiceImpl extends ServiceImpl<AiMemberMapper, AiMember> implements AiMemberService {
+
+    private final AiMemberMapper aiMemberMapper;
+    @Override
+    public AiMember getById(String id) {
+        return aiMemberMapper.selectById( id);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
index 2f0697e..771f4ef 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductCategoryServiceImpl.java
@@ -1,14 +1,18 @@
 package cc.mrbird.febs.ai.service.impl;
 
+import cc.mrbird.febs.ai.entity.AiMemberRole;
 import cc.mrbird.febs.ai.entity.AiProductCategory;
 import cc.mrbird.febs.ai.enumerates.ProductCategoryLevelEnum;
 import cc.mrbird.febs.ai.mapper.AiProductCategoryMapper;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryAllDto;
+import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryHotDto;
 import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryPageDto;
 import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo;
 import cc.mrbird.febs.ai.service.AiProductCategoryService;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.mall.vo.ApiActivityInfoVo;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -70,6 +74,35 @@
     }
 
     @Override
+    public FebsResponse hotV1(ApiProductCategoryHotDto 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);
+        }
+        query.eq(AiProductCategory::getLevel, ProductCategoryLevelEnum.LEVEL_TWO.getLevel());
+        query.eq(AiProductCategory::getState, 1);
+        query.eq(AiProductCategory::getHotState, 1);
+        query.orderByAsc(AiProductCategory::getSort);
+        List<AiProductCategory> listByQuery = this.getListByQuery(query);
+        if (CollUtil.isNotEmpty(listByQuery)){
+            for (AiProductCategory aiProductCategory : listByQuery){
+                ApiProductCategoryVo apiProductCategoryVo = new ApiProductCategoryVo();
+                apiProductCategoryVo.setId(aiProductCategory.getId());
+                apiProductCategoryVo.setName(aiProductCategory.getName());
+                apiProductCategoryVo.setBackImg(aiProductCategory.getBackImg());
+                apiProductCategoryVo.setIconImg(aiProductCategory.getIconImg());
+                list.add(apiProductCategoryVo);
+            }
+        }
+        return new FebsResponse().success().data(list);
+    }
+
+    @Override
     public FebsResponse categoryList(ApiProductCategoryPageDto dto) {
         // 创建分页对象,传入当前页和每页大小
         Page<ApiProductCategoryVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
@@ -81,6 +114,7 @@
     public String getDefaultProductCategoryId() {
         LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class);
         query.eq(AiProductCategory::getState, 1);
+        query.isNull(AiProductCategory::getCompanyId);
         query.eq(AiProductCategory::getHotState, 1);
         query.orderByAsc(AiProductCategory::getSort);
         query.last("limit 1");
@@ -92,9 +126,14 @@
     }
 
     @Override
-    public FebsResponse allList() {
+    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);
+        }
         query.eq(AiProductCategory::getState, 1);
         query.eq(AiProductCategory::getLevel, ProductCategoryLevelEnum.LEVEL_ONE.getLevel());
         query.orderByAsc(AiProductCategory::getSort);
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductPointServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductPointServiceImpl.java
index 3800bfd..26895c7 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductPointServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductPointServiceImpl.java
@@ -1,23 +1,27 @@
 package cc.mrbird.febs.ai.service.impl;
 
+import cc.mrbird.febs.ai.entity.AiMemberRoleProduct;
+import cc.mrbird.febs.ai.entity.AiProduct;
 import cc.mrbird.febs.ai.entity.AiProductPoint;
 import cc.mrbird.febs.ai.entity.AiProductPointLink;
 import cc.mrbird.febs.ai.mapper.AiProductPointMapper;
 import cc.mrbird.febs.ai.req.productPoint.ApiProductPointInfoDto;
+import cc.mrbird.febs.ai.req.productPoint.ApiProductPointPageDto;
 import cc.mrbird.febs.ai.res.productPoint.ApiProductPointInfoVo;
+import cc.mrbird.febs.ai.res.productPoint.ApiProductPointListVo;
 import cc.mrbird.febs.ai.res.productPoint.ApiProductPointVo;
-import cc.mrbird.febs.ai.service.AiProductPointLinkService;
-import cc.mrbird.febs.ai.service.AiProductPointService;
+import cc.mrbird.febs.ai.service.*;
 import cc.mrbird.febs.common.entity.FebsResponse;
 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.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -37,6 +41,7 @@
 
     private final AiProductPointMapper aiProductPointMapper;
     private final AiProductPointLinkService aiProductPointLinkService;
+    private final AiProductCategoryService aiProductCategoryService;
 
     @Override
     public AiProductPoint getById(String id) {
@@ -74,6 +79,19 @@
     }
 
     @Override
+    public FebsResponse productPointList(ApiProductPointPageDto dto) {
+
+        if(StrUtil.isEmpty(dto.getCategoryId())){
+            String categoryId = aiProductCategoryService.getDefaultProductCategoryId();
+            dto.setCategoryId(categoryId);
+        }
+        // 创建分页对象,传入当前页和每页大小
+        Page<ApiProductPointListVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+        Page<ApiProductPointListVo> pageListByQuery = aiProductPointMapper.selectPageListByQuery(page, dto);
+        return new FebsResponse().success().data(pageListByQuery);
+    }
+
+    @Override
     public FebsResponse productPointInfo(ApiProductPointInfoDto dto) {
         ApiProductPointInfoVo apiProductPointInfoVo = new ApiProductPointInfoVo();
         String id = dto.getId();
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 774df76..f0f78df 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
@@ -11,6 +11,7 @@
 import cc.mrbird.febs.ai.service.*;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
@@ -91,4 +92,9 @@
         List<ApiProductPointVo> apiProductPointVos = aiProductPointService.listByProductId(id);
         return new FebsResponse().success().data(apiProductPointVos);
     }
+
+    @Override
+    public List<AiProduct> getProductListByQuery(LambdaQueryWrapper<AiProduct> productQuery) {
+        return aiProductMapper.selectList(productQuery);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
index 85c1728..748623e 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -64,5 +64,6 @@
         registration.excludePathPatterns("/api/ai/test/**");
         registration.excludePathPatterns("/api/ai/memberTalk/answer-stream");
         registration.excludePathPatterns("/api/ai/talk/questionList");
+        registration.excludePathPatterns("/api/ai/company/list");
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java
index e6e26cc..6239bf1 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxLoginDto.java
@@ -11,4 +11,6 @@
 
     private String inviteId;
 
+    private String companyId;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java
index 5f1dc66..6ba0044 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiXcxSaveInfoDto.java
@@ -27,6 +27,9 @@
     @ApiModelProperty(value = "邀请码")
     private String inviteId;
 
+    @ApiModelProperty(value = "公司ID")
+    private String companyId;
+
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @ApiModelProperty(value = "生日")
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index d5bfefa..e67b607 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.ai.entity.AiMember;
 import cc.mrbird.febs.ai.mapper.AiMemberMapper;
+import cc.mrbird.febs.ai.service.AiMemberService;
 import cc.mrbird.febs.ai.utils.UUID;
 import cc.mrbird.febs.common.configure.FebsConfigure;
 import cc.mrbird.febs.common.entity.FebsResponse;
@@ -104,6 +105,7 @@
     private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
     private final HappyMemberLabelMapper happyMemberLabelMapper;
     private final FebsConfigure febsConfigure;
+    private final AiMemberService aiMemberService;
 
 
     @Value("${spring.profiles.active}")
@@ -734,6 +736,9 @@
 
                     AiMember aiMember = new AiMember();
                     aiMember.setId(UUID.getSimpleUUIDString());
+                    if (StrUtil.isNotEmpty(apiXcxLoginDto.getCompanyId())){
+                        aiMember.setCompanyId(apiXcxLoginDto.getCompanyId());
+                    }
                     aiMember.setCreatedTime(new Date());
                     aiMemberMapper.insert(aiMember);
 
@@ -843,6 +848,17 @@
         }
         this.baseMapper.updateById(mallMember);
 
+        String memberUuid = mallMember.getMemberUuid();
+        AiMember aiMember = aiMemberService.getById(memberUuid);
+        if (ObjectUtil.isNotEmpty(aiMember) && StrUtil.isNotEmpty(apiXcxSaveInfoDto.getCompanyId())){
+            aiMemberService.update(null,
+                    Wrappers.lambdaUpdate(AiMember.class)
+                    .set(AiMember::getCompanyId, aiMember.getCompanyId())
+                    .eq(AiMember::getId, aiMember.getId())
+                    );
+        }
+
+
 //        //完善信息赠送新人礼
 //        if (StrUtil.isNotBlank(mallMember.getPhone()) && mallMember.getNewGift() == 0) {
 //            DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
diff --git a/src/main/resources/mapper/modules/AiProductMapper.xml b/src/main/resources/mapper/modules/AiProductMapper.xml
index a5a099c..fc3b8eb 100644
--- a/src/main/resources/mapper/modules/AiProductMapper.xml
+++ b/src/main/resources/mapper/modules/AiProductMapper.xml
@@ -6,13 +6,17 @@
         select
             a.id as id,
             a.name as name,
+            a.icon_img as iconImg,
             a.target as target
         from ai_product a
         <where>
             a.state = 1
             <if test="record != null">
                 <if test="record.categoryId != null and record.categoryId != ''">
-                    and a.product_category_id=#{record.categoryId}
+                    and a.product_category_id = #{record.categoryId}
+                </if>
+                <if test="record.companyId != null and record.companyId != ''">
+                    and a.company_id = #{record.companyId}
                 </if>
                 <if test="record.memberRoleId != null and record.memberRoleId != ''">
                     and a.id in (
diff --git a/src/main/resources/mapper/modules/AiProductPointMapper.xml b/src/main/resources/mapper/modules/AiProductPointMapper.xml
index 6537d9a..48bd2cd 100644
--- a/src/main/resources/mapper/modules/AiProductPointMapper.xml
+++ b/src/main/resources/mapper/modules/AiProductPointMapper.xml
@@ -1,4 +1,26 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="cc.mrbird.febs.ai.mapper.AiProductPointMapper">
+
+    <select id="selectPageListByQuery" resultType="cc.mrbird.febs.ai.res.productPoint.ApiProductPointListVo">
+        select
+        a.id as id,
+        a.is_normal as isNormal,
+        a.finder_user_name as finderUserName,
+        a.feed_img as feedImg,
+        a.title as title,
+        a.feed_id as feedId
+        from ai_product_point a
+        <where>
+            <if test="record != null">
+                <if test="record.categoryId != null and record.categoryId != ''">
+                    and a.product_category_id = #{record.categoryId}
+                </if>
+                <if test="record.companyId != null and record.companyId != ''">
+                    and a.company_id = #{record.companyId}
+                </if>
+            </if>
+        </where>
+        order by a.CREATED_TIME asc
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1