|
@@ -45,42 +45,33 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
|
|
|
Integer clientUserId, Integer lawyerUserId, String lawyerName, Integer orderStatus) {
|
|
Integer clientUserId, Integer lawyerUserId, String lawyerName, Integer orderStatus) {
|
|
|
log.info("LawyerConsultationOrderServiceImpl.getConsultationOrderList?pageNum={},pageSize={},orderNumber={},clientUserId={},lawyerUserId={},lawyerName={},orderStatus={}",
|
|
log.info("LawyerConsultationOrderServiceImpl.getConsultationOrderList?pageNum={},pageSize={},orderNumber={},clientUserId={},lawyerUserId={},lawyerName={},orderStatus={}",
|
|
|
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);
|
|
|
|
|
- if (StringUtils.hasText(orderNumber)) {
|
|
|
|
|
- queryWrapper.eq(LawyerConsultationOrder::getOrderNumber, orderNumber);
|
|
|
|
|
- }
|
|
|
|
|
- if (clientUserId != null) {
|
|
|
|
|
- queryWrapper.eq(LawyerConsultationOrder::getClientUserId, clientUserId);
|
|
|
|
|
- }
|
|
|
|
|
- if (lawyerUserId != null) {
|
|
|
|
|
- queryWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerUserId);
|
|
|
|
|
- }
|
|
|
|
|
- // 按律师姓名搜索
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 創建分頁對象
|
|
|
|
|
+ Page<LawyerConsultationOrderVO> page = new Page<>(pageNum, pageSize);
|
|
|
|
|
+
|
|
|
|
|
+ // 如果按律師姓名搜索,先查詢匹配的律師ID列表
|
|
|
|
|
+ List<Integer> lawyerUserIds = null;
|
|
|
if (StringUtils.hasText(lawyerName)) {
|
|
if (StringUtils.hasText(lawyerName)) {
|
|
|
LambdaQueryWrapper<LawyerUser> lawyerQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<LawyerUser> lawyerQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lawyerQueryWrapper.eq(LawyerUser::getDeleteFlag, 0);
|
|
lawyerQueryWrapper.eq(LawyerUser::getDeleteFlag, 0);
|
|
|
lawyerQueryWrapper.like(LawyerUser::getName, lawyerName);
|
|
lawyerQueryWrapper.like(LawyerUser::getName, lawyerName);
|
|
|
List<LawyerUser> lawyerUsers = lawyerUserService.list(lawyerQueryWrapper);
|
|
List<LawyerUser> lawyerUsers = lawyerUserService.list(lawyerQueryWrapper);
|
|
|
if (lawyerUsers != null && !lawyerUsers.isEmpty()) {
|
|
if (lawyerUsers != null && !lawyerUsers.isEmpty()) {
|
|
|
- List<Integer> lawyerUserIds = lawyerUsers.stream()
|
|
|
|
|
|
|
+ lawyerUserIds = lawyerUsers.stream()
|
|
|
.map(LawyerUser::getId)
|
|
.map(LawyerUser::getId)
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
- queryWrapper.in(LawyerConsultationOrder::getLawyerUserId, lawyerUserIds);
|
|
|
|
|
} else {
|
|
} else {
|
|
|
- // 如果没有找到匹配的律师,返回空结果
|
|
|
|
|
- queryWrapper.eq(LawyerConsultationOrder::getLawyerUserId, -1);
|
|
|
|
|
|
|
+ // 如果沒有找到匹配的律師,返回空結果
|
|
|
|
|
+ Page<LawyerConsultationOrderVO> emptyPage = new Page<>(pageNum, pageSize);
|
|
|
|
|
+ emptyPage.setRecords(Collections.emptyList());
|
|
|
|
|
+ emptyPage.setTotal(0);
|
|
|
|
|
+ return R.data(emptyPage);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if (orderStatus != null) {
|
|
|
|
|
- queryWrapper.eq(LawyerConsultationOrder::getOrderStatus, orderStatus);
|
|
|
|
|
- }
|
|
|
|
|
- queryWrapper.orderByDesc(LawyerConsultationOrder::getCreatedTime);
|
|
|
|
|
- IPage<LawyerConsultationOrder> pageResult = this.page(page, queryWrapper);
|
|
|
|
|
-
|
|
|
|
|
- // 轉換為VO並填充律師信息
|
|
|
|
|
- IPage<LawyerConsultationOrderVO> voPage = convertToVO(pageResult);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 使用JOIN查詢,直接聯查律師信息
|
|
|
|
|
+ IPage<LawyerConsultationOrderVO> voPage = consultationOrderMapper.getConsultationOrderListWithLawyer(
|
|
|
|
|
+ page, orderNumber, clientUserId, lawyerUserId, lawyerName, orderStatus, lawyerUserIds);
|
|
|
|
|
|
|
|
return R.data(voPage);
|
|
return R.data(voPage);
|
|
|
}
|
|
}
|