Files
smartDriveEE/src/main/java/com/rj/controller/LbOrderRowController.java
2026-05-30 23:32:23 +08:00

159 lines
7.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.rj.controller;
import com.rj.dto.LbOrderRowGenerateSumRequest;
import com.rj.dto.LbOrderRowSyncFromHxrRequest;
import com.rj.entity.LbOrderRow;
import com.rj.service.ILbOrderRowService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/api/lbOrderRow")
@Tag(name = "LB 订单行", description = "lb_order_row 增删改查与分页")
public class LbOrderRowController {
@Autowired
private ILbOrderRowService lbOrderRowService;
@PostMapping("/add")
@Operation(summary = "新增")
public ResponseEntity<Map<String, Object>> add(
@Parameter(description = "实体(复合主键 tenantId + id需调用方指定", required = true)
@RequestBody
LbOrderRow entity) {
Map<String, Object> result = lbOrderRowService.add(entity);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@PutMapping("/update")
@Operation(summary = "编辑")
public ResponseEntity<Map<String, Object>> update(
@Parameter(description = "实体(须含 tenantId 与 id", required = true) @RequestBody LbOrderRow entity) {
Map<String, Object> result = lbOrderRowService.update(entity);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@DeleteMapping("/delete/{id}")
@Operation(summary = "删除")
public ResponseEntity<Map<String, Object>> delete(
@Parameter(description = "订单 id复合主键之一", required = true) @PathVariable Long id,
@Parameter(description = "租户 id复合主键之一未传时使用 X-Tenant-Id / Token 租户)")
@RequestParam(required = false)
String tenantId) {
Map<String, Object> result = lbOrderRowService.deleteById(id, tenantId);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@GetMapping("/list")
@Operation(summary = "分页查询")
public ResponseEntity<Map<String, Object>> list(
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String isResell,
@Parameter(description = "数据类型") @RequestParam(required = false) String dataType,
@RequestParam(required = false) String orderSn,
@Parameter(description = "电话") @RequestParam(required = false) String phone,
@RequestParam(required = false) Long buyerId,
@RequestParam(required = false) Long sellerId,
@RequestParam(required = false) Integer status,
@RequestParam(required = false) Long merchandiseId) {
Map<String, Object> result =
lbOrderRowService.pageQuery(
current,
size,
isResell,
dataType,
orderSn,
phone,
buyerId,
sellerId,
status,
merchandiseId);
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.internalServerError().body(result);
}
@PostMapping("/sync-order-from-third")
@Operation(
summary = "从 外部系统 同步订单",
description = "按购买时间区间、租户 id、转卖状态调用后台 order/select将结果写入 lb_order_row按 tenant_id + 订单 id upsert"
+ "cookie、URL、Referer 等从 lb_third_integration_config 按 tenantId 读取")
public ResponseEntity<Map<String, Object>> syncFromHxr(
@Parameter(description = "同步条件", required = true) @RequestBody LbOrderRowSyncFromHxrRequest request) {
Map<String, Object> result =
lbOrderRowService.syncFromHxrAdmin(
request.getBuyTimeStart(),
request.getBuyTimeEnd(),
request.getTenantId(),
request.getIsResell());
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@PostMapping("/generate-daily-sum")
@Operation(
summary = "按日汇总生成 sum_data",
description =
"按购买时间区间、租户 id 查询 lb_order_row 明细,每天生成一条 sum_datatoday_total_money_sum、"
+ "today_unresell_count、today_order_count 等)并写入表")
public ResponseEntity<Map<String, Object>> generateDailySum(
@Parameter(description = "汇总条件", required = true) @RequestBody
LbOrderRowGenerateSumRequest request) {
Map<String, Object> result =
lbOrderRowService.generateDailySumData(
request.getBuyTimeStart(),
request.getBuyTimeEnd(),
request.getTenantId());
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
@PostMapping("/send-seller-confirm-to-dingtalk")
@Operation(
summary = "发送卖家确认通知到钉钉",
description =
"按购买时间区间、租户 id 查询 lb_order_row 明细,将卖家姓名以「买家已支付,不要影响 对方寄卖,"
+ "请如下卖家确认:」为前缀发送至钉钉,每批最多 15 条记录")
public ResponseEntity<Map<String, Object>> sendSellerConfirmToDingTalk(
@Parameter(description = "查询与发送条件", required = true) @RequestBody
LbOrderRowGenerateSumRequest request) {
Map<String, Object> result =
lbOrderRowService.sendSellerConfirmToDingTalk(
request.getBuyTimeStart(),
request.getBuyTimeEnd(),
request.getTenantId());
Boolean success = (Boolean) result.get("success");
if (success != null && success) {
return ResponseEntity.ok(result);
}
return ResponseEntity.badRequest().body(result);
}
}