Przeglądaj źródła

新增查询订单详情接口

zhangchen 1 miesiąc temu
rodzic
commit
bb4c5ce9b3

+ 1 - 0
alien-entity/src/main/java/shop/alien/mapper/LawyerConsultationOrderMapper.java

@@ -58,5 +58,6 @@ public interface LawyerConsultationOrderMapper extends BaseMapper<LawyerConsulta
             @Param("orderStatus") String orderStatus,
             @Param("lawyerUserIds") List<Integer> lawyerUserIds
     );
+
 }
 

+ 0 - 1
alien-entity/src/main/resources/mapper/LawyerConsultationOrderMapper.xml

@@ -202,6 +202,5 @@
         </if>
         ORDER BY lco.created_time DESC
     </select>
-
 </mapper>
 

+ 12 - 0
alien-store/src/main/java/shop/alien/store/controller/LawyerConsultationOrderController.java

@@ -228,5 +228,17 @@ public class LawyerConsultationOrderController {
         return consultationOrderService.getConsultationOrderListById(page, size, userId, orderStatus, lawyerName);
     }
 
+    @ApiOperation("查询订单详情")
+    @ApiOperationSupport(order = 12)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "lawyerOrderId", value = "法律订单ID", dataType = "String", paramType = "query")
+    })
+    @GetMapping("/getConsultationOrderDetail")
+    public R<LawyerConsultationOrderVO> getConsultationOrderDetail(@RequestParam(required = false) String lawyerOrderId) {
+        log.info("LawyerConsultationOrderController.getConsultationOrderDetail?lawyerOrderId={}",
+                lawyerOrderId);
+        return R.data(consultationOrderService.getConsultationOrderDetail(lawyerOrderId));
+    }
+
 }
 

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

@@ -84,5 +84,7 @@ public interface LawyerConsultationOrderService extends IService<LawyerConsultat
      * @return IPage<LawyerConsultationOrderVO>
      */
     R<IPage<LawyerConsultationOrderVO>> getConsultationOrderListById(int pageNum, int pageSize, String userId, String orderStatus, String lawyerName);
+
+    LawyerConsultationOrderVO getConsultationOrderDetail(String lawyerOrderId);
 }
 

+ 74 - 23
alien-store/src/main/java/shop/alien/store/service/impl/LawyerConsultationOrderServiceImpl.java

@@ -8,6 +8,7 @@ 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 net.sf.jsqlparser.expression.StringValue;
 import org.apache.commons.lang.math.RandomUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.stereotype.Service;
@@ -22,6 +23,7 @@ import shop.alien.entity.store.vo.LawyerConsultationOrderVO;
 import shop.alien.entity.store.vo.LifeCouponVo;
 import shop.alien.mapper.LawyerConsultationOrderMapper;
 import shop.alien.mapper.LawyerServiceAreaMapper;
+import shop.alien.mapper.LawyerUserMapper;
 import shop.alien.store.service.LawyerConsultationOrderService;
 import shop.alien.store.service.LawyerUserService;
 
@@ -45,6 +47,7 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
     private final LawyerConsultationOrderMapper consultationOrderMapper;
     private final LawyerUserService lawyerUserService;
     private final LawyerServiceAreaMapper lawyerServiceAreaMapper;
+    private final LawyerUserMapper lawyerUserMapper;
 
     @Override
     public R<IPage<LawyerConsultationOrderVO>> getConsultationOrderList(int pageNum, int pageSize, String orderNumber,
@@ -292,34 +295,82 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
             List<Integer> lawyerIdList = lawyerConsultationOrderVOS.stream()
                     .map(LawyerConsultationOrderVO::getLawyerUserId)
                     .collect(Collectors.toList());
-            if(CollectionUtils.isNotEmpty(lawyerIdList)){
-                QueryWrapper<LawyerServiceArea> wrapper = new QueryWrapper<>();
-                wrapper.in("lsa.lawyer_user_id", lawyerIdList);
-                wrapper.in("lsa.delete_flag", 0);
-                wrapper.in("lsa.status", 1);
-
-                List<Map<String, Object>> lawyerLegalProblemScenarioData =  lawyerServiceAreaMapper.getLawyerLegalProblemScenarioList(wrapper);
-                Map<String, List<String>> lawyerLegalProblemScenarioLawyer = new HashMap<>();
-                for (Map<String, Object> row : lawyerLegalProblemScenarioData) {
-                    String lawyerUserId = String.valueOf(row.get("lawyer_user_id"));
-                    String ScenarioName = (String) row.get("name");
-                    if (lawyerUserId != null) {
-                        lawyerLegalProblemScenarioLawyer.computeIfAbsent(lawyerUserId, k -> new ArrayList<>())
-                                .add(ScenarioName != null ? ScenarioName : "");
+            Map<String, List<String>> lawyerLegalProblemScenarioLawyer = getLawyerServiceArea(lawyerIdList);
+
+            if(!lawyerLegalProblemScenarioLawyer.isEmpty()){
+                voPage.getRecords().forEach(entity -> {
+                    String lawyerUserId = String.valueOf(entity.getLawyerUserId());
+                    if(lawyerLegalProblemScenarioLawyer.containsKey(lawyerUserId)){
+                        entity.setLawyerLegalProblemScenarioList(lawyerLegalProblemScenarioLawyer.get(lawyerUserId));
                     }
-                }
+                });
+            }
+        }
+        return R.data(voPage);
+    }
 
-                if(!lawyerLegalProblemScenarioLawyer.isEmpty()){
-                    voPage.getRecords().forEach(entity -> {
-                        String lawyerUserId = String.valueOf(entity.getLawyerUserId());
-                        if(lawyerLegalProblemScenarioLawyer.containsKey(lawyerUserId)){
-                            entity.setLawyerLegalProblemScenarioList(lawyerLegalProblemScenarioLawyer.get(lawyerUserId));
-                        }
-                    });
+    private Map<String, List<String>> getLawyerServiceArea(List<Integer> lawyerIdList) {
+        Map<String, List<String>> lawyerLegalProblemScenarioLawyer = new HashMap<>();
+        if(CollectionUtils.isNotEmpty(lawyerIdList)){
+            QueryWrapper<LawyerServiceArea> wrapper = new QueryWrapper<>();
+            wrapper.in("lsa.lawyer_user_id", lawyerIdList);
+            wrapper.in("lsa.delete_flag", 0);
+            wrapper.in("lsa.status", 1);
+
+            List<Map<String, Object>> lawyerLegalProblemScenarioData =  lawyerServiceAreaMapper.getLawyerLegalProblemScenarioList(wrapper);
+            for (Map<String, Object> row : lawyerLegalProblemScenarioData) {
+                String lawyerUserId = String.valueOf(row.get("lawyer_user_id"));
+                String ScenarioName = (String) row.get("name");
+                if (lawyerUserId != null) {
+                    lawyerLegalProblemScenarioLawyer.computeIfAbsent(lawyerUserId, k -> new ArrayList<>())
+                            .add(ScenarioName != null ? ScenarioName : "");
                 }
             }
         }
-        return R.data(voPage);
+        return lawyerLegalProblemScenarioLawyer;
+    }
+
+    @Override
+    public LawyerConsultationOrderVO getConsultationOrderDetail(String lawyerOrderId) {
+        LawyerConsultationOrderVO lawyerConsultationOrderVO = new LawyerConsultationOrderVO();
+        if(!StringUtils.isEmpty(lawyerOrderId)){
+            LawyerConsultationOrder lawyerConsultationOrder = consultationOrderMapper.selectById(lawyerOrderId);
+            if(lawyerConsultationOrder == null){
+                return lawyerConsultationOrderVO;
+            }
+            String lawyerId = String.valueOf(lawyerConsultationOrder.getLawyerUserId());
+            BeanUtils.copyProperties(lawyerConsultationOrder, lawyerConsultationOrderVO);
+            List<Integer> lawyerIds = new ArrayList<>();
+            lawyerIds.add(lawyerConsultationOrder.getLawyerUserId());
+            LawyerUser lawyerUser = lawyerUserMapper.selectById(lawyerConsultationOrder.getLawyerUserId());
+            //查询律师信息
+            if(lawyerUser!=null){
+                lawyerConsultationOrderVO.setLawyerName(lawyerUser.getName());
+                lawyerConsultationOrderVO.setLawyerPhone(lawyerUser.getPhone());
+                lawyerConsultationOrderVO.setLawyerEmail(lawyerUser.getEmail());
+                lawyerConsultationOrderVO.setLawyerCertificateNo(lawyerUser.getLawyerCertificateNo());
+                lawyerConsultationOrderVO.setLawFirm(lawyerUser.getLawFirm());
+                lawyerConsultationOrderVO.setPracticeYears(lawyerUser.getPracticeYears());
+                lawyerConsultationOrderVO.setSpecialtyFields(lawyerUser.getSpecialtyFields());
+                lawyerConsultationOrderVO.setCertificationStatus(lawyerUser.getCertificationStatus());
+                lawyerConsultationOrderVO.setServiceCount(lawyerUser.getServiceCount());
+                lawyerConsultationOrderVO.setServiceScore(lawyerUser.getServiceScore());
+                lawyerConsultationOrderVO.setLawyerConsultationFee(lawyerUser.getConsultationFee());
+                lawyerConsultationOrderVO.setProvince(lawyerUser.getProvince());
+                lawyerConsultationOrderVO.setCity(lawyerUser.getCity());
+                lawyerConsultationOrderVO.setDistrict(lawyerUser.getDistrict());
+                lawyerConsultationOrderVO.setAddress(lawyerUser.getAddress());
+                lawyerConsultationOrderVO.setHeadImg(lawyerUser.getHeadImg());
+                lawyerConsultationOrderVO.setNickName(lawyerUser.getNickName());
+                lawyerConsultationOrderVO.setPersonalIntroduction(lawyerUser.getPersonalIntroduction());
+            }
+
+            Map<String, List<String>> lawyerLegalProblemScenarioLawyer = getLawyerServiceArea(lawyerIds);
+            if(!lawyerLegalProblemScenarioLawyer.isEmpty() && lawyerLegalProblemScenarioLawyer.containsKey(lawyerId)){
+                lawyerConsultationOrderVO.setLawyerLegalProblemScenarioList(lawyerLegalProblemScenarioLawyer.get(lawyerId));
+            }
+        }
+        return lawyerConsultationOrderVO;
     }
 }