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

1、直播间分类保存优化

2、其他代码优化
上级 a9d5621f
......@@ -2,6 +2,7 @@ package com.link.bi.domain.dao;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.bi.domain.entity.FinanceBaseProduct;
import com.link.bi.pojo.response.FinanceBaseProductDto;
import java.util.List;
......@@ -12,5 +13,5 @@ import java.util.List;
*/
public interface IFinanceBaseProductDao {
List<FinanceBaseProduct> list(LambdaQueryWrapper<FinanceBaseProduct> objectLambdaQueryWrapper);
List<FinanceBaseProductDto> list(LambdaQueryWrapper<FinanceBaseProduct> queryWrapper);
}
......@@ -23,4 +23,7 @@ public interface IFinanceBaseZbjTypeDao {
void saveBatch(List<FinanceBaseZbjType> recordsToSave);
void updateBatchById(List<FinanceBaseZbjType> recordsToUpdate);
}
void saveOrUpdateBatch(List<FinanceBaseZbjType> dataList);
}
......@@ -4,6 +4,8 @@ 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 com.link.bi.pojo.response.FinanceBaseProductDto;
import com.sfa.common.core.utils.bean.BeanUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -22,7 +24,9 @@ public class FinanceBaseProductDaoImpl implements IFinanceBaseProductDao {
private FinanceBaseProductMapper mapper;
@Override
public List<FinanceBaseProduct> list(LambdaQueryWrapper<FinanceBaseProduct> objectLambdaQueryWrapper) {
return mapper.selectList(objectLambdaQueryWrapper);
public List<FinanceBaseProductDto> list(LambdaQueryWrapper<FinanceBaseProduct> queryWrapper) {
List<FinanceBaseProduct> financeBaseProducts = mapper.selectList(queryWrapper);
return BeanUtils.transitionDtos(financeBaseProducts,FinanceBaseProductDto.class);
}
}
......@@ -39,14 +39,27 @@ public class FinanceBaseZbjTypeDaoImpl implements IFinanceBaseZbjTypeDao {
}
@Override
public void saveBatch(List<FinanceBaseZbjType> recordsToSave) {
//TODO 待完善
// mapper.
public void saveBatch(List<FinanceBaseZbjType> dataList) {
for (FinanceBaseZbjType data : dataList) {
mapper.insert(data);
}
}
@Override
public void updateBatchById(List<FinanceBaseZbjType> recordsToUpdate) {
//TODO 待完善
// mapper.u
public void updateBatchById(List<FinanceBaseZbjType> dataList) {
for (FinanceBaseZbjType data : dataList) {
mapper.updateById(data);
}
}
@Override
public void saveOrUpdateBatch(List<FinanceBaseZbjType> dataList) {
for (int i = 0; i < dataList.size(); i += 100) {
int toIndex = Math.min(i + 100, dataList.size());
List<FinanceBaseZbjType> batchLists = dataList.subList(i, toIndex);
mapper.saveOrUpdateBatch(batchLists);
}
}
}
......@@ -232,7 +232,7 @@ public class FinanceOrderDetail {
// 店铺备注
private String shopRemark;
// 交易状态
private Integer tradeStatus;
private String tradeStatus;
// 交易时间
private String tradeTime;
// 发货时间,订单未发货不返回该字段(毫秒级时间戳,例如:1631861379000)
......
......@@ -4,7 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.bi.domain.entity.FinanceBaseZbjType;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface FinanceBaseZbjTypeMapper extends BaseMapper<FinanceBaseZbjType> {
void saveOrUpdateBatch(List<FinanceBaseZbjType> batchLists);
}
package com.link.bi.pojo.response;
import lombok.Data;
import java.math.BigDecimal;
/**
* 旺店通订单
*
* @author lvbencai
* @date 2025年02月26日17:21:01
*/
@Data
public class FinanceBaseProductDto {
// 唯一标识主键
private Integer fbpId;
// 料号
private String prdCode;
// 品名
private String prdName;
// 规格
private String prdBarCode;
// 实际成本
private BigDecimal actualCost;
// 标准成本
private BigDecimal standardCost;
// 一级分类
private String firstCategory;
// 二级分类
private String secondCategory;
// 规格
private String spec;
// 口味
private String flavor;
// 系列
private String series;
// 产品分类编码
private String productClassificationCode;
// 产品分类
private String productClassification;
// 主分群码(重复字段,可根据实际需求调整)
private String mainGroupCode;
// 主分群码名称
private String mainGroupName;
// 料件类别(重复字段,可根据实际需求调整)
private String materialType;
// 料件类别描述
private String materialTypeName;
// 基础单位
private String basicUnit;
// 生命周期状态
private String lifeCycleStatus;
// 生命周期
private String lifeCycle;
}
package com.link.bi.service;
import com.link.bi.domain.entity.FinanceBaseProduct;
import com.link.bi.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceBaseProductDto;
import com.link.bi.pojo.response.FinanceBaseProductListDto;
import java.util.List;
......@@ -10,7 +10,7 @@ import java.util.Map;
public interface FinanceBaseProductService {
Map<String, FinanceBaseProduct> selectBaseProduct();
Map<String, FinanceBaseProductDto> selectBaseProduct();
List<FinanceBaseProductListDto> flavorList(FinanceSelectCommonVo commonVo);
......
......@@ -6,6 +6,7 @@ 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.pojo.request.FinanceSelectCommonVo;
import com.link.bi.pojo.response.FinanceBaseProductDto;
import com.link.bi.pojo.response.FinanceBaseProductListDto;
import com.link.bi.service.FinanceBaseProductService;
import lombok.extern.slf4j.Slf4j;
......@@ -35,11 +36,11 @@ public class FinanceBaseProductServiceImpl implements FinanceBaseProductService
private IFinanceBaseProductDao dao;
@Override
public Map<String, FinanceBaseProduct> selectBaseProduct() {
public Map<String, FinanceBaseProductDto> selectBaseProduct() {
// 查询所有商品
List<FinanceBaseProduct> list = dao.list(new LambdaQueryWrapper<>());
List<FinanceBaseProductDto> list = dao.list(new LambdaQueryWrapper<>());
// 以料号为key,商品对象为value,放入map中
Map<String, FinanceBaseProduct> map = list.stream()
Map<String, FinanceBaseProductDto> map = list.stream()
.collect(HashMap::new, (k, v) -> k.put(v.getPrdCode(), v), HashMap::putAll);
return map;
}
......@@ -51,7 +52,7 @@ public class FinanceBaseProductServiceImpl implements FinanceBaseProductService
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getFlavor, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getFlavor);
queryWrapper.orderByDesc(FinanceBaseProduct::getFlavor);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
List<FinanceBaseProductDto> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
......@@ -74,7 +75,7 @@ public class FinanceBaseProductServiceImpl implements FinanceBaseProductService
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getSpec, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getSpec);
queryWrapper.orderByDesc(FinanceBaseProduct::getSpec);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
List<FinanceBaseProductDto> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
......@@ -94,7 +95,7 @@ public class FinanceBaseProductServiceImpl implements FinanceBaseProductService
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getPrdName, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getPrdName);
queryWrapper.orderByDesc(FinanceBaseProduct::getPrdName);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
List<FinanceBaseProductDto> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream().map(item -> {
......@@ -115,7 +116,7 @@ public class FinanceBaseProductServiceImpl implements FinanceBaseProductService
queryWrapper.like(commonVo.getKeyword() != null && !commonVo.getKeyword().isEmpty(), FinanceBaseProduct::getSeries, commonVo.getKeyword());
queryWrapper.groupBy(FinanceBaseProduct::getSeries);
queryWrapper.orderByDesc(FinanceBaseProduct::getSeries);
List<FinanceBaseProduct> list = dao.list(queryWrapper);
List<FinanceBaseProductDto> list = dao.list(queryWrapper);
// 转化成List<FinanceZbjTypeListDto>
List<FinanceBaseProductListDto> collect = list.stream()
......
......@@ -187,7 +187,7 @@ public class FinanceBaseZbjTypeServiceImpl implements FinanceBaseZbjTypeService
public void batchUpsertProducts(List<FinanceBaseZbjType> dataList) {
// 查询数据库中所有数据
List<FinanceBaseZbjType> allDbRecords = dao.list(new LambdaQueryWrapper<>());
// FbztId匹配到的更新,否则进行保存
// FbztId匹配到的更新,否则进行保存
List<FinanceBaseZbjType> recordsToSave = new ArrayList<>();
List<FinanceBaseZbjType> recordsToUpdate = new ArrayList<>();
dataList.forEach(data -> {
......@@ -212,6 +212,7 @@ public class FinanceBaseZbjTypeServiceImpl implements FinanceBaseZbjTypeService
if (!recordsToUpdate.isEmpty()) {
dao.updateBatchById(recordsToUpdate);
}
// dao.saveOrUpdateBatch(dataList);
}
private boolean checkRecord(FinanceBaseZbjType record, FinanceBaseZbjType data) {
......
......@@ -253,15 +253,16 @@ public class FinanceOrderDetailServiceImpl implements FinanceOrderDetailService
// 交易时间 毫秒转时间
dto.setTradeTime(DateUtil.format(new Date(Long.parseLong(dto.getTradeTime())), "yyyy-MM-dd HH:mm:ss"));
// 订单状态 转换 96 成本确认 110 已完成
if (ObjectUtil.isNotEmpty(dto.getTradeStatus())) {
if (dto.getTradeStatus().equals("96")) {
dto.setTradeStatus("成本确认");
} else if (dto.getTradeStatus().equals("110")) {
dto.setTradeStatus("已完成");
}
} else {
dto.setTradeStatus("-");
}
// if (ObjectUtil.isNotEmpty(dto.getTradeStatus())) {
// if (dto.getTradeStatus().equals("96")) {
// dto.setTradeStatus("成本确认");
// } else if (dto.getTradeStatus().equals("110")) {
// dto.setTradeStatus("已完成");
// }
// } else {
// dto.setTradeStatus("-");
// }
dto.setFenxiaoName(ObjectUtil.isEmpty(item.getFenxiaoName())?item.getZbjQdType():item.getFenxiaoName());
// 货品类型 确认是否是从产品基础信息表中获取 包材-泡沫箱 包材-气泡袋 包材-纸箱 产品 成品-主营 成品-组合包 物料-常规 物料-联名等
return dto;
......
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.bi.domain.mapper.FinanceBaseZbjTypeMapper">
<insert id="saveOrUpdateBatch" parameterType="java.util.List">
insert into finance_base_zbj_type ( <include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="item" separator=",">
(
#{item.fbztId},#{item.fenxiaoName},#{item.zbjQdType},#{item.batchNo},#{item.remark},#{item.delFlag},#{item.createBy},#{item.createUserId},#{item.createTime},#{item.updateBy},#{item.updateUserId},#{item.updateTime}
)
</foreach>
ON DUPLICATE KEY UPDATE
fbzt_id = VALUES(fbzt_id),
fenxiao_name = VALUES(fenxiao_name),
zbj_qd_type = VALUES(zbj_qd_type),
batch_no = VALUES(batch_no),
remark = VALUES(remark),
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);
</insert>
<!-- 定义 Base_Column_List -->
<sql id="Base_Column_List">
fbzt_id,
fenxiao_name,
zbj_qd_type,
batch_no,
remark,
del_flag,
create_by,
create_user_id,
create_time,
update_by,
update_user_id,
update_time
</sql>
<!-- 定义结果映射 -->
<resultMap id="FinanceBaseZbjTypeResultMap" type="com.link.bi.domain.entity.FinanceBaseZbjType">
<id property="fbztId" column="fbzt_id"/>
<result property="fenxiaoName" column="fenxiao_name"/>
<result property="zbjQdType" column="zbj_qd_type"/>
<result property="batchNo" column="batch_no"/>
<result property="remark" column="remark"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="createUserId" column="create_user_id"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateUserId" column="update_user_id"/>
<result property="updateTime" column="update_time"/>
</resultMap>
</mapper>
......@@ -15,7 +15,7 @@
<!-- </if>-->
zbj_qd_type,
<if test="wq.zbjQdType!= null and !wq.zbjQdType.isEmpty() ">
<if test="wq.subType!= null and wq.subType == 0 ">
<if test="wq.subType!= null and wq.subType == 1 ">
fenxiao_id, fenxiao_name,
</if>
</if>
......@@ -30,7 +30,7 @@
</if>
<if test="(wq.series!= null and !wq.series.isEmpty() ) or wq.seriesAll == true ">
series,
<if test="wq.subType!= null and wq.subType == 0 ">
<if test="wq.subType!= null and wq.subType == 1 ">
goods_no,goods_name,
</if>
</if>
......@@ -121,7 +121,7 @@
<!-- 根据 类型和聚合的值 查询详情记录 -->
<select id="selectBiFinanceCostDetailList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
<include refid="Detail_Base_Column_List"/>
from finance_order_detail fod
<where>
shop_no IN ( '016', '070', '091')
......@@ -277,11 +277,11 @@
</delete>
<sql id="Base_Column_List">
<sql id="Detail_Base_Column_List">
trade_no
,shop_name,src_tid,src_oid,trade_status,trade_time,pay_time,consign_time,receiver_area,
remark,receivable,goods_no,goods_name,spec_name,goods_type,num,discount,share_amount,suite_no,
suite_name,suite_num,fenxiao_name,fenxiao_id,api_goods_name
suite_name,suite_num,fenxiao_name,fenxiao_id,api_goods_name,zbj_qd_type
</sql>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论