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
5d9c9c8c
提交
5d9c9c8c
authored
2月 26, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、根据review修改代码,日志记录表按log结尾,service不再集成mybatis-plus提供的service,dao层返回数据都使用dto
2、修改采集旺店通分页
上级
7574acd8
隐藏空白字符变更
内嵌
并排
正在显示
26 个修改的文件
包含
1010 行增加
和
378 行删除
+1010
-378
Constants.java
src/main/java/com/sfa/job/constants/Constants.java
+8
-0
CollectErrorLogDao.java
...java/com/sfa/job/domain/order/dao/CollectErrorLogDao.java
+3
-3
CollectOrderLogDao.java
...java/com/sfa/job/domain/order/dao/CollectOrderLogDao.java
+11
-0
CollectOrderLogInfoDao.java
.../com/sfa/job/domain/order/dao/CollectOrderLogInfoDao.java
+0
-10
FinanceOrderDao.java
...in/java/com/sfa/job/domain/order/dao/FinanceOrderDao.java
+10
-0
IProductDao.java
src/main/java/com/sfa/job/domain/order/dao/IProductDao.java
+2
-6
CollectErrorLogImpl.java
...om/sfa/job/domain/order/dao/impl/CollectErrorLogImpl.java
+7
-7
CollectOrderLogDaoImpl.java
...sfa/job/domain/order/dao/impl/CollectOrderLogDaoImpl.java
+17
-14
FinianceBaseZbjTypeDaoImpl.java
...job/domain/order/dao/impl/FinianceBaseZbjTypeDaoImpl.java
+0
-67
FinianceOrderDaoImpl.java
...m/sfa/job/domain/order/dao/impl/FinianceOrderDaoImpl.java
+28
-0
FinianceOrderDetailDaoImpl.java
...job/domain/order/dao/impl/FinianceOrderDetailDaoImpl.java
+0
-1
ProductDaoImpl.java
...ava/com/sfa/job/domain/order/dao/impl/ProductDaoImpl.java
+13
-2
CollectErrorLog.java
...java/com/sfa/job/domain/order/entity/CollectErrorLog.java
+2
-2
CollectOrderLog.java
...java/com/sfa/job/domain/order/entity/CollectOrderLog.java
+2
-4
FinanceOrder.java
...in/java/com/sfa/job/domain/order/entity/FinanceOrder.java
+361
-214
CollectErrorLogMapper.java
...om/sfa/job/domain/order/mapper/CollectErrorLogMapper.java
+2
-2
CollectOrderLogMapper.java
...om/sfa/job/domain/order/mapper/CollectOrderLogMapper.java
+2
-2
FinanceOrderMapper.java
...a/com/sfa/job/domain/order/mapper/FinanceOrderMapper.java
+3
-0
CollectOrderLogDto.java
...in/java/com/sfa/job/pojo/response/CollectOrderLogDto.java
+87
-0
PrdInfoDto.java
src/main/java/com/sfa/job/pojo/response/PrdInfoDto.java
+58
-0
WangdiantongQueryDto.java
.../java/com/sfa/job/pojo/response/WangdiantongQueryDto.java
+1
-1
FinanceOrderSyncService.java
...va/com/sfa/job/service/order/FinanceOrderSyncService.java
+1
-3
FinanceOrderSyncServiceImpl.java
...a/job/service/order/impl/FinanceOrderSyncServiceImpl.java
+35
-34
FeiShuUtil.java
src/main/java/com/sfa/job/util/FeiShuUtil.java
+2
-3
WangdiantongUtil.java
src/main/java/com/sfa/job/util/WangdiantongUtil.java
+4
-3
FinanceOrderMapper.xml
src/main/resources/mapper/order/FinanceOrderMapper.xml
+351
-0
没有找到文件。
src/main/java/com/sfa/job/constants/Constants.java
0 → 100644
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
constants
;
public
class
Constants
{
/**
* 采集数据方式
*/
public
static
final
String
SYNC_TYPE_XXL_JOB
=
"xxl-job"
;
}
src/main/java/com/sfa/job/domain/order/dao/CollectError
Info
Dao.java
→
src/main/java/com/sfa/job/domain/order/dao/CollectError
Log
Dao.java
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
dao
;
package
com
.
sfa
.
job
.
domain
.
order
.
dao
;
import
com.sfa.job.domain.order.entity.CollectError
Info
;
import
com.sfa.job.domain.order.entity.CollectError
Log
;
public
interface
CollectError
Info
Dao
{
public
interface
CollectError
Log
Dao
{
// 插入一条记录
// 插入一条记录
void
insert
(
CollectError
Info
collectErrorInfo
);
void
insert
(
CollectError
Log
collectErrorLog
);
}
}
src/main/java/com/sfa/job/domain/order/dao/CollectOrderLogDao.java
0 → 100644
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
dao
;
import
com.sfa.job.domain.order.entity.CollectOrderLog
;
import
com.sfa.job.pojo.response.CollectOrderLogDto
;
public
interface
CollectOrderLogDao
{
// 插入一条记录
void
insert
(
CollectOrderLog
collectOrderLog
);
CollectOrderLogDto
selectOrderSyncLatest
(
Integer
syncType
);
}
src/main/java/com/sfa/job/domain/order/dao/CollectOrderLogInfoDao.java
deleted
100644 → 0
浏览文件 @
7574acd8
package
com
.
sfa
.
job
.
domain
.
order
.
dao
;
import
com.sfa.job.domain.order.entity.CollectOrderLogInfo
;
public
interface
CollectOrderLogInfoDao
{
// 插入一条记录
void
insert
(
CollectOrderLogInfo
collectOrderLogInfo
);
CollectOrderLogInfo
selectOrderSyncLatest
(
Integer
syncType
);
}
src/main/java/com/sfa/job/domain/order/dao/FinanceOrderDao.java
0 → 100644
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
dao
;
import
com.sfa.job.domain.order.entity.FinanceOrder
;
import
java.util.List
;
public
interface
FinanceOrderDao
{
void
saveOrUpdateBatch
(
List
<
FinanceOrder
>
mergeList
);
}
src/main/java/com/sfa/job/domain/order/dao/IProductDao.java
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
dao
;
package
com
.
sfa
.
job
.
domain
.
order
.
dao
;
import
com.sfa.job.domain.order.entity.PrdInfo
;
import
java.util.Map
;
import
java.util.List
;
/**
/**
* @author : liqiulin
* @author : liqiulin
...
@@ -10,7 +8,5 @@ import java.util.List;
...
@@ -10,7 +8,5 @@ import java.util.List;
* @describe :
* @describe :
*/
*/
public
interface
IProductDao
{
public
interface
IProductDao
{
Map
<
String
,
String
>
selectProdSeries
();
List
<
PrdInfo
>
selectProdSeries
();
}
}
src/main/java/com/sfa/job/domain/order/dao/impl/CollectError
InfoDao
Impl.java
→
src/main/java/com/sfa/job/domain/order/dao/impl/CollectError
Log
Impl.java
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
dao
.
impl
;
package
com
.
sfa
.
job
.
domain
.
order
.
dao
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.sfa.job.domain.order.dao.CollectError
Info
Dao
;
import
com.sfa.job.domain.order.dao.CollectError
Log
Dao
;
import
com.sfa.job.domain.order.entity.CollectError
Info
;
import
com.sfa.job.domain.order.entity.CollectError
Log
;
import
com.sfa.job.domain.order.mapper.CollectError
Info
Mapper
;
import
com.sfa.job.domain.order.mapper.CollectError
Log
Mapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
@DS
(
"Bi"
)
@DS
(
"Bi"
)
@Repository
@Repository
public
class
CollectError
InfoDaoImpl
implements
CollectErrorInfo
Dao
{
public
class
CollectError
LogImpl
implements
CollectErrorLog
Dao
{
@Autowired
@Autowired
private
CollectError
InfoMapper
collectErrorInfo
Mapper
;
private
CollectError
LogMapper
collectErrorLog
Mapper
;
@Override
@Override
public
void
insert
(
CollectError
Info
collectErrorInfo
)
{
public
void
insert
(
CollectError
Log
collectErrorLog
)
{
collectError
InfoMapper
.
insert
(
collectErrorInfo
);
collectError
LogMapper
.
insert
(
collectErrorLog
);
}
}
...
...
src/main/java/com/sfa/job/domain/order/dao/impl/CollectOrderLog
Info
DaoImpl.java
→
src/main/java/com/sfa/job/domain/order/dao/impl/CollectOrderLogDaoImpl.java
浏览文件 @
5d9c9c8c
...
@@ -2,9 +2,11 @@ package com.sfa.job.domain.order.dao.impl;
...
@@ -2,9 +2,11 @@ package com.sfa.job.domain.order.dao.impl;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.sfa.job.domain.order.dao.CollectOrderLogInfoDao
;
import
com.sfa.common.core.utils.bean.BeanUtils
;
import
com.sfa.job.domain.order.entity.CollectOrderLogInfo
;
import
com.sfa.job.domain.order.dao.CollectOrderLogDao
;
import
com.sfa.job.domain.order.mapper.CollectOrderLogInfoMapper
;
import
com.sfa.job.domain.order.entity.CollectOrderLog
;
import
com.sfa.job.domain.order.mapper.CollectOrderLogMapper
;
import
com.sfa.job.pojo.response.CollectOrderLogDto
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -13,29 +15,30 @@ import java.util.List;
...
@@ -13,29 +15,30 @@ import java.util.List;
@DS
(
"Bi"
)
@DS
(
"Bi"
)
@Repository
@Repository
public
class
CollectOrderLog
InfoDaoImpl
implements
CollectOrderLogInfo
Dao
{
public
class
CollectOrderLog
DaoImpl
implements
CollectOrderLog
Dao
{
@Autowired
@Autowired
private
CollectOrderLog
Info
Mapper
logInfoMapper
;
private
CollectOrderLogMapper
logInfoMapper
;
@Override
@Override
public
void
insert
(
CollectOrderLog
Info
collectOrderLogInfo
)
{
public
void
insert
(
CollectOrderLog
collectOrderLog
)
{
logInfoMapper
.
insert
(
collectOrderLog
Info
);
logInfoMapper
.
insert
(
collectOrderLog
);
}
}
@Override
@Override
public
CollectOrderLog
Inf
o
selectOrderSyncLatest
(
Integer
syncType
)
{
public
CollectOrderLog
Dt
o
selectOrderSyncLatest
(
Integer
syncType
)
{
// 查询最新发货日期
// 查询最新发货日期
List
<
CollectOrderLog
Info
>
orderList
=
logInfoMapper
.
selectList
(
List
<
CollectOrderLog
>
orderList
=
logInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<
CollectOrderLog
Info
>()
new
LambdaQueryWrapper
<
CollectOrderLog
>()
// 默认查询xxljob自动同步时间
// 默认查询xxljob自动同步时间
.
eq
(
CollectOrderLog
Info
:
:
getSyncType
,
syncType
)
.
eq
(
CollectOrderLog:
:
getSyncType
,
syncType
)
.
eq
(
CollectOrderLog
Info
:
:
getDelFlag
,
0
)
.
eq
(
CollectOrderLog:
:
getDelFlag
,
0
)
.
orderByDesc
(
CollectOrderLog
Info
:
:
getUpdateTime
)
.
orderByDesc
(
CollectOrderLog:
:
getUpdateTime
)
.
last
(
"LIMIT 1"
));
.
last
(
"LIMIT 1"
));
if
(
ObjectUtils
.
isNotEmpty
(
orderList
)){
if
(
ObjectUtils
.
isNotEmpty
(
orderList
)){
// 最新的数据日期
// 最新的数据日期
return
orderList
.
get
(
0
);
CollectOrderLog
collectOrderLog
=
orderList
.
get
(
0
);
return
BeanUtils
.
transitionDto
(
collectOrderLog
,
CollectOrderLogDto
.
class
);
}
}
return
null
;
return
null
;
}
}
...
...
src/main/java/com/sfa/job/domain/order/dao/impl/FinianceBaseZbjTypeDaoImpl.java
浏览文件 @
5d9c9c8c
...
@@ -22,73 +22,6 @@ public class FinianceBaseZbjTypeDaoImpl implements FinanceBaseZbjTypeDao {
...
@@ -22,73 +22,6 @@ public class FinianceBaseZbjTypeDaoImpl implements FinanceBaseZbjTypeDao {
@Override
@Override
public
Map
<
String
,
String
>
selectBaseZbjType
()
{
public
Map
<
String
,
String
>
selectBaseZbjType
()
{
List
<
FinanceBaseZbjType
>
list
=
mapper
.
selectList
(
new
LambdaQueryWrapper
<>());
List
<
FinanceBaseZbjType
>
list
=
mapper
.
selectList
(
new
LambdaQueryWrapper
<>());
// 以fenxiaoName为key,直播间渠道类型为value,放入map中
// 以fenxiaoName为key,直播间渠道类型为value,放入map中
Map
<
String
,
String
>
map
=
list
.
stream
()
Map
<
String
,
String
>
map
=
list
.
stream
()
.
collect
(
HashMap:
:
new
,
(
k
,
v
)
->
k
.
put
(
v
.
getFenxiaoName
(),
v
.
getZbjQdType
()),
HashMap:
:
putAll
);
.
collect
(
HashMap:
:
new
,
(
k
,
v
)
->
k
.
put
(
v
.
getFenxiaoName
(),
v
.
getZbjQdType
()),
HashMap:
:
putAll
);
...
...
src/main/java/com/sfa/job/domain/order/dao/impl/FinianceOrderDaoImpl.java
0 → 100644
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
dao
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.sfa.job.domain.order.dao.FinanceOrderDao
;
import
com.sfa.job.domain.order.entity.FinanceOrder
;
import
com.sfa.job.domain.order.mapper.FinanceOrderMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@DS
(
"Bi"
)
@Repository
public
class
FinianceOrderDaoImpl
implements
FinanceOrderDao
{
private
static
final
int
BATCH_SIZE
=
1000
;
@Autowired
private
FinanceOrderMapper
financeOrderMapper
;
@Override
public
void
saveOrUpdateBatch
(
List
<
FinanceOrder
>
mergeList
)
{
for
(
int
i
=
0
;
i
<
mergeList
.
size
();
i
+=
BATCH_SIZE
)
{
int
toIndex
=
Math
.
min
(
i
+
BATCH_SIZE
,
mergeList
.
size
());
List
<
FinanceOrder
>
batchLists
=
mergeList
.
subList
(
i
,
toIndex
);
financeOrderMapper
.
saveOrUpdateBatch
(
batchLists
);
}
}
}
src/main/java/com/sfa/job/domain/order/dao/impl/FinianceOrderDetailDaoImpl.java
浏览文件 @
5d9c9c8c
...
@@ -19,7 +19,6 @@ public class FinianceOrderDetailDaoImpl implements FinanceOrderDetailDao {
...
@@ -19,7 +19,6 @@ public class FinianceOrderDetailDaoImpl implements FinanceOrderDetailDao {
@Override
@Override
public
void
saveOrUpdateBatch
(
List
<
FinanceOrderDetail
>
mergeList
)
{
public
void
saveOrUpdateBatch
(
List
<
FinanceOrderDetail
>
mergeList
)
{
for
(
int
i
=
0
;
i
<
mergeList
.
size
();
i
+=
BATCH_SIZE
)
{
for
(
int
i
=
0
;
i
<
mergeList
.
size
();
i
+=
BATCH_SIZE
)
{
int
toIndex
=
Math
.
min
(
i
+
BATCH_SIZE
,
mergeList
.
size
());
int
toIndex
=
Math
.
min
(
i
+
BATCH_SIZE
,
mergeList
.
size
());
List
<
FinanceOrderDetail
>
batchLists
=
mergeList
.
subList
(
i
,
toIndex
);
List
<
FinanceOrderDetail
>
batchLists
=
mergeList
.
subList
(
i
,
toIndex
);
...
...
src/main/java/com/sfa/job/domain/order/dao/impl/ProductDaoImpl.java
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
dao
.
impl
;
package
com
.
sfa
.
job
.
domain
.
order
.
dao
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.sfa.job.domain.order.dao.IProductDao
;
import
com.sfa.job.domain.order.dao.IProductDao
;
import
com.sfa.job.domain.order.entity.PrdInfo
;
import
com.sfa.job.domain.order.entity.PrdInfo
;
...
@@ -7,7 +8,9 @@ import com.sfa.job.domain.order.mapper.PrdInfoMapper;
...
@@ -7,7 +8,9 @@ import com.sfa.job.domain.order.mapper.PrdInfoMapper;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author : liqiulin
* @author : liqiulin
...
@@ -21,12 +24,20 @@ public class ProductDaoImpl implements IProductDao {
...
@@ -21,12 +24,20 @@ public class ProductDaoImpl implements IProductDao {
PrdInfoMapper
prdInfoMapper
;
PrdInfoMapper
prdInfoMapper
;
@Override
@Override
public
List
<
PrdInfo
>
selectProdSeries
()
{
public
Map
<
String
,
String
>
selectProdSeries
()
{
List
<
PrdInfo
>
prdInfos
=
prdInfoMapper
.
selectList
(
List
<
PrdInfo
>
prdInfos
=
prdInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<
PrdInfo
>()
new
LambdaQueryWrapper
<
PrdInfo
>()
.
select
(
PrdInfo:
:
getSeries
,
PrdInfo:
:
getPrdCode
,
PrdInfo:
:
getPrdName
)
.
select
(
PrdInfo:
:
getSeries
,
PrdInfo:
:
getPrdCode
,
PrdInfo:
:
getPrdName
)
.
groupBy
(
PrdInfo:
:
getSeries
,
PrdInfo:
:
getPrdCode
,
PrdInfo:
:
getPrdName
));
.
groupBy
(
PrdInfo:
:
getSeries
,
PrdInfo:
:
getPrdCode
,
PrdInfo:
:
getPrdName
));
return
prdInfos
;
// 转换成map
Map
<
String
,
String
>
prodSeriesMap
=
new
HashMap
<>();
if
(
ObjectUtil
.
isNotEmpty
(
prdInfos
))
{
prdInfos
.
stream
().
forEach
(
prdInfoDto
->
{
prodSeriesMap
.
put
(
prdInfoDto
.
getPrdCode
(),
prdInfoDto
.
getPrdName
());
});
}
return
prodSeriesMap
;
}
}
}
}
src/main/java/com/sfa/job/domain/order/entity/CollectError
Info
.java
→
src/main/java/com/sfa/job/domain/order/entity/CollectError
Log
.java
浏览文件 @
5d9c9c8c
...
@@ -10,9 +10,9 @@ import java.util.Map;
...
@@ -10,9 +10,9 @@ import java.util.Map;
* CollectErrorInfo 类表示采集错误记录,与数据库表 market_bi.collect_error_info 相对应。
* CollectErrorInfo 类表示采集错误记录,与数据库表 market_bi.collect_error_info 相对应。
* 包含了采集错误记录的各种信息,如唯一键、入参信息、类型、采集时间、删除标志、创建和更新的用户及时间等。
* 包含了采集错误记录的各种信息,如唯一键、入参信息、类型、采集时间、删除标志、创建和更新的用户及时间等。
*/
*/
@TableName
(
value
=
"collect_error_
info
"
)
@TableName
(
value
=
"collect_error_
log
"
)
@Data
@Data
public
class
CollectError
Info
{
public
class
CollectError
Log
{
...
...
src/main/java/com/sfa/job/domain/order/entity/CollectOrderLog
Info
.java
→
src/main/java/com/sfa/job/domain/order/entity/CollectOrderLog.java
浏览文件 @
5d9c9c8c
...
@@ -17,8 +17,8 @@ import java.util.Date;
...
@@ -17,8 +17,8 @@ import java.util.Date;
* @description
* @description
*/
*/
@Data
@Data
@TableName
(
"collect_order_log
_info
"
)
@TableName
(
"collect_order_log"
)
public
class
CollectOrderLog
Info
implements
Serializable
{
public
class
CollectOrderLog
implements
Serializable
{
/**
/**
* 唯一键,用于唯一标识采集订单日志信息记录
* 唯一键,用于唯一标识采集订单日志信息记录
...
@@ -29,13 +29,11 @@ public class CollectOrderLogInfo implements Serializable {
...
@@ -29,13 +29,11 @@ public class CollectOrderLogInfo implements Serializable {
/**
/**
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
*/
*/
//@TableField("order_count")
private
Integer
orderCount
;
private
Integer
orderCount
;
/**
/**
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
*/
*/
//@TableField("order_detail_count")
private
Integer
orderDetailCount
;
private
Integer
orderDetailCount
;
/**
/**
...
...
src/main/java/com/sfa/job/domain/order/entity/FinanceOrder.java
浏览文件 @
5d9c9c8c
...
@@ -4,339 +4,486 @@ import com.baomidou.mybatisplus.annotation.IdType;
...
@@ -4,339 +4,486 @@ import com.baomidou.mybatisplus.annotation.IdType;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.sfa.common.core.web.domain.BaseDo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* 来自旺店通的订单
* 财务-订单数据实体类,对应数据库中的 finance_order 表
*
* @author 吕本才
* @date 2025年01月07日10:04:25
*/
*/
@TableName
(
value
=
"finance_order"
)
@Data
@Data
public
class
FinanceOrder
extends
BaseDo
{
@AllArgsConstructor
// 订单唯一键
@NoArgsConstructor
@TableName
(
value
=
"finance_order"
)
public
class
FinanceOrder
{
/**
* 订单唯一键
*/
@TableId
(
type
=
IdType
.
NONE
)
@TableId
(
type
=
IdType
.
NONE
)
private
Long
tradeId
;
private
Long
tradeId
;
// 订单编号(旺店通系统订单号)
/**
* 订单编号(旺店通系统订单号)
*/
private
String
tradeNo
;
private
String
tradeNo
;
// 平台ID(请点击平台代码表查看对应关系)
/**
* 平台 ID(请点击平台代码表查看对应关系)
*/
private
Integer
platformId
;
private
Integer
platformId
;
// 仓库类型:
/**
// 1、普通仓库,大于1为委外仓库(如京东仓储,物流宝等),如订单无仓库的话,则不返回该字段
* 仓库类型: 1、普通仓库,大于 1 为委外仓库(如京东仓储,物流宝等),如订单无仓库的话,则不返回该字段
*/
private
Integer
warehouseType
;
private
Integer
warehouseType
;
// 原始单号(平台订单号),如果有多个,以","分隔,且以增序排列,不重复,过长将被裁剪
/**
* 原始单号(平台订单号),如果有多个,以","分隔,且以增序排列,不重复,过长将被裁剪
*/
private
String
srcTids
;
private
String
srcTids
;
// 平台支付帐号, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 平台支付帐号, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private
String
payAccount
;
private
String
payAccount
;
// 订单状态:
/**
// 4 线下退款
* 订单状态: 4 线下退款; 5 已取消; 6 待转预订单(待审核); 7 待转已完成; 10 未付款; 12 待尾款; 15 等未付; 16 延时审核; 19 预订单前处理; 20 审核前处理; 21 自流转待发货; 23 异常订单; 24 换货预订单; 25 待处理预订单; 27 待分配预订单; 30 待客审; 35 待财审; 40 审核中; 55 已审核; 95 已发货; 96 成本确认(待录入计划成本,订单结算时有货品无计划成本); 101 已过账; 110 已完成
// 5已取消
*/
// 6 待转预订单(待审核)
// 7 待转已完成
// 10未付款
// 12待尾款
// 15等未付
// 16延时审核
// 19预订单前处理
// 20 审核前处理
// 21自流转待发货
// 23 异常订单
// 24 换货预订单
// 25 待处理预订单
// 27待分配预订单
// 30待客审
// 35待财审
// 40审核中
// 55已审核
// 95已发货
// 96 成本确认(待录入计划成本,订单结算时有货品无计划成本)
// 101 已过账
// 110已完成
private
Integer
tradeStatus
;
private
Integer
tradeStatus
;
// 订单类型:
/**
// 1、网店销售
* 订单类型: 1、网店销售; 2、线下订单; 3、售后换货; 4、批发业务; 7、现款销售; 8、分销订单; 101、自定义类型一; 102、自定义类型二; 103、自定义类型三; 104、自定义类型四; 105、自定义类型五; 106、自定义类型六; 107、自定义类型七; 108、自定义类型八; 109、自定义类型九; 110、自定义类型十(与 ERP 中自定义类型的映射关系,点击链接查看)
// 2、线下订单
*/
// 3、售后换货
// 4、批发业务
// 7、现款销售
// 8、分销订单
// 101、自定义类型一
// 102、自定义类型二
// 103、自定义类型三
// 104、自定义类型四
// 105、自定义类型五
// 106、自定义类型六
// 107、自定义类型七
// 108、自定义类型八
// 109、自定义类型九
// 110、自定义类型十
// (与ERP中自定义类型的映射关系,点击链接查看)
private
Integer
tradeType
;
private
Integer
tradeType
;
// 发货条件:
/**
// 1、款到发货
* 发货条件: 1、款到发货; 2、货到付款(包含部分货到付款); 3、分期付款; 4、挂账
// 2、货到付款(包含部分货到付款)
*/
// 3、分期付款
// 4、挂账
private
Integer
deliveryTerm
;
private
Integer
deliveryTerm
;
// 京东几环(淘宝模糊化后的买家昵称)
/**
* 京东几环(淘宝模糊化后的买家昵称)
*/
private
String
receiverRing
;
private
String
receiverRing
;
// 冻结原因
/**
* 冻结原因
*/
private
String
freezeReason
;
private
String
freezeReason
;
// 退款状态:
/**
// 0、无退款
* 退款状态: 0、无退款; 1、申请退款; 2、部分退款; 3、全部退款
// 1、申请退款
*/
// 2、部分退款
// 3、全部退款
private
Integer
refundStatus
;
private
Integer
refundStatus
;
// 分销类别:
/**
// 0、非分销订单
* 分销类别: 0、非分销订单; 1、代销; 2、经销
// 1、代销
*/
// 2、经销
private
Integer
fenxiaoType
;
private
Integer
fenxiaoType
;
// 分销商昵称
/**
* 分销商昵称
*/
private
String
fenxiaoNick
;
private
String
fenxiaoNick
;
// 下单时间(毫秒级时间戳,例如:1631861379000)
/**
* 下单时间(毫秒级时间戳,例如:1631861379000)
*/
private
String
tradeTime
;
private
String
tradeTime
;
// 付款时间,例如:2020-10-19 00:00:00
/**
* 付款时间,例如:2020 - 10 - 19 00:00:00
*/
private
String
payTime
;
private
String
payTime
;
// 发货时间,订单未发货不返回该字段(毫秒级时间戳,例如:1631861379000)
/**
* 发货时间,订单未发货不返回该字段(毫秒级时间戳,例如:1631861379000)
*/
private
Date
consignTime
;
private
Date
consignTime
;
// 客户网名(淘宝ouid,淘系平台不返回), (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 客户网名(淘宝 ouid,淘系平台不返回), (仅自有平台及线下平台返回,其他平台均不返回)
*/
private
String
buyerNick
;
private
String
buyerNick
;
// 收货人/收件人, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 收货人/收件人, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private
String
receiverName
;
private
String
receiverName
;
// 省份id,可参考城市代码表
/**
* 省份 id,可参考城市代码表
*/
private
Integer
receiverProvince
;
private
Integer
receiverProvince
;
// 城市id,可参考城市代码表
/**
* 城市 id,可参考城市代码表
*/
private
Integer
receiverCity
;
private
Integer
receiverCity
;
// 地区id,可参考城市代码表
/**
* 地区 id,可参考城市代码表
*/
private
Integer
receiverDistrict
;
private
Integer
receiverDistrict
;
// 收件人地址, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 收件人地址, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private
String
receiverAddress
;
private
String
receiverAddress
;
// 手机,(仅自有平台及线下平台返回,其他平台均不返回)
/**
* 手机,(仅自有平台及线下平台返回,其他平台均不返回)
*/
private
String
receiverMobile
;
private
String
receiverMobile
;
// 固话, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 固话, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private
String
receiverTelno
;
private
String
receiverTelno
;
// 邮编
/**
* 邮编
*/
private
String
receiverZip
;
private
String
receiverZip
;
// 地区
/**
* 地区
*/
private
String
receiverArea
;
private
String
receiverArea
;
// 大头笔
/**
* 大头笔
*/
private
String
receiverDtb
;
private
String
receiverDtb
;
// 异常订单原因(位运算):
/**
// 2、修改地址
* 异常订单原因(位运算): 2、修改地址; 4、修改发票; 8、更换仓库; 16、修改备注; 32、更换货品; 128、拦截赠品; 256、拦截换货; 512、买家留言变化; 1024、拦截平台已发货
// 4、修改发票
*/
// 8、更换仓库
// 16、修改备注
// 32、更换货品
// 128、拦截赠品
// 256、拦截换货
// 512、买家留言变化
// 1024、拦截平台已发货
private
Integer
badReason
;
private
Integer
badReason
;
// 物流单号
/**
* 物流单号
*/
private
String
logisticsNo
;
private
String
logisticsNo
;
// 买家留言
/**
* 买家留言
*/
private
String
buyerMessage
;
private
String
buyerMessage
;
// 客服备注
/**
* 客服备注
*/
private
String
csRemark
;
private
String
csRemark
;
// 标旗(1 红、2 黄、3 绿、4 蓝、5 紫 )
/**
* 标旗(1 红、2 黄、3 绿、4 蓝、5 紫 )
*/
private
Integer
remarkFlag
;
private
Integer
remarkFlag
;
// 打印备注
/**
* 打印备注
*/
private
String
printRemark
;
private
String
printRemark
;
// 货品种类数
/**
* 货品种类数
*/
private
BigDecimal
goodsTypeCount
;
private
BigDecimal
goodsTypeCount
;
// 货品总量
/**
* 货品总量
*/
private
BigDecimal
goodsCount
;
private
BigDecimal
goodsCount
;
// 总货款(折前总额)
/**
* 总货款(折前总额)
*/
private
BigDecimal
goodsAmount
;
private
BigDecimal
goodsAmount
;
// 邮费(买家支付邮费)
/**
* 邮费(买家支付邮费)
*/
private
BigDecimal
postAmount
;
private
BigDecimal
postAmount
;
// 其他费用
/**
* 其他费用
*/
private
BigDecimal
otherAmount
;
private
BigDecimal
otherAmount
;
// 优惠
/**
* 优惠
*/
private
BigDecimal
discount
;
private
BigDecimal
discount
;
// 应收
/**
* 应收
*/
private
BigDecimal
receivable
;
private
BigDecimal
receivable
;
// COD金额(货到付款金额)
/**
* COD 金额(货到付款金额)
*/
private
BigDecimal
codAmount
;
private
BigDecimal
codAmount
;
// 买家COD费用
/**
* 买家 COD 费用
*/
private
BigDecimal
extCodFee
;
private
BigDecimal
extCodFee
;
// 货品预估成本
/**
* 货品预估成本
*/
private
BigDecimal
goodsCost
;
private
BigDecimal
goodsCost
;
// 预估邮资成本
/**
* 预估邮资成本
*/
private
BigDecimal
postCost
;
private
BigDecimal
postCost
;
// 预估重量(kg)
/**
* 预估重量(kg)
*/
private
BigDecimal
weight
;
private
BigDecimal
weight
;
// 预估毛利
/**
* 预估毛利
*/
private
BigDecimal
profit
;
private
BigDecimal
profit
;
// 税额
/**
* 税额
*/
private
BigDecimal
tax
;
private
BigDecimal
tax
;
// 税率
/**
* 税率
*/
private
BigDecimal
taxRate
;
private
BigDecimal
taxRate
;
// 佣金
/**
* 佣金
*/
private
BigDecimal
commission
;
private
BigDecimal
commission
;
// 发票类型:
/**
// 0:不需要
* 发票类型: 0:不需要; 1:普通发票; 2:增值税普通发票; 3:增值税专用发票
// 1:普通发票
*/
// 2:增值税普通发票
// 3:增值税专用发票
private
Integer
invoiceType
;
private
Integer
invoiceType
;
// 发票抬头
/**
* 发票抬头
*/
private
String
invoiceTitle
;
private
String
invoiceTitle
;
// 发票内容
/**
* 发票内容
*/
private
String
invoiceContent
;
private
String
invoiceContent
;
// 业务员
/**
* 业务员
*/
private
String
salesmanName
;
private
String
salesmanName
;
// 审核人
/**
* 审核人
*/
private
String
checkerName
;
private
String
checkerName
;
// 财审人
/**
* 财审人
*/
private
String
fcheckerName
;
private
String
fcheckerName
;
// 签出人
/**
* 签出人
*/
private
String
checkouterName
;
private
String
checkouterName
;
// 出库单号(系统产生的出库单号)
/**
* 出库单号(系统产生的出库单号)
*/
private
String
stockoutNo
;
private
String
stockoutNo
;
// 标记名称
/**
* 标记名称
*/
private
String
flagName
;
private
String
flagName
;
// 订单来源:
/**
// 1、API抓单
* 订单来源: 1、API 抓单; 2、手工建单; 3、导入; 4、复制订单; 5、接口推送; 6、补发订单; 7、PDA 选货开单; 8、分销补发订单
// 2、手工建单
*/
// 3、导入
// 4、复制订单
// 5、接口推送
// 6、补发订单
// 7、PDA选货开单
// 8、分销补发订单
private
Integer
tradeFrom
;
private
Integer
tradeFrom
;
// 货品商家编码,多种货品为空,组合装时为组合装编码
/**
* 货品商家编码,多种货品为空,组合装时为组合装编码
*/
private
String
singleSpecNo
;
private
String
singleSpecNo
;
// 原始货品数量
/**
* 原始货品数量
*/
private
BigDecimal
rawGoodsCount
;
private
BigDecimal
rawGoodsCount
;
// 原始货品种类数
/**
* 原始货品种类数
*/
private
Integer
rawGoodsTypeCount
;
private
Integer
rawGoodsTypeCount
;
// 币种
/**
* 币种
*/
private
String
currency
;
private
String
currency
;
// 发票ID(自增生成),0代表没有发票或已取消/已冲红
/**
* 发票 ID(自增生成),0 代表没有发票或已取消/已冲红
*/
private
Integer
invoiceId
;
private
Integer
invoiceId
;
// 版本号
/**
* 版本号
*/
private
Integer
versionId
;
private
Integer
versionId
;
// 修改时间,例如:2020-10-19 00:00:00
/**
* 修改时间,例如:2020 - 10 - 19 00:00:00
*/
private
Date
modified
;
private
Date
modified
;
// 递交时间(毫秒级时间戳,例如:1631861379000)
/**
* 递交时间(毫秒级时间戳,例如:1631861379000)
*/
private
String
created
;
private
String
created
;
// 审核时间
/**
* 审核时间
*/
private
String
checkTime
;
private
String
checkTime
;
// 证件类别
/**
private
Integer
id_cardType
;
* 证件类别
// 店铺编号
*/
private
Integer
idCardType
;
/**
* 店铺编号
*/
private
String
shopNo
;
private
String
shopNo
;
// 店铺名称
/**
* 店铺名称
*/
private
String
shopName
;
private
String
shopName
;
// 店铺备注
/**
* 店铺备注
*/
private
String
shopRemark
;
private
String
shopRemark
;
// 仓库编号,如订单无仓库的话,则不返回该字段
/**
* 仓库编号,如订单无仓库的话,则不返回该字段
*/
private
String
warehouseNo
;
private
String
warehouseNo
;
// 客户姓名
/**
* 客户姓名
*/
private
String
customerName
;
private
String
customerName
;
// 客户编码
/**
* 客户编码
*/
private
String
customerNo
;
private
String
customerNo
;
// 物流公司名称
/**
* 物流公司名称
*/
private
String
logisticsName
;
private
String
logisticsName
;
// 物流公司编号
/**
* 物流公司编号
*/
private
String
logisticsCode
;
private
String
logisticsCode
;
// 物流类型名称
/**
* 物流类型名称
*/
private
String
logisticsTypeName
;
private
String
logisticsTypeName
;
// 送货时间,例如:2020-10-19 00:00:00
/**
* 送货时间,例如:2020 - 10 - 19 00:00:00
*/
private
String
toDeliverTime
;
private
String
toDeliverTime
;
// 计划发货时间
/**
* 计划发货时间
*/
private
String
delayToTime
;
private
String
delayToTime
;
// 最晚发货时间
/**
* 最晚发货时间
*/
private
String
estimateConsignTime
;
private
String
estimateConsignTime
;
// 店铺id
/**
* 店铺 id
*/
private
Integer
shopId
;
private
Integer
shopId
;
// 仓库id
/**
* 仓库 id
*/
private
Integer
warehouseId
;
private
Integer
warehouseId
;
// 体积
/**
* 体积
*/
private
BigDecimal
volume
;
private
BigDecimal
volume
;
// 订单标签
/**
* 订单标签
*/
private
String
tradeLabel
;
private
String
tradeLabel
;
// 订单掩码
/**
// 1:使用智选物流
* 1:使用智选物流; 2:货品标签; 4:预订单自动激活失败; 16:订单货品指定批次; 32:平台自动流转仓库; 64:部分发货; 128:全部发货; 256:优先占用; 512:待分配转审核失败或订单审核失败; 1024:催未付款订单短信发送标记; 2048:拆分(在判断的时候使用&运算)
// 2:货品标签
*/
// 4:预订单自动激活失败
// 16:订单货品指定批次
// 32:平台自动流转仓库
// 64:部分发货
// 128:全部发货
// 256:优先占用
// 512:待分配转审核失败或订单审核失败
// 1024:催未付款订单短信发送标记
// 2048:拆分
// 在判断的时候使用&运算
private
Integer
tradeMask
;
private
Integer
tradeMask
;
// 店铺平台id
/**
* 店铺平台 id
*/
private
Integer
shopPlatformId
;
private
Integer
shopPlatformId
;
// 子平台id
/**
* 子平台 id
*/
private
Integer
subPlatformId
;
private
Integer
subPlatformId
;
// 包装
/**
* 包装
*/
private
String
packageName
;
private
String
packageName
;
// 包装id
/**
* 包装 id
*/
private
Integer
packageId
;
private
Integer
packageId
;
// 包装成本
/**
* 包装成本
*/
private
BigDecimal
packageCost
;
private
BigDecimal
packageCost
;
// 已付
/**
* 已付
*/
private
BigDecimal
paid
;
private
BigDecimal
paid
;
// 大件类型
/**
// 1:普通套件
* 大件类型: 1:普通套件; 2:独立套件; 3:分组单发,未使用; -1:非单发件 取子单中的最大值
// 2:独立套件
*/
// 3:分组单发,未使用
// -1:非单发件 取子单中的最大值
private
Integer
largeType
;
private
Integer
largeType
;
// 赠品标记
/**
// 1:自动赠送
* 赠品标记: 1:自动赠送; 2:手工赠送; 4:回购赠送; 8:平台赠送(注意:如果是 3,则表示既有自动赠送也有手工赠送“1 + 2”)
// 2:手工赠送
*/
// 4:回购赠送
// 8:平台赠送
// (注意:如果是3,则表示既有自动赠送也有手工赠送“1+2”)
private
Integer
giftMask
;
private
Integer
giftMask
;
// 客户id
/**
* 客户 id
*/
private
Integer
customerId
;
private
Integer
customerId
;
// 其他成本
/**
* 其他成本
*/
private
BigDecimal
otherCost
;
private
BigDecimal
otherCost
;
// 不可合并拆分
/**
private
boolean
isSealed
;
* 不可合并拆分
// 客户类型(0:普通客户;1:分销商;2:线下批发)
*/
private
Boolean
isSealed
;
/**
* 客户类型(0:普通客户;1:分销商;2:线下批发)
*/
private
Integer
customerType
;
private
Integer
customerType
;
// 物流公司id
/**
* 物流公司 id
*/
private
Integer
logisticsId
;
private
Integer
logisticsId
;
// 取消原因
/**
* 取消原因
*/
private
String
cancelReason
;
private
String
cancelReason
;
// 驳回原因
/**
* 驳回原因
*/
private
String
revertReason
;
private
String
revertReason
;
// 订单标签mask
/**
* 订单标签 mask
*/
private
String
newTradeLabel
;
private
String
newTradeLabel
;
// 分销原始单号(无长度限制)
/**
* 分销原始单号(无长度限制)
*/
private
String
fenxiaoTid
;
private
String
fenxiaoTid
;
// 批次号
/**
* 是否删除标志 0 未删除 1 已删除
*/
private
Integer
delFlag
;
/**
* 创建者
*/
private
String
createBy
;
/**
* 创建人 UserID
*/
private
Long
createUserId
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新者
*/
private
String
updateBy
;
/**
* 修改人 UserID
*/
private
Long
updateUserId
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 采集批次
*/
private
String
batchNo
;
private
String
batchNo
;
// 采集开始时间
/**
* 本批次采集开始时间,例如:2020 - 10 - 19 00:00:00
*/
private
Date
startTime
;
private
Date
startTime
;
// 采集结束时间
/**
* 本批批次采集结束时间,例如:2020 - 10 - 19 00:00:00
*/
private
Date
endTime
;
private
Date
endTime
;
/**
// 同步类型,接口为1手动同步,0 xxljob自动同步,
* 同步类型 ,接口为 1 手动同步,0 xxljob 自动同步
*/
private
Integer
syncType
;
private
Integer
syncType
;
// 订单明细
// 订单明细
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
List
<
FinanceOrderDetail
>
detailList
;
private
List
<
FinanceOrderDetail
>
detailList
;
}
}
src/main/java/com/sfa/job/domain/order/mapper/CollectError
Info
Mapper.java
→
src/main/java/com/sfa/job/domain/order/mapper/CollectError
Log
Mapper.java
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
mapper
;
package
com
.
sfa
.
job
.
domain
.
order
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.sfa.job.domain.order.entity.CollectError
Info
;
import
com.sfa.job.domain.order.entity.CollectError
Log
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
@Mapper
public
interface
CollectError
InfoMapper
extends
BaseMapper
<
CollectErrorInfo
>
{
public
interface
CollectError
LogMapper
extends
BaseMapper
<
CollectErrorLog
>
{
}
}
src/main/java/com/sfa/job/domain/order/mapper/CollectOrderLog
Info
Mapper.java
→
src/main/java/com/sfa/job/domain/order/mapper/CollectOrderLogMapper.java
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
domain
.
order
.
mapper
;
package
com
.
sfa
.
job
.
domain
.
order
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.sfa.job.domain.order.entity.CollectOrderLog
Info
;
import
com.sfa.job.domain.order.entity.CollectOrderLog
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
@Mapper
public
interface
CollectOrderLog
InfoMapper
extends
BaseMapper
<
CollectOrderLogInfo
>
{
public
interface
CollectOrderLog
Mapper
extends
BaseMapper
<
CollectOrderLog
>
{
}
}
src/main/java/com/sfa/job/domain/order/mapper/FinanceOrderMapper.java
浏览文件 @
5d9c9c8c
...
@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.sfa.job.domain.order.entity.FinanceOrder
;
import
com.sfa.job.domain.order.entity.FinanceOrder
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
FinanceOrderMapper
extends
BaseMapper
<
FinanceOrder
>
{
public
interface
FinanceOrderMapper
extends
BaseMapper
<
FinanceOrder
>
{
void
saveOrUpdateBatch
(
List
<
FinanceOrder
>
batchLists
);
}
}
src/main/java/com/sfa/job/pojo/response/CollectOrderLogDto.java
0 → 100644
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
pojo
.
response
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 采集订单日志信息
*
* @author lvbencai
* @date 2025-02-24 14:24:39
* @description
*/
@Data
public
class
CollectOrderLogDto
implements
Serializable
{
/**
* 唯一键,用于唯一标识采集订单日志信息记录
*/
@TableId
(
value
=
"cli_id"
,
type
=
IdType
.
AUTO
)
private
Long
cliId
;
/**
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
*/
private
Integer
orderCount
;
/**
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
*/
private
Integer
orderDetailCount
;
/**
* 采集批次信息,可存储长度不超过 30 个字符,使用 utf8mb4 字符集和 utf8mb4_0900_ai_ci 校对规则
*/
private
String
batchNo
;
/**
* 采集的最新时间,代表上一次采集的结束时间,存储为日期时间类型
*/
private
Date
latestTime
;
// 2025年01月22日17:24:37增加,用于分批次查询
private
Integer
pageNo
;
/**
* 是否删除的标志,'0' 表示未删除,'1' 表示已删除,使用 utf8mb3 字符集和 utf8mb3_general_ci 校对规则
*/
private
String
delFlag
;
/**
* 创建者信息,存储为长度不超过 20 个字符的字符串
*/
private
String
createBy
;
/**
* 创建人的用户 ID,存储为长整型
*/
private
Long
createUserId
;
/**
* 创建时间,存储为日期时间类型,使用数据库的当前时间作为默认值
*/
private
Date
createTime
;
/**
* 更新者信息,存储为长度不超过 20 个字符的字符串
*/
private
String
updateBy
;
/**
* 修改人的用户 ID,存储为长整型
*/
private
Long
updateUserId
;
/**
* 更新时间,存储为日期时间类型,更新时自动更新为当前时间
*/
private
Date
updateTime
;
private
Integer
syncType
;
private
Integer
totalCount
;
}
src/main/java/com/sfa/job/pojo/response/PrdInfoDto.java
0 → 100644
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
pojo
.
response
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 商品-dto
*/
@Data
public
class
PrdInfoDto
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
;
}
src/main/java/com/sfa/job/pojo/response/WangdiantongQueryDto.java
浏览文件 @
5d9c9c8c
...
@@ -12,5 +12,5 @@ import lombok.Data;
...
@@ -12,5 +12,5 @@ import lombok.Data;
public
class
WangdiantongQueryDto
{
public
class
WangdiantongQueryDto
{
private
JSONArray
result
;
private
JSONArray
result
;
private
Integer
totalCount
;
private
Integer
totalCount
;
private
Integer
nextBeginPageNo
;
}
}
src/main/java/com/sfa/job/service/order/FinanceOrderSyncService.java
浏览文件 @
5d9c9c8c
package
com
.
sfa
.
job
.
service
.
order
;
package
com
.
sfa
.
job
.
service
.
order
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.sfa.job.domain.order.entity.FinanceOrder
;
import
com.sfa.job.pojo.response.FinanceSyncOrderDetailDto
;
import
com.sfa.job.pojo.response.FinanceSyncOrderDetailDto
;
import
java.util.Date
;
import
java.util.Date
;
public
interface
FinanceOrderSyncService
extends
IService
<
FinanceOrder
>
{
public
interface
FinanceOrderSyncService
{
FinanceSyncOrderDetailDto
syncWangdiantongOrder
(
Date
startTime
,
Date
endTime
,
Integer
syncType
);
FinanceSyncOrderDetailDto
syncWangdiantongOrder
(
Date
startTime
,
Date
endTime
,
Integer
syncType
);
}
}
src/main/java/com/sfa/job/service/order/impl/FinanceOrderSyncServiceImpl.java
浏览文件 @
5d9c9c8c
...
@@ -6,13 +6,13 @@ import cn.hutool.http.HttpStatus;
...
@@ -6,13 +6,13 @@ import cn.hutool.http.HttpStatus;
import
com.alibaba.fastjson2.JSONArray
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.alibaba.fastjson2.JSONReader
;
import
com.alibaba.fastjson2.JSONReader
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.sfa.common.core.exception.ServiceException
;
import
com.sfa.common.core.exception.ServiceException
;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.job.constants.Constants
;
import
com.sfa.job.domain.order.dao.*
;
import
com.sfa.job.domain.order.dao.*
;
import
com.sfa.job.domain.order.entity.*
;
import
com.sfa.job.domain.order.entity.*
;
import
com.sfa.job.domain.order.mapper.FinanceOrderMapper
;
import
com.sfa.job.pojo.request.WangdiantongQueryVO
;
import
com.sfa.job.pojo.request.WangdiantongQueryVO
;
import
com.sfa.job.pojo.response.CollectOrderLogDto
;
import
com.sfa.job.pojo.response.FinanceSyncOrderDetailDto
;
import
com.sfa.job.pojo.response.FinanceSyncOrderDetailDto
;
import
com.sfa.job.pojo.response.WangdiantongQueryDto
;
import
com.sfa.job.pojo.response.WangdiantongQueryDto
;
import
com.sfa.job.service.order.FinanceOrderSyncService
;
import
com.sfa.job.service.order.FinanceOrderSyncService
;
...
@@ -36,21 +36,22 @@ import java.util.concurrent.atomic.AtomicInteger;
...
@@ -36,21 +36,22 @@ import java.util.concurrent.atomic.AtomicInteger;
@DS
(
"bi"
)
@DS
(
"bi"
)
@Slf4j
@Slf4j
@Service
@Service
public
class
FinanceOrderSyncServiceImpl
extends
ServiceImpl
<
FinanceOrderMapper
,
FinanceOrder
>
implements
FinanceOrderSyncService
{
public
class
FinanceOrderSyncServiceImpl
implements
FinanceOrderSyncService
{
@Autowired
@Autowired
WangdiantongUtil
wangdiantongUtil
;
WangdiantongUtil
wangdiantongUtil
;
@Autowired
@Autowired
// FinanceOrderDetailService detailService;
FinanceOrderDetailDao
orderDetailDao
;
FinanceOrderDetailDao
detailDao
;
@Autowired
FinanceOrderDao
orderDao
;
@Autowired
@Autowired
FinianceBaseProductDao
baseProductDao
;
FinianceBaseProductDao
baseProductDao
;
@Autowired
@Autowired
FinanceBaseZbjTypeDao
baseZbjTypeDao
;
FinanceBaseZbjTypeDao
baseZbjTypeDao
;
@Autowired
@Autowired
CollectOrderLog
Info
Dao
orderLogInfoDao
;
CollectOrderLogDao
orderLogInfoDao
;
@Autowired
@Autowired
CollectError
Info
Dao
errorInfoDao
;
CollectError
Log
Dao
errorInfoDao
;
@Autowired
@Autowired
IProductDao
productDao
;
IProductDao
productDao
;
...
@@ -73,11 +74,11 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -73,11 +74,11 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
if
(
ObjectUtils
.
isEmpty
(
startTime
))
{
if
(
ObjectUtils
.
isEmpty
(
startTime
))
{
Date
latestTime
=
null
;
Date
latestTime
=
null
;
// 查询最新的采集时间
// 查询最新的采集时间
CollectOrderLog
Info
collectOrderLogInfo
=
orderLogInfoDao
.
selectOrderSyncLatest
(
syncType
);
CollectOrderLog
Dto
collectOrderLog
=
orderLogInfoDao
.
selectOrderSyncLatest
(
syncType
);
if
(
ObjectUtils
.
isNotEmpty
(
collectOrderLog
Info
))
{
if
(
ObjectUtils
.
isNotEmpty
(
collectOrderLog
))
{
latestTime
=
collectOrderLog
Info
.
getLatestTime
();
latestTime
=
collectOrderLog
.
getLatestTime
();
Integer
pageNoExist
=
collectOrderLog
Info
.
getPageNo
();
Integer
pageNoExist
=
collectOrderLog
.
getPageNo
();
beginPageNo
.
set
(
ObjectUtil
.
isNotEmpty
(
pageNoExist
)
&&
pageNoExist
>
0
?
collectOrderLog
Info
.
getPageNo
()
:
0
);
beginPageNo
.
set
(
ObjectUtil
.
isNotEmpty
(
pageNoExist
)
&&
pageNoExist
>
0
?
collectOrderLog
.
getPageNo
()
:
0
);
nextPageFlag
=
beginPageNo
.
get
()
>
0
;
nextPageFlag
=
beginPageNo
.
get
()
>
0
;
}
else
{
}
else
{
// 默认上个月的第一天 00:00:00
// 默认上个月的第一天 00:00:00
...
@@ -102,8 +103,8 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -102,8 +103,8 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
detailDto
.
setBatchNo
(
batchNo
);
detailDto
.
setBatchNo
(
batchNo
);
detailDto
.
setStartTime
(
startTime
);
detailDto
.
setStartTime
(
startTime
);
detailDto
.
setEndTime
(
endTime
);
detailDto
.
setEndTime
(
endTime
);
detailDto
.
setMessage
(
String
.
format
(
"开始时间%s不能大于当前时间%s"
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
currentLatest
)
));
detailDto
.
setMessage
(
String
.
format
(
"开始时间%s不能大于当前时间%s"
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
currentLatest
)));
log
.
warn
(
String
.
format
(
"开始时间%s不能大于当前时间%s"
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
currentLatest
)
));
log
.
warn
(
String
.
format
(
"开始时间%s不能大于当前时间%s"
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
currentLatest
)));
return
detailDto
;
return
detailDto
;
}
}
...
@@ -129,23 +130,22 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -129,23 +130,22 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
Map
<
String
,
String
>
baseZbjType
=
baseZbjTypeDao
.
selectBaseZbjType
();
Map
<
String
,
String
>
baseZbjType
=
baseZbjTypeDao
.
selectBaseZbjType
();
// 系列
// 系列
List
<
PrdInfo
>
prdInfos
=
productDao
.
selectProdSeries
();
Map
<
String
,
String
>
prodSeriesMap
=
productDao
.
selectProdSeries
();
// 转换成map
Map
<
String
,
String
>
prodSeriesMap
=
new
HashMap
<>();
prdInfos
.
stream
().
forEach
(
prdInfo
->
{
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
;
orders
.
forEach
(
order
->
{
orders
.
forEach
(
order
->
{
order
.
setDelFlag
(
0
);
order
.
setBatchNo
(
batchNo
);
order
.
setBatchNo
(
batchNo
);
order
.
setStartTime
(
finalStartTime
);
order
.
setStartTime
(
finalStartTime
);
order
.
setEndTime
(
finalEndTime
);
order
.
setEndTime
(
finalEndTime
);
order
.
setSyncType
(
syncType
);
order
.
setSyncType
(
syncType
);
order
.
setCreateTime
(
new
Date
());
order
.
setUpdateTime
(
new
Date
());
});
});
this
.
saveOrUpdateBatch
(
orders
);
orderDao
.
saveOrUpdateBatch
(
orders
);
List
<
FinanceOrderDetail
>
mergeList
=
new
ArrayList
<>();
List
<
FinanceOrderDetail
>
mergeList
=
new
ArrayList
<>();
...
@@ -207,20 +207,21 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -207,20 +207,21 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
log
.
info
(
"开始插入订单详情数据,数量:{}"
,
mergeList
.
size
());
log
.
info
(
"开始插入订单详情数据,数量:{}"
,
mergeList
.
size
());
// 批量插入
// 批量插入
d
etailDao
.
saveOrUpdateBatch
(
mergeList
);
orderD
etailDao
.
saveOrUpdateBatch
(
mergeList
);
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
(),
beginPageNo
.
get
());
CollectOrderLog
Info
collectOrderLogInfo
=
new
CollectOrderLogInfo
();
CollectOrderLog
collectOrderLog
=
new
CollectOrderLog
();
collectOrderLog
Info
.
setSyncType
(
syncType
);
collectOrderLog
.
setSyncType
(
syncType
);
collectOrderLog
Info
.
setOrderCount
(
orders
.
size
());
collectOrderLog
.
setOrderCount
(
orders
.
size
());
collectOrderLog
Info
.
setOrderDetailCount
(
mergeList
.
size
());
collectOrderLog
.
setOrderDetailCount
(
mergeList
.
size
());
collectOrderLog
Info
.
setBatchNo
(
batchNo
);
collectOrderLog
.
setBatchNo
(
batchNo
);
collectOrderLog
Info
.
setLatestTime
(
endTime
);
collectOrderLog
.
setLatestTime
(
endTime
);
collectOrderLog
Info
.
setPageNo
(
beginPageNo
.
get
());
collectOrderLog
.
setPageNo
(
beginPageNo
.
get
());
collectOrderLog
Info
.
setTotalCount
(
wangdiantongQueryDto
.
getTotalCount
());
collectOrderLog
.
setTotalCount
(
wangdiantongQueryDto
.
getTotalCount
());
orderLogInfoDao
.
insert
(
collectOrderLog
Info
);
orderLogInfoDao
.
insert
(
collectOrderLog
);
// 接口测试使用
// 接口测试使用
detailDto
.
setOrderCount
(
orders
.
size
());
detailDto
.
setOrderCount
(
orders
.
size
());
...
@@ -233,9 +234,9 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
...
@@ -233,9 +234,9 @@ 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
CollectError
Info
errorInfo
=
new
CollectErrorInfo
();
CollectError
Log
errorInfo
=
new
CollectErrorLog
();
errorInfo
.
setBatchNo
(
batchNo
);
errorInfo
.
setBatchNo
(
batchNo
);
errorInfo
.
setType
(
"xxlJob"
);
errorInfo
.
setType
(
Constants
.
SYNC_TYPE_XXL_JOB
);
errorInfo
.
setErrorMsg
(
e
.
getMessage
());
errorInfo
.
setErrorMsg
(
e
.
getMessage
());
errorInfo
.
setEndTime
(
endTime
);
errorInfo
.
setEndTime
(
endTime
);
errorInfo
.
setStartTime
(
startTime
);
errorInfo
.
setStartTime
(
startTime
);
...
...
src/main/java/com/sfa/job/util/FeiShuUtil.java
浏览文件 @
5d9c9c8c
...
@@ -67,7 +67,7 @@ public class FeiShuUtil {
...
@@ -67,7 +67,7 @@ public class FeiShuUtil {
.
build
();
.
build
();
FindByDepartmentUserResp
resp
=
client
.
contact
().
user
().
findByDepartment
(
req
);
FindByDepartmentUserResp
resp
=
client
.
contact
().
user
().
findByDepartment
(
req
);
if
(!
resp
.
success
())
{
if
(!
resp
.
success
())
{
System
.
out
.
printl
n
(
String
.
format
(
"code:%s,msg:%s,reqId:%s, resp:%s"
,
log
.
war
n
(
String
.
format
(
"code:%s,msg:%s,reqId:%s, resp:%s"
,
resp
.
getCode
(),
resp
.
getMsg
(),
resp
.
getRequestId
(),
Jsons
.
createGSON
(
true
,
false
).
toJson
(
JsonParser
.
parseString
(
new
String
(
resp
.
getRawResponse
().
getBody
(),
"UTF-8"
)))));
resp
.
getCode
(),
resp
.
getMsg
(),
resp
.
getRequestId
(),
Jsons
.
createGSON
(
true
,
false
).
toJson
(
JsonParser
.
parseString
(
new
String
(
resp
.
getRawResponse
().
getBody
(),
"UTF-8"
)))));
return
null
;
return
null
;
}
}
...
@@ -82,4 +82,4 @@ public class FeiShuUtil {
...
@@ -82,4 +82,4 @@ public class FeiShuUtil {
private
Client
getClient
()
{
private
Client
getClient
()
{
return
Client
.
newBuilder
(
appId
,
appSecret
).
build
();
return
Client
.
newBuilder
(
appId
,
appSecret
).
build
();
}
}
}
}
\ No newline at end of file
src/main/java/com/sfa/job/util/WangdiantongUtil.java
浏览文件 @
5d9c9c8c
...
@@ -31,7 +31,7 @@ public class WangdiantongUtil {
...
@@ -31,7 +31,7 @@ public class WangdiantongUtil {
Integer
totalCount
=
0
;
Integer
totalCount
=
0
;
try
{
try
{
// 最大处理量,超过了,不再查询
// 最大处理量,超过了,不再查询
int
maxDealCount
=
5
00
;
int
maxDealCount
=
10
00
;
int
size
=
0
;
int
size
=
0
;
int
pageNo
=
beginPageNo
.
get
();
int
pageNo
=
beginPageNo
.
get
();
// 出现了查询的分页数量不足的情况
// 出现了查询的分页数量不足的情况
...
@@ -89,7 +89,7 @@ public class WangdiantongUtil {
...
@@ -89,7 +89,7 @@ public class WangdiantongUtil {
throw
new
ServiceException
(
"访问旺店通接口错误"
+
messageJson
.
toString
());
throw
new
ServiceException
(
"访问旺店通接口错误"
+
messageJson
.
toString
());
}
}
totalCount
=
dataR
.
getInteger
(
"total_count"
);
totalCount
=
dataR
.
getInteger
(
"total_count"
);
maxPage
=
totalCount
/
200
;
maxPage
=
(
totalCount
+
199
)/
200
;
JSONArray
orderJsonArray
=
dataR
.
getJSONArray
(
"order"
);
JSONArray
orderJsonArray
=
dataR
.
getJSONArray
(
"order"
);
allArray
.
addAll
(
orderJsonArray
);
allArray
.
addAll
(
orderJsonArray
);
...
@@ -99,12 +99,13 @@ public class WangdiantongUtil {
...
@@ -99,12 +99,13 @@ public class WangdiantongUtil {
// 计算下一次分页的页码
// 计算下一次分页的页码
pageNo
++;
pageNo
++;
}
while
(
size
<
maxDealCount
&&
pageNo
<=
maxPage
);
}
while
(
size
<
maxDealCount
&&
pageNo
<=
maxPage
);
if
(
pageNo
>
maxPage
)
{
if
(
pageNo
>
=
maxPage
)
{
// 已经到最后一页了,设置成-1,表示已经处理完了,不再查询
// 已经到最后一页了,设置成-1,表示已经处理完了,不再查询
beginPageNo
.
set
(-
1
);
beginPageNo
.
set
(-
1
);
}
else
{
}
else
{
beginPageNo
.
set
(
pageNo
);
beginPageNo
.
set
(
pageNo
);
}
}
wangdiantongQueryDto
.
setNextBeginPageNo
(
pageNo
);
wangdiantongQueryDto
.
setResult
(
allArray
);
wangdiantongQueryDto
.
setResult
(
allArray
);
wangdiantongQueryDto
.
setTotalCount
(
totalCount
);
wangdiantongQueryDto
.
setTotalCount
(
totalCount
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
...
src/main/resources/mapper/order/FinanceOrderMapper.xml
0 → 100644
浏览文件 @
5d9c9c8c
<?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.order.mapper.FinanceOrderMapper"
>
<insert
id=
"saveOrUpdateBatch"
parameterType=
"java.util.List"
>
insert into finance_order (
<include
refid=
"Order_Base_Column_List"
></include>
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.tradeId}, #{item.tradeNo}, #{item.platformId}, #{item.warehouseType}, #{item.srcTids}, #{item.payAccount}, #{item.tradeStatus}, #{item.tradeType},
#{item.deliveryTerm}, #{item.receiverRing}, #{item.freezeReason}, #{item.refundStatus}, #{item.fenxiaoType}, #{item.fenxiaoNick}, #{item.tradeTime},
#{item.payTime}, #{item.consignTime}, #{item.buyerNick}, #{item.receiverName}, #{item.receiverProvince}, #{item.receiverCity}, #{item.receiverDistrict},
#{item.receiverAddress}, #{item.receiverMobile}, #{item.receiverTelno}, #{item.receiverZip}, #{item.receiverArea}, #{item.receiverDtb}, #{item.badReason},
#{item.logisticsNo}, #{item.buyerMessage}, #{item.csRemark}, #{item.remarkFlag}, #{item.printRemark}, #{item.goodsTypeCount}, #{item.goodsCount},
#{item.goodsAmount}, #{item.postAmount}, #{item.otherAmount}, #{item.discount}, #{item.receivable}, #{item.codAmount}, #{item.extCodFee}, #{item.goodsCost},
#{item.postCost}, #{item.weight}, #{item.profit}, #{item.tax}, #{item.taxRate}, #{item.commission}, #{item.invoiceType}, #{item.invoiceTitle}, #{item.invoiceContent},
#{item.salesmanName}, #{item.checkerName}, #{item.fcheckerName}, #{item.checkouterName}, #{item.stockoutNo}, #{item.flagName}, #{item.tradeFrom},
#{item.singleSpecNo}, #{item.rawGoodsCount}, #{item.rawGoodsTypeCount}, #{item.currency}, #{item.invoiceId}, #{item.versionId}, #{item.modified},
#{item.created}, #{item.checkTime}, #{item.idCardType}, #{item.shopNo}, #{item.shopName}, #{item.shopRemark}, #{item.warehouseNo}, #{item.customerName},
#{item.customerNo}, #{item.logisticsName}, #{item.logisticsCode}, #{item.logisticsTypeName}, #{item.toDeliverTime}, #{item.delayToTime},
#{item.estimateConsignTime}, #{item.shopId}, #{item.warehouseId}, #{item.volume}, #{item.tradeLabel}, #{item.tradeMask}, #{item.shopPlatformId},
#{item.subPlatformId}, #{item.packageName}, #{item.packageId}, #{item.packageCost}, #{item.paid}, #{item.largeType}, #{item.giftMask}, #{item.customerId},
#{item.otherCost}, #{item.isSealed}, #{item.customerType}, #{item.logisticsId}, #{item.cancelReason}, #{item.revertReason}, #{item.newTradeLabel},
#{item.fenxiaoTid}, #{item.delFlag}, #{item.createBy}, #{item.createUserId}, #{item.createTime}, #{item.updateBy}, #{item.updateUserId}, #{item.updateTime},
#{item.batchNo}, #{item.startTime}, #{item.endTime}, #{item.syncType}
)
</foreach>
ON DUPLICATE KEY UPDATE
trade_id = VALUES(trade_id),
trade_no = VALUES(trade_no),
platform_id = VALUES(platform_id),
warehouse_type = VALUES(warehouse_type),
src_tids = VALUES(src_tids),
pay_account = VALUES(pay_account),
trade_status = VALUES(trade_status),
trade_type = VALUES(trade_type),
delivery_term = VALUES(delivery_term),
receiver_ring = VALUES(receiver_ring),
freeze_reason = VALUES(freeze_reason),
refund_status = VALUES(refund_status),
fenxiao_type = VALUES(fenxiao_type),
fenxiao_nick = VALUES(fenxiao_nick),
trade_time = VALUES(trade_time),
pay_time = VALUES(pay_time),
consign_time = VALUES(consign_time),
buyer_nick = VALUES(buyer_nick),
receiver_name = VALUES(receiver_name),
receiver_province = VALUES(receiver_province),
receiver_city = VALUES(receiver_city),
receiver_district = VALUES(receiver_district),
receiver_address = VALUES(receiver_address),
receiver_mobile = VALUES(receiver_mobile),
receiver_telno = VALUES(receiver_telno),
receiver_zip = VALUES(receiver_zip),
receiver_area = VALUES(receiver_area),
receiver_dtb = VALUES(receiver_dtb),
bad_reason = VALUES(bad_reason),
logistics_no = VALUES(logistics_no),
buyer_message = VALUES(buyer_message),
cs_remark = VALUES(cs_remark),
remark_flag = VALUES(remark_flag),
print_remark = VALUES(print_remark),
goods_type_count = VALUES(goods_type_count),
goods_count = VALUES(goods_count),
goods_amount = VALUES(goods_amount),
post_amount = VALUES(post_amount),
other_amount = VALUES(other_amount),
discount = VALUES(discount),
receivable = VALUES(receivable),
cod_amount = VALUES(cod_amount),
ext_cod_fee = VALUES(ext_cod_fee),
goods_cost = VALUES(goods_cost),
post_cost = VALUES(post_cost),
weight = VALUES(weight),
profit = VALUES(profit),
tax = VALUES(tax),
tax_rate = VALUES(tax_rate),
commission = VALUES(commission),
invoice_type = VALUES(invoice_type),
invoice_title = VALUES(invoice_title),
invoice_content = VALUES(invoice_content),
salesman_name = VALUES(salesman_name),
checker_name = VALUES(checker_name),
fchecker_name = VALUES(fchecker_name),
checkouter_name = VALUES(checkouter_name),
stockout_no = VALUES(stockout_no),
flag_name = VALUES(flag_name),
trade_from = VALUES(trade_from),
single_spec_no = VALUES(single_spec_no),
raw_goods_count = VALUES(raw_goods_count),
raw_goods_type_count = VALUES(raw_goods_type_count),
currency = VALUES(currency),
invoice_id = VALUES(invoice_id),
version_id = VALUES(version_id),
modified = VALUES(modified),
created = VALUES(created),
check_time = VALUES(check_time),
id_card_type = VALUES(id_card_type),
shop_no = VALUES(shop_no),
shop_name = VALUES(shop_name),
shop_remark = VALUES(shop_remark),
warehouse_no = VALUES(warehouse_no),
customer_name = VALUES(customer_name),
customer_no = VALUES(customer_no),
logistics_name = VALUES(logistics_name),
logistics_code = VALUES(logistics_code),
logistics_type_name = VALUES(logistics_type_name),
to_deliver_time = VALUES(to_deliver_time),
delay_to_time = VALUES(delay_to_time),
estimate_consign_time = VALUES(estimate_consign_time),
shop_id = VALUES(shop_id),
warehouse_id = VALUES(warehouse_id),
volume = VALUES(volume),
trade_label = VALUES(trade_label),
trade_mask = VALUES(trade_mask),
shop_platform_id = VALUES(shop_platform_id),
sub_platform_id = VALUES(sub_platform_id),
package_name = VALUES(package_name),
package_id = VALUES(package_id),
package_cost = VALUES(package_cost),
paid = VALUES(paid),
large_type = VALUES(large_type),
gift_mask = VALUES(gift_mask),
customer_id = VALUES(customer_id),
other_cost = VALUES(other_cost),
is_sealed = VALUES(is_sealed),
customer_type = VALUES(customer_type),
logistics_id = VALUES(logistics_id),
cancel_reason = VALUES(cancel_reason),
revert_reason = VALUES(revert_reason),
new_trade_label = VALUES(new_trade_label),
fenxiao_tid = VALUES(fenxiao_tid),
del_flag = VALUES(del_flag),
create_by = VALUES(create_by),
create_user_id = VALUES(create_user_id),
create_time = VALUES(create_time),
update_by = VALUES(update_by),
update_user_id = VALUES(update_user_id),
update_time = VALUES(update_time),
batch_no = VALUES(batch_no),
start_time = VALUES(start_time),
end_time = VALUES(end_time),
sync_type = VALUES(sync_type)
</insert>
<!-- 定义 FinanceOrder 表的字段 -->
<sql
id=
"Order_Base_Column_List"
>
trade_id, trade_no, platform_id, warehouse_type, src_tids, pay_account, trade_status, trade_type,
delivery_term, receiver_ring, freeze_reason, refund_status, fenxiao_type, fenxiao_nick, trade_time,
pay_time, consign_time, buyer_nick, receiver_name, receiver_province, receiver_city, receiver_district,
receiver_address, receiver_mobile, receiver_telno, receiver_zip, receiver_area, receiver_dtb, bad_reason,
logistics_no, buyer_message, cs_remark, remark_flag, print_remark, goods_type_count, goods_count,
goods_amount, post_amount, other_amount, discount, receivable, cod_amount, ext_cod_fee, goods_cost,
post_cost, weight, profit, tax, tax_rate, commission, invoice_type, invoice_title, invoice_content,
salesman_name, checker_name, fchecker_name, checkouter_name, stockout_no, flag_name, trade_from,
single_spec_no, raw_goods_count, raw_goods_type_count, currency, invoice_id, version_id, modified,
created, check_time, id_card_type, shop_no, shop_name, shop_remark, warehouse_no, customer_name,
customer_no, logistics_name, logistics_code, logistics_type_name, to_deliver_time, delay_to_time,
estimate_consign_time, shop_id, warehouse_id, volume, trade_label, trade_mask, shop_platform_id,
sub_platform_id, package_name, package_id, package_cost, paid, large_type, gift_mask, customer_id,
other_cost, is_sealed, customer_type, logistics_id, cancel_reason, revert_reason, new_trade_label,
fenxiao_tid, del_flag, create_by, create_user_id, create_time, update_by, update_user_id, update_time,
batch_no, start_time, end_time, sync_type
</sql>
<!-- 根据 trade_id 查询订单 -->
<select
id=
"selectFinanceOrderById"
resultType=
"com.sfa.job.domain.order.entity.FinanceOrder"
>
SELECT
<include
refid=
"Order_Base_Column_List"
/>
FROM
finance_order
WHERE
trade_id = #{tradeId}
</select>
<!-- 查询所有订单 -->
<select
id=
"selectAllFinanceOrders"
resultType=
"com.sfa.job.domain.order.entity.FinanceOrder"
>
SELECT
<include
refid=
"Order_Base_Column_List"
/>
FROM
finance_order
</select>
<!-- 插入订单 -->
<insert
id=
"insertFinanceOrder"
parameterType=
"com.sfa.job.domain.order.entity.FinanceOrder"
>
INSERT INTO finance_order (
trade_id, trade_no, platform_id, warehouse_type, src_tids, pay_account, trade_status, trade_type,
delivery_term, receiver_ring, freeze_reason, refund_status, fenxiao_type, fenxiao_nick, trade_time,
pay_time, consign_time, buyer_nick, receiver_name, receiver_province, receiver_city, receiver_district,
receiver_address, receiver_mobile, receiver_telno, receiver_zip, receiver_area, receiver_dtb, bad_reason,
logistics_no, buyer_message, cs_remark, remark_flag, print_remark, goods_type_count, goods_count,
goods_amount, post_amount, other_amount, discount, receivable, cod_amount, ext_cod_fee, goods_cost,
post_cost, weight, profit, tax, tax_rate, commission, invoice_type, invoice_title, invoice_content,
salesman_name, checker_name, fchecker_name, checkouter_name, stockout_no, flag_name, trade_from,
single_spec_no, raw_goods_count, raw_goods_type_count, currency, invoice_id, version_id, modified,
created, check_time, id_card_type, shop_no, shop_name, shop_remark, warehouse_no, customer_name,
customer_no, logistics_name, logistics_code, logistics_type_name, to_deliver_time, delay_to_time,
estimate_consign_time, shop_id, warehouse_id, volume, trade_label, trade_mask, shop_platform_id,
sub_platform_id, package_name, package_id, package_cost, paid, large_type, gift_mask, customer_id,
other_cost, is_sealed, customer_type, logistics_id, cancel_reason, revert_reason, new_trade_label,
fenxiao_tid, del_flag, create_by, create_user_id, create_time, update_by, update_user_id, update_time,
batch_no, start_time, end_time, sync_type
) VALUES (
#{tradeId}, #{tradeNo}, #{platformId}, #{warehouseType}, #{srcTids}, #{payAccount}, #{tradeStatus}, #{tradeType},
#{deliveryTerm}, #{receiverRing}, #{freezeReason}, #{refundStatus}, #{fenxiaoType}, #{fenxiaoNick}, #{tradeTime},
#{payTime}, #{consignTime}, #{buyerNick}, #{receiverName}, #{receiverProvince}, #{receiverCity}, #{receiverDistrict},
#{receiverAddress}, #{receiverMobile}, #{receiverTelno}, #{receiverZip}, #{receiverArea}, #{receiverDtb}, #{badReason},
#{logisticsNo}, #{buyerMessage}, #{csRemark}, #{remarkFlag}, #{printRemark}, #{goodsTypeCount}, #{goodsCount},
#{goodsAmount}, #{postAmount}, #{otherAmount}, #{discount}, #{receivable}, #{codAmount}, #{extCodFee}, #{goodsCost},
#{postCost}, #{weight}, #{profit}, #{tax}, #{taxRate}, #{commission}, #{invoiceType}, #{invoiceTitle}, #{invoiceContent},
#{salesmanName}, #{checkerName}, #{fcheckerName}, #{checkouterName}, #{stockoutNo}, #{flagName}, #{tradeFrom},
#{singleSpecNo}, #{rawGoodsCount}, #{rawGoodsTypeCount}, #{currency}, #{invoiceId}, #{versionId}, #{modified},
#{created}, #{checkTime}, #{idCardType}, #{shopNo}, #{shopName}, #{shopRemark}, #{warehouseNo}, #{customerName},
#{customerNo}, #{logisticsName}, #{logisticsCode}, #{logisticsTypeName}, #{toDeliverTime}, #{delayToTime},
#{estimateConsignTime}, #{shopId}, #{warehouseId}, #{volume}, #{tradeLabel}, #{tradeMask}, #{shopPlatformId},
#{subPlatformId}, #{packageName}, #{packageId}, #{packageCost}, #{paid}, #{largeType}, #{giftMask}, #{customerId},
#{otherCost}, #{isSealed}, #{customerType}, #{logisticsId}, #{cancelReason}, #{revertReason}, #{newTradeLabel},
#{fenxiaoTid}, #{delFlag}, #{createBy}, #{createUserId}, #{createTime}, #{updateBy}, #{updateUserId}, #{updateTime},
#{batchNo}, #{startTime}, #{endTime}, #{syncType}
)
</insert>
<!-- 根据 trade_id 更新订单 -->
<update
id=
"updateFinanceOrderById"
parameterType=
"com.sfa.job.domain.order.entity.FinanceOrder"
>
UPDATE finance_order
SET
trade_no = #{tradeNo},
platform_id = #{platformId},
warehouse_type = #{warehouseType},
src_tids = #{srcTids},
pay_account = #{payAccount},
trade_status = #{tradeStatus},
trade_type = #{tradeType},
delivery_term = #{deliveryTerm},
receiver_ring = #{receiverRing},
freeze_reason = #{freezeReason},
refund_status = #{refundStatus},
fenxiao_type = #{fenxiaoType},
fenxiao_nick = #{fenxiaoNick},
trade_time = #{tradeTime},
pay_time = #{payTime},
consign_time = #{consignTime},
buyer_nick = #{buyerNick},
receiver_name = #{receiverName},
receiver_province = #{receiverProvince},
receiver_city = #{receiverCity},
receiver_district = #{receiverDistrict},
receiver_address = #{receiverAddress},
receiver_mobile = #{receiverMobile},
receiver_telno = #{receiverTelno},
receiver_zip = #{receiverZip},
receiver_area = #{receiverArea},
receiver_dtb = #{receiverDtb},
bad_reason = #{badReason},
logistics_no = #{logisticsNo},
buyer_message = #{buyerMessage},
cs_remark = #{csRemark},
remark_flag = #{remarkFlag},
print_remark = #{printRemark},
goods_type_count = #{goodsTypeCount},
goods_count = #{goodsCount},
goods_amount = #{goodsAmount},
post_amount = #{postAmount},
other_amount = #{otherAmount},
discount = #{discount},
receivable = #{receivable},
cod_amount = #{codAmount},
ext_cod_fee = #{extCodFee},
goods_cost = #{goodsCost},
post_cost = #{postCost},
weight = #{weight},
profit = #{profit},
tax = #{tax},
tax_rate = #{taxRate},
commission = #{commission},
invoice_type = #{invoiceType},
invoice_title = #{invoiceTitle},
invoice_content = #{invoiceContent},
salesman_name = #{salesmanName},
checker_name = #{checkerName},
fchecker_name = #{fcheckerName},
checkouter_name = #{checkouterName},
stockout_no = #{stockoutNo},
flag_name = #{flagName},
trade_from = #{tradeFrom},
single_spec_no = #{singleSpecNo},
raw_goods_count = #{rawGoodsCount},
raw_goods_type_count = #{rawGoodsTypeCount},
currency = #{currency},
invoice_id = #{invoiceId},
version_id = #{versionId},
modified = #{modified},
created = #{created},
check_time = #{checkTime},
id_card_type = #{idCardType},
shop_no = #{shopNo},
shop_name = #{shopName},
shop_remark = #{shopRemark},
warehouse_no = #{warehouseNo},
customer_name = #{customerName},
customer_no = #{customerNo},
logistics_name = #{logisticsName},
logistics_code = #{logisticsCode},
logistics_type_name = #{logisticsTypeName},
to_deliver_time = #{toDeliverTime},
delay_to_time = #{delayToTime},
estimate_consign_time = #{estimateConsignTime},
shop_id = #{shopId},
warehouse_id = #{warehouseId},
volume = #{volume},
trade_label = #{tradeLabel},
trade_mask = #{tradeMask},
shop_platform_id = #{shopPlatformId},
sub_platform_id = #{subPlatformId},
package_name = #{packageName},
package_id = #{packageId},
package_cost = #{packageCost},
paid = #{paid},
large_type = #{largeType},
gift_mask = #{giftMask},
customer_id = #{customerId},
other_cost = #{otherCost},
is_sealed = #{isSealed},
customer_type = #{customerType},
logistics_id = #{logisticsId},
cancel_reason = #{cancelReason},
revert_reason = #{revertReason},
new_trade_label = #{newTradeLabel},
fenxiao_tid = #{fenxiaoTid},
del_flag = #{delFlag},
create_by = #{createBy},
create_user_id = #{createUserId},
create_time = #{createTime},
update_by = #{updateBy},
update_user_id = #{updateUserId},
update_time = #{updateTime},
batch_no = #{batchNo},
start_time = #{startTime},
end_time = #{endTime},
sync_type = #{syncType}
WHERE
trade_id = #{tradeId}
</update>
<!-- 根据 trade_id 删除订单 -->
<delete
id=
"deleteFinanceOrderById"
parameterType=
"java.lang.Long"
>
DELETE FROM finance_order
WHERE
trade_id = #{tradeId}
</delete>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论