123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- 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;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import java.util.List;
- @Slf4j
- @Api(value = "/syncOrder", tags = {"同步旧系统的order数据"})
- @RestController
- @RequestMapping("/syncOrder")
- public class SyncOldOrderController {
- TAdminService adminService;
- SyncOldFeign syncOldFeign;
- @Resource
- SzwlFeign szwlFeign;
- @Resource
- TOrderMapper orderMapper;
- @Resource
- TCoinOrderMapper coinOrderMapper;
- 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) {
- if (StringUtils.isNotEmpty(adminId) && StringUtils.isNotEmpty(clientId) && StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)) {
- long l = Long.parseLong(adminId);
- // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- // Date start = sdf.parse(startTime);
- // Date end = sdf.parse(endTime);
- List<TOrder> orderList = R.getDataIfSuccess(syncOldFeign.getOrderByACT(l, clientId, startTime, endTime));
- if (orderList.size() == 0) {
- return R.fail("未查询到订单信息");
- }
- if (orderList.size() > 10000) {
- return R.fail("数据量过大,请缩短时间范围");
- }
- // 3中批量插入方式
- // for (TOrder order : orderList) {
- //// System.out.println("order》》" + order);
- // orderService.save(order);
- //
- // }
- // orderService.saveBatch(orderList);
- // orderService.saveOrUpdateBatch(orderList);
- // saveBatch和insertBatchSomeColumn不会更新已存在的记录
- orderMapper.insertBatchSomeColumn(orderList);
- return R.ok(adminId + "同步设备" + clientId + "从" + startTime + "至" + endTime + "的 order 信息成功");
- } else {
- return R.fail("参数不能为空");
- }
- }
- }
|