Quellcode durchsuchen

加入按照律师名称搜索

zhangchen vor 1 Monat
Ursprung
Commit
ec2602f305

+ 5 - 3
alien-store/src/main/java/shop/alien/store/controller/LawyerConsultationOrderController.java

@@ -53,6 +53,7 @@ public class LawyerConsultationOrderController {
             @ApiImplicitParam(name = "orderNumber", value = "订单编号", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "clientUserId", value = "客户端用户ID", dataType = "Integer", paramType = "query"),
             @ApiImplicitParam(name = "lawyerUserId", value = "律师用户ID", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "lawyerName", value = "律师姓名", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "orderStatus", value = "订单状态", dataType = "Integer", paramType = "query")
     })
     @GetMapping("/getConsultationOrderList")
@@ -61,10 +62,11 @@ public class LawyerConsultationOrderController {
                                                                  @RequestParam(required = false) String orderNumber,
                                                                  @RequestParam(required = false) Integer clientUserId,
                                                                  @RequestParam(required = false) Integer lawyerUserId,
+                                                                 @RequestParam(required = false) String lawyerName,
                                                                  @RequestParam(required = false) Integer orderStatus) {
-        log.info("LawyerConsultationOrderController.getConsultationOrderList?pageNum={},pageSize={},orderNumber={},clientUserId={},lawyerUserId={},orderStatus={}",
-                pageNum, pageSize, orderNumber, clientUserId, lawyerUserId, orderStatus);
-        return consultationOrderService.getConsultationOrderList(pageNum, pageSize, orderNumber, clientUserId, lawyerUserId, orderStatus);
+        log.info("LawyerConsultationOrderController.getConsultationOrderList?pageNum={},pageSize={},orderNumber={},clientUserId={},lawyerUserId={},lawyerName={},orderStatus={}",
+                pageNum, pageSize, orderNumber, clientUserId, lawyerUserId, lawyerName, orderStatus);
+        return consultationOrderService.getConsultationOrderList(pageNum, pageSize, orderNumber, clientUserId, lawyerUserId, lawyerName, orderStatus);
     }
 
     @ApiOperation("新增咨询订单")

+ 2 - 1
alien-store/src/main/java/shop/alien/store/service/LawyerConsultationOrderService.java

@@ -21,11 +21,12 @@ public interface LawyerConsultationOrderService extends IService<LawyerConsultat
      * @param orderNumber  订单编号
      * @param clientUserId 客户端用户ID
      * @param lawyerUserId 律师用户ID
+     * @param lawyerName   律师姓名
      * @param orderStatus  订单状态
      * @return IPage<LawyerConsultationOrder>
      */
     R<IPage<LawyerConsultationOrder>> getConsultationOrderList(int pageNum, int pageSize, String orderNumber,
-                                                          Integer clientUserId, Integer lawyerUserId, Integer orderStatus);
+                                                          Integer clientUserId, Integer lawyerUserId, String lawyerName, Integer orderStatus);
 
     /**
      * 新增咨询订单

+ 25 - 3
alien-store/src/main/java/shop/alien/store/service/impl/LawyerConsultationOrderServiceImpl.java

@@ -11,8 +11,13 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.LawyerConsultationOrder;
+import shop.alien.entity.store.LawyerUser;
 import shop.alien.mapper.LawyerConsultationOrderMapper;
 import shop.alien.store.service.LawyerConsultationOrderService;
+import shop.alien.store.service.LawyerUserService;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 咨询订单 服务实现类
@@ -27,12 +32,13 @@ import shop.alien.store.service.LawyerConsultationOrderService;
 public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsultationOrderMapper, LawyerConsultationOrder> implements LawyerConsultationOrderService {
 
     private final LawyerConsultationOrderMapper consultationOrderMapper;
+    private final LawyerUserService lawyerUserService;
 
     @Override
     public R<IPage<LawyerConsultationOrder>> getConsultationOrderList(int pageNum, int pageSize, String orderNumber,
-                                                                 Integer clientUserId, Integer lawyerUserId, Integer orderStatus) {
-        log.info("LawyerConsultationOrderServiceImpl.getConsultationOrderList?pageNum={},pageSize={},orderNumber={},clientUserId={},lawyerUserId={},orderStatus={}",
-                pageNum, pageSize, orderNumber, clientUserId, lawyerUserId, orderStatus);
+                                                                 Integer clientUserId, Integer lawyerUserId, String lawyerName, Integer orderStatus) {
+        log.info("LawyerConsultationOrderServiceImpl.getConsultationOrderList?pageNum={},pageSize={},orderNumber={},clientUserId={},lawyerUserId={},lawyerName={},orderStatus={}",
+                pageNum, pageSize, orderNumber, clientUserId, lawyerUserId, lawyerName, orderStatus);
         Page<LawyerConsultationOrder> page = new Page<>(pageNum, pageSize);
         LambdaQueryWrapper<LawyerConsultationOrder> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LawyerConsultationOrder::getDeleteFlag, 0);
@@ -45,6 +51,22 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
         if (lawyerUserId != null) {
             queryWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerUserId);
         }
+        // 按律师姓名搜索
+        if (StringUtils.hasText(lawyerName)) {
+            LambdaQueryWrapper<LawyerUser> lawyerQueryWrapper = new LambdaQueryWrapper<>();
+            lawyerQueryWrapper.eq(LawyerUser::getDeleteFlag, 0);
+            lawyerQueryWrapper.like(LawyerUser::getName, lawyerName);
+            List<LawyerUser> lawyerUsers = lawyerUserService.list(lawyerQueryWrapper);
+            if (lawyerUsers != null && !lawyerUsers.isEmpty()) {
+                List<Integer> lawyerUserIds = lawyerUsers.stream()
+                        .map(LawyerUser::getId)
+                        .collect(Collectors.toList());
+                queryWrapper.in(LawyerConsultationOrder::getLawyerUserId, lawyerUserIds);
+            } else {
+                // 如果没有找到匹配的律师,返回空结果
+                queryWrapper.eq(LawyerConsultationOrder::getLawyerUserId, -1);
+            }
+        }
         if (orderStatus != null) {
             queryWrapper.eq(LawyerConsultationOrder::getOrderStatus, orderStatus);
         }