提交 d3a896be authored 作者: 吕本才's avatar 吕本才

1、尝试将代码放到job微服务

上级 3a7382f6
...@@ -124,11 +124,6 @@ ...@@ -124,11 +124,6 @@
<groupId>com.squareup.okhttp3</groupId> <groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId> <artifactId>okhttp</artifactId>
</dependency> </dependency>
<!-- RuoYi wangxiaolu-link-module-bi -->
<dependency>
<groupId>com.wangxiaolu.sfa</groupId>
<artifactId>wangxiaolu-link-module-bi</artifactId>
</dependency>
</dependencies> </dependencies>
......
package com.sfa.job; package com.sfa.job;
import com.sfa.common.security.annotation.EnableCustomConfig;
import com.sfa.common.security.annotation.EnableRyFeignClients;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.sfa.common.security.annotation.EnableCustomConfig;
import com.sfa.common.security.annotation.EnableRyFeignClients;
import org.springframework.context.annotation.ComponentScan;
/** /**
* 定时任务 * 定时任务
...@@ -15,8 +14,7 @@ import org.springframework.context.annotation.ComponentScan; ...@@ -15,8 +14,7 @@ import org.springframework.context.annotation.ComponentScan;
@EnableCustomConfig @EnableCustomConfig
@EnableRyFeignClients @EnableRyFeignClients
@SpringBootApplication @SpringBootApplication
@ComponentScan(value = {"com.sfa.job","com.link.bi.domain.*","com.link.bi.service.*","com.link.bi.pojo.*"}) @MapperScan({"com.sfa.job.domain.job.mapper","com.sfa.job.domain.system.mapper","com.sfa.job.domain.order.mapper"})
@MapperScan({"com.sfa.job.domain.job.mapper","com.sfa.job.domain.system.mapper","com.link.bi.domain.mapper"})
public class SfaJobApplication public class SfaJobApplication
{ {
public static void main(String[] args) { public static void main(String[] args) {
......
package com.sfa.job.controller.finance; package com.sfa.job.controller.finance;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.link.bi.pojo.response.FinanceSyncOrderDetailDto;
import com.sfa.common.core.web.controller.BaseController; import com.sfa.common.core.web.controller.BaseController;
import com.sfa.job.pojo.response.FinanceSyncOrderDetailDto;
import com.sfa.job.service.order.FinanceOrderSyncService; import com.sfa.job.service.order.FinanceOrderSyncService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.CollectErrorInfo;
public interface CollectErrorInfoDao {
// 插入一条记录
void insert(CollectErrorInfo collectErrorInfo);
}
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.CollectOrderLogInfo;
import java.util.Date;
public interface CollectOrderLogInfoDao {
// 插入一条记录
void insert(CollectOrderLogInfo collectOrderLogInfo);
Date selectOrderSyncLatest(Integer syncType);
}
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.PrdInfo;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-11-22 16
* @describe :
*/
public interface IProductDao {
List<PrdInfo> selectProdSeries();
}
package com.sfa.job.domain.order.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.sfa.job.domain.order.dao.CollectErrorInfoDao;
import com.sfa.job.domain.order.entity.CollectErrorInfo;
import com.sfa.job.domain.order.mapper.CollectErrorInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@DS("Bi")
@Repository
public class CollectErrorInfoDaoImpl implements CollectErrorInfoDao {
@Autowired
private CollectErrorInfoMapper collectErrorInfoMapper;
@Override
public void insert(CollectErrorInfo collectErrorInfo) {
collectErrorInfoMapper.insert(collectErrorInfo);
}
}
package com.sfa.job.domain.order.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sfa.job.domain.order.dao.CollectOrderLogInfoDao;
import com.sfa.job.domain.order.entity.CollectOrderLogInfo;
import com.sfa.job.domain.order.mapper.CollectOrderLogInfoMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@DS("Bi")
@Repository
public class CollectOrderLogInfoDaoImpl implements CollectOrderLogInfoDao {
@Autowired
private CollectOrderLogInfoMapper logInfoMapper;
@Override
public void insert(CollectOrderLogInfo collectOrderLogInfo) {
logInfoMapper.insert(collectOrderLogInfo);
}
@Override
public Date selectOrderSyncLatest(Integer syncType) {
// 查询最新发货日期
List<CollectOrderLogInfo> orderList = logInfoMapper.selectList(
new LambdaQueryWrapper<CollectOrderLogInfo>()
// 默认查询xxljob自动同步时间
.eq(CollectOrderLogInfo::getSyncType,syncType)
.eq(CollectOrderLogInfo::getDelFlag,0)
.orderByDesc(CollectOrderLogInfo::getUpdateTime)
.last("LIMIT 1"));
if(ObjectUtils.isNotEmpty(orderList)){
// 最新的数据日期
return orderList.get(0).getLatestTime();
}
return null;
}
}
package com.sfa.job.domain.order.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sfa.job.domain.order.entity.FinanceBaseZbjType;
import com.sfa.job.domain.order.mapper.FinanceBaseZbjTypeMapper;
import com.sfa.job.service.order.FinanceBaseZbjTypeService;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 旺店通订单Service业务层处理
*
* @author lvbencai
* @date 2025年01月07日17:00:16
*/
@DS("bi")
@Service
public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTypeMapper, FinanceBaseZbjType> implements FinanceBaseZbjTypeService {
@Override
public Map<String, String> selectBaseZbjType() {
List<FinanceBaseZbjType> list = list();
// 以fenxiaoName为key,直播间渠道类型为value,放入map中
Map<String, String> map = list.stream()
.collect(HashMap::new, (k, v) -> k.put(v.getFenxiaoName(), v.getZbjQdType()), HashMap::putAll);
return map;
}
}
package com.sfa.job.domain.order.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sfa.job.domain.order.dao.IProductDao;
import com.sfa.job.domain.order.entity.PrdInfo;
import com.sfa.job.domain.order.mapper.PrdInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-11-22 16
* @describe :
*/
@Service
public class ProductDaoImpl implements IProductDao {
@Autowired
PrdInfoMapper prdInfoMapper;
@Override
public List<PrdInfo> selectProdSeries() {
List<PrdInfo> prdInfos = prdInfoMapper.selectList(
new LambdaQueryWrapper<PrdInfo>()
.select(PrdInfo::getSeries, PrdInfo::getPrdCode, PrdInfo::getPrdName)
.groupBy(PrdInfo::getSeries, PrdInfo::getPrdCode, PrdInfo::getPrdName));
return prdInfos;
}
}
package com.sfa.job.domain.order.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.Map;
/**
* CollectErrorInfo 类表示采集错误记录,与数据库表 market_bi.collect_error_info 相对应。
* 包含了采集错误记录的各种信息,如唯一键、入参信息、类型、采集时间、删除标志、创建和更新的用户及时间等。
*/
@TableName(value ="collect_error_info")
@Data
public class CollectErrorInfo {
/**
* 唯一键,自动递增
*/
private Long ceiId;
/**
* 入参信息,存储为 JSON 格式
*/
private Map<String, Object> param;
/**
* 类型,如 xxljob、影刀等
*/
private String type;
/**
* 采集时间
*/
private Date collectTime;
/**
* 是否删除标志,'0' 表示未删除,'1' 表示已删除
*/
private char delFlag;
/**
* 创建者
*/
private String createBy;
/**
* 创建人 UserID
*/
private Long createUserId;
/**
* 创建时间,默认为当前时间
*/
private LocalDateTime createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 修改人 UserID
*/
private Long updateUserId;
/**
* 更新时间,自动更新为当前时间
*/
private LocalDateTime updateTime;
/**
* 采集批次
*/
private String batchNo;
/**
* 本批次采集开始时间
*/
private Date startTime;
/**
* 本批次采集结束时间
*/
private Date endTime;
/**
* 错误信息
*/
private String errorMsg;
}
package com.sfa.job.domain.order.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 采集订单日志信息
*
* @TableName collect_order_log_info
* @author lvbencai
* @date 2025-01-16 22:58:38
* @description
*/
@Data
@TableName("collect_order_log_info")
public class CollectOrderLogInfo implements Serializable {
/**
* 唯一键,用于唯一标识采集订单日志信息记录
*/
@TableId(value = "cli_id",type= IdType.AUTO)
private Long cliId;
/**
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
*/
//@TableField("order_count")
private Integer orderCount;
/**
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
*/
//@TableField("order_detail_count")
private Integer orderDetailCount;
/**
* 采集批次信息,可存储长度不超过 30 个字符,使用 utf8mb4 字符集和 utf8mb4_0900_ai_ci 校对规则
*/
//@TableField("batch_no")
private String batchNo;
/**
* 采集的最新时间,代表上一次采集的结束时间,存储为日期时间类型
*/
//@TableField("latest_time")
private Date latestTime;
/**
* 是否删除的标志,'0' 表示未删除,'1' 表示已删除,使用 utf8mb3 字符集和 utf8mb3_general_ci 校对规则
*/
//@TableField("del_flag")
private String delFlag;
/**
* 创建者信息,存储为长度不超过 20 个字符的字符串
*/
//@TableField("create_by")
private String createBy;
/**
* 创建人的用户 ID,存储为长整型
*/
//@TableField("create_user_id")
private Long createUserId;
/**
* 创建时间,存储为日期时间类型,使用数据库的当前时间作为默认值
*/
//@TableField("create_time")
private Date createTime;
/**
* 更新者信息,存储为长度不超过 20 个字符的字符串
*/
//@TableField("update_by")
private String updateBy;
/**
* 修改人的用户 ID,存储为长整型
*/
//@TableField("update_user_id")
private Long updateUserId;
/**
* 更新时间,存储为日期时间类型,更新时自动更新为当前时间
*/
//@TableField("update_time")
private Date updateTime;
private Integer syncType;
}
package com.sfa.job.domain.order.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.math.BigDecimal;
/**
* finance_base_product 表对应的 料号基本信息表。
* 主要字段实际成本、标准成本、规格、口味
* @author lvbencai
* @date 2025年01月07日10:04:25
*/
@Data
public class FinanceBaseProduct {
// 唯一标识主键
@TableId(type = IdType.AUTO)
private Integer fbpId;
// 料号
private String prdCode;
// 品名
private String prdName;
// 规格
private String prdBarCode;
// 实际成本
private BigDecimal actualCost;
// 标准成本
private BigDecimal standardCost;
// 一级分类
private String firstCategory;
// 二级分类
private String secondCategory;
// 规格
private String spec;
// 口味
private String flavor;
// 系列
private String series;
// 产品分类编码
private String productClassificationCode;
// 产品分类
private String productClassification;
// 主分群码(重复字段,可根据实际需求调整)
private String mainGroupCode;
// 主分群码名称
private String mainGroupName;
// 料件类别(重复字段,可根据实际需求调整)
private String materialType;
// 料件类别描述
private String materialTypeName;
// 基础单位
private String basicUnit;
// 生命周期状态
private String lifeCycleStatus;
// 生命周期
private String lifeCycle;
}
package com.sfa.job.domain.order.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDateTime;
/**
* finance_base_zbj_type 表对应的直播间分类细腻系表。
* 主要字段直播间渠道类型、分销商名称
* @author lvbcai
* @date 2025年01月07日10:04:25
*/
@Data
public class FinanceBaseZbjType {
// 唯一键
@TableId(type = IdType.AUTO)
private Long fbztId;
// 分销商名称
private String fenxiaoName;
// 直播间渠道类型 有分销商id,不是以上几类的,统一为达人 没有分销商id的,默认为商城
private String zbjQdType;
// 采集批次
private String batchNo;
// 备注
private String remark;
// 是否删除标志 0 未删除 1 已删除
private char delFlag;
// 创建者
private String createBy;
// 创建人 UserID
private Long createUserId;
// 创建时间
private LocalDateTime createTime;
// 更新者
private String updateBy;
// 修改人 UserID
private Long updateUserId;
// 更新时间
private LocalDateTime updateTime;
}
package com.sfa.job.domain.order.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* 商品-管理表
* @TableName pro_info
*/
@TableName(value ="prd_info")
@Data
public class PrdInfo implements Serializable {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
private Integer prdId;
/**
* 商品编码
*/
private String prdCode;
/**
* 商品名称
*/
private String prdName;
/**
* 商品系列
*/
private Integer seriesId;
/**
* 商品系列
*/
private String series;
/**
* 商品规格-69码
*/
private String prdSpec;
/**
* 销售状态:1:在售,0:停售
*/
private Integer saleStatus;
/**
* 0:正常;1:删除
*/
private Integer status;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.CollectErrorInfo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CollectErrorInfoMapper extends BaseMapper<CollectErrorInfo> {
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.CollectOrderLogInfo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CollectOrderLogInfoMapper extends BaseMapper<CollectOrderLogInfo> {
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.FinanceBaseProduct;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FinanceBaseProductMapper extends BaseMapper<FinanceBaseProduct> {
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.FinanceBaseZbjType;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FinanceBaseZbjTypeMapper extends BaseMapper<FinanceBaseZbjType> {
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.FinanceOrderDetail;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FinanceOrderDetailMapper extends BaseMapper<FinanceOrderDetail> {
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.FinanceOrder;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FinanceOrderMapper extends BaseMapper<FinanceOrder> {
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.PrdInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【prd_info(商品-管理表)】的数据库操作Mapper
* @createDate 2024-11-22 16:48:35
* @Entity com.link.bi.domain.entity.PrdInfo
*/
@Repository
@Mapper
public interface PrdInfoMapper extends BaseMapper<PrdInfo> {
}
package com.sfa.job.pojo.response;
import com.sfa.job.domain.order.entity.FinanceOrder;
import com.sfa.job.domain.order.entity.FinanceOrderDetail;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 财务同步旺店通返回数据Dto
*/
@Data
public class FinanceSyncOrderDetailDto {
private Integer orderCount;
private Integer orderDetailCount;
private List<FinanceOrder> orders;
private List<FinanceOrderDetail> orderDetails;
private Date startTime;
private Date endTime;
private Integer syncType;
private String batchNo;
}
package com.sfa.job.service.order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sfa.job.domain.order.entity.FinanceBaseProduct;
import java.util.Map;
public interface FinanceBaseProductService extends IService<FinanceBaseProduct> {
Map<String, FinanceBaseProduct> selectBaseProduct();
}
package com.sfa.job.service.order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sfa.job.domain.order.entity.FinanceBaseZbjType;
import java.util.Map;
public interface FinanceBaseZbjTypeService extends IService<FinanceBaseZbjType> {
Map<String,String> selectBaseZbjType();
}
package com.sfa.job.service.order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sfa.job.domain.order.entity.FinanceOrderDetail;
public interface FinanceOrderDetailService extends IService<FinanceOrderDetail> {
}
...@@ -2,8 +2,8 @@ package com.sfa.job.service.order; ...@@ -2,8 +2,8 @@ package com.sfa.job.service.order;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.FinanceOrder; import com.sfa.job.domain.order.entity.FinanceOrder;
import com.link.bi.pojo.response.FinanceSyncOrderDetailDto; import com.sfa.job.pojo.response.FinanceSyncOrderDetailDto;
import java.util.Date; import java.util.Date;
......
package com.sfa.job.service.order.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sfa.job.domain.order.entity.FinanceBaseProduct;
import com.sfa.job.domain.order.mapper.FinanceBaseProductMapper;
import com.sfa.job.service.order.FinanceBaseProductService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 旺店通订单Service业务层处理
*
* @author lvbencai
* @date 2025年01月07日17:00:16
*/
@DS("bi")
@Slf4j
@Service
public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProductMapper, FinanceBaseProduct> implements FinanceBaseProductService {
@Override
public Map<String, FinanceBaseProduct> selectBaseProduct() {
// 查询所有商品
List<FinanceBaseProduct> list = list();
// 以料号为key,商品对象为value,放入map中
Map<String, FinanceBaseProduct> map = list.stream()
.collect(HashMap::new, (k, v) -> k.put(v.getPrdCode(), v), HashMap::putAll);
return map;
}
}
package com.sfa.job.service.order.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sfa.job.domain.order.entity.FinanceOrderDetail;
import com.sfa.job.domain.order.mapper.FinanceOrderDetailMapper;
import com.sfa.job.service.order.FinanceOrderDetailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* 旺店通订单明细Service业务层处理
*
* @author lvbencai
* @date 2025年01月07日17:00:16
*/
// 指定不同的数据源
//@DS("bi")
@Slf4j
@Service
public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetailMapper, FinanceOrderDetail> implements FinanceOrderDetailService {
}
...@@ -2,17 +2,18 @@ package com.sfa.job.util; ...@@ -2,17 +2,18 @@ package com.sfa.job.util;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONReader;
import com.alibaba.fastjson2.util.DateUtils; import com.alibaba.fastjson2.util.DateUtils;
import com.lark.oapi.okhttp.*; import com.lark.oapi.okhttp.*;
import com.link.bi.domain.entity.FinanceOrder;
import com.sfa.common.core.exception.ServiceException; import com.sfa.common.core.exception.ServiceException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.DigestUtils; import org.springframework.util.DigestUtils;
import java.util.*; import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@Slf4j @Slf4j
@Component @Component
...@@ -21,9 +22,9 @@ public class WangdiantongUtil { ...@@ -21,9 +22,9 @@ public class WangdiantongUtil {
/** /**
* 卖家账号/接口账号/盐/接口名称 * 卖家账号/接口账号/盐/接口名称
*/ */
public List<FinanceOrder> queryWithDetail(Date startTime, Date endTime) { public JSONArray queryWithDetail(Date startTime, Date endTime) {
List<FinanceOrder> orderAllList = new ArrayList<>(); // List<FinanceOrder> orderAllList = new ArrayList<>();
JSONArray allArray = new JSONArray();
try { try {
int total = 0; int total = 0;
int size = 0; int size = 0;
...@@ -78,22 +79,19 @@ public class WangdiantongUtil { ...@@ -78,22 +79,19 @@ public class WangdiantongUtil {
throw new ServiceException("访问旺店通接口错误"+messageJson.toString()); throw new ServiceException("访问旺店通接口错误"+messageJson.toString());
} }
Integer totalCount = dataR.getInteger("total_count"); Integer totalCount = dataR.getInteger("total_count");
JSONArray order = dataR.getJSONArray("order"); JSONArray orderJsonArray = dataR.getJSONArray("order");
total = totalCount; total = totalCount;
log.info("当前时间段{}-{},总条数totalCount:{}", DateUtils.format(startTime), DateUtils.format(endTime),totalCount); allArray.addAll(orderJsonArray);
log.info("当前时间段{}-{},查询返回的order条数:{}", DateUtils.format(startTime),DateUtils.format(endTime), order.size()); size = allArray.size();
List<FinanceOrder> orders = JSONArray.parseArray(order.toString(), FinanceOrder.class, JSONReader.Feature.SupportSmartMatch);
orderAllList.addAll(orders);
size = orderAllList.size();
page_no ++; page_no ++;
log.info("当前时间段{}-{},查询返回的order条数:{},总条数totalCount:{},page_no:{}", DateUtils.format(startTime),DateUtils.format(endTime), orderJsonArray.size(),totalCount,page_no);
} while ( size < total); } while ( size < total);
return orderAllList; return allArray;
} catch (Exception e) { } catch (Exception e) {
// 记录异常日志 // 记录异常日志
log.error("异常信息:{}"+e.getMessage(),e); log.error("异常信息:{}"+e.getMessage(),e);
return orderAllList; return allArray;
} }
} }
} }
package com.sfa.job.xxljob.order; package com.sfa.job.xxljob.order;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.link.bi.pojo.response.FinanceSyncOrderDetailDto; import com.sfa.job.pojo.response.FinanceSyncOrderDetailDto;
import com.sfa.job.service.order.FinanceOrderSyncService; import com.sfa.job.service.order.FinanceOrderSyncService;
import com.xxl.job.core.context.XxlJobContext; import com.xxl.job.core.context.XxlJobContext;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论