Explorar o código

律师端代码

ldz hai 4 semanas
pai
achega
c1784609cb

+ 6 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/LawyerConsultationOrderVO.java

@@ -171,5 +171,11 @@ public class LawyerConsultationOrderVO implements Serializable {
 
     @ApiModelProperty(value = "律师收益(订单金额-平台佣金)")
     private  Integer lawyerEarnings;
+
+    @ApiModelProperty(value = "开始时间")
+    private String startTimeNew;
+
+    @ApiModelProperty(value = "结束时间")
+    private String endTimeNew;
 }
 

+ 8 - 12
alien-lawyer/src/main/java/shop/alien/lawyer/controller/LawyerConsultationOrderController.java

@@ -14,6 +14,7 @@ import shop.alien.lawyer.service.LawyerConsultationOrderService;
 import shop.alien.lawyer.service.OrderExpirationService;
 import shop.alien.util.myBaticsPlus.QueryBuilder;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -342,22 +343,17 @@ public class LawyerConsultationOrderController {
         return consultationOrderService.checkOrder(clientUserId, lawyerUserId);
     }
 
-    @ApiOperation("订单收益统计接口")
+    @ApiOperation("订单收益详情接口")
     @ApiOperationSupport(order = 16)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "lawyerUserId", value = "律师用户ID", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "String", paramType = "query")
     })
-    @GetMapping("/getOrderIncome")
-    public R<Map<String, Object>> getOrderIncome(@RequestParam Integer lawyerUserId) {
-        log.info("LawyerConsultationOrderController.getOrderIncome?lawyerUserId={}", lawyerUserId);
-        
-        // 参数校验
-        if (lawyerUserId == null) {
-            log.warn("查询订单收益失败:律师用户ID为空");
-            return R.fail("律师用户ID不能为空");
-        }
-        
-        return consultationOrderService.getOrderIncome(lawyerUserId);
+    @PostMapping("/getOrderIncome")
+    public R<Map<String, Object>> getOrderIncome(@RequestBody LawyerConsultationOrderVO lawyerConsultationOrderVO) {
+        log.info("LawyerConsultationOrderController.getOrderIncome?lawyerConsultationOrderVO{}", lawyerConsultationOrderVO);
+        return consultationOrderService.getOrderIncome(lawyerConsultationOrderVO);
     }
 
 }

+ 5 - 4
alien-lawyer/src/main/java/shop/alien/lawyer/service/LawyerConsultationOrderService.java

@@ -9,6 +9,7 @@ import shop.alien.entity.store.dto.LawyerConsultationOrderDto;
 import shop.alien.entity.store.dto.PayStatusRequest;
 import shop.alien.entity.store.vo.LawyerConsultationOrderVO;
 
+import java.util.Date;
 import java.util.Map;
 
 /**
@@ -126,11 +127,11 @@ public interface LawyerConsultationOrderService extends IService<LawyerConsultat
 
 
    /**
-   * 获取律师订单收益统计
+   * 获取律师收入
    *
-   * @param lawyerUserId 律师用户ID
-   * @return 订单收益统计信息
+   * @param lawyerUserId
+   * @return
    */
-   R<Map<String, Object>> getOrderIncome(Integer lawyerUserId);
+   R<Map<String, Object>> getOrderIncome(LawyerConsultationOrderVO lawyerConsultationOrderVO);
 }
 

+ 35 - 9
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/LawyerConsultationOrderServiceImpl.java

@@ -923,15 +923,17 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
      * 3. 已完成:订单状态=3(已完成)且已支付的订单总数和收益合计
      * </p>
      *
-     * @param lawyerUserId 律师用户ID
+     * @param lawyerConsultationOrderVO 律师用户ID
+     * @param lawyerConsultationOrderVO 开始时间(可选,用于筛选支付时间范围)
+     * @param lawyerConsultationOrderVO 结束时间(可选,用于筛选支付时间范围)
      * @return 订单收益统计信息
      */
     @Override
-    public R<Map<String, Object>> getOrderIncome(Integer lawyerUserId) {
-        log.info("LawyerConsultationOrderServiceImpl.getOrderIncome?lawyerUserId={}", lawyerUserId);
+    public R<Map<String, Object>> getOrderIncome(LawyerConsultationOrderVO lawyerConsultationOrderVO) {
+        log.info("LawyerConsultationOrderController.getOrderIncome?lawyerConsultationOrderVO{}", lawyerConsultationOrderVO);
 
         // 参数校验
-        if (lawyerUserId == null) {
+        if (lawyerConsultationOrderVO.getLawyerUserId() == null) {
             log.warn("查询订单收益失败:律师用户ID为空");
             return R.fail("律师用户ID不能为空");
         }
@@ -942,9 +944,17 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
         try {
             // 构建查询条件:查询已支付的订单(paymentStatus = 1)
             LambdaQueryWrapper<LawyerConsultationOrder> allRevenueWrapper = new LambdaQueryWrapper<>();
-            allRevenueWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerUserId)
+            allRevenueWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerConsultationOrderVO.getLawyerUserId())
                     .eq(LawyerConsultationOrder::getPaymentStatus, 1) // 已支付
                     .eq(LawyerConsultationOrder::getDeleteFlag, 0);
+            
+            // 添加时间段筛选条件(根据支付时间)
+            if (lawyerConsultationOrderVO.getStartTimeNew() != null) {
+                allRevenueWrapper.ge(LawyerConsultationOrder::getPaymentTime, lawyerConsultationOrderVO.getStartTimeNew());
+            }
+            if (lawyerConsultationOrderVO.getEndTimeNew()  != null) {
+                allRevenueWrapper.le(LawyerConsultationOrder::getPaymentTime, lawyerConsultationOrderVO.getEndTimeNew() );
+            }
 
             // 查询全部已支付订单的统计
             List<LawyerConsultationOrder> allPaidOrders = consultationOrderMapper.selectList(allRevenueWrapper);
@@ -965,10 +975,18 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
 
             // 查询进行中订单的统计(orderStatus = 2 且已支付)
             LambdaQueryWrapper<LawyerConsultationOrder> inProgressWrapper = new LambdaQueryWrapper<>();
-            inProgressWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerUserId)
+            inProgressWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerConsultationOrderVO.getLawyerUserId())
                     .eq(LawyerConsultationOrder::getOrderStatus, LawyerStatusEnum.INPROGRESS.getStatus()) // 2:进行中
                     .eq(LawyerConsultationOrder::getPaymentStatus, 1) // 已支付
                     .eq(LawyerConsultationOrder::getDeleteFlag, 0);
+            
+            // 添加时间段筛选条件(根据支付时间)
+            if (lawyerConsultationOrderVO.getStartTimeNew() != null) {
+                inProgressWrapper.ge(LawyerConsultationOrder::getPaymentTime, lawyerConsultationOrderVO.getStartTimeNew());
+            }
+            if (lawyerConsultationOrderVO.getEndTimeNew()  != null) {
+                inProgressWrapper.le(LawyerConsultationOrder::getPaymentTime, lawyerConsultationOrderVO.getEndTimeNew() );
+            }
 
             List<LawyerConsultationOrder> inProgressOrders = consultationOrderMapper.selectList(inProgressWrapper);
             long inProgressOrderCount = inProgressOrders.size();
@@ -989,10 +1007,18 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
 
             // 查询已完成订单的统计(orderStatus = 3 且已支付)
             LambdaQueryWrapper<LawyerConsultationOrder> completedWrapper = new LambdaQueryWrapper<>();
-            completedWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerUserId)
+            completedWrapper.eq(LawyerConsultationOrder::getLawyerUserId, lawyerConsultationOrderVO.getLawyerUserId())
                     .eq(LawyerConsultationOrder::getOrderStatus, LawyerStatusEnum.COMPLETE.getStatus()) // 3:已完成
                     .eq(LawyerConsultationOrder::getPaymentStatus, 1) // 已支付
                     .eq(LawyerConsultationOrder::getDeleteFlag, 0);
+            
+            // 添加时间段筛选条件(根据支付时间)
+            if (lawyerConsultationOrderVO.getStartTimeNew() != null) {
+                completedWrapper.ge(LawyerConsultationOrder::getPaymentTime, lawyerConsultationOrderVO.getStartTimeNew());
+            }
+            if (lawyerConsultationOrderVO.getEndTimeNew()  != null) {
+                completedWrapper.le(LawyerConsultationOrder::getPaymentTime, lawyerConsultationOrderVO.getEndTimeNew() );
+            }
 
             List<LawyerConsultationOrder> completedOrders = consultationOrderMapper.selectList(completedWrapper);
             long completedOrderCount = completedOrders.size();
@@ -1029,13 +1055,13 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
             resultMap.put("completed", completedMap);
 
             log.info("查询订单收益成功,律师ID={}, 全部订单数={}, 全部收益={}, 进行中订单数={}, 进行中收益={}, 已完成订单数={}, 已完成收益={}",
-                    lawyerUserId, allOrderCount, allRevenue, inProgressOrderCount, inProgressRevenue,
+                    lawyerConsultationOrderVO.getLawyerUserId(), allOrderCount, allRevenue, inProgressOrderCount, inProgressRevenue,
                     completedOrderCount, completedRevenue);
 
             return R.data(resultMap);
 
         } catch (Exception e) {
-            log.error("查询订单收益失败,律师ID={}", lawyerUserId, e);
+            log.error("查询订单收益失败,律师ID={}", lawyerConsultationOrderVO.getLawyerUserId(), e);
             return R.fail("查询订单收益失败:" + e.getMessage());
         }
     }