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

1、根据review修改代码,日志记录表按log结尾,service不再集成mybatis-plus提供的service,dao层返回数据都使用dto

上级 9a22fbbc
package com.link.bi.domain.dao;
import com.link.bi.domain.entity.CollectOrderLogInfo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.link.bi.domain.entity.CollectOrderLog;
import java.util.Date;
import java.util.List;
public interface CollectOrderLogInfoDao {
public interface CollectOrderLogDao {
// 插入一条记录
void insert(CollectOrderLogInfo collectOrderLogInfo);
void insert(CollectOrderLog collectOrderLog);
Date selectOrderSyncLatest(Integer syncType);
List<CollectOrderLog> list(Wrapper<CollectOrderLog> queryWrapper);
}
package com.link.bi.domain.dao;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.bi.domain.entity.FinanceBaseProduct;
import java.util.List;
/**
* @author : lvbencai
* @date : 2025年01月07日10:04:25
......@@ -7,4 +12,5 @@ package com.link.bi.domain.dao;
*/
public interface IFinanceBaseProductDao {
}
List<FinanceBaseProduct> list(LambdaQueryWrapper<FinanceBaseProduct> objectLambdaQueryWrapper);
}
package com.link.bi.domain.dao;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import java.util.List;
/**
* @author : lvbencai
* @date : 2025年01月14日
......@@ -7,4 +14,13 @@ package com.link.bi.domain.dao;
*/
public interface IFinanceBaseZbjTypeDao {
}
List<FinanceBaseZbjType> list(LambdaQueryWrapper<FinanceBaseZbjType> queryWrapper);
Page<FinanceBaseZbjType> page(Page<FinanceBaseZbjType> pageI, QueryWrapper<FinanceBaseZbjType> queryWrapper);
void removeByIds(List<Long> idsToDelete);
void saveBatch(List<FinanceBaseZbjType> recordsToSave);
void updateBatchById(List<FinanceBaseZbjType> recordsToUpdate);
}
package com.link.bi.domain.dao.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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 com.link.bi.domain.dao.CollectOrderLogDao;
import com.link.bi.domain.entity.CollectOrderLog;
import com.link.bi.domain.mapper.CollectOrderLogMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -12,25 +13,25 @@ import java.util.Date;
import java.util.List;
@Repository
public class CollectOrderLogInfoDaoImpl implements CollectOrderLogInfoDao {
public class CollectOrderLogDaoImpl implements CollectOrderLogDao {
@Autowired
private CollectOrderLogInfoMapper logInfoMapper;
private CollectOrderLogMapper logInfoMapper;
@Override
public void insert(CollectOrderLogInfo collectOrderLogInfo) {
logInfoMapper.insert(collectOrderLogInfo);
public void insert(CollectOrderLog collectOrderLog) {
logInfoMapper.insert(collectOrderLog);
}
@Override
public Date selectOrderSyncLatest(Integer syncType) {
// 查询最新发货日期
List<CollectOrderLogInfo> orderList = logInfoMapper.selectList(
new LambdaQueryWrapper<CollectOrderLogInfo>()
List<CollectOrderLog> orderList = logInfoMapper.selectList(
new LambdaQueryWrapper<CollectOrderLog>()
// 默认查询xxljob自动同步时间
.eq(CollectOrderLogInfo::getSyncType,syncType)
.eq(CollectOrderLogInfo::getDelFlag,0)
.orderByDesc(CollectOrderLogInfo::getUpdateTime)
.eq(CollectOrderLog::getSyncType,syncType)
.eq(CollectOrderLog::getDelFlag,0)
.orderByDesc(CollectOrderLog::getUpdateTime)
.last("LIMIT 1"));
if(ObjectUtils.isNotEmpty(orderList)){
// 最新的数据日期
......@@ -39,5 +40,10 @@ public class CollectOrderLogInfoDaoImpl implements CollectOrderLogInfoDao {
return null;
}
@Override
public List<CollectOrderLog> list(Wrapper<CollectOrderLog> queryWrapper) {
return logInfoMapper.selectList(queryWrapper);
}
}
package com.link.bi.domain.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.bi.domain.dao.IFinanceBaseProductDao;
import com.link.bi.domain.entity.FinanceBaseProduct;
import com.link.bi.domain.mapper.FinanceBaseProductMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author : lvbencai
* @date : 2025-01-14 17:00:00
......@@ -12,5 +18,11 @@ import org.springframework.stereotype.Service;
@Slf4j
@Service
public class FinanceBaseProductDaoImpl implements IFinanceBaseProductDao {
@Autowired
private FinanceBaseProductMapper mapper;
@Override
public List<FinanceBaseProduct> list(LambdaQueryWrapper<FinanceBaseProduct> objectLambdaQueryWrapper) {
return mapper.selectList(objectLambdaQueryWrapper);
}
}
package com.link.bi.domain.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.link.bi.domain.dao.IFinanceBaseZbjTypeDao;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import com.link.bi.domain.mapper.FinanceBaseZbjTypeMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author : lvbencai
* @date : 2025-01-14 17:30:00
......@@ -12,5 +20,33 @@ import org.springframework.stereotype.Service;
@Slf4j
@Service
public class FinanceBaseZbjTypeDaoImpl implements IFinanceBaseZbjTypeDao {
@Autowired
private FinanceBaseZbjTypeMapper mapper;
@Override
public List<FinanceBaseZbjType> list(LambdaQueryWrapper<FinanceBaseZbjType> queryWrapper) {
return mapper.selectList(new LambdaQueryWrapper<>());
}
@Override
public Page<FinanceBaseZbjType> page(Page<FinanceBaseZbjType> page, QueryWrapper<FinanceBaseZbjType> queryWrapper) {
return mapper.selectPage(page, queryWrapper);
}
@Override
public void removeByIds(List<Long> idsToDelete) {
mapper.deleteBatchIds(idsToDelete);
}
@Override
public void saveBatch(List<FinanceBaseZbjType> recordsToSave) {
//TODO 待完善
// mapper.
}
@Override
public void updateBatchById(List<FinanceBaseZbjType> recordsToUpdate) {
//TODO 待完善
// mapper.u
}
}
......@@ -12,9 +12,9 @@ import java.util.Map;
* CollectErrorInfo 类表示采集错误记录,与数据库表 market_bi.collect_error_info 相对应。
* 包含了采集错误记录的各种信息,如唯一键、入参信息、类型、采集时间、删除标志、创建和更新的用户及时间等。
*/
@TableName(value ="collect_error_info")
@TableName(value ="collect_error_log")
@Data
public class CollectErrorInfo {
public class CollectErrorLog {
......
......@@ -17,8 +17,8 @@ import java.util.Date;
* @description
*/
@Data
@TableName("collect_order_log_info")
public class CollectOrderLogInfo implements Serializable {
@TableName("collect_order_log")
public class CollectOrderLog implements Serializable {
/**
* 唯一键,用于唯一标识采集订单日志信息记录
......@@ -29,67 +29,56 @@ public class CollectOrderLogInfo implements Serializable {
/**
* 采集订单的数量,存储为字符串,长度不超过 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;
......
package com.link.bi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sfa.common.core.web.domain.BaseDo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 来自旺店通的订单
*
* @author 吕本才
* @date 2025年01月07日10:04:25
* 财务-订单数据实体类,对应数据库中的 finance_order 表
*/
@TableName(value = "finance_order")
@Data
public class FinanceOrder extends BaseDo {
// 订单唯一键
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "finance_order")
public class FinanceOrder {
/**
* 订单唯一键
*/
@TableId(type = IdType.NONE)
private Long tradeId;
// 订单编号(旺店通系统订单号)
/**
* 订单编号(旺店通系统订单号)
*/
private String tradeNo;
// 平台ID(请点击平台代码表查看对应关系)
/**
* 平台 ID(请点击平台代码表查看对应关系)
*/
private Integer platformId;
// 仓库类型:
// 1、普通仓库,大于1为委外仓库(如京东仓储,物流宝等),如订单无仓库的话,则不返回该字段
/**
* 仓库类型: 1、普通仓库,大于 1 为委外仓库(如京东仓储,物流宝等),如订单无仓库的话,则不返回该字段
*/
private Integer warehouseType;
// 原始单号(平台订单号),如果有多个,以","分隔,且以增序排列,不重复,过长将被裁剪
/**
* 原始单号(平台订单号),如果有多个,以","分隔,且以增序排列,不重复,过长将被裁剪
*/
private String srcTids;
// 平台支付帐号, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 平台支付帐号, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private String payAccount;
// 订单状态:
// 4 线下退款
// 5已取消
// 6 待转预订单(待审核)
// 7 待转已完成
// 10未付款
// 12待尾款
// 15等未付
// 16延时审核
// 19预订单前处理
// 20 审核前处理
// 21自流转待发货
// 23 异常订单
// 24 换货预订单
// 25 待处理预订单
// 27待分配预订单
// 30待客审
// 35待财审
// 40审核中
// 55已审核
// 95已发货
// 96 成本确认(待录入计划成本,订单结算时有货品无计划成本)
// 101 已过账
// 110已完成
/**
* 订单状态: 4 线下退款; 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;
// 订单类型:
// 1、网店销售
// 2、线下订单
// 3、售后换货
// 4、批发业务
// 7、现款销售
// 8、分销订单
// 101、自定义类型一
// 102、自定义类型二
// 103、自定义类型三
// 104、自定义类型四
// 105、自定义类型五
// 106、自定义类型六
// 107、自定义类型七
// 108、自定义类型八
// 109、自定义类型九
// 110、自定义类型十
// (与ERP中自定义类型的映射关系,点击链接查看)
/**
* 订单类型: 1、网店销售; 2、线下订单; 3、售后换货; 4、批发业务; 7、现款销售; 8、分销订单; 101、自定义类型一; 102、自定义类型二; 103、自定义类型三; 104、自定义类型四; 105、自定义类型五; 106、自定义类型六; 107、自定义类型七; 108、自定义类型八; 109、自定义类型九; 110、自定义类型十(与 ERP 中自定义类型的映射关系,点击链接查看)
*/
private Integer tradeType;
// 发货条件:
// 1、款到发货
// 2、货到付款(包含部分货到付款)
// 3、分期付款
// 4、挂账
/**
* 发货条件: 1、款到发货; 2、货到付款(包含部分货到付款); 3、分期付款; 4、挂账
*/
private Integer deliveryTerm;
// 京东几环(淘宝模糊化后的买家昵称)
/**
* 京东几环(淘宝模糊化后的买家昵称)
*/
private String receiverRing;
// 冻结原因
/**
* 冻结原因
*/
private String freezeReason;
// 退款状态:
// 0、无退款
// 1、申请退款
// 2、部分退款
// 3、全部退款
/**
* 退款状态: 0、无退款; 1、申请退款; 2、部分退款; 3、全部退款
*/
private Integer refundStatus;
// 分销类别:
// 0、非分销订单
// 1、代销
// 2、经销
/**
* 分销类别: 0、非分销订单; 1、代销; 2、经销
*/
private Integer fenxiaoType;
// 分销商昵称
/**
* 分销商昵称
*/
private String fenxiaoNick;
// 下单时间(毫秒级时间戳,例如:1631861379000)
/**
* 下单时间(毫秒级时间戳,例如:1631861379000)
*/
private String tradeTime;
// 付款时间,例如:2020-10-19 00:00:00
/**
* 付款时间,例如:2020 - 10 - 19 00:00:00
*/
private String payTime;
// 发货时间,订单未发货不返回该字段(毫秒级时间戳,例如:1631861379000)
/**
* 发货时间,订单未发货不返回该字段(毫秒级时间戳,例如:1631861379000)
*/
private Date consignTime;
// 客户网名(淘宝ouid,淘系平台不返回), (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 客户网名(淘宝 ouid,淘系平台不返回), (仅自有平台及线下平台返回,其他平台均不返回)
*/
private String buyerNick;
// 收货人/收件人, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 收货人/收件人, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private String receiverName;
// 省份id,可参考城市代码表
/**
* 省份 id,可参考城市代码表
*/
private Integer receiverProvince;
// 城市id,可参考城市代码表
/**
* 城市 id,可参考城市代码表
*/
private Integer receiverCity;
// 地区id,可参考城市代码表
/**
* 地区 id,可参考城市代码表
*/
private Integer receiverDistrict;
// 收件人地址, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 收件人地址, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private String receiverAddress;
// 手机,(仅自有平台及线下平台返回,其他平台均不返回)
/**
* 手机,(仅自有平台及线下平台返回,其他平台均不返回)
*/
private String receiverMobile;
// 固话, (仅自有平台及线下平台返回,其他平台均不返回)
/**
* 固话, (仅自有平台及线下平台返回,其他平台均不返回)
*/
private String receiverTelno;
// 邮编
/**
* 邮编
*/
private String receiverZip;
// 地区
/**
* 地区
*/
private String receiverArea;
// 大头笔
/**
* 大头笔
*/
private String receiverDtb;
// 异常订单原因(位运算):
// 2、修改地址
// 4、修改发票
// 8、更换仓库
// 16、修改备注
// 32、更换货品
// 128、拦截赠品
// 256、拦截换货
// 512、买家留言变化
// 1024、拦截平台已发货
/**
* 异常订单原因(位运算): 2、修改地址; 4、修改发票; 8、更换仓库; 16、修改备注; 32、更换货品; 128、拦截赠品; 256、拦截换货; 512、买家留言变化; 1024、拦截平台已发货
*/
private Integer badReason;
// 物流单号
/**
* 物流单号
*/
private String logisticsNo;
// 买家留言
/**
* 买家留言
*/
private String buyerMessage;
// 客服备注
/**
* 客服备注
*/
private String csRemark;
// 标旗(1 红、2 黄、3 绿、4 蓝、5 紫 )
/**
* 标旗(1 红、2 黄、3 绿、4 蓝、5 紫 )
*/
private Integer remarkFlag;
// 打印备注
/**
* 打印备注
*/
private String printRemark;
// 货品种类数
/**
* 货品种类数
*/
private BigDecimal goodsTypeCount;
// 货品总量
/**
* 货品总量
*/
private BigDecimal goodsCount;
// 总货款(折前总额)
/**
* 总货款(折前总额)
*/
private BigDecimal goodsAmount;
// 邮费(买家支付邮费)
/**
* 邮费(买家支付邮费)
*/
private BigDecimal postAmount;
// 其他费用
/**
* 其他费用
*/
private BigDecimal otherAmount;
// 优惠
/**
* 优惠
*/
private BigDecimal discount;
// 应收
/**
* 应收
*/
private BigDecimal receivable;
// COD金额(货到付款金额)
/**
* COD 金额(货到付款金额)
*/
private BigDecimal codAmount;
// 买家COD费用
/**
* 买家 COD 费用
*/
private BigDecimal extCodFee;
// 货品预估成本
/**
* 货品预估成本
*/
private BigDecimal goodsCost;
// 预估邮资成本
/**
* 预估邮资成本
*/
private BigDecimal postCost;
// 预估重量(kg)
/**
* 预估重量(kg)
*/
private BigDecimal weight;
// 预估毛利
/**
* 预估毛利
*/
private BigDecimal profit;
// 税额
/**
* 税额
*/
private BigDecimal tax;
// 税率
/**
* 税率
*/
private BigDecimal taxRate;
// 佣金
/**
* 佣金
*/
private BigDecimal commission;
// 发票类型:
// 0:不需要
// 1:普通发票
// 2:增值税普通发票
// 3:增值税专用发票
/**
* 发票类型: 0:不需要; 1:普通发票; 2:增值税普通发票; 3:增值税专用发票
*/
private Integer invoiceType;
// 发票抬头
/**
* 发票抬头
*/
private String invoiceTitle;
// 发票内容
/**
* 发票内容
*/
private String invoiceContent;
// 业务员
/**
* 业务员
*/
private String salesmanName;
// 审核人
/**
* 审核人
*/
private String checkerName;
// 财审人
/**
* 财审人
*/
private String fcheckerName;
// 签出人
/**
* 签出人
*/
private String checkouterName;
// 出库单号(系统产生的出库单号)
/**
* 出库单号(系统产生的出库单号)
*/
private String stockoutNo;
// 标记名称
/**
* 标记名称
*/
private String flagName;
// 订单来源:
// 1、API抓单
// 2、手工建单
// 3、导入
// 4、复制订单
// 5、接口推送
// 6、补发订单
// 7、PDA选货开单
// 8、分销补发订单
/**
* 订单来源: 1、API 抓单; 2、手工建单; 3、导入; 4、复制订单; 5、接口推送; 6、补发订单; 7、PDA 选货开单; 8、分销补发订单
*/
private Integer tradeFrom;
// 货品商家编码,多种货品为空,组合装时为组合装编码
/**
* 货品商家编码,多种货品为空,组合装时为组合装编码
*/
private String singleSpecNo;
// 原始货品数量
/**
* 原始货品数量
*/
private BigDecimal rawGoodsCount;
// 原始货品种类数
/**
* 原始货品种类数
*/
private Integer rawGoodsTypeCount;
// 币种
/**
* 币种
*/
private String currency;
// 发票ID(自增生成),0代表没有发票或已取消/已冲红
/**
* 发票 ID(自增生成),0 代表没有发票或已取消/已冲红
*/
private Integer invoiceId;
// 版本号
/**
* 版本号
*/
private Integer versionId;
// 修改时间,例如:2020-10-19 00:00:00
/**
* 修改时间,例如:2020 - 10 - 19 00:00:00
*/
private Date modified;
// 递交时间(毫秒级时间戳,例如:1631861379000)
/**
* 递交时间(毫秒级时间戳,例如:1631861379000)
*/
private String created;
// 审核时间
/**
* 审核时间
*/
private String checkTime;
// 证件类别
private Integer id_cardType;
// 店铺编号
/**
* 证件类别
*/
private Integer idCardType;
/**
* 店铺编号
*/
private String shopNo;
// 店铺名称
/**
* 店铺名称
*/
private String shopName;
// 店铺备注
/**
* 店铺备注
*/
private String shopRemark;
// 仓库编号,如订单无仓库的话,则不返回该字段
/**
* 仓库编号,如订单无仓库的话,则不返回该字段
*/
private String warehouseNo;
// 客户姓名
/**
* 客户姓名
*/
private String customerName;
// 客户编码
/**
* 客户编码
*/
private String customerNo;
// 物流公司名称
/**
* 物流公司名称
*/
private String logisticsName;
// 物流公司编号
/**
* 物流公司编号
*/
private String logisticsCode;
// 物流类型名称
/**
* 物流类型名称
*/
private String logisticsTypeName;
// 送货时间,例如:2020-10-19 00:00:00
/**
* 送货时间,例如:2020 - 10 - 19 00:00:00
*/
private String toDeliverTime;
// 计划发货时间
/**
* 计划发货时间
*/
private String delayToTime;
// 最晚发货时间
/**
* 最晚发货时间
*/
private String estimateConsignTime;
// 店铺id
/**
* 店铺 id
*/
private Integer shopId;
// 仓库id
/**
* 仓库 id
*/
private Integer warehouseId;
// 体积
/**
* 体积
*/
private BigDecimal volume;
// 订单标签
/**
* 订单标签
*/
private String tradeLabel;
// 订单掩码
// 1:使用智选物流
// 2:货品标签
// 4:预订单自动激活失败
// 16:订单货品指定批次
// 32:平台自动流转仓库
// 64:部分发货
// 128:全部发货
// 256:优先占用
// 512:待分配转审核失败或订单审核失败
// 1024:催未付款订单短信发送标记
// 2048:拆分
// 在判断的时候使用&运算
/**
* 1:使用智选物流; 2:货品标签; 4:预订单自动激活失败; 16:订单货品指定批次; 32:平台自动流转仓库; 64:部分发货; 128:全部发货; 256:优先占用; 512:待分配转审核失败或订单审核失败; 1024:催未付款订单短信发送标记; 2048:拆分(在判断的时候使用&运算)
*/
private Integer tradeMask;
// 店铺平台id
/**
* 店铺平台 id
*/
private Integer shopPlatformId;
// 子平台id
/**
* 子平台 id
*/
private Integer subPlatformId;
// 包装
/**
* 包装
*/
private String packageName;
// 包装id
/**
* 包装 id
*/
private Integer packageId;
// 包装成本
/**
* 包装成本
*/
private BigDecimal packageCost;
// 已付
/**
* 已付
*/
private BigDecimal paid;
// 大件类型
// 1:普通套件
// 2:独立套件
// 3:分组单发,未使用
// -1:非单发件 取子单中的最大值
/**
* 大件类型: 1:普通套件; 2:独立套件; 3:分组单发,未使用; -1:非单发件 取子单中的最大值
*/
private Integer largeType;
// 赠品标记
// 1:自动赠送
// 2:手工赠送
// 4:回购赠送
// 8:平台赠送
// (注意:如果是3,则表示既有自动赠送也有手工赠送“1+2”)
/**
* 赠品标记: 1:自动赠送; 2:手工赠送; 4:回购赠送; 8:平台赠送(注意:如果是 3,则表示既有自动赠送也有手工赠送“1 + 2”)
*/
private Integer giftMask;
// 客户id
/**
* 客户 id
*/
private Integer customerId;
// 其他成本
/**
* 其他成本
*/
private BigDecimal otherCost;
// 不可合并拆分
private boolean isSealed;
// 客户类型(0:普通客户;1:分销商;2:线下批发)
/**
* 不可合并拆分
*/
private Boolean isSealed;
/**
* 客户类型(0:普通客户;1:分销商;2:线下批发)
*/
private Integer customerType;
// 物流公司id
/**
* 物流公司 id
*/
private Integer logisticsId;
// 取消原因
/**
* 取消原因
*/
private String cancelReason;
// 驳回原因
/**
* 驳回原因
*/
private String revertReason;
// 订单标签mask
/**
* 订单标签 mask
*/
private String newTradeLabel;
// 分销原始单号(无长度限制)
/**
* 分销原始单号(无长度限制)
*/
private String fenxiaoTid;
// 批次号
/**
* 是否删除标志 0 未删除 1 已删除
*/
private String delFlag;
/**
* 创建者
*/
private String createBy;
/**
* 创建人 UserID
*/
private Long createUserId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 修改人 UserID
*/
private Long updateUserId;
/**
* 更新时间
*/
private Date updateTime;
/**
* 采集批次
*/
private String batchNo;
// 采集开始时间
/**
* 本批次采集开始时间,例如:2020 - 10 - 19 00:00:00
*/
private Date startTime;
// 采集结束时间
/**
* 本批批次采集结束时间,例如:2020 - 10 - 19 00:00:00
*/
private Date endTime;
// 同步类型,接口为1手动同步,0 xxljob自动同步,
/**
* 同步类型 ,接口为 1 手动同步,0 xxljob 自动同步
*/
private Integer syncType;
// 订单明细
@TableField(exist = false)
private List<FinanceOrderDetail> detailList;
}
package com.link.bi.domain.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.bi.domain.entity.CollectOrderLogInfo;
import com.link.bi.domain.entity.CollectOrderLog;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CollectOrderLogInfoMapper extends BaseMapper<CollectOrderLogInfo> {
public interface CollectOrderLogMapper extends BaseMapper<CollectOrderLog> {
}
package com.link.bi.pojo.response;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 采集订单日志信息
*
* @author lvbencai
* @date a
* @description
*/
@Data
public class CollectOrderLogListDto implements Serializable {
/**
* 唯一键,用于唯一标识采集订单日志信息记录
*/
private Long cliId;
/**
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
*/
private Integer orderCount;
/**
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
*/
private Integer orderDetailCount;
/**
* 采集批次信息,可存储长度不超过 30 个字符,使用 utf8mb4 字符集和 utf8mb4_0900_ai_ci 校对规则
*/
private String batchNo;
/**
* 采集的最新时间,代表上一次采集的结束时间,存储为日期时间类型
*/
private Date latestTime;
/**
* 是否删除的标志,'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;
}
package com.link.bi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.CollectOrderLogInfo;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.link.bi.domain.entity.CollectOrderLog;
import java.util.Date;
import java.util.List;
public interface CollectOrderLogInfoService {
List<CollectOrderLog> list(Wrapper<CollectOrderLog> queryWrapper);
public interface CollectOrderLogInfoService extends IService<CollectOrderLogInfo> {
Date selectOrderSyncLatest(Integer syncType);
}
package com.link.bi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.FinanceBaseProduct;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceBaseProductListDto;
......@@ -10,8 +9,8 @@ import java.util.List;
import java.util.Map;
public interface FinanceBaseProductService extends IService<FinanceBaseProduct> {
Map<String,FinanceBaseProduct> selectBaseProduct();
public interface FinanceBaseProductService {
Map<String, FinanceBaseProduct> selectBaseProduct();
List<FinanceBaseProductListDto> flavorList(FinanceSelectCommonVo commonVo);
......
......@@ -2,8 +2,6 @@ package com.link.bi.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import com.link.bi.pojo.request.FinanceBaseZbjTypeListVo;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceZbjTypeListDto;
......@@ -13,8 +11,8 @@ import java.util.List;
import java.util.Map;
public interface FinanceBaseZbjTypeService extends IService<FinanceBaseZbjType> {
Map<String,String> selectBaseZbjType();
public interface FinanceBaseZbjTypeService {
Map<String, String> selectBaseZbjType();
IPage<FinanceZbjTypeListDto> pageFinanceBaseZbjType(String keyword);
......
package com.link.bi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.link.bi.domain.entity.FinanceOrderDetail;
import com.link.bi.pojo.request.FinanceCostVo;
import com.link.bi.pojo.response.FinanceBiListDto;
import com.link.bi.pojo.response.FinanceOrderDetailListDto;
import javax.servlet.http.HttpServletResponse;
public interface FinanceOrderDetailService extends IService<FinanceOrderDetail> {
public interface FinanceOrderDetailService {
PageInfo<FinanceBiListDto> selectBiFinanceCostList(FinanceCostVo financeCostVo);
PageInfo<FinanceOrderDetailListDto> selectBiFinanceCostDetailPage(FinanceCostVo financeCostVo);
......
package com.link.bi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.FinanceOrder;
public interface FinanceOrderService extends IService<FinanceOrder> {
public interface FinanceOrderService {
}
package com.link.bi.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.link.bi.domain.entity.EcGoodsSupplyDemand;
import com.link.bi.domain.wq.MarketDetailWq;
import org.springframework.web.multipart.MultipartFile;
......@@ -15,7 +14,7 @@ import java.util.Map;
* @author admin
* @date 2024-12-05
*/
public interface IEcGoodsSupplyDemandService extends IService<EcGoodsSupplyDemand> {
public interface IEcGoodsSupplyDemandService {
List<EcGoodsSupplyDemand> importData(MultipartFile ecGoodsSupplyDemand, Integer year);
......
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.domain.dao.CollectOrderLogDao;
import com.link.bi.domain.entity.CollectOrderLog;
import com.link.bi.service.CollectOrderLogInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -13,16 +11,16 @@ import java.util.Date;
import java.util.List;
@Service
public class CollectOrderLogInfoServiceImpl extends ServiceImpl<CollectOrderLogInfoMapper, CollectOrderLogInfo> implements CollectOrderLogInfoService {
public class CollectOrderLogInfoServiceImpl implements CollectOrderLogInfoService {
@Autowired
private CollectOrderLogInfoDao dao;
private CollectOrderLogDao dao;
@Override
public List<CollectOrderLogInfo> list(Wrapper<CollectOrderLogInfo> queryWrapper) {
return list(queryWrapper);
public List<CollectOrderLog> list(Wrapper<CollectOrderLog> queryWrapper) {
return dao.list(queryWrapper);
}
/**
* 查询最新修改日期
......
......@@ -3,11 +3,9 @@ package com.link.bi.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.link.bi.config.listener.EcGoodsSupplyDemandListener;
import com.link.bi.domain.dao.IEcGoodsSupplyDemandDao;
import com.link.bi.domain.entity.EcGoodsSupplyDemand;
import com.link.bi.domain.mapper.EcGoodsSupplyDemandMapper;
import com.link.bi.domain.wq.MarketDetailWq;
import com.link.bi.pojo.response.PrdInfoDto;
import com.link.bi.service.IEcGoodsSupplyDemandService;
......@@ -31,7 +29,7 @@ import java.util.Map;
*/
@Service
@Slf4j
public class EcGoodsSupplyDemandServiceImpl extends ServiceImpl<EcGoodsSupplyDemandMapper, EcGoodsSupplyDemand> implements IEcGoodsSupplyDemandService {
public class EcGoodsSupplyDemandServiceImpl implements IEcGoodsSupplyDemandService {
@Autowired
IEcGoodsSupplyDemandDao demandDao;
......
......@@ -3,14 +3,14 @@ package com.link.bi.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.link.bi.domain.dao.IFinanceBaseProductDao;
import com.link.bi.domain.entity.FinanceBaseProduct;
import com.link.bi.domain.mapper.FinanceBaseProductMapper;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceBaseProductListDto;
import com.link.bi.service.FinanceBaseProductService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
......@@ -29,13 +29,15 @@ import java.util.stream.Collectors;
@DS("bi")
@Slf4j
@Service
public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProductMapper, FinanceBaseProduct> implements FinanceBaseProductService {
public class FinanceBaseProductServiceImpl implements FinanceBaseProductService {
@Autowired
private IFinanceBaseProductDao dao;
@Override
public Map<String, FinanceBaseProduct> selectBaseProduct() {
// 查询所有商品
List<FinanceBaseProduct> list = list();
List<FinanceBaseProduct> list = dao.list(new LambdaQueryWrapper<>());
// 以料号为key,商品对象为value,放入map中
Map<String, FinanceBaseProduct> map = list.stream()
.collect(HashMap::new, (k, v) -> k.put(v.getPrdCode(), v), HashMap::putAll);
......@@ -49,7 +51,7 @@ public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProduc
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getFlavor, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getFlavor);
queryWrapper.orderByDesc(FinanceBaseProduct::getFlavor);
List<FinanceBaseProduct> list = list(queryWrapper);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
......@@ -72,7 +74,7 @@ public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProduc
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getSpec, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getSpec);
queryWrapper.orderByDesc(FinanceBaseProduct::getSpec);
List<FinanceBaseProduct> list = list(queryWrapper);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
......@@ -92,7 +94,7 @@ public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProduc
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getPrdName, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getPrdName);
queryWrapper.orderByDesc(FinanceBaseProduct::getPrdName);
List<FinanceBaseProduct> list = list(queryWrapper);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream().map(item -> {
......@@ -113,7 +115,7 @@ public class FinanceBaseProductServiceImpl extends ServiceImpl<FinanceBaseProduc
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getSeries, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getSeries);
queryWrapper.orderByDesc(FinanceBaseProduct::getSeries);
List<FinanceBaseProduct> list = list(queryWrapper);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
......
......@@ -4,15 +4,13 @@ package com.link.bi.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.link.bi.config.listener.FinanceBaseZbjTypeListener;
import com.link.bi.domain.dao.IFinanceBaseZbjTypeDao;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import com.link.bi.domain.mapper.FinanceBaseZbjTypeMapper;
import com.link.bi.pojo.request.FinanceBaseZbjTypeListVo;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceBaseZbjTypeImportDto;
......@@ -20,6 +18,8 @@ import com.link.bi.pojo.response.FinanceZbjTypeListDto;
import com.link.bi.service.FinanceBaseZbjTypeService;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.page.TableSupport;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
......@@ -36,12 +36,15 @@ import java.util.stream.Collectors;
* @author lvbencai
* @date 2025年01月07日17:00:16
*/
@DS("bi")
//@DS("bi")
@Service
public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTypeMapper, FinanceBaseZbjType> implements FinanceBaseZbjTypeService {
@Slf4j
public class FinanceBaseZbjTypeServiceImpl implements FinanceBaseZbjTypeService {
@Autowired
private IFinanceBaseZbjTypeDao dao;
@Override
public Map<String, String> selectBaseZbjType() {
List<FinanceBaseZbjType> list = list();
List<FinanceBaseZbjType> list = dao.list(new LambdaQueryWrapper<>());
// 以fenxiaoName为key,直播间渠道类型为value,放入map中
Map<String, String> map = list.stream()
.collect(HashMap::new, (k, v) -> k.put(v.getFenxiaoName(), v.getZbjQdType()), HashMap::putAll);
......@@ -60,7 +63,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
if (keyword != null && !keyword.isEmpty()) {
queryWrapper.like("zbj_qd_type", keyword);
}
Page<FinanceBaseZbjType> page = this.page(TableSupport.pageI(), queryWrapper);
Page<FinanceBaseZbjType> page = dao.page(TableSupport.pageI(), queryWrapper);
Page<FinanceZbjTypeListDto> result = new Page<>();
BeanUtils.copyProperties(page, result);
result.setRecords(page.getRecords().stream().map(item -> {
......@@ -76,6 +79,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
/**
* 成本分析页面-查询下拉列表数据
*
* @param commonVo
* @return
*/
......@@ -85,7 +89,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
queryWrapper.select(FinanceBaseZbjType::getZbjQdType);
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseZbjType::getZbjQdType, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseZbjType::getZbjQdType);
List<FinanceBaseZbjType> list = list(queryWrapper);
List<FinanceBaseZbjType> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceZbjTypeListDto> result = new ArrayList<>();
......@@ -99,6 +103,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
/**
* 直播间分类页面-查询列表数据
*
* @param zbjTypeListVo
* @return
*/
......@@ -106,7 +111,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
public List<FinanceZbjTypeListDto> baseZbjTypeAllList(FinanceBaseZbjTypeListVo zbjTypeListVo) {
LambdaQueryWrapper<FinanceBaseZbjType> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(zbjTypeListVo.getZbjQdType() != null && !zbjTypeListVo.getZbjQdType().isEmpty(), FinanceBaseZbjType::getZbjQdType, zbjTypeListVo.getZbjQdType());
List<FinanceBaseZbjType> list = list(queryWrapper);
List<FinanceBaseZbjType> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceZbjTypeListDto> result = new ArrayList<>();
......@@ -114,7 +119,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
FinanceZbjTypeListDto dto = new FinanceZbjTypeListDto();
BeanUtils.copyProperties(item, dto);
// 如果fenxiaoName为空,设置为- 2025年02月07日10:35:25
if(ObjectUtil.isEmpty(dto.getFenxiaoName())){
if (ObjectUtil.isEmpty(dto.getFenxiaoName())) {
dto.setFenxiaoName("-");
}
result.add(dto);
......@@ -124,6 +129,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
/**
* 执行Excel数据全量同步
*
* @param file 上传的Excel文件
*/
@Transactional(rollbackFor = Exception.class)
......@@ -141,7 +147,7 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
List<FinanceBaseZbjType> dataList = importData.stream().map(item -> {
FinanceBaseZbjType zbjType = new FinanceBaseZbjType();
BeanUtils.copyProperties(item, zbjType);
zbjType.setBatchNo(DateUtil.format(new Date(),"yyyyMMddHHmmss"));
zbjType.setBatchNo(DateUtil.format(new Date(), "yyyyMMddHHmmss"));
return zbjType;
}).collect(Collectors.toList());
......@@ -151,18 +157,19 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
batchUpsertProducts(dataList);
return "文件解析并更新数据成功。";
} catch (IOException e) {
log.error(e.getMessage(),e);
log.error(e.getMessage(), e);
return "文件解析失败,请检查文件格式或内容。";
}
}
public void deleteAbsentProducts(List<FinanceBaseZbjType> dataList) {
Set excelQdTypes = dataList.stream()
.map(FinanceBaseZbjType::getZbjQdType)
.collect(Collectors.toSet()) ;
.collect(Collectors.toSet());
// 查询数据库中所有数据
List<FinanceBaseZbjType> allDbRecords = this.list();
List<FinanceBaseZbjType> allDbRecords = dao.list(new LambdaQueryWrapper<>());
// 找出数据库中存在但 Excel 中不存在的记录的 fbztId
List<Long> idsToDelete = new ArrayList<>();
for (FinanceBaseZbjType dbRecord : allDbRecords) {
......@@ -173,45 +180,45 @@ public class FinanceBaseZbjTypeServiceImpl extends ServiceImpl<FinanceBaseZbjTyp
}
// 删除这些记录
if (!idsToDelete.isEmpty()) {
this.removeByIds(idsToDelete);
dao.removeByIds(idsToDelete);
}
}
public void batchUpsertProducts(List<FinanceBaseZbjType> dataList) {
// 查询数据库中所有数据
List<FinanceBaseZbjType> allDbRecords = this.list();
List<FinanceBaseZbjType> allDbRecords = dao.list(new LambdaQueryWrapper<>());
// FbztId匹配到的更新,否则进行保存
List<FinanceBaseZbjType> recordsToSave = new ArrayList<>();
List<FinanceBaseZbjType> recordsToUpdate = new ArrayList<>();
dataList.forEach(data -> {
FinanceBaseZbjType existingRecord = allDbRecords.stream()
.filter(record -> checkRecord(record,data) )
.filter(record -> checkRecord(record, data))
.findFirst()
.orElse(null);
if (existingRecord != null) {
// 更新
BeanUtils.copyProperties(data, existingRecord);
recordsToUpdate.add(existingRecord);
}else {
} else {
// 保存
recordsToSave.add(data);
}
});
// 批量保存
if (!recordsToSave.isEmpty()) {
this.saveBatch(recordsToSave);
dao.saveBatch(recordsToSave);
}
// 批量更新
if (!recordsToUpdate.isEmpty()) {
this.updateBatchById(recordsToUpdate);
dao.updateBatchById(recordsToUpdate);
}
}
private boolean checkRecord(FinanceBaseZbjType record, FinanceBaseZbjType data) {
if(ObjectUtil.isNotEmpty(record.getFenxiaoName())){
if (ObjectUtil.isNotEmpty(record.getFenxiaoName())) {
return record.getFenxiaoName().equals(data.getFenxiaoName())
&& record.getZbjQdType().equals(data.getZbjQdType());
}else{
} else {
return ObjectUtil.isEmpty(data.getFenxiaoName()) && record.getZbjQdType().equals(data.getZbjQdType());
}
}
......
......@@ -9,11 +9,9 @@ import com.alibaba.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.metadata.style.WriteFont;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.link.bi.domain.dao.IFinanceOrderDetailDao;
import com.link.bi.domain.entity.FinanceOrderDetail;
import com.link.bi.domain.mapper.FinanceOrderDetailMapper;
import com.link.bi.domain.wq.FinanceCostWq;
import com.link.bi.pojo.request.FinanceCostVo;
import com.link.bi.pojo.response.FinanceBiListDto;
......@@ -49,7 +47,7 @@ import java.util.stream.Collectors;
*/
@Slf4j
@Service
public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetailMapper, FinanceOrderDetail> implements FinanceOrderDetailService {
public class FinanceOrderDetailServiceImpl implements FinanceOrderDetailService {
@Autowired
IFinanceOrderDetailDao detailDao;
......@@ -61,8 +59,6 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
public PageInfo<FinanceBiListDto> selectBiFinanceCostList(FinanceCostVo financeCostVo) {
PageInfo<FinanceBiListDto> pageInfo = new PageInfo<>();
// 多线程,设置不同线程的参数
log.info("多线程开始");
log.info("00000000000000");
List<Date[]> dates = DateUtils.splitTimeInterval(financeCostVo.getStartDate(), financeCostVo.getEndDate());
if (dates.size() == 0) {
return pageInfo;
......@@ -98,7 +94,6 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
PageInfo<FinanceOrderDetail> orderDetailPageInfo = new PageInfo<>();
long total = 0;
int pages = 1;
log.info("1111111");
List<FinanceOrderDetail> aggregatedResult = new ArrayList<>();
try {
......@@ -108,7 +103,6 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
@Override
public PageInfo<FinanceOrderDetail> call() throws Exception {
PageInfo<FinanceOrderDetail> detailPageInfo = detailDao.selectBiFinanceCostList(wq);
log.info("dddddddd");
endLock.countDown();
log.info("{} has finished the job!");
return detailPageInfo;
......@@ -118,8 +112,7 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
}
endLock.await();
log.info("终于轮到我了1-" + queue.size());
log.info("终于轮到我了2-" + queue.size());
log.info("endLock.await()结束-" + queue.size());
// 汇聚结果
for (Future<PageInfo<FinanceOrderDetail>> future : queue) {
......@@ -181,7 +174,6 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
// 关闭线程池
executorService.shutdown();
}
}
......@@ -261,13 +253,13 @@ public class FinanceOrderDetailServiceImpl extends ServiceImpl<FinanceOrderDetai
// 交易时间 毫秒转时间
dto.setTradeTime(DateUtil.format(new Date(Long.parseLong(dto.getTradeTime())), "yyyy-MM-dd HH:mm:ss"));
// 订单状态 转换 96 成本确认 110 已完成
if(ObjectUtil.isNotEmpty(dto.getTradeStatus())){
if (ObjectUtil.isNotEmpty(dto.getTradeStatus())) {
if (dto.getTradeStatus().equals("96")) {
dto.setTradeStatus("成本确认");
} else if (dto.getTradeStatus().equals("110")) {
dto.setTradeStatus("已完成");
}
}else{
} else {
dto.setTradeStatus("-");
}
......
package com.link.bi.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.link.bi.domain.entity.FinanceOrder;
import com.link.bi.domain.mapper.FinanceOrderMapper;
import com.link.bi.service.FinanceOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
......@@ -17,6 +14,6 @@ import org.springframework.stereotype.Service;
@DS("bi")
@Slf4j
@Service
public class FinanceOrderServiceImpl extends ServiceImpl<FinanceOrderMapper, FinanceOrder> implements FinanceOrderService {
public class FinanceOrderServiceImpl implements FinanceOrderService {
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论