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

1、优化定时任务日志打印2、分页错误问题解决3、设置字段方法修改

上级 a33b2781
......@@ -345,69 +345,80 @@ public class FinanceOrderDetail extends BaseDo {
return "";
}
public String getZbjName(String remark, FinanceOrderDetail sameDetail) {
public void setZbjName(String fenxiaoName, String remark, FinanceOrderDetail sameDetail) {
if (ObjectUtils.isNotEmpty(sameDetail) && ObjectUtils.isNotEmpty(sameDetail.getZbjName())) {
return sameDetail.getZbjName();
this.zbjName = sameDetail.getZbjName();
return;
}
if (ObjectUtils.isNotEmpty(fenxiaoName)) {
this.zbjName = fenxiaoName;
return;
}
// 如果不为空,解析出
if (ObjectUtils.isNotEmpty(remark) && remark.contains("直播")) {
return extractByRegex(remark, "“【直播】”([^;;]*)");
this.zbjName = extractByRegex(remark, "“【直播】”([^;;]*)");
this.fenxiaoName = this.zbjName;
}
return null;
}
public String getZbjId(String remark, FinanceOrderDetail sameDetail) {
public void setZbjId(String remark, FinanceOrderDetail sameDetail) {
if (ObjectUtils.isNotEmpty(sameDetail) && ObjectUtils.isNotEmpty(sameDetail.getZbjId())) {
return sameDetail.getZbjId();
this.zbjId = sameDetail.getZbjId();
return;
}
// 如果不为空,解析出
if (ObjectUtils.isNotEmpty(remark) && remark.contains("直播间id")) {
return extractByRegex(remark, "直播间id:([^;;]\\d+)");
this.zbjId = extractByRegex(remark, "直播间id:([^;;]\\d+)");
}
return null;
}
/**
* 根据分销商和remark备注信息获取主播Id
*
* @param fenxiaoId
* @param remark
* @param sameDetail
* @return
*/
public String getZbjZbId(String fenxiaoId, String remark, FinanceOrderDetail sameDetail) {
public void setZbjZbId(String fenxiaoId, String remark, FinanceOrderDetail sameDetail) {
if (ObjectUtils.isNotEmpty(fenxiaoId)) {
return fenxiaoId;
this.zbjZbId = fenxiaoId;
return;
}
if (ObjectUtils.isNotEmpty(sameDetail) && ObjectUtils.isNotEmpty(sameDetail.getZbjZbId())) {
return sameDetail.getZbjZbId();
this.zbjZbId = sameDetail.getZbjZbId();
return;
}
// 如果不为空,解析出
if (ObjectUtils.isNotEmpty(remark) && remark.contains("主播id")) {
return extractByRegex(remark, "主播id:([^;;]\\d+)");
this.zbjZbId = extractByRegex(remark, "主播id:([^;;]\\d+)");
this.fenxiaoId = this.zbjZbId;
return;
}
return null;
}
public String getZbjSaleType(String remark, FinanceOrderDetail sameDetail) {
public void setZbjSaleType(String remark, FinanceOrderDetail sameDetail) {
if (ObjectUtils.isNotEmpty(sameDetail) && ObjectUtils.isNotEmpty(sameDetail.getZbjSaleType())) {
return sameDetail.getZbjSaleType();
this.zbjSaleType = sameDetail.getZbjSaleType();
return;
}
// 如果不为空,解析出
if (ObjectUtils.isNotEmpty(remark) && remark.contains("销售类型:")) {
return extractByRegex(remark, "销售类型:([^;;]*);");
this.zbjSaleType = extractByRegex(remark, "销售类型:([^;;]*);");
}
return null;
}
public String getZbjQdType(String fenxiaoId, String zbjZbId, Map<String, String> baseZbjType) {
public void setZbjQdType(String fenxiaoId, String zbjZbId, Map<String, String> baseZbjType) {
if (ObjectUtils.isNotEmpty(fenxiaoId)) {
zbjZbId = fenxiaoId;
}
String zbjType = baseZbjType.get(zbjZbId);
if (ObjectUtils.isNotEmpty(zbjZbId) && ObjectUtils.isEmpty(zbjType)) {
return baseZbjType.get("其他分销名称");
this.zbjQdType = baseZbjType.get(zbjZbId);
if (ObjectUtils.isNotEmpty(zbjZbId) && ObjectUtils.isEmpty(this.zbjQdType)) {
this.zbjQdType = baseZbjType.get("其他分销名称");
}
return zbjType;
}
}
package com.sfa.job.pojo.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -9,16 +10,22 @@ import java.util.Date;
*/
@Data
public class FinanceSyncOrderDetailDto {
/**
* 订单数量
*/
private Integer orderCount;
private Integer orderDetailCount;
// private List<FinanceOrder> orders;
// private List<FinanceOrderDetail> orderDetails;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
private Integer syncType;
private String batchNo;
private Integer pageNo;
private Integer totalCount;
/**
* 错误信息
*/
private String message;
}
......@@ -94,7 +94,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
// 调用查询旺店通接口api 获取最新日期前的2小时
Date currentLatest = DateUtils.addHours(new Date(), -2);
if (currentLatest.compareTo(startTime) < 0) {
detailDto.setMessage(String.format("开始时间%s不能大于当前时间%s",startTime,currentLatest));
detailDto.setMessage(String.format("开始时间%s不能大于当前时间%s", startTime, currentLatest));
log.warn(detailDto.getMessage());
return detailDto;
}
......@@ -112,7 +112,6 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
WangdiantongQueryDto wangdiantongQueryDto = wangdiantongUtil.queryWithDetail(wangdiantongQueryVO, beginPageNo);
JSONArray orderAllArray = wangdiantongQueryDto.getResult();
if (ObjectUtils.isEmpty(orderAllArray)) {
detailDto.setMessage(String.format("旺店通没有查询到订单数据"));
throw new ServiceException("旺店通没有查询到订单数据");
}
......@@ -151,7 +150,6 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
List<FinanceOrderDetail> orderDetails = order.getDetailList();
for (FinanceOrderDetail orderDetail : orderDetails) {
orderDetail.setSeries(prodSeriesMap.get(orderDetail.getGoodsNo()));
orderDetail.setTradeStatus(order.getTradeStatus());
orderDetail.setShopNo(order.getShopNo());
orderDetail.setShopName(order.getShopName());
......@@ -172,27 +170,24 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
// 如果存在相同的
FinanceOrderDetail sameDetail = orderZbj.get(orderDetail.getSrcTid());
orderDetail.setZbjName(orderDetail.getZbjName(orderDetail.getRemark(), sameDetail));
orderDetail.setZbjId(orderDetail.getZbjId(orderDetail.getRemark(), sameDetail));
orderDetail.setZbjZbId(orderDetail.getZbjZbId(orderDetail.getFenxiaoId(), orderDetail.getRemark(), sameDetail));
orderDetail.setZbjSaleType(orderDetail.getZbjSaleType(orderDetail.getRemark(), sameDetail));
orderDetail.setFenxiaoId(orderDetail.getZbjZbId());
orderDetail.setFenxiaoName(orderDetail.getZbjName());
orderDetail.setZbjName(orderDetail.getFenxiaoName(), orderDetail.getRemark(), sameDetail);
orderDetail.setZbjId(orderDetail.getRemark(), sameDetail);
orderDetail.setZbjZbId(orderDetail.getFenxiaoId(), orderDetail.getRemark(), sameDetail);
orderDetail.setZbjSaleType(orderDetail.getRemark(), sameDetail);
// 确定分销商类型
orderDetail.setZbjQdType(orderDetail.getZbjQdType(orderDetail.getFenxiaoId(), orderDetail.getZbjZbId(), baseZbjType));
orderDetail.setZbjQdType(orderDetail.getFenxiaoId(), orderDetail.getZbjZbId(), baseZbjType);
if (ObjectUtils.isNotEmpty(orderDetail.getZbjName())) {
orderZbj.put(orderDetail.getSrcTid(), orderDetail);
}
orderDetail.setFlavorErp(ObjectUtils.isNotEmpty(baseProductMap.get(orderDetail.getGoodsNo())) ? baseProductMap.get(orderDetail.getGoodsNo()).getFlavor() : "");
orderDetail.setSpecNameErp(ObjectUtils.isNotEmpty(baseProductMap.get(orderDetail.getGoodsNo())) ? baseProductMap.get(orderDetail.getGoodsNo()).getSpec() : "");
orderDetail.setActualCost(ObjectUtils.isNotEmpty(baseProductMap.get(orderDetail.getGoodsNo())) ?
baseProductMap.get(orderDetail.getGoodsNo()).getActualCost() :
new BigDecimal(0)
baseProductMap.get(orderDetail.getGoodsNo()).getActualCost() :
new BigDecimal(0)
);
orderDetail.setStandardCost(ObjectUtils.isNotEmpty(baseProductMap.get(orderDetail.getGoodsNo())) ?
baseProductMap.get(orderDetail.getGoodsNo()).getStandardCost() :
new BigDecimal(0)
baseProductMap.get(orderDetail.getGoodsNo()).getStandardCost() :
new BigDecimal(0)
);
orderDetail.setSumActualCost(orderDetail.getActualCost().multiply(orderDetail.getNum()));
orderDetail.setSumStandardCost(orderDetail.getStandardCost().multiply(orderDetail.getNum()));
......@@ -240,7 +235,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
errorInfo.setStartTime(startTime);
errorInfo.setCollectTime(new Date());
errorInfoDao.insert(errorInfo);
throw e;
detailDto.setMessage(e.toString());
}
return detailDto;
}
......
......@@ -99,7 +99,7 @@ public class WangdiantongUtil {
// 计算下一次分页的页码
pageNo++;
} while (size < maxDealCount && pageNo <= maxPage);
if (pageNo >= maxPage) {
if (pageNo > maxPage) {
// 已经到最后一页了,设置成-1,表示已经处理完了,不再查询
beginPageNo.set(-1);
} else {
......
package com.sfa.job.xxljob.order;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSONObject;
import com.sfa.job.pojo.response.FinanceSyncOrderDetailDto;
import com.sfa.job.service.order.FinanceOrderSyncService;
import com.xxl.job.core.context.XxlJobContext;
......@@ -40,11 +42,15 @@ public class FinanceOrderTask {
// 定时任务不设定开始时间和结束时间
FinanceSyncOrderDetailDto detailDto = financeOrderSyncService.syncWangdiantongOrder(null, null,0);
XxlJobHelper.log("xxl-job结束同步-旺店通订单明细api接口数据, 共同步订单{}条数据,订单明细{}条,订单批次号:{},订单的开始时间{}和结束时间{}",
detailDto.getOrderCount(),detailDto.getOrderDetailCount(),detailDto.getBatchNo(),
DateUtil.formatDateTime(detailDto.getStartTime()),DateUtil.formatDateTime(detailDto.getEndTime()) );
return detailDto;
if(ObjectUtil.isNotEmpty(detailDto.getMessage())){
XxlJobHelper.handleFail(detailDto.getMessage());
}else{
XxlJobHelper.handleSuccess( JSONObject.toJSONString( detailDto));
}
return detailDto;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论