Forráskód Böngészése

feat: 同步旧系统数据订单调整

Ritchie 1 éve
szülő
commit
056553d5e6

+ 0 - 1
src/main/java/com/szwl/controller/SyncOldCoinOrderController.java

@@ -26,7 +26,6 @@ public class SyncOldCoinOrderController {
     SyncOldFeign syncOldFeign;
     @Resource
     TCoinOrderMapper coinOrderMapper;
-
     TCoinOrderService coinOrderService;
 
     public SyncOldCoinOrderController(SyncOldFeign syncOldFeign, TCoinOrderService coinOrderService) {

+ 62 - 4
src/main/java/com/szwl/controller/SyncOldOrderController.java

@@ -1,12 +1,17 @@
 package com.szwl.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.szwl.feign.bean.SyncOldFeign;
+import com.szwl.feign.bean.SzwlFeign;
 import com.szwl.mapper.TCoinOrderMapper;
 import com.szwl.mapper.TOrderMapper;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
+import com.szwl.model.entity.TAdmin;
 import com.szwl.model.entity.TCoinOrder;
 import com.szwl.model.entity.TOrder;
+import com.szwl.service.TAdminService;
 import com.szwl.service.TCoinOrderService;
 import com.szwl.service.TOrderService;
 import io.swagger.annotations.Api;
@@ -26,18 +31,69 @@ import java.util.List;
 @RequestMapping("/syncOrder")
 public class SyncOldOrderController {
 
-
-    TOrderService orderService;
+    TAdminService adminService;
     SyncOldFeign syncOldFeign;
 
     @Resource
+    SzwlFeign szwlFeign;
+
+    @Resource
     TOrderMapper orderMapper;
+    @Resource
+    TCoinOrderMapper coinOrderMapper;
 
-    public SyncOldOrderController(TOrderService orderService, SyncOldFeign syncOldFeign) {
-        this.orderService = orderService;
+    public SyncOldOrderController(TAdminService adminService, SyncOldFeign syncOldFeign) {
+        this.adminService = adminService;
         this.syncOldFeign = syncOldFeign;
     }
 
+
+    @ApiOperation(value = "同步某客户某台机某一时间段内的订单")
+    @PostMapping("/byCAT")
+    public ResponseModel<?> byCAT(String username, String clientId, String startTime, String endTime) {
+
+        if (StringUtils.isEmpty(username) || StringUtils.isEmpty(clientId) || StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
+            return R.fail("参数不能为空");
+        }
+
+        Boolean aBoolean = R.getDataIfSuccess(szwlFeign.getEquipmentBool(clientId));
+        if (!aBoolean) {
+            return R.fail("clientId有误");
+        }
+
+        TAdmin tAdmin = R.getDataIfSuccess(szwlFeign.getIdIfForeign(username));
+        Long adminId = tAdmin.getId();
+        String ifForeign = tAdmin.getIfForeign();
+
+        if ("0".equals(ifForeign)) { // 国内订单
+            List<TOrder> orderList = R.getDataIfSuccess(syncOldFeign.getOrderByACT(adminId, clientId, startTime, endTime));
+            if (orderList.size() == 0) {
+                return R.fail("未查询到国内订单信息");
+            }
+
+            if (orderList.size() > 10000) {
+                return R.fail("数据量过大,请缩短时间范围");
+            }
+            int i = orderMapper.insertBatchSomeColumn(orderList);
+            return R.ok("同步用户" + username + "设备" + clientId + "从" + startTime + "至" + endTime + "的" + i + "条 order 信息成功");
+        } else if ("1".equals(ifForeign)) { // 海外订单
+            List<TCoinOrder> coinOrderList = R.getDataIfSuccess(syncOldFeign.getCoinOrderByACT(adminId, clientId, startTime, endTime));
+
+            if (coinOrderList.size() == 0) {
+                return R.fail("未查询到海外订单信息");
+            }
+
+            if (coinOrderList.size() > 10000) {
+                return R.fail("数据量过大,请缩短时间范围");
+            }
+            int i = coinOrderMapper.insertBatchSomeColumn(coinOrderList);
+            return R.ok("同步用户" + adminId + "设备" + clientId + "从" + startTime + "至" + endTime + "的" + i + "条 coin_order 信息成功");
+        } else {
+            return R.fail("用户是否海内外?");
+        }
+
+    }
+
     @ApiOperation(value = "同步国内某客户的某一设备某一时间段内的 order 订单")
     @PostMapping("/syncOrderByCAT")
     public ResponseModel<?> syncOrderByCAT(String adminId, String clientId, String startTime, String endTime) {
@@ -64,6 +120,8 @@ public class SyncOldOrderController {
 //
 //            }
 //            orderService.saveBatch(orderList);
+//            orderService.saveOrUpdateBatch(orderList);
+            // saveBatch和insertBatchSomeColumn不会更新已存在的记录
             orderMapper.insertBatchSomeColumn(orderList);
 
 

+ 6 - 0
src/main/java/com/szwl/feign/bean/SzwlFeign.java

@@ -20,6 +20,12 @@ public interface SzwlFeign {
     @GetMapping("/test/testGetAdmin")
     ResponseModel<?> testGetAdmin(@RequestParam String id);
 
+    @GetMapping("/tEquipment/getEquipmentBool")
+    ResponseModel<Boolean> getEquipmentBool(@RequestParam String clientId);
+
+    @GetMapping("/tAdmin/getIdIfForeign")
+    ResponseModel<TAdmin> getIdIfForeign(@RequestParam String username);
+
     @GetMapping("/tEquipment/findEquipmentByClientId")
     ResponseModel<TEquipment> findEquipmentByClientId(@RequestParam String clientId);