Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-job
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-job
Commits
34dd35a9
提交
34dd35a9
authored
1月 21, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、增加除法前的判断,除数是否为0
上级
d3a896be
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
56 行增加
和
50 行删除
+56
-50
FinanceBaseZbjTypeServiceImpl.java
...job/service/order/impl/FinanceBaseZbjTypeServiceImpl.java
+1
-1
FinanceOrderSyncServiceImpl.java
...a/job/service/order/impl/FinanceOrderSyncServiceImpl.java
+55
-49
没有找到文件。
src/main/java/com/sfa/job/
domain/order/dao
/impl/FinanceBaseZbjTypeServiceImpl.java
→
src/main/java/com/sfa/job/
service/order
/impl/FinanceBaseZbjTypeServiceImpl.java
浏览文件 @
34dd35a9
package
com
.
sfa
.
job
.
domain
.
order
.
dao
.
impl
;
package
com
.
sfa
.
job
.
service
.
order
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
...
...
src/main/java/com/sfa/job/service/order/impl/FinanceOrderSyncServiceImpl.java
浏览文件 @
34dd35a9
...
@@ -52,8 +52,10 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -52,8 +52,10 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
CollectErrorInfoDao
errorInfoDao
;
CollectErrorInfoDao
errorInfoDao
;
@Autowired
@Autowired
IProductDao
productDao
;
IProductDao
productDao
;
/**
/**
* 多线程调用此方法
* 多线程调用此方法
*
* @param startTime
* @param startTime
* @param endTime
* @param endTime
*/
*/
...
@@ -74,12 +76,12 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -74,12 +76,12 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
}
}
// 调用查询旺店通接口api 获取最新日期前的一个小时
// 调用查询旺店通接口api 获取最新日期前的一个小时
startTime
=
DateUtils
.
addMinutes
(
startTime
,
-
3
);
startTime
=
DateUtils
.
addMinutes
(
startTime
,
-
3
);
}
else
{
}
else
{
// 调用查询旺店通接口api 获取最新日期前的一个小时
// 调用查询旺店通接口api 获取最新日期前的一个小时
Date
currentLatest
=
DateUtils
.
addHours
(
new
Date
(),
-
2
);
Date
currentLatest
=
DateUtils
.
addHours
(
new
Date
(),
-
2
);
if
(
currentLatest
.
compareTo
(
startTime
)
<
0
)
{
if
(
currentLatest
.
compareTo
(
startTime
)
<
0
)
{
throw
new
ServiceException
(
"开始时间不能大于当前时间"
);
throw
new
ServiceException
(
"开始时间不能大于当前时间"
);
}
}
}
}
if
(
ObjectUtils
.
isEmpty
(
endTime
))
{
if
(
ObjectUtils
.
isEmpty
(
endTime
))
{
endTime
=
DateUtils
.
addMinutes
(
startTime
,
60
);
endTime
=
DateUtils
.
addMinutes
(
startTime
,
60
);
...
@@ -93,7 +95,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -93,7 +95,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
//转化成orderList
//转化成orderList
// List<FinanceOrder> orders = orderAllArray.toJavaList(FinanceOrder.class);
// List<FinanceOrder> orders = orderAllArray.toJavaList(FinanceOrder.class);
List
<
FinanceOrder
>
orders
=
JSONArray
.
parseArray
(
orderAllArray
.
toString
(),
FinanceOrder
.
class
,
JSONReader
.
Feature
.
SupportSmartMatch
);
List
<
FinanceOrder
>
orders
=
JSONArray
.
parseArray
(
orderAllArray
.
toString
(),
FinanceOrder
.
class
,
JSONReader
.
Feature
.
SupportSmartMatch
);
// 基础数据 直播间分类数据+成本、规格、口味
// 基础数据 直播间分类数据+成本、规格、口味
Map
<
String
,
FinanceBaseProduct
>
baseProductMap
=
baseProductService
.
selectBaseProduct
();
Map
<
String
,
FinanceBaseProduct
>
baseProductMap
=
baseProductService
.
selectBaseProduct
();
...
@@ -101,12 +103,12 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -101,12 +103,12 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
Map
<
String
,
String
>
baseZbjType
=
baseZbjTypeService
.
selectBaseZbjType
();
Map
<
String
,
String
>
baseZbjType
=
baseZbjTypeService
.
selectBaseZbjType
();
// 系列
// 系列
List
<
PrdInfo
>
prdInfos
=
productDao
.
selectProdSeries
();
List
<
PrdInfo
>
prdInfos
=
productDao
.
selectProdSeries
();
// 转换成map
// 转换成map
Map
<
String
,
String
>
prodSeriesMap
=
new
HashMap
<>();
Map
<
String
,
String
>
prodSeriesMap
=
new
HashMap
<>();
prdInfos
.
stream
().
forEach
(
prdInfo
->
{
prdInfos
.
stream
().
forEach
(
prdInfo
->
{
prodSeriesMap
.
put
(
prdInfo
.
getPrdCode
(),
prdInfo
.
getPrdName
());
prodSeriesMap
.
put
(
prdInfo
.
getPrdCode
(),
prdInfo
.
getPrdName
());
});
});
// 入库订单表
// 入库订单表
log
.
info
(
"开始插入订单数据,数量:{}"
,
orderAllArray
.
size
());
log
.
info
(
"开始插入订单数据,数量:{}"
,
orderAllArray
.
size
());
Date
finalStartTime
=
startTime
;
Date
finalStartTime
=
startTime
;
Date
finalEndTime
=
endTime
;
Date
finalEndTime
=
endTime
;
...
@@ -123,46 +125,50 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -123,46 +125,50 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
// 用于同一个订单号,来赋值直播间信息
// 用于同一个订单号,来赋值直播间信息
Map
<
String
,
FinanceOrderDetail
>
orderZbj
=
new
HashMap
<>();
Map
<
String
,
FinanceOrderDetail
>
orderZbj
=
new
HashMap
<>();
// 入库订单明细表
// 入库订单明细表
for
(
FinanceOrder
order
:
orders
)
{
for
(
FinanceOrder
order
:
orders
)
{
List
<
FinanceOrderDetail
>
orderDetails
=
order
.
getDetailList
();
List
<
FinanceOrderDetail
>
orderDetails
=
order
.
getDetailList
();
for
(
FinanceOrderDetail
orderDetail
:
orderDetails
)
{
for
(
FinanceOrderDetail
orderDetail
:
orderDetails
)
{
orderDetail
.
setSeries
(
prodSeriesMap
.
get
(
orderDetail
.
getGoodsNo
()));
orderDetail
.
setSeries
(
prodSeriesMap
.
get
(
orderDetail
.
getGoodsNo
()));
orderDetail
.
setTradeStatus
(
order
.
getTradeStatus
());
orderDetail
.
setTradeStatus
(
order
.
getTradeStatus
());
orderDetail
.
setShopNo
(
order
.
getShopNo
());
orderDetail
.
setShopNo
(
order
.
getShopNo
());
orderDetail
.
setShopName
(
order
.
getShopName
());
orderDetail
.
setShopName
(
order
.
getShopName
());
orderDetail
.
setShopRemark
(
order
.
getShopRemark
());
orderDetail
.
setShopRemark
(
order
.
getShopRemark
());
orderDetail
.
setReceivable
(
order
.
getReceivable
());
orderDetail
.
setReceivable
(
order
.
getReceivable
());
orderDetail
.
setReceiverArea
(
order
.
getReceiverArea
());
orderDetail
.
setReceiverArea
(
order
.
getReceiverArea
());
orderDetail
.
setConsignTime
(
order
.
getConsignTime
());
orderDetail
.
setConsignTime
(
order
.
getConsignTime
());
orderDetail
.
setTradeTime
(
order
.
getTradeTime
());
orderDetail
.
setTradeTime
(
order
.
getTradeTime
());
orderDetail
.
setBatchNo
(
batchNo
);
orderDetail
.
setBatchNo
(
batchNo
);
orderDetail
.
setTradeNo
(
order
.
getTradeNo
());
orderDetail
.
setTradeNo
(
order
.
getTradeNo
());
// 计算分销信息
// 计算分销信息
orderDetail
.
setFenxiaoNick
(
orderDetail
.
getFenxiaoNick
(
order
));
orderDetail
.
setFenxiaoNick
(
orderDetail
.
getFenxiaoNick
(
order
));
orderDetail
.
setFenxiaoId
(
orderDetail
.
getFenxiaoId
(
order
,
orderDetail
.
getTradeId
()));
orderDetail
.
setFenxiaoId
(
orderDetail
.
getFenxiaoId
(
order
,
orderDetail
.
getTradeId
()));
orderDetail
.
setFenxiaoName
(
orderDetail
.
getFenxiaoName
(
order
,
orderDetail
.
getTradeId
()));
orderDetail
.
setFenxiaoName
(
orderDetail
.
getFenxiaoName
(
order
,
orderDetail
.
getTradeId
()));
orderDetail
.
setStartTime
(
finalStartTime
);
orderDetail
.
setStartTime
(
finalStartTime
);
orderDetail
.
setEndTime
(
finalEndTime
);
orderDetail
.
setEndTime
(
finalEndTime
);
orderDetail
.
setSyncType
(
syncType
);
orderDetail
.
setSyncType
(
syncType
);
// 如果存在相同的
// 如果存在相同的
FinanceOrderDetail
sameDetail
=
orderZbj
.
get
(
orderDetail
.
getSrcTid
());
FinanceOrderDetail
sameDetail
=
orderZbj
.
get
(
orderDetail
.
getSrcTid
());
orderDetail
.
setZbjName
(
orderDetail
.
getZbjName
(
orderDetail
.
getRemark
(),
sameDetail
));
orderDetail
.
setZbjName
(
orderDetail
.
getZbjName
(
orderDetail
.
getRemark
(),
sameDetail
));
orderDetail
.
setZbjId
(
orderDetail
.
getZbjId
(
orderDetail
.
getRemark
(),
sameDetail
));
orderDetail
.
setZbjId
(
orderDetail
.
getZbjId
(
orderDetail
.
getRemark
(),
sameDetail
));
orderDetail
.
setZbjZbId
(
orderDetail
.
getZbjZbId
(
orderDetail
.
getFenxiaoId
(),
orderDetail
.
getRemark
(),
sameDetail
));
orderDetail
.
setZbjZbId
(
orderDetail
.
getZbjZbId
(
orderDetail
.
getFenxiaoId
(),
orderDetail
.
getRemark
(),
sameDetail
));
orderDetail
.
setZbjSaleType
(
orderDetail
.
getZbjSaleType
(
orderDetail
.
getRemark
(),
sameDetail
));
orderDetail
.
setZbjSaleType
(
orderDetail
.
getZbjSaleType
(
orderDetail
.
getRemark
(),
sameDetail
));
// 确定分销商类型
// 确定分销商类型
orderDetail
.
setZbjQdType
(
orderDetail
.
getZbjQdType
(
orderDetail
.
getFenxiaoId
(),
orderDetail
.
getZbjZbId
(),
baseZbjType
));
orderDetail
.
setZbjQdType
(
orderDetail
.
getZbjQdType
(
orderDetail
.
getFenxiaoId
(),
orderDetail
.
getZbjZbId
(),
baseZbjType
));
if
(
ObjectUtils
.
isNotEmpty
(
orderDetail
.
getZbjName
()))
{
if
(
ObjectUtils
.
isNotEmpty
(
orderDetail
.
getZbjName
()))
{
orderZbj
.
put
(
orderDetail
.
getSrcTid
(),
orderDetail
);
orderZbj
.
put
(
orderDetail
.
getSrcTid
(),
orderDetail
);
}
}
orderDetail
.
setFlavorErp
(
ObjectUtils
.
isNotEmpty
(
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()))
?
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()).
getFlavor
()
:
""
);
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
.
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
()
:
order
.
getGoodsCost
().
divide
(
order
.
getGoodsTypeCount
()).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
));
orderDetail
.
setActualCost
(
ObjectUtils
.
isNotEmpty
(
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()))
?
orderDetail
.
setStandardCost
(
ObjectUtils
.
isNotEmpty
(
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()))
?
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()).
getStandardCost
()
:
order
.
getGoodsCost
().
divide
(
order
.
getGoodsTypeCount
()).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
));
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()).
getActualCost
():
}
(
ObjectUtils
.
isNotEmpty
(
order
.
getGoodsTypeCount
())
&&
!
order
.
getGoodsTypeCount
().
equals
(
0
))
?
order
.
getGoodsCost
().
divide
(
order
.
getGoodsTypeCount
()).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
)
:
new
BigDecimal
(
0
));
mergeList
.
addAll
(
orderDetails
);
orderDetail
.
setStandardCost
(
ObjectUtils
.
isNotEmpty
(
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()))
?
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()).
getStandardCost
()
:
(
ObjectUtils
.
isNotEmpty
(
order
.
getGoodsTypeCount
())
&&
!
order
.
getGoodsTypeCount
().
equals
(
0
))
?
order
.
getGoodsCost
().
divide
(
order
.
getGoodsTypeCount
()).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
)
:
new
BigDecimal
(
0
));
}
mergeList
.
addAll
(
orderDetails
);
}
}
log
.
info
(
"开始插入订单详情数据,数量:{}"
,
mergeList
.
size
());
log
.
info
(
"开始插入订单详情数据,数量:{}"
,
mergeList
.
size
());
...
@@ -176,7 +182,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -176,7 +182,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
detailDto
.
setEndTime
(
endTime
);
detailDto
.
setEndTime
(
endTime
);
detailDto
.
setBatchNo
(
batchNo
);
detailDto
.
setBatchNo
(
batchNo
);
log
.
info
(
"插入订单和订单详情完成,批次{}开始时间{},结束时间{},订单数量:{},详情数量:{}"
,
batchNo
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
endTime
),
orders
.
size
(),
mergeList
.
size
());
log
.
info
(
"插入订单和订单详情完成,批次{}开始时间{},结束时间{},订单数量:{},详情数量:{}"
,
batchNo
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
endTime
),
orders
.
size
(),
mergeList
.
size
());
CollectOrderLogInfo
collectOrderLogInfo
=
new
CollectOrderLogInfo
();
CollectOrderLogInfo
collectOrderLogInfo
=
new
CollectOrderLogInfo
();
collectOrderLogInfo
.
setSyncType
(
syncType
);
collectOrderLogInfo
.
setSyncType
(
syncType
);
...
@@ -188,7 +194,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -188,7 +194,7 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
// 记录错误日志表 collect_error_info
// 记录错误日志表 collect_error_info
CollectErrorInfo
errorInfo
=
new
CollectErrorInfo
();
CollectErrorInfo
errorInfo
=
new
CollectErrorInfo
();
errorInfo
.
setBatchNo
(
batchNo
);
errorInfo
.
setBatchNo
(
batchNo
);
errorInfo
.
setType
(
""
);
errorInfo
.
setType
(
""
);
errorInfo
.
setErrorMsg
(
e
.
getMessage
());
errorInfo
.
setErrorMsg
(
e
.
getMessage
());
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论