提交 9895a2bb authored 作者: douxy's avatar douxy

新增勤策订单明细定时任务功能

上级 9a4c9c7b
package com.sfa.job.domain.qince.dao;
import com.alibaba.fastjson.JSONObject;
/**
* @Author: DouXinYu
* @Date: 2026-03-02 10:42
* @Description:
*/
public interface IQinceOrderCoreDao {
void save(JSONObject order);
}
package com.sfa.job.domain.qince.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.qince.entity.QinceOrderInformationDetail;
import org.springframework.stereotype.Repository;
/**
* @Author: DouXinYu
* @Date: 2026-03-03 13:51
* @Description:
*/
@Repository
public interface QinceOrderDetailMapper extends BaseMapper<QinceOrderInformationDetail> {
}
package com.sfa.job.domain.qince.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.qince.entity.QinceOrderInformation;
import org.springframework.stereotype.Repository;
/**
* @Author: DouXinYu
* @Date: 2026-03-03 13:32
* @Description:
*/
@Repository
public interface QinceOrderInformationMapper extends BaseMapper<QinceOrderInformation> {
}
package com.sfa.job.pojo.qince.response;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 勤策订单详情DTO
*
* @Author: DouXinYu
* @Date: 2026-03-03 13:52
*/
@Data
public class QinceOrderInformationDetailDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
private Long id;
/**
* 勤策订单id
*/
private Long qcId;
/**
* 采购单号
*/
private String purchaseNo;
/**
* 总销售费用
*/
private Double allSalesExpenses;
/**
* 已分配金额
*/
private Double allocatedAmount;
/**
* 基本单位名称
*/
private String baseUnitName;
/**
* 业务订单类型名称
*/
private String businessOrderTypeName;
/**
* 客户编码
*/
private String cmCode;
/**
* 客户部门编码
*/
private String cmDeptCode;
/**
* 客户部门名称
*/
private String cmDeptName;
/**
* 客户名称
*/
private String cmName;
/**
* 确认员工姓名
*/
private String confirmEmpName;
/**
* 确认原因
*/
private String confirmReason;
/**
* 确认时间(字符串)
*/
private String confirmTimeStr;
/**
* 发货日期(字符串)
*/
private String consignmentDateStr;
/**
* 创建人姓名
*/
private String createName;
/**
* 创建时间(简)
*/
private String createTime;
/**
* 创建时间(完整)
*/
private String createTimeStr;
/**
* 业务日期
*/
private String businessDate;
/**
* 创建日期时间
*/
private String createDate;
/**
* 默认订单状态
*/
private String defaultOrderStatusName;
/**
* 默认采购状态
*/
private String defaultPurchaseStatusName;
/**
* 明细ID
*/
private String detailId;
/**
* 员工编码
*/
private String empCode;
/**
* 员工部门编码
*/
private String empDeptCode;
/**
* 员工部门名称
*/
private String empDeptName;
/**
* 员工ID
*/
private String empId;
/**
* 员工姓名
*/
private String empName;
/**
* 员工联系电话
*/
private String empPhone;
/**
* 费用池折扣分摊
*/
private Double expensepoolDiscountSplit;
/**
* 费用池费用分摊
*/
private Double expensePoolExpensesSplit;
/**
* 付款方式
*/
private String paymentMethod;
/**
* 操作方式
*/
private String operationMode;
/**
* 完成发货员工姓名
*/
private String finishSentEmpName;
/**
* 完成发货时间
*/
private String finishSentTime;
/**
* 赠品金额
*/
private Double giftAmount;
/**
* 赠品单价
*/
private Double giftPrice;
/**
* 赠品分摊金额
*/
private Double giftProductSplitAmount;
/**
* 是否完成
*/
private String isFinished;
/**
* 是否赠品
*/
private String isGift;
/**
* 最新客户单价
*/
private Double lastKhPrice;
/**
* 联系人姓名
*/
private String linkmanName;
/**
* 联系人电话
*/
private String linkmanPhone;
/**
* 修改时间(完整)
*/
private String modifyTimeStr;
/**
* 新订单状态
*/
private String newOrderStatusName;
/**
* 新采购状态
*/
private String newPurchaseStatusName;
/**
* 在途库存
*/
private Double onwayInventory;
/**
* 订单实付总金额
*/
private Double orderActualPayAmount;
/**
* 订单总金额
*/
private Double orderAmount;
/**
* 订单基本单位数量
*/
private Integer orderBaseUnitCount;
/**
* 订单数量
*/
private Double orderCount;
/**
* 订单录入单位名称
*/
private String orderInputUnitName;
/**
* 订单录入单位换算比例
*/
private Integer orderInputUnitRatio;
/**
* 订单编号(重复)
*/
private String orderNo;
/**
* 折扣前订单金额
*/
private Double orderPreDiscountAmount;
/**
* 订单单价
*/
private Double orderPrice;
/**
* 订单实付金额
*/
private Double orderRealAmount;
/**
* 外部订单号
*/
private String outerOrderNo;
/**
* 支付状态
*/
private Integer payStatus;
/**
* 商品条形码
*/
private String productBarcode;
/**
* 商品品牌
*/
private String productBrand;
/**
* 商品编码
*/
private String productCode;
/**
* 商品ID
*/
private String productId;
/**
* 商品名称
*/
private String productName;
/**
* 商品源代码
*/
private String productSourceCode;
/**
* 商品规格
*/
private String productSpec;
/**
* 采购总金额
*/
private Double purchaseAmount;
/**
* 采购基本单位数量
*/
private Integer purchaseBaseUnitCount;
/**
* 采购业务状态
*/
private String purchaseBusinessStatusName;
/**
* 采购数量
*/
private Double purchaseCount;
/**
* 采购录入单位名称
*/
private String purchaseInputUnitName;
/**
* 采购单价
*/
private Double purchasePrice;
/**
* 重新确认员工姓名
*/
private String reconfirmEmpName;
/**
* 重新确认原因
*/
private String reconfirmReason;
/**
* 重新确认时间(字符串)
*/
private String reconfirmTimeStr;
/**
* 销售费用
*/
private Double salesExpenses;
/**
* 发货基本单位数量
*/
private Integer sentBaseUnitNum;
/**
* 发货次数
*/
private Integer sentCount;
/**
* 发货录入单位名称
*/
private String sentInputUnitName;
/**
* 发货数量
*/
private Integer sentNum;
/**
* 签收基本单位数量
*/
private Integer signBaseUnitNum;
/**
* 签收单ID
*/
private String signId;
/**
* 签收录入单位ID
*/
private String signInputUnit;
/**
* 签收录入单位名称
*/
private String signInputUnitName;
/**
* 签收人姓名
*/
private String signName;
/**
* 签收数量
*/
private Integer signNum;
/**
* 签收时间(字符串)
*/
private String signTimeStr;
/**
* 系统录入单位价格
*/
private Double sysInputUnitPrice;
private Date insertTime;
private Date modifyTime;
private int isDelete;
}
\ No newline at end of file
package com.sfa.job.pojo.qince.response;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author: DouXinYu
* @Date: 2026-03-03 13:33
* @Description: 勤策订单信息DTO
*/
@Data
public class QinceOrderInformationDto {
/**
* 主键
*/
private Long id;
/**
* 直营订单号
*/
private String purchaseNo;
/**
* 勤策id
*/
private Long qcId;
/**
* 员工编码
*/
private String empCode;
/**
* 业务员手机号码
*/
private String empPhone;
/**
* 业务员部门名称
*/
private String empDeptName;
/**
* 业务员部门编码
*/
private String empDeptCode;
/**
* 业务时间
*/
private Date businessTime;
/**
* 业务日期
*/
private Date businessDate;
/**
* 业务类型名称
*/
private String businessOrderTypeName;
/**
* 新订单状态名称
*/
private String newOrderStatusName;
/**
* 新采购状态名称
*/
private String newPurchaseStatusName;
/**
* 下单时候客户所在部门的名称
*/
private String cmDeptName;
/**
* 下单时候客户所在部门的编码
*/
private String cmDeptCode;
/**
* 收货人手机号码
*/
private String receivePhone;
/**
* 收货人名称
*/
private String receiveName;
/**
* 收货地址
*/
private String receiveAddr;
/**
* 确认意见
*/
private String confirmReason;
/**
* 确认时间
*/
private Date confirmTimeStr;
/**
* 确认人名称
*/
private String confirmEmpName;
/**
* 签收数量
*/
private BigDecimal signNum;
/**
* 默认订单状态名称
*/
private String defaultOrderStatusName;
/**
* 联系人电话
*/
private String linkmanPhone;
/**
* 客户名称
*/
private String cmName;
/**
* 客户编码
*/
private String cmCode;
/**
* 关闭时间
*/
private Date finishSentTime;
/**
* 关闭人名称
*/
private String finishSentEmpName;
/**
* 订单折扣前金额
*/
private BigDecimal orderPreDiscountAmount;
/**
* 订单数量
*/
private BigDecimal orderCount;
/**
* 订单实际支付金额
*/
private BigDecimal orderActualPayAmount;
/**
* 订单分录/行号
*/
private String orderEntry;
/**
* 订单编号
*/
private String orderNo;
/**
* 单据最近一次变更时间
*/
private Date modifyTimeStr;
/**
* 单据业务员名称
*/
private String empName;
/**
* 单据提交时间
*/
private Date createTimeStr;
/**
* 单据创建人名称
*/
private String createName;
/**
* 创建时间(简化版)
*/
private Date createTime;
/**
* 采购订单状态
*/
private String purchaseStatus;
/**
* 采购单自定义业务状态名称
*/
private String purchaseBusinessStatusName;
/**
* 采购单据总金额
*/
private BigDecimal orderAmount;
/**
* ERP订单号
*/
private String outerOrderNo;
/**
* 赠品金额
*/
private BigDecimal giftAmount;
/**
* 赠品分摊金额
*/
private BigDecimal giftProductSplitAmount;
/**
* 赠品单价
*/
private BigDecimal giftPrice;
/**
* 业务员下单时候所在的部门id
*/
private Long empDeptId;
/**
* 业务类型编码
*/
private String businessOrderTypeCode;
/**
* 序号
*/
private Integer posnr;
/**
* 系统录入单价
*/
private BigDecimal sysInputUnitPrice;
/**
* 系统价
*/
private BigDecimal lastKhPrice;
/**
* 下单时候客户所在的部门对应外部数据id
*/
private String cmDeptSourceCode;
/**
* 下单时候客户所在的部门id
*/
private Long cmDeptId;
/**
* 销售费用合计
*/
private BigDecimal allSalesExpenses;
/**
* 销售费用
*/
private BigDecimal salesExpenses;
/**
* 收货人电话
*/
private String receiveTel;
/**
* 收货人编码
*/
private String receiverCode;
/**
* 手工优惠金额
*/
private BigDecimal allProdDiscountAmount;
/**
* 实物库存数量(基本单位)
*/
private BigDecimal realInventory;
/**
* 是否是赠品
*/
private String isGift;
/**
* 签收人名称
*/
private String signName;
/**
* 分摊后金额
*/
private BigDecimal allocatedAmount;
/**
* 费用池账户编码
*/
private String rebateAccountCode;
/**
* 费用池使用金额
*/
private BigDecimal amountPoolUsedamount;
/**
* 费用池使用金额
*/
private BigDecimal rebateAccountAmount;
/**
* 费用池抵金额分摊销售折扣
*/
private BigDecimal expensepoolDiscountSplit;
/**
* 费用池抵金额分摊销售费用
*/
private BigDecimal expensePoolExpensesSplit;
/**
* 发货数量
*/
private BigDecimal sentCount;
/**
* 发货数量
*/
private BigDecimal sentNum;
/**
* 订单状态
*/
private String orderStatus;
/**
* 订单折扣金额
*/
private BigDecimal orderDiscountAmount;
/**
* 订单税额
*/
private BigDecimal orderTaxAmount;
/**
* 订单实际金额
*/
private BigDecimal orderRealAmount;
/**
* 订单录入单位名称
*/
private String orderInputUnitName;
/**
* 订单录入单位换算率
*/
private BigDecimal orderInputUnitRatio;
/**
* 订单录入单位ID
*/
private Long orderInputUnit;
/**
* 订单类型
*/
private String orderType;
/**
* 订单来源(扩展)
*/
private String orderFrom;
/**
* 订单来源
*/
private String orderSource;
/**
* 订单基本单位数量
*/
private BigDecimal orderBaseUnitCount;
/**
* 订单单价
*/
private BigDecimal orderPrice;
/**
* 订单成本金额
*/
private BigDecimal orderCostAmount;
/**
* 订单ID(整型)
*/
private Long idInt;
/**
* 备注
*/
private String remark;
/**
* 订单类型(ZC:销售订单,HC:换出订单)
*/
private String orderClass;
/**
* 支付状态(0:未支付。1:已支付,3:线下支付)
*/
private Integer payStatus;
/**
* 实际收货地址
*/
private String actualReceiveAddress;
/**
* 收货人
*/
private String actualConsignee;
/**
* 经销商名称
*/
private String dealerName;
/**
* 收件人电话
*/
private String consigneeTel;
/**
* 城市
*/
private String city;
/**
* 创建时间(数据插入时间)
*/
private Date insertTime;
/**
* 修改时间(数据更新时间)
*/
private Date modifyTime;
/**
* 删除标识
*/
private int isDelete;
}
\ No newline at end of file
package com.sfa.job.service.order;
/**
* @Author: DouXinYu
* @Date: 2026-02-27 18:33
* @Description:
*/
public interface IQinceOrderInformationSyncService {
void syncQinceOrderInformation();
}
package com.sfa.job.service.order.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.sfa.job.domain.qince.dao.IQinceOrderCoreDao;
import com.sfa.job.service.order.IQinceOrderInformationSyncService;
import com.sfa.job.util.QinCeUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
/**
* @Author: DouXinYu
* @Date: 2026-02-27 18:33
* @Description: 勤策订单信息同步 实现类
*/
@Slf4j
@DS("bi")
@Service
public class QinceOrderInformationSyncServiceImpl implements IQinceOrderInformationSyncService {
@Autowired
private QinCeUtils qinCeUtils;
@Autowired
IQinceOrderCoreDao qinceOrderCoreDao;
/**
* 同步勤策订单信息
*/
@Override
public void syncQinceOrderInformation() {
log.info("================= 开始同步勤策订单信息 ==================");
try {
log.info("================ 开始查询前1天所有订单 ===================");
JSONArray orderList = qinCeUtils.queryLastDayAllOrder();
log.info("查询前1天所有订单完成,订单数:{}", orderList.size());
if (CollectionUtils.isEmpty(orderList)){
log.info("==================== 没有订单数据,结束同步 ====================");
return;
}
log.info("================== 开始处理订单数据 ====================");
for (int i = 0; i < orderList.size(); i++) {
JSONObject order = orderList.getJSONObject(i);
log.info("开始处理第{}条订单数据", i + 1);
// 处理订单数据
processAndSaveData(order);
log.info("处理第{}条订单数据完成", i + 1);
}
log.info("================== 处理订单数据完成 ====================");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private void processAndSaveData(JSONObject order) {
qinceOrderCoreDao.save(order);
}
}
......@@ -9,10 +9,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* @author : liqiulin
......@@ -59,6 +58,10 @@ public class QinCeUtils {
// 获取考勤明细统计数据接口
public static final String GET_USER_STATISTIC = "/api/attStatistics/v1/getUserStatistic/";
// 直营订单查询接口
public static final String QUERY_ORDER_DETAIL = "/api/dmsdatasearch/v1/getDmsPurchaseOrderInfos/";
public String builderUrl(String sidepath, Map<String, Object> params) {
String msgId = UUID.randomUUID().toString();
......@@ -237,4 +240,57 @@ public class QinCeUtils {
log.info("调用勤策考勤明细接口,URL:{},参数:{}", url, params);
return postQC(url, params);
}
public Map<String, Object> queryLastDayOrderParams(Integer pageNum, Integer rows) {
// 计算前一天
LocalDate today = LocalDate.now();
LocalDate yesterday = today.minusDays(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String startTime = yesterday.atStartOfDay().format(formatter);
String endTime = yesterday.atTime(23, 59, 59).format(formatter);
Map<String, Object> params = new HashMap<>();
params.put("page_number", String.valueOf(pageNum));
params.put("page_length", String.valueOf(rows));
params.put("start_modify_date", startTime);
params.put("end_modify_date", endTime);
return params;
}
/**
* 拉取前一天所有订单
*/
public JSONArray queryLastDayAllOrder() throws Exception {
JSONArray allOrders = new JSONArray();
int currentPage = 1;
int pageSize = 1000;
// 循环分页拉取,直到无数据返回
while (true) {
Map<String, Object> params = queryLastDayOrderParams(currentPage, pageSize);
String url = builderUrl(QUERY_ORDER_DETAIL, params);
log.info("自动查询前一天订单 - 第{}页,请求URL:{}", currentPage, url);
try {
JSONObject resp = postQC(url, params);
JSONArray pageData = resp.getJSONArray("response_data");
// 终止条件:当前页无数据,退出循环
if (pageData == null || pageData.isEmpty()) {
log.info("前一天订单查询完成,共拉取{}页,总订单数:{}", currentPage - 1, allOrders.size());
break;
}
// 累加当前页数据到总结果
allOrders.addAll(pageData);
currentPage++;
} catch (Exception e) {
log.error("自动查询前一天订单第{}页失败", currentPage, e);
throw new RuntimeException("自动分页拉取订单数据失败,页码:" + currentPage, e);
}
}
return allOrders;
}
}
package com.sfa.job.xxljob.order;
import com.sfa.job.service.order.IQinceOrderInformationSyncService;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: DouXinYu
* @Date: 2026-02-27 18:31
* @Description: 拉取前一天勤策订单数据
*/
@Component
public class QinceOrderInformationTask {
@Autowired
private IQinceOrderInformationSyncService qinceOrderInformationSyncService;
/**
* 同步勤策订单数据
* 每天 00:45:00 执行 0 45 0 * * ?
*/
@XxlJob("sync_qc_order_information")
public void syncQcOrderInformation(){
XxlJobHelper.log("xxl-job开始同步-勤策订单数据");
try {
qinceOrderInformationSyncService.syncQinceOrderInformation();
XxlJobHelper.log("xxl-job结束同步-勤策订单数据");
} catch (Exception e) {
XxlJobHelper.log("xxl-job同步-勤策订单数据异常");
XxlJobHelper.log("失败信息如下:");
XxlJobHelper.log(e);
}
}
}
......@@ -62,7 +62,7 @@
from orders_sent
where transport in (109,134)
and receipt_flag = '无'
and post_data &gt;= date_sub(CURDATE(), INTERVAL 45 DAY)
and post_date &gt;= date_sub(CURDATE(), INTERVAL 45 DAY)
</select>
<update id="updateByExpressNo" parameterType="com.sfa.job.domain.order.entity.OrdersSent">
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.job.domain.qince.mapper.QinceOrderDetailMapper">
<resultMap id="BaseResultMap" type="com.sfa.job.domain.qince.entity.QinceOrderInformationDetail">
<!-- 主键字段 -->
<id column="id" property="id" jdbcType="BIGINT"/>
<!-- 核心业务字段 -->
<result column="qc_id" property="qcId" jdbcType="BIGINT"/>
<result column="purchase_no" property="purchaseNo" jdbcType="VARCHAR"/>
<!-- 费用相关字段 -->
<result column="all_sales_expenses" property="allSalesExpenses" jdbcType="DOUBLE"/>
<result column="allocated_amount" property="allocatedAmount" jdbcType="DOUBLE"/>
<result column="expense_pool_discount_split" property="expensePoolDiscountSplit" jdbcType="DOUBLE"/>
<result column="expense_pool_expenses_split" property="expensePoolExpensesSplit" jdbcType="DOUBLE"/>
<result column="gift_amount" property="giftAmount" jdbcType="DOUBLE"/>
<result column="gift_price" property="giftPrice" jdbcType="DOUBLE"/>
<result column="gift_product_split_amount" property="giftProductSplitAmount" jdbcType="DOUBLE"/>
<result column="last_kh_price" property="lastKhPrice" jdbcType="DOUBLE"/>
<result column="onway_inventory" property="onwayInventory" jdbcType="DOUBLE"/>
<result column="order_actual_pay_amount" property="orderActualPayAmount" jdbcType="DOUBLE"/>
<result column="order_amount" property="orderAmount" jdbcType="DOUBLE"/>
<result column="order_pre_discount_amount" property="orderPreDiscountAmount" jdbcType="DOUBLE"/>
<result column="order_price" property="orderPrice" jdbcType="DOUBLE"/>
<result column="order_real_amount" property="orderRealAmount" jdbcType="DOUBLE"/>
<result column="purchase_amount" property="purchaseAmount" jdbcType="DOUBLE"/>
<result column="purchase_price" property="purchasePrice" jdbcType="DOUBLE"/>
<result column="sales_expenses" property="salesExpenses" jdbcType="DOUBLE"/>
<result column="sys_input_unit_price" property="sysInputUnitPrice" jdbcType="DOUBLE"/>
<!-- 基础信息字段 -->
<result column="base_unit_name" property="baseUnitName" jdbcType="VARCHAR"/>
<result column="business_order_type_name" property="businessOrderTypeName" jdbcType="VARCHAR"/>
<result column="business_date" property="businessDate" jdbcType="VARCHAR"/>
<result column="cm_code" property="cmCode" jdbcType="VARCHAR"/>
<result column="cm_dept_code" property="cmDeptCode" jdbcType="VARCHAR"/>
<result column="cm_dept_name" property="cmDeptName" jdbcType="VARCHAR"/>
<result column="cm_name" property="cmName" jdbcType="VARCHAR"/>
<result column="confirm_emp_name" property="confirmEmpName" jdbcType="VARCHAR"/>
<result column="confirm_reason" property="confirmReason" jdbcType="VARCHAR"/>
<result column="confirm_time_str" property="confirmTimeStr" jdbcType="VARCHAR"/>
<result column="consignment_date_str" property="consignmentDateStr" jdbcType="VARCHAR"/>
<result column="create_name" property="createName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="VARCHAR"/>
<result column="create_time_str" property="createTimeStr" jdbcType="VARCHAR"/>
<result column="create_date" property="createDate" jdbcType="VARCHAR"/>
<result column="default_order_status_name" property="defaultOrderStatusName" jdbcType="VARCHAR"/>
<result column="default_purchase_status_name" property="defaultPurchaseStatusName" jdbcType="VARCHAR"/>
<result column="detail_id" property="detailId" jdbcType="VARCHAR"/>
<result column="emp_code" property="empCode" jdbcType="VARCHAR"/>
<result column="emp_dept_code" property="empDeptCode" jdbcType="VARCHAR"/>
<result column="emp_dept_name" property="empDeptName" jdbcType="VARCHAR"/>
<result column="emp_id" property="empId" jdbcType="VARCHAR"/>
<result column="emp_name" property="empName" jdbcType="VARCHAR"/>
<result column="emp_phone" property="empPhone" jdbcType="VARCHAR"/>
<result column="payment_method" property="paymentMethod" jdbcType="VARCHAR"/>
<result column="operation_mode" property="operationMode" jdbcType="VARCHAR"/>
<result column="finish_sent_emp_name" property="finishSentEmpName" jdbcType="VARCHAR"/>
<result column="finish_sent_time" property="finishSentTime" jdbcType="VARCHAR"/>
<result column="is_finished" property="isFinished" jdbcType="VARCHAR"/>
<result column="is_gift" property="isGift" jdbcType="VARCHAR"/>
<result column="linkman_name" property="linkmanName" jdbcType="VARCHAR"/>
<result column="linkman_phone" property="linkmanPhone" jdbcType="VARCHAR"/>
<result column="modify_time_str" property="modifyTimeStr" jdbcType="VARCHAR"/>
<result column="new_order_status_name" property="newOrderStatusName" jdbcType="VARCHAR"/>
<result column="new_purchase_status_name" property="newPurchaseStatusName" jdbcType="VARCHAR"/>
<result column="order_base_unit_count" property="orderBaseUnitCount" jdbcType="INTEGER"/>
<result column="order_count" property="orderCount" jdbcType="INTEGER"/>
<result column="order_input_unit_name" property="orderInputUnitName" jdbcType="VARCHAR"/>
<result column="order_input_unit_ratio" property="orderInputUnitRatio" jdbcType="INTEGER"/>
<result column="order_no" property="orderNo" jdbcType="VARCHAR"/>
<result column="outer_order_no" property="outerOrderNo" jdbcType="VARCHAR"/>
<result column="pay_status" property="payStatus" jdbcType="INTEGER"/>
<result column="product_barcode" property="productBarcode" jdbcType="VARCHAR"/>
<result column="product_brand" property="productBrand" jdbcType="VARCHAR"/>
<result column="product_code" property="productCode" jdbcType="VARCHAR"/>
<result column="product_id" property="productId" jdbcType="VARCHAR"/>
<result column="product_name" property="productName" jdbcType="VARCHAR"/>
<result column="product_source_code" property="productSourceCode" jdbcType="VARCHAR"/>
<result column="product_spec" property="productSpec" jdbcType="VARCHAR"/>
<result column="purchase_base_unit_count" property="purchaseBaseUnitCount" jdbcType="INTEGER"/>
<result column="purchase_business_status_name" property="purchaseBusinessStatusName" jdbcType="VARCHAR"/>
<result column="purchase_count" property="purchaseCount" jdbcType="INTEGER"/>
<result column="purchase_input_unit_name" property="purchaseInputUnitName" jdbcType="VARCHAR"/>
<result column="reconfirm_emp_name" property="reconfirmEmpName" jdbcType="VARCHAR"/>
<result column="reconfirm_reason" property="reconfirmReason" jdbcType="VARCHAR"/>
<result column="reconfirm_time_str" property="reconfirmTimeStr" jdbcType="VARCHAR"/>
<result column="sent_base_unit_num" property="sentBaseUnitNum" jdbcType="INTEGER"/>
<result column="sent_count" property="sentCount" jdbcType="INTEGER"/>
<result column="sent_input_unit_name" property="sentInputUnitName" jdbcType="VARCHAR"/>
<result column="sent_num" property="sentNum" jdbcType="INTEGER"/>
<result column="sign_base_unit_num" property="signBaseUnitNum" jdbcType="INTEGER"/>
<result column="sign_id" property="signId" jdbcType="VARCHAR"/>
<result column="sign_input_unit" property="signInputUnit" jdbcType="VARCHAR"/>
<result column="sign_input_unit_name" property="signInputUnitName" jdbcType="VARCHAR"/>
<result column="sign_name" property="signName" jdbcType="VARCHAR"/>
<result column="sign_num" property="signNum" jdbcType="INTEGER"/>
<result column="sign_time_str" property="signTimeStr" jdbcType="VARCHAR"/>
<!-- 通用字段 -->
<result column="insert_time" property="insertTime" jdbcType="DATE"/>
<result column="modify_time" property="modifyTime" jdbcType="DATE"/>
<result column="is_delete" property="isDelete" jdbcType="TINYINT"/>
</resultMap>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.job.domain.qince.mapper.QinceOrderInformationMapper">
<!-- 勤策订单信息表 ResultMap -->
<resultMap id="QinceOrderInformationResultMap" type="com.sfa.job.domain.qince.entity.QinceOrderInformation">
<!-- 主键映射 -->
<id column="id" property="id" jdbcType="BIGINT"/>
<!-- 基础字段映射 -->
<result column="purchase_no" property="purchaseNo" jdbcType="VARCHAR"/>
<result column="qc_id" property="qcId" jdbcType="BIGINT"/>
<result column="emp_code" property="empCode" jdbcType="VARCHAR"/>
<result column="emp_phone" property="empPhone" jdbcType="VARCHAR"/>
<result column="emp_dept_name" property="empDeptName" jdbcType="VARCHAR"/>
<result column="emp_dept_code" property="empDeptCode" jdbcType="VARCHAR"/>
<result column="business_time" property="businessTime" jdbcType="TIMESTAMP"/>
<result column="business_date" property="businessDate" jdbcType="TIMESTAMP"/>
<result column="business_order_type_name" property="businessOrderTypeName" jdbcType="VARCHAR"/>
<result column="new_order_status_name" property="newOrderStatusName" jdbcType="VARCHAR"/>
<result column="new_purchase_status_name" property="newPurchaseStatusName" jdbcType="VARCHAR"/>
<result column="cm_dept_name" property="cmDeptName" jdbcType="VARCHAR"/>
<result column="cm_dept_code" property="cmDeptCode" jdbcType="VARCHAR"/>
<result column="receive_phone" property="receivePhone" jdbcType="VARCHAR"/>
<result column="receive_name" property="receiveName" jdbcType="VARCHAR"/>
<result column="receive_addr" property="receiveAddr" jdbcType="VARCHAR"/>
<result column="confirm_reason" property="confirmReason" jdbcType="VARCHAR"/>
<result column="confirm_time_str" property="confirmTimeStr" jdbcType="TIMESTAMP"/>
<result column="confirm_emp_name" property="confirmEmpName" jdbcType="VARCHAR"/>
<result column="sign_num" property="signNum" jdbcType="DECIMAL"/>
<result column="default_order_status_name" property="defaultOrderStatusName" jdbcType="VARCHAR"/>
<result column="linkman_phone" property="linkmanPhone" jdbcType="VARCHAR"/>
<result column="cm_name" property="cmName" jdbcType="VARCHAR"/>
<result column="cm_code" property="cmCode" jdbcType="VARCHAR"/>
<result column="finish_sent_time" property="finishSentTime" jdbcType="TIMESTAMP"/>
<result column="finish_sent_emp_name" property="finishSentEmpName" jdbcType="VARCHAR"/>
<result column="order_pre_discount_amount" property="orderPreDiscountAmount" jdbcType="DECIMAL"/>
<result column="order_count" property="orderCount" jdbcType="DECIMAL"/>
<result column="order_actual_pay_amount" property="orderActualPayAmount" jdbcType="DECIMAL"/>
<result column="order_entry" property="orderEntry" jdbcType="INTEGER"/>
<result column="order_no" property="orderNo" jdbcType="VARCHAR"/>
<result column="modify_time_str" property="modifyTimeStr" jdbcType="TIMESTAMP"/>
<result column="emp_name" property="empName" jdbcType="VARCHAR"/>
<result column="create_time_str" property="createTimeStr" jdbcType="TIMESTAMP"/>
<result column="create_name" property="createName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="purchase_status" property="purchaseStatus" jdbcType="VARCHAR"/>
<result column="purchase_business_status_name" property="purchaseBusinessStatusName" jdbcType="VARCHAR"/>
<result column="order_amount" property="orderAmount" jdbcType="DECIMAL"/>
<result column="outer_order_no" property="outerOrderNo" jdbcType="VARCHAR"/>
<result column="gift_amount" property="giftAmount" jdbcType="DECIMAL"/>
<result column="gift_product_split_amount" property="giftProductSplitAmount" jdbcType="DECIMAL"/>
<result column="gift_price" property="giftPrice" jdbcType="DECIMAL"/>
<result column="emp_dept_id" property="empDeptId" jdbcType="BIGINT"/>
<result column="business_order_type_code" property="businessOrderTypeCode" jdbcType="VARCHAR"/>
<result column="posnr" property="posnr" jdbcType="INTEGER"/>
<result column="sys_input_unit_price" property="sysInputUnitPrice" jdbcType="DECIMAL"/>
<result column="last_kh_price" property="lastKhPrice" jdbcType="DECIMAL"/>
<result column="cm_dept_source_code" property="cmDeptSourceCode" jdbcType="VARCHAR"/>
<result column="cm_dept_id" property="cmDeptId" jdbcType="BIGINT"/>
<result column="all_sales_expenses" property="allSalesExpenses" jdbcType="DECIMAL"/>
<result column="sales_expenses" property="salesExpenses" jdbcType="DECIMAL"/>
<result column="receive_tel" property="receiveTel" jdbcType="VARCHAR"/>
<result column="receiver_code" property="receiverCode" jdbcType="VARCHAR"/>
<result column="all_prod_discount_amount" property="allProdDiscountAmount" jdbcType="DECIMAL"/>
<result column="real_inventory" property="realInventory" jdbcType="DECIMAL"/>
<result column="is_gift" property="isGift" jdbcType="VARCHAR"/>
<result column="sign_name" property="signName" jdbcType="VARCHAR"/>
<result column="allocated_amount" property="allocatedAmount" jdbcType="DECIMAL"/>
<result column="rebate_account_code" property="rebateAccountCode" jdbcType="VARCHAR"/>
<result column="amount_pool_usedamount" property="amountPoolUsedamount" jdbcType="DECIMAL"/>
<result column="rebate_account_amount" property="rebateAccountAmount" jdbcType="DECIMAL"/>
<result column="expensepool_discount_split" property="expensepoolDiscountSplit" jdbcType="DECIMAL"/>
<result column="expense_pool_expenses_split" property="expensePoolExpensesSplit" jdbcType="DECIMAL"/>
<result column="sent_count" property="sentCount" jdbcType="DECIMAL"/>
<result column="sent_num" property="sentNum" jdbcType="DECIMAL"/>
<result column="order_status" property="orderStatus" jdbcType="VARCHAR"/>
<result column="order_discount_amount" property="orderDiscountAmount" jdbcType="DECIMAL"/>
<result column="order_tax_amount" property="orderTaxAmount" jdbcType="DECIMAL"/>
<result column="order_real_amount" property="orderRealAmount" jdbcType="DECIMAL"/>
<result column="order_input_unit_name" property="orderInputUnitName" jdbcType="VARCHAR"/>
<result column="order_input_unit_ratio" property="orderInputUnitRatio" jdbcType="DECIMAL"/>
<result column="order_input_unit" property="orderInputUnit" jdbcType="BIGINT"/>
<result column="order_type" property="orderType" jdbcType="VARCHAR"/>
<result column="order_from" property="orderFrom" jdbcType="VARCHAR"/>
<result column="order_source" property="orderSource" jdbcType="VARCHAR"/>
<result column="order_base_unit_count" property="orderBaseUnitCount" jdbcType="DECIMAL"/>
<result column="order_price" property="orderPrice" jdbcType="DECIMAL"/>
<result column="order_cost_amount" property="orderCostAmount" jdbcType="DECIMAL"/>
<result column="id_int" property="idInt" jdbcType="BIGINT"/>
<result column="remark" property="remark" jdbcType="VARCHAR"/>
<result column="order_class" property="orderClass" jdbcType="VARCHAR"/>
<result column="pay_status" property="payStatus" jdbcType="INTEGER"/>
<result column="actual_receive_adress" property="actualReceiveAddress" jdbcType="VARCHAR"/>
<result column="actual_consignee" property="actualConsignee" jdbcType="VARCHAR"/>
<result column="dealer_name" property="dealerName" jdbcType="VARCHAR"/>
<result column="consignee_tel" property="consigneeTel" jdbcType="VARCHAR"/>
<result column="city" property="city" jdbcType="VARCHAR"/>
<result column="insert_time" property="insertTime" jdbcType="TIMESTAMP"/>
<result column="modify_time" property="modifyTime" jdbcType="TIMESTAMP"/>
<result column="is_delete" property="isDelete" jdbcType="INTEGER"/>
</resultMap>
</mapper>
\ No newline at end of file
package com.sfa.job.service.qince.impl;
import com.sfa.job.service.order.IQinceOrderInformationSyncService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
/**
* @Author: DouXinYu
* @Date: 2026-03-04 10:00
* @Description: 测试类
*/
@SpringBootTest
public class QinceOrderQueryTest {
@Autowired
private IQinceOrderInformationSyncService qinceOrderInformationSyncService;
@Test
public void queryAndSavaOrder() {
qinceOrderInformationSyncService.syncQinceOrderInformationTemp();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论