ldz пре 2 дана
родитељ
комит
9469432d5e

+ 7 - 5
alien-lawyer/src/main/java/shop/alien/lawyer/controller/LawyerUserController.java

@@ -147,16 +147,18 @@ public class LawyerUserController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "page", value = "页码(默认1)", dataType = "int", paramType = "query"),
             @ApiImplicitParam(name = "pageSize", value = "每页数量(默认10)", dataType = "int", paramType = "query"),
-            @ApiImplicitParam(name = "categoryId", value = "分类ID(可选)", dataType = "Integer", paramType = "query")
+            @ApiImplicitParam(name = "categoryId", value = "分类ID(可选)", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "lawyerId", value = "律师ID(可选)", dataType = "Integer", paramType = "query")
     })
     @GetMapping("/recommend/list")
     public R<IPage<LawyerUser>> getRecommendedLawyerList(
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "10") int pageSize,
-            @RequestParam(required = false) Integer categoryId) {
-        log.info("LawyerUserController.getRecommendedLawyerList?page={},pageSize={},categoryId={}",
-                page, pageSize, categoryId);
-        return lawyerUserService.getRecommendedLawyerList(page, pageSize, categoryId);
+            @RequestParam(required = false) Integer categoryId,
+            @RequestParam(required = false) Integer lawyerId) {
+        log.info("LawyerUserController.getRecommendedLawyerList?page={},pageSize={},categoryId={},lawyerId={}",
+                page, pageSize, categoryId, lawyerId);
+        return lawyerUserService.getRecommendedLawyerList(page, pageSize, categoryId, lawyerId);
     }
 
     @ApiOperation("根据会话获取推荐律师列表")

+ 2 - 3
alien-lawyer/src/main/java/shop/alien/lawyer/service/LawyerUserService.java

@@ -2,14 +2,12 @@ package shop.alien.lawyer.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import org.springframework.web.bind.annotation.RequestParam;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.LawyerUser;
 import shop.alien.entity.store.dto.LawyerUserDto;
 import shop.alien.entity.store.vo.LawyerUserVo;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -78,9 +76,10 @@ public interface LawyerUserService extends IService<LawyerUser> {
      * @param page       页码
      * @param pageSize   每页数量
      * @param categoryId 分类ID(可选)
+     * @param lawyerId   律师ID(可选)
      * @return R<IPage < LawyerUser>>
      */
-    R<IPage<LawyerUser>> getRecommendedLawyerList(int page, int pageSize, Integer categoryId);
+    R<IPage<LawyerUser>> getRecommendedLawyerList(int page, int pageSize, Integer categoryId, Integer lawyerId);
 
     /**
      * 根据会话获取推荐律师列表

+ 10 - 5
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/LawyerUserServiceImpl.java

@@ -180,9 +180,9 @@ public class LawyerUserServiceImpl extends ServiceImpl<LawyerUserMapper, LawyerU
     }
 
     @Override
-    public R<IPage<LawyerUser>> getRecommendedLawyerList(int page, int pageSize, Integer categoryId) {
-        log.info("LawyerUserServiceImpl.getRecommendedLawyerList?page={},pageSize={},categoryId={}",
-                page, pageSize, categoryId);
+    public R<IPage<LawyerUser>> getRecommendedLawyerList(int page, int pageSize, Integer categoryId, Integer lawyerId) {
+        log.info("LawyerUserServiceImpl.getRecommendedLawyerList?page={},pageSize={},categoryId={},lawyerId={}",
+                page, pageSize, categoryId, lawyerId);
 
         int pageNum = page > 0 ? page : 1;
         int pageSizeNum = pageSize > 0 ? pageSize : 10;
@@ -193,6 +193,11 @@ public class LawyerUserServiceImpl extends ServiceImpl<LawyerUserMapper, LawyerU
                 .eq("status", 1)
                 .eq("order_receiving_status", 1);
 
+        // 律师ID筛选
+        if (lawyerId != null) {
+            queryWrapper.eq("id", lawyerId);
+        }
+
         // 分类筛选:通过律师服务领域关联表查询
         if (categoryId != null) {
             List<Integer> lawyerIds = getLawyerIdsByCategoryId(categoryId);
@@ -351,7 +356,7 @@ public class LawyerUserServiceImpl extends ServiceImpl<LawyerUserMapper, LawyerU
 
         // TODO: 根据会话ID查询AI交互日志,获取关联的问题场景ID,然后推荐相关律师
         // 这里暂时返回推荐列表(可以复用上面的逻辑)
-        return getRecommendedLawyerList(1, 10, null);
+        return getRecommendedLawyerList(1, 10, null, null);
     }
 
     @Override
@@ -443,7 +448,7 @@ public class LawyerUserServiceImpl extends ServiceImpl<LawyerUserMapper, LawyerU
             List<Integer> lawyerIds = getLawyerIdsByCategoryId(categoryId);
             if (lawyerIds.isEmpty()) {
                 // 如果没有匹配的律师,返回空结果
-                return  getRecommendedLawyerList(1, 5, null);
+                return  getRecommendedLawyerList(1, 5, null, null);
             }
             queryWrapper.in("id", lawyerIds);
         }