Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-link-module-bi
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-link-module-bi
Commits
e64fda75
提交
e64fda75
authored
1月 17, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、增加采集日志的记录2、优化定时任务采集时间查询 3、将采集代码暂时放在job服务中
上级
ce87bc49
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
259 行增加
和
208 行删除
+259
-208
CollectOrderLogInfoDao.java
...n/java/com/link/bi/domain/dao/CollectOrderLogInfoDao.java
+12
-0
IFinanceOrderDao.java
src/main/java/com/link/bi/domain/dao/IFinanceOrderDao.java
+0
-3
IProductDao.java
src/main/java/com/link/bi/domain/dao/IProductDao.java
+3
-0
CollectOrderLogInfoDaoImpl.java
...m/link/bi/domain/dao/impl/CollectOrderLogInfoDaoImpl.java
+43
-0
FinanceOrderDaoImpl.java
...java/com/link/bi/domain/dao/impl/FinanceOrderDaoImpl.java
+0
-32
ProductDaoImpl.java
...main/java/com/link/bi/domain/dao/impl/ProductDaoImpl.java
+17
-7
CollectErrorInfo.java
...main/java/com/link/bi/domain/entity/CollectErrorInfo.java
+8
-4
CollectOrderLogInfo.java
...n/java/com/link/bi/domain/entity/CollectOrderLogInfo.java
+97
-0
FinanceOrderDetail.java
...in/java/com/link/bi/domain/entity/FinanceOrderDetail.java
+6
-1
CollectOrderLogInfoMapper.java
.../com/link/bi/domain/mapper/CollectOrderLogInfoMapper.java
+9
-0
PrdInfoMapper.java
src/main/java/com/link/bi/domain/mapper/PrdInfoMapper.java
+1
-2
FinanceCostVo.java
src/main/java/com/link/bi/pojo/request/FinanceCostVo.java
+5
-4
FinanceSyncOrderDetailDto.java
.../com/link/bi/pojo/response/FinanceSyncOrderDetailDto.java
+7
-1
CollectOrderLogInfoService.java
.../java/com/link/bi/service/CollectOrderLogInfoService.java
+7
-0
FinanceOrderService.java
src/main/java/com/link/bi/service/FinanceOrderService.java
+0
-7
IProductService.java
src/main/java/com/link/bi/service/IProductService.java
+3
-0
CollectOrderLogInfoServiceImpl.java
.../link/bi/service/impl/CollectOrderLogInfoServiceImpl.java
+26
-0
FinanceOrderServiceImpl.java
...ava/com/link/bi/service/impl/FinanceOrderServiceImpl.java
+0
-147
ProductServiceImpl.java
...ain/java/com/link/bi/service/impl/ProductServiceImpl.java
+15
-0
没有找到文件。
src/main/java/com/link/bi/domain/dao/CollectOrderLogInfoDao.java
0 → 100644
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
dao
;
import
com.link.bi.domain.entity.CollectOrderLogInfo
;
import
java.util.Date
;
public
interface
CollectOrderLogInfoDao
{
// 插入一条记录
void
insert
(
CollectOrderLogInfo
collectOrderLogInfo
);
Date
selectOrderLatest
(
Integer
syncType
);
}
src/main/java/com/link/bi/domain/dao/IFinanceOrderDao.java
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
dao
;
package
com
.
link
.
bi
.
domain
.
dao
;
import
java.util.Date
;
/**
/**
* @author : lvbencai
* @author : lvbencai
* @date : 2025年01月07日10:04:25
* @date : 2025年01月07日10:04:25
* @describe : 财务需要的订单DAO
* @describe : 财务需要的订单DAO
*/
*/
public
interface
IFinanceOrderDao
{
public
interface
IFinanceOrderDao
{
Date
selectOrderLatest
(
Integer
syncType
);
}
}
src/main/java/com/link/bi/domain/dao/IProductDao.java
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
dao
;
package
com
.
link
.
bi
.
domain
.
dao
;
import
com.link.bi.domain.entity.PrdInfo
;
import
com.link.bi.domain.wq.ProductWq
;
import
com.link.bi.domain.wq.ProductWq
;
import
com.link.bi.pojo.response.PrdInfoDto
;
import
com.link.bi.pojo.response.PrdInfoDto
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.common.core.web.domain.PageInfo
;
...
@@ -20,4 +21,6 @@ public interface IProductDao {
...
@@ -20,4 +21,6 @@ public interface IProductDao {
List
<
PrdInfoDto
>
selectListByIds
(
List
<
Integer
>
ids
);
List
<
PrdInfoDto
>
selectListByIds
(
List
<
Integer
>
ids
);
List
<
PrdInfoDto
>
selectListByCodes
(
List
<
String
>
prdCodes
);
List
<
PrdInfoDto
>
selectListByCodes
(
List
<
String
>
prdCodes
);
List
<
PrdInfo
>
selectProdSeries
();
}
}
src/main/java/com/link/bi/domain/dao/impl/CollectOrderLogInfoDaoImpl.java
0 → 100644
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.link.bi.domain.dao.CollectOrderLogInfoDao
;
import
com.link.bi.domain.entity.CollectOrderLogInfo
;
import
com.link.bi.domain.mapper.CollectOrderLogInfoMapper
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
java.util.Date
;
import
java.util.List
;
@Repository
public
class
CollectOrderLogInfoDaoImpl
implements
CollectOrderLogInfoDao
{
@Autowired
private
CollectOrderLogInfoMapper
logInfoMapper
;
@Override
public
void
insert
(
CollectOrderLogInfo
collectOrderLogInfo
)
{
logInfoMapper
.
insert
(
collectOrderLogInfo
);
}
@Override
public
Date
selectOrderLatest
(
Integer
syncType
)
{
// 查询最新发货日期
List
<
CollectOrderLogInfo
>
orderList
=
logInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<
CollectOrderLogInfo
>()
// 默认查询xxljob自动同步时间
.
eq
(
CollectOrderLogInfo:
:
getSyncType
,
syncType
)
.
eq
(
CollectOrderLogInfo:
:
getDelFlag
,
0
)
.
orderByDesc
(
CollectOrderLogInfo:
:
getUpdateTime
)
.
last
(
"LIMIT 1"
));
if
(
ObjectUtils
.
isNotEmpty
(
orderList
)){
// 最新的数据日期
return
orderList
.
get
(
0
).
getLatestTime
();
}
return
null
;
}
}
src/main/java/com/link/bi/domain/dao/impl/FinanceOrderDaoImpl.java
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
dao
.
impl
;
package
com
.
link
.
bi
.
domain
.
dao
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.Slave
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.link.bi.domain.dao.IFinanceOrderDao
;
import
com.link.bi.domain.dao.IFinanceOrderDao
;
import
com.link.bi.domain.entity.FinanceOrder
;
import
com.link.bi.domain.mapper.FinanceOrderMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.time.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
* @author : lvbencai
* @author : lvbencai
* @date : 2025-01-14 17:31:05
* @date : 2025-01-14 17:31:05
...
@@ -22,26 +12,4 @@ import java.util.List;
...
@@ -22,26 +12,4 @@ import java.util.List;
@Slf4j
@Slf4j
@Service
@Service
public
class
FinanceOrderDaoImpl
implements
IFinanceOrderDao
{
public
class
FinanceOrderDaoImpl
implements
IFinanceOrderDao
{
@Autowired
private
FinanceOrderMapper
orderMapper
;
@Slave
public
Date
selectOrderLatest
(
Integer
syncType
)
{
// 查询最新发货日期
List
<
FinanceOrder
>
objects
=
orderMapper
.
selectList
(
new
LambdaQueryWrapper
<
FinanceOrder
>()
// 默认查询xxljob自动同步时间
.
eq
(
FinanceOrder:
:
getSyncType
,
syncType
)
.
orderByDesc
(
FinanceOrder:
:
getModified
)
.
last
(
"LIMIT 1"
));
if
(
ObjectUtils
.
isNotEmpty
(
objects
)){
// 最新的数据日期
return
objects
.
get
(
0
).
getModified
();
}
else
{
// 默认上个月的第一天 00:00:00
return
DateUtils
.
addMonths
(
new
Date
(),-
1
);
}
}
}
}
src/main/java/com/link/bi/domain/dao/impl/ProductDaoImpl.java
浏览文件 @
e64fda75
...
@@ -42,14 +42,14 @@ public class ProductDaoImpl implements IProductDao {
...
@@ -42,14 +42,14 @@ public class ProductDaoImpl implements IProductDao {
@Override
@Override
public
PageInfo
productPage
(
ProductWq
pqw
)
{
public
PageInfo
productPage
(
ProductWq
pqw
)
{
LambdaQueryWrapper
<
PrdInfo
>
qw
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
PrdInfo
>
qw
=
new
LambdaQueryWrapper
<>();
if
(
Objects
.
nonNull
(
pqw
.
getSeriesId
())){
if
(
Objects
.
nonNull
(
pqw
.
getSeriesId
()))
{
qw
.
eq
(
PrdInfo:
:
getSeriesId
,
pqw
.
getSeriesId
());
qw
.
eq
(
PrdInfo:
:
getSeriesId
,
pqw
.
getSeriesId
());
}
}
if
(
StringUtils
.
isNotBlank
(
pqw
.
getPrdCode
())){
if
(
StringUtils
.
isNotBlank
(
pqw
.
getPrdCode
()))
{
qw
.
eq
(
PrdInfo:
:
getPrdCode
,
pqw
.
getPrdCode
());
qw
.
eq
(
PrdInfo:
:
getPrdCode
,
pqw
.
getPrdCode
());
}
}
if
(
StringUtils
.
isNotBlank
(
pqw
.
getPrdNameLike
())){
if
(
StringUtils
.
isNotBlank
(
pqw
.
getPrdNameLike
()))
{
qw
.
like
(
PrdInfo:
:
getPrdName
,
pqw
.
getPrdNameLike
());
qw
.
like
(
PrdInfo:
:
getPrdName
,
pqw
.
getPrdNameLike
());
}
}
Page
<
PrdInfo
>
page
=
prdInfoMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
Page
<
PrdInfo
>
page
=
prdInfoMapper
.
selectPage
(
TableSupport
.
pageI
(),
qw
);
...
@@ -64,7 +64,17 @@ public class ProductDaoImpl implements IProductDao {
...
@@ -64,7 +64,17 @@ public class ProductDaoImpl implements IProductDao {
@Override
@Override
public
List
<
PrdInfoDto
>
selectListByCodes
(
List
<
String
>
prdCodes
)
{
public
List
<
PrdInfoDto
>
selectListByCodes
(
List
<
String
>
prdCodes
)
{
List
<
PrdInfo
>
prdInfos
=
prdInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<
PrdInfo
>().
in
(
ObjectUtil
.
isNotEmpty
(
prdCodes
),
PrdInfo:
:
getPrdCode
,
prdCodes
));
List
<
PrdInfo
>
prdInfos
=
prdInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<
PrdInfo
>().
in
(
ObjectUtil
.
isNotEmpty
(
prdCodes
),
PrdInfo:
:
getPrdCode
,
prdCodes
));
return
BeanUtils
.
transitionDtos
(
prdInfos
,
PrdInfoDto
.
class
);
return
BeanUtils
.
transitionDtos
(
prdInfos
,
PrdInfoDto
.
class
);
}
}
@Override
public
List
<
PrdInfo
>
selectProdSeries
()
{
List
<
PrdInfo
>
prdInfos
=
prdInfoMapper
.
selectList
(
new
LambdaQueryWrapper
<
PrdInfo
>()
.
select
(
PrdInfo:
:
getSeries
,
PrdInfo:
:
getPrdCode
,
PrdInfo:
:
getPrdName
)
.
groupBy
(
PrdInfo:
:
getSeries
,
PrdInfo:
:
getPrdCode
,
PrdInfo:
:
getPrdName
));
return
prdInfos
;
}
}
}
src/main/java/com/link/bi/domain/entity/CollectErrorInfo.java
浏览文件 @
e64fda75
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import
lombok.Data
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
* CollectErrorInfo 类表示采集错误记录,与数据库表 market_bi.collect_error_info 相对应。
* CollectErrorInfo 类表示采集错误记录,与数据库表 market_bi.collect_error_info 相对应。
...
@@ -33,7 +34,7 @@ public class CollectErrorInfo {
...
@@ -33,7 +34,7 @@ public class CollectErrorInfo {
/**
/**
* 采集时间
* 采集时间
*/
*/
private
LocalDateTim
e
collectTime
;
private
Dat
e
collectTime
;
/**
/**
* 是否删除标志,'0' 表示未删除,'1' 表示已删除
* 是否删除标志,'0' 表示未删除,'1' 表示已删除
...
@@ -78,12 +79,15 @@ public class CollectErrorInfo {
...
@@ -78,12 +79,15 @@ public class CollectErrorInfo {
/**
/**
* 本批次采集开始时间
* 本批次采集开始时间
*/
*/
private
LocalDateTim
e
startTime
;
private
Dat
e
startTime
;
/**
/**
* 本批次采集结束时间
* 本批次采集结束时间
*/
*/
private
LocalDateTime
endTime
;
private
Date
endTime
;
/**
* 错误信息
*/
private
String
errorMsg
;
}
}
src/main/java/com/link/bi/domain/entity/CollectOrderLogInfo.java
0 → 100644
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 采集订单日志信息
*
* @TableName collect_order_log_info
* @author lvbencai
* @date 2025-01-16 22:58:38
* @description
*/
@Data
@TableName
(
"collect_order_log_info"
)
public
class
CollectOrderLogInfo
implements
Serializable
{
/**
* 唯一键,用于唯一标识采集订单日志信息记录
*/
@TableId
(
value
=
"cli_id"
,
type
=
IdType
.
AUTO
)
private
Long
cliId
;
/**
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
*/
//@TableField("order_count")
private
Integer
orderCount
;
/**
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
*/
//@TableField("order_detail_count")
private
Integer
orderDetailCount
;
/**
* 采集批次信息,可存储长度不超过 30 个字符,使用 utf8mb4 字符集和 utf8mb4_0900_ai_ci 校对规则
*/
//@TableField("batch_no")
private
String
batchNo
;
/**
* 采集的最新时间,代表上一次采集的结束时间,存储为日期时间类型
*/
//@TableField("latest_time")
private
Date
latestTime
;
/**
* 是否删除的标志,'0' 表示未删除,'1' 表示已删除,使用 utf8mb3 字符集和 utf8mb3_general_ci 校对规则
*/
//@TableField("del_flag")
private
String
delFlag
;
/**
* 创建者信息,存储为长度不超过 20 个字符的字符串
*/
//@TableField("create_by")
private
String
createBy
;
/**
* 创建人的用户 ID,存储为长整型
*/
//@TableField("create_user_id")
private
Long
createUserId
;
/**
* 创建时间,存储为日期时间类型,使用数据库的当前时间作为默认值
*/
//@TableField("create_time")
private
Date
createTime
;
/**
* 更新者信息,存储为长度不超过 20 个字符的字符串
*/
//@TableField("update_by")
private
String
updateBy
;
/**
* 修改人的用户 ID,存储为长整型
*/
//@TableField("update_user_id")
private
Long
updateUserId
;
/**
* 更新时间,存储为日期时间类型,更新时自动更新为当前时间
*/
//@TableField("update_time")
private
Date
updateTime
;
private
Integer
syncType
;
}
src/main/java/com/link/bi/domain/entity/FinanceOrderDetail.java
浏览文件 @
e64fda75
...
@@ -278,9 +278,14 @@ public class FinanceOrderDetail extends BaseDo {
...
@@ -278,9 +278,14 @@ public class FinanceOrderDetail extends BaseDo {
private
BigDecimal
shareAmountDiffSum
;
private
BigDecimal
shareAmountDiffSum
;
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
String
queryType
;
private
String
queryType
;
// 系列
private
String
series
;
/** 是否删除标志0未删除1已删除 */
/**
* 是否删除标志0未删除1已删除
*/
private
String
delFlag
;
private
String
delFlag
;
public
String
getFenxiaoId
(
FinanceOrder
order
,
Long
tradeId
)
{
public
String
getFenxiaoId
(
FinanceOrder
order
,
Long
tradeId
)
{
// 如果不为空,解析出
// 如果不为空,解析出
if
(
ObjectUtils
.
isNotEmpty
(
order
.
getFenxiaoNick
()))
{
if
(
ObjectUtils
.
isNotEmpty
(
order
.
getFenxiaoNick
()))
{
...
...
src/main/java/com/link/bi/domain/mapper/CollectOrderLogInfoMapper.java
0 → 100644
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.link.bi.domain.entity.CollectOrderLogInfo
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
CollectOrderLogInfoMapper
extends
BaseMapper
<
CollectOrderLogInfo
>
{
}
src/main/java/com/link/bi/domain/mapper/PrdInfoMapper.java
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
domain
.
mapper
;
package
com
.
link
.
bi
.
domain
.
mapper
;
import
com.link.bi.domain.entity.PrdInfo
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.link.bi.domain.entity.PrdInfo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -14,7 +14,6 @@ import org.springframework.stereotype.Repository;
...
@@ -14,7 +14,6 @@ import org.springframework.stereotype.Repository;
@Repository
@Repository
@Mapper
@Mapper
public
interface
PrdInfoMapper
extends
BaseMapper
<
PrdInfo
>
{
public
interface
PrdInfoMapper
extends
BaseMapper
<
PrdInfo
>
{
}
}
...
...
src/main/java/com/link/bi/pojo/request/FinanceCostVo.java
浏览文件 @
e64fda75
...
@@ -12,18 +12,19 @@ public class FinanceCostVo {
...
@@ -12,18 +12,19 @@ public class FinanceCostVo {
private
String
pageNum
;
private
String
pageNum
;
// 入参 分页大小
// 入参 分页大小
private
String
pageSize
;
private
String
pageSize
;
// 入参 时间开始时间
// 入参 时间开始时间
private
Date
startDate
;
private
Date
startDate
;
// 入参 时间结束时间
// 入参 时间结束时间
private
Date
endDate
;
private
Date
endDate
;
// 直播间类型
private
List
<
String
>
zbjQdType
;
private
List
<
String
>
zbjQdType
;
// 入参 口味
private
List
<
String
>
flavor
;
private
List
<
String
>
flavor
;
// 入参 规格
private
List
<
String
>
specName
;
private
List
<
String
>
specName
;
// 入参 系列
private
List
<
String
>
series
;
private
List
<
String
>
series
;
// 入参 商品名称
private
List
<
String
>
goodsName
;
private
List
<
String
>
goodsName
;
}
}
src/main/java/com/link/bi/pojo/response/FinanceSyncOrderDetailDto.java
浏览文件 @
e64fda75
...
@@ -4,10 +4,11 @@ import com.link.bi.domain.entity.FinanceOrder;
...
@@ -4,10 +4,11 @@ import com.link.bi.domain.entity.FinanceOrder;
import
com.link.bi.domain.entity.FinanceOrderDetail
;
import
com.link.bi.domain.entity.FinanceOrderDetail
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* 财务同步旺店通
订单明细DTO
* 财务同步旺店通
返回数据Dto
*/
*/
@Data
@Data
public
class
FinanceSyncOrderDetailDto
{
public
class
FinanceSyncOrderDetailDto
{
...
@@ -15,4 +16,9 @@ public class FinanceSyncOrderDetailDto {
...
@@ -15,4 +16,9 @@ public class FinanceSyncOrderDetailDto {
private
Integer
orderDetailCount
;
private
Integer
orderDetailCount
;
private
List
<
FinanceOrder
>
orders
;
private
List
<
FinanceOrder
>
orders
;
private
List
<
FinanceOrderDetail
>
orderDetails
;
private
List
<
FinanceOrderDetail
>
orderDetails
;
private
Date
startTime
;
private
Date
endTime
;
private
Integer
syncType
;
private
String
batchNo
;
}
}
src/main/java/com/link/bi/service/CollectOrderLogInfoService.java
0 → 100644
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.link.bi.domain.entity.CollectOrderLogInfo
;
public
interface
CollectOrderLogInfoService
extends
IService
<
CollectOrderLogInfo
>
{
}
src/main/java/com/link/bi/service/FinanceOrderService.java
浏览文件 @
e64fda75
...
@@ -3,14 +3,7 @@ package com.link.bi.service;
...
@@ -3,14 +3,7 @@ package com.link.bi.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.link.bi.domain.entity.FinanceOrder
;
import
com.link.bi.domain.entity.FinanceOrder
;
import
com.link.bi.pojo.response.FinanceSyncOrderDetailDto
;
import
java.util.Date
;
public
interface
FinanceOrderService
extends
IService
<
FinanceOrder
>
{
public
interface
FinanceOrderService
extends
IService
<
FinanceOrder
>
{
Date
selectLatest
(
Integer
syncType
);
FinanceSyncOrderDetailDto
syncWandiantongOrder
(
Date
startTime
,
Date
endTime
,
Integer
syncType
);
}
}
src/main/java/com/link/bi/service/IProductService.java
浏览文件 @
e64fda75
...
@@ -5,6 +5,7 @@ import com.link.bi.pojo.response.PrdInfoDto;
...
@@ -5,6 +5,7 @@ import com.link.bi.pojo.response.PrdInfoDto;
import
com.sfa.common.core.web.domain.PageInfo
;
import
com.sfa.common.core.web.domain.PageInfo
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author : liqiulin
* @author : liqiulin
...
@@ -18,4 +19,6 @@ public interface IProductService {
...
@@ -18,4 +19,6 @@ public interface IProductService {
PageInfo
productPage
(
ProductVo
productVo
);
PageInfo
productPage
(
ProductVo
productVo
);
List
<
PrdInfoDto
>
selectListByCodes
(
List
<
String
>
codeLists
);
List
<
PrdInfoDto
>
selectListByCodes
(
List
<
String
>
codeLists
);
Map
<
String
,
String
>
selectProdSeries
();
}
}
src/main/java/com/link/bi/service/impl/CollectOrderLogInfoServiceImpl.java
0 → 100644
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.link.bi.domain.dao.CollectOrderLogInfoDao
;
import
com.link.bi.domain.entity.CollectOrderLogInfo
;
import
com.link.bi.domain.mapper.CollectOrderLogInfoMapper
;
import
com.link.bi.service.CollectOrderLogInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
CollectOrderLogInfoServiceImpl
extends
ServiceImpl
<
CollectOrderLogInfoMapper
,
CollectOrderLogInfo
>
implements
CollectOrderLogInfoService
{
@Autowired
private
CollectOrderLogInfoDao
dao
;
@Override
public
List
<
CollectOrderLogInfo
>
list
(
Wrapper
<
CollectOrderLogInfo
>
queryWrapper
)
{
return
list
(
queryWrapper
);
}
}
src/main/java/com/link/bi/service/impl/FinanceOrderServiceImpl.java
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
service
.
impl
;
package
com
.
link
.
bi
.
service
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.link.bi.domain.dao.IFinanceOrderDao
;
import
com.link.bi.domain.entity.FinanceBaseProduct
;
import
com.link.bi.domain.entity.FinanceOrder
;
import
com.link.bi.domain.entity.FinanceOrder
;
import
com.link.bi.domain.entity.FinanceOrderDetail
;
import
com.link.bi.domain.mapper.FinanceOrderMapper
;
import
com.link.bi.domain.mapper.FinanceOrderMapper
;
import
com.link.bi.pojo.response.FinanceSyncOrderDetailDto
;
import
com.link.bi.service.FinanceBaseProductService
;
import
com.link.bi.service.FinanceBaseZbjTypeService
;
import
com.link.bi.service.FinanceOrderDetailService
;
import
com.link.bi.service.FinanceOrderService
;
import
com.link.bi.service.FinanceOrderService
;
import
com.sfa.common.core.exception.ServiceException
;
import
com.sfa.common.core.utils.DateUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.*
;
/**
/**
* 旺店通订单Service业务层处理
* 旺店通订单Service业务层处理
...
@@ -34,136 +18,5 @@ import java.util.*;
...
@@ -34,136 +18,5 @@ import java.util.*;
@Slf4j
@Slf4j
@Service
@Service
public
class
FinanceOrderServiceImpl
extends
ServiceImpl
<
FinanceOrderMapper
,
FinanceOrder
>
implements
FinanceOrderService
{
public
class
FinanceOrderServiceImpl
extends
ServiceImpl
<
FinanceOrderMapper
,
FinanceOrder
>
implements
FinanceOrderService
{
@Autowired
IFinanceOrderDao
orderDao
;
// @Autowired
// WangdiantongUtil wangdiantongUtil;
@Autowired
FinanceOrderDetailService
detailService
;
@Autowired
FinanceBaseProductService
baseProductService
;
@Autowired
FinanceBaseZbjTypeService
baseZbjTypeService
;
/**
* 查询最新修改日期
*
* @return
*/
@Override
public
Date
selectLatest
(
Integer
syncType
)
{
// 查询最新发货日期
Date
date
=
orderDao
.
selectOrderLatest
(
syncType
);
return
date
;
}
/**
* 多线程调用此方法
*
* @param startTime
* @param endTime
*/
// @DS("bi")
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
FinanceSyncOrderDetailDto
syncWandiantongOrder
(
Date
startTime
,
Date
endTime
,
Integer
syncType
)
{
FinanceSyncOrderDetailDto
detailDto
=
new
FinanceSyncOrderDetailDto
();
String
batchNo
=
DateUtils
.
dateTimeNow
()
+
"-"
+
Thread
.
currentThread
().
getId
();
try
{
if
(
ObjectUtils
.
isEmpty
(
startTime
))
{
// 查询最新的采集时间
Date
date
=
this
.
selectLatest
(
syncType
);
// 调用查询旺店通接口api 获取最新日期前的一个小时
startTime
=
DateUtils
.
addMinutes
(
date
,
-
3
);
}
if
(
ObjectUtils
.
isEmpty
(
endTime
))
{
endTime
=
DateUtils
.
addMinutes
(
startTime
,
60
);
}
log
.
info
(
"查询订单参数:开始时间{},结束时间{}"
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
endTime
));
List
<
FinanceOrder
>
orders
=
new
ArrayList
<>();
// wangdiantongUtil.queryWithDetail(startTime, endTime);
if
(
ObjectUtils
.
isEmpty
(
orders
))
{
throw
new
ServiceException
(
"旺店通没有查询到订单数据"
);
}
// 基础数据 直播间分类数据+成本、规格、口味
Map
<
String
,
FinanceBaseProduct
>
baseProductMap
=
baseProductService
.
selectBaseProduct
();
Map
<
String
,
String
>
baseZbjType
=
baseZbjTypeService
.
selectBaseZbjType
();
// 入库订单表
log
.
info
(
"开始插入订单数据,数量:{}"
,
orders
.
size
());
Date
finalStartTime
=
startTime
;
Date
finalEndTime
=
endTime
;
orders
.
forEach
(
order
->
{
order
.
setBatchNo
(
batchNo
);
order
.
setStartTime
(
finalStartTime
);
order
.
setEndTime
(
finalEndTime
);
order
.
setSyncType
(
syncType
);
});
this
.
saveOrUpdateBatch
(
orders
);
List
<
FinanceOrderDetail
>
mergeList
=
new
ArrayList
<>();
// 用于同一个订单号,来赋值直播间信息
Map
<
String
,
FinanceOrderDetail
>
orderZbj
=
new
HashMap
<>();
// 入库订单明细表
for
(
FinanceOrder
order
:
orders
)
{
List
<
FinanceOrderDetail
>
orderDetails
=
order
.
getDetailList
();
orderDetails
.
forEach
(
orderDetail
->
{
orderDetail
.
setTradeStatus
(
order
.
getTradeStatus
());
orderDetail
.
setShopNo
(
order
.
getShopNo
());
orderDetail
.
setShopName
(
order
.
getShopName
());
orderDetail
.
setShopRemark
(
order
.
getShopRemark
());
orderDetail
.
setReceivable
(
order
.
getReceivable
());
orderDetail
.
setReceiverArea
(
order
.
getReceiverArea
());
orderDetail
.
setConsignTime
(
order
.
getConsignTime
());
orderDetail
.
setTradeTime
(
order
.
getTradeTime
());
orderDetail
.
setBatchNo
(
batchNo
);
orderDetail
.
setTradeNo
(
order
.
getTradeNo
());
// 计算分销信息
orderDetail
.
setFenxiaoNick
(
orderDetail
.
getFenxiaoNick
(
order
));
orderDetail
.
setFenxiaoId
(
orderDetail
.
getFenxiaoId
(
order
,
orderDetail
.
getTradeId
()));
orderDetail
.
setFenxiaoName
(
orderDetail
.
getFenxiaoName
(
order
,
orderDetail
.
getTradeId
()));
orderDetail
.
setStartTime
(
finalStartTime
);
orderDetail
.
setEndTime
(
finalEndTime
);
orderDetail
.
setSyncType
(
syncType
);
// 如果存在相同的
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
.
setZbjQdType
(
orderDetail
.
getZbjQdType
(
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
));
orderDetail
.
setStandardCost
(
ObjectUtils
.
isNotEmpty
(
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()))
?
baseProductMap
.
get
(
orderDetail
.
getGoodsNo
()).
getStandardCost
()
:
new
BigDecimal
(
0
));
});
mergeList
.
addAll
(
orderDetails
);
}
log
.
info
(
"开始插入订单详情数据,数量:{}"
,
mergeList
.
size
());
// 批量插入
detailService
.
saveOrUpdateBatch
(
mergeList
);
detailDto
.
setOrders
(
orders
);
detailDto
.
setOrderCount
(
orders
.
size
());
detailDto
.
setOrderDetailCount
(
mergeList
.
size
());
detailDto
.
setOrderDetails
(
mergeList
);
log
.
info
(
"完成插入订单和订单详情数据,开始时间{},结束时间{},订单数量:{},详情数量:{}"
,
DateUtil
.
formatDateTime
(
startTime
),
DateUtil
.
formatDateTime
(
endTime
),
orders
.
size
(),
mergeList
.
size
());
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
// TODO 记录错误日志表 collect_error_info
throw
e
;
}
return
detailDto
;
}
}
}
src/main/java/com/link/bi/service/impl/ProductServiceImpl.java
浏览文件 @
e64fda75
package
com
.
link
.
bi
.
service
.
impl
;
package
com
.
link
.
bi
.
service
.
impl
;
import
com.link.bi.domain.dao.IProductDao
;
import
com.link.bi.domain.dao.IProductDao
;
import
com.link.bi.domain.entity.PrdInfo
;
import
com.link.bi.domain.wq.ProductWq
;
import
com.link.bi.domain.wq.ProductWq
;
import
com.link.bi.pojo.request.ProductVo
;
import
com.link.bi.pojo.request.ProductVo
;
import
com.link.bi.pojo.response.PrdInfoDto
;
import
com.link.bi.pojo.response.PrdInfoDto
;
...
@@ -10,7 +11,9 @@ import org.springframework.beans.BeanUtils;
...
@@ -10,7 +11,9 @@ import org.springframework.beans.BeanUtils;
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
...
@@ -41,4 +44,16 @@ public class ProductServiceImpl implements IProductService {
...
@@ -41,4 +44,16 @@ public class ProductServiceImpl implements IProductService {
List
<
PrdInfoDto
>
prdInfos
=
productDao
.
selectListByCodes
(
prdCodes
);
List
<
PrdInfoDto
>
prdInfos
=
productDao
.
selectListByCodes
(
prdCodes
);
return
prdInfos
;
return
prdInfos
;
}
}
@Override
public
Map
<
String
,
String
>
selectProdSeries
()
{
List
<
PrdInfo
>
prdInfos
=
productDao
.
selectProdSeries
();
// 转换成map
Map
<
String
,
String
>
map
=
new
HashMap
<>();
prdInfos
.
stream
().
forEach
(
prdInfo
->
{
map
.
put
(
prdInfo
.
getPrdCode
(),
prdInfo
.
getPrdName
());
});
return
map
;
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论