|
|
@@ -0,0 +1,131 @@
|
|
|
+package shop.alien.lawyer.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import io.swagger.annotations.*;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import shop.alien.entity.result.R;
|
|
|
+import shop.alien.entity.store.LawyerConsultationOrder;
|
|
|
+import shop.alien.lawyer.service.LawyerReconcService;
|
|
|
+import shop.alien.util.myBaticsPlus.QueryBuilder;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Api(tags = {"律师平台-对账"})
|
|
|
+@ApiSort(23)
|
|
|
+@CrossOrigin
|
|
|
+@RestController
|
|
|
+@RequestMapping("/lawyer/consultation_order")
|
|
|
+@RequiredArgsConstructor
|
|
|
+public class LawyerReconcController {
|
|
|
+
|
|
|
+ private final LawyerReconcService reconcService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询订单列表
|
|
|
+ */
|
|
|
+ @ApiOperation("查询订单列表")
|
|
|
+ @ApiOperationSupport(order = 1)
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "id", value = "主键", dataType = "Integer", paramType = "query"),
|
|
|
+ @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 = "orderStatus", value = "订单状态, 0:待支付, 2:进行中, 3:已完成, 4:已取消", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "paymentStatus", value = "支付状态, 0:未支付, 1:已支付", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_Start", value = "创建时间开始(范围查询)", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_End", value = "创建时间结束(范围查询)", dataType = "String", paramType = "query")
|
|
|
+ })
|
|
|
+ @GetMapping("/getList")
|
|
|
+ public R<List<LawyerConsultationOrder>> selectList(@ModelAttribute LawyerConsultationOrder order) {
|
|
|
+ log.info("LawyerReconcController.selectList?order={}", order);
|
|
|
+ List<LawyerConsultationOrder> list = QueryBuilder.of(order)
|
|
|
+ .likeFields("orderNumber") // 订单编号支持模糊查询
|
|
|
+ .build()
|
|
|
+ .list(reconcService);
|
|
|
+ return R.data(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 对账分页查询
|
|
|
+ * 对账
|
|
|
+ */
|
|
|
+ @ApiOperation("对账分页查询")
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "pageNum", value = "页码(默认1)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "pageSize", value = "页容(默认10)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "id", value = "主键", dataType = "Integer", paramType = "query"),
|
|
|
+ @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 = "orderStatus", value = "订单状态, 0:待支付, 2:进行中, 3:已完成, 4:已取消", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "paymentStatus", value = "支付状态, 0:未支付, 1:已支付", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_Start", value = "创建时间开始(范围查询)", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_End", value = "创建时间结束(范围查询)", dataType = "String", paramType = "query")
|
|
|
+ })
|
|
|
+ @GetMapping("/getPage")
|
|
|
+ public R<IPage<LawyerConsultationOrder>> getPage(
|
|
|
+ @ModelAttribute LawyerConsultationOrder order,
|
|
|
+ @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
|
|
|
+ @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
|
|
+ log.info("LawyerReconcController.getPage?order={},pageNum={},pageSize={}", order, pageNum, pageSize);
|
|
|
+ int pageNumValue = pageNum > 0 ? pageNum : 1;
|
|
|
+ int pageSizeValue = pageSize > 0 ? pageSize : 10;
|
|
|
+ // 使用MyBatis Plus的QueryBuilder进行条件查询和分页
|
|
|
+ IPage<LawyerConsultationOrder> pageResult = QueryBuilder.of(order)
|
|
|
+ .likeFields("orderNumber") // 订单编号支持模糊查询
|
|
|
+ .page(pageNumValue, pageSizeValue)
|
|
|
+ .build()
|
|
|
+ .page(reconcService);
|
|
|
+ return R.data(pageResult);
|
|
|
+ }
|
|
|
+ //订单日期
|
|
|
+ @ApiOperation("订单日期")
|
|
|
+ @ApiOperationSupport(order = 3)
|
|
|
+ @GetMapping("/getDate")
|
|
|
+ public R<List<LawyerConsultationOrder>> getDate() {
|
|
|
+ log.info("LawyerReconcController.getDate");
|
|
|
+ // TODO: 实现订单日期查询逻辑
|
|
|
+ List<LawyerConsultationOrder> list = reconcService.list();
|
|
|
+ return R.data(list);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取订单总数量(使用MyBatis Plus)
|
|
|
+ */
|
|
|
+ @ApiOperation("获取订单总数量")
|
|
|
+ @ApiOperationSupport(order = 4)
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @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 = "orderStatus", value = "订单状态, 0:待支付, 2:进行中, 3:已完成, 4:已取消", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "paymentStatus", value = "支付状态, 0:未支付, 1:已支付", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "startTime", value = "开始时间(范围查询,格式:yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss)", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "endTime", value = "结束时间(范围查询,格式:yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss)", dataType = "String", paramType = "query")
|
|
|
+ })
|
|
|
+ @GetMapping("/getCount")
|
|
|
+ public R<Long> getCount(
|
|
|
+ @RequestParam(required = false) String orderNumber,
|
|
|
+ @RequestParam(required = false) Integer clientUserId,
|
|
|
+ @RequestParam(required = false) Integer lawyerUserId,
|
|
|
+ @RequestParam(required = false) Integer orderStatus,
|
|
|
+ @RequestParam(required = false) Integer paymentStatus,
|
|
|
+ @RequestParam(required = false) String startTime,
|
|
|
+ @RequestParam(required = false) String endTime) {
|
|
|
+ log.info("LawyerReconcController.getCount?orderNumber={},clientUserId={},lawyerUserId={},orderStatus={},paymentStatus={},startTime={},endTime={}",
|
|
|
+ orderNumber, clientUserId, lawyerUserId, orderStatus, paymentStatus, startTime, endTime);
|
|
|
+ return reconcService.getTotalOrderCount(
|
|
|
+ orderNumber,
|
|
|
+ clientUserId,
|
|
|
+ lawyerUserId,
|
|
|
+ orderStatus,
|
|
|
+ paymentStatus,
|
|
|
+ startTime,
|
|
|
+ endTime
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+}
|