From 97cf3094ce37ee629ca6b948a9317a7ed1796c18 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期六, 07 九月 2024 17:56:29 +0800 Subject: [PATCH] 修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java | 43 ++++++++++++++++++++++++++++++------------- 1 files changed, 30 insertions(+), 13 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java index 5f4dfb1..e58f7b3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.OrderNumConstants; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.ServiceException; @@ -19,6 +20,8 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; @@ -62,6 +65,7 @@ @Autowired private RedisCache redisCache; + @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) @Override public void mealDataGenerator(OrderMealGeneratorDTO dto) { // 存储数据生成数据 @@ -102,7 +106,7 @@ orderMeal.setMealType(1); orderMeal.setMealPerson(random); orderMeal.setMealTime(orderMealGeneratorCountDTO.getTime()); - orderMeal.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateOrderSn()); + orderMeal.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateVolumeSn()); orderMeal.setStatus(2); List<TOrderMealGoods> orderMealGoods = new ArrayList<>(); List<TFoundationConfigVO> foundationConfigVOS = foundationConfigs.stream().filter(e -> e.getMealCount().equals(random)).collect(Collectors.toList()); @@ -216,6 +220,7 @@ } + @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) @Override public void saleDataGenerator(OrderSaleGeneratorDTO dto) { // 查询上一次的数据生成时间 @@ -236,6 +241,7 @@ dataGenerator.setStartTime(dto.getStartTime()); dataGenerator.setEndTime(dto.getEndTime()); dataGenerator.setStatus(2); + dataGenerator.setShopId(dto.getShopId()); dataGenerator.setOrderType(2); this.save(dataGenerator); @@ -246,7 +252,10 @@ // 添加销售订单数 List<TOrderSale> orderSales = dto.getOrderSales(); - orderSales.forEach(e->e.setGeneratorId(dataGenerator.getId())); + orderSales.forEach(e->{ + e.setGeneratorId(dataGenerator.getId()); + e.setOrderNum(OrderNumConstants.SALE + CodeGenerateUtils.generateVolumeSn()); + }); List<TOrderSaleGoods> orderSaleGoods = orderSales.stream().map(TOrderSale::getOrderSaleGoods).flatMap(Collection::stream).collect(Collectors.toList()); // 生成进货数据 @@ -275,7 +284,8 @@ tOrderStockGoods.setGoodsName(k); tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum()); tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice()); - tOrderStockGoods.setSalePrice(v.get(0).getSalePrice()); + tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice()); + tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice()); tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture()); tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum()); orderStockGoods.add(tOrderStockGoods); @@ -310,7 +320,8 @@ tOrderStockGoods.setGoodsName(k); tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum()); tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice()); - tOrderStockGoods.setSalePrice(v.get(0).getSalePrice()); + tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice()); + tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice()); tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture()); tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum()); orderStockGoods.add(tOrderStockGoods); @@ -338,7 +349,8 @@ tOrderStockGoods.setGoodsName(k); tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum()); tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice()); - tOrderStockGoods.setSalePrice(v.get(0).getSalePrice()); + tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice()); + tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice()); tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture()); tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum()); orderStockGoods1.add(tOrderStockGoods); @@ -366,7 +378,8 @@ tOrderStockGoods.setGoodsName(k); tOrderStockGoods.setGoodsNum(v.get(0).getGoodsNum()); tOrderStockGoods.setCostPrice(v.get(0).getGoodsCostPrice()); - tOrderStockGoods.setSalePrice(v.get(0).getSalePrice()); + tOrderStockGoods.setSalePrice(v.get(0).getGoodsSalePrice()); + tOrderStockGoods.setThisSalePrice(v.get(0).getThisSalePrice()); tOrderStockGoods.setGoodsPicture(v.get(0).getGoodsPicture()); tOrderStockGoods.setStockCount(v.stream().mapToInt(TOrderSaleGoods::getGoodsCount).sum()); orderStockGoods.add(tOrderStockGoods); @@ -393,7 +406,10 @@ orderSale.getOrderSaleGoods().forEach(e->e.setOrderId(orderSale.getId())); } List<TGoodsType> list = goodsTypeService.list(); - orderSaleGoods.forEach(e->e.setTypeName(list.stream().filter(m->m.getId().equals(e.getTypeId())).findFirst().get().getTypeName())); +// orderSaleGoods.forEach(e->e.setTypeName(list.stream().filter(m->m.getId().equals(e.getTypeId())).findFirst().get().getTypeName())); + orderSaleGoods.forEach(e->{ + e.setId(null); + }); orderSaleGoodsService.saveBatch(orderSaleGoods); // 添加数据 stockList.forEach(e->e.setShopId(dataGenerator.getShopId())); @@ -425,13 +441,14 @@ }else { List<TOrderSale> orderSales = orderSaleService.list(Wrappers.lambdaQuery(TOrderSale.class) .in(TOrderSale::getGeneratorId, ids)); - List<Long> saleIds = orderSales.stream().map(TOrderSale::getId).collect(Collectors.toList()); - List<TOrderSaleGoods> orderSaleGoods = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) - .in(TOrderSaleGoods::getOrderId, saleIds)); +// List<Long> saleIds = orderSales.stream().map(TOrderSale::getId).collect(Collectors.toList()); +// List<TOrderSaleGoods> orderSaleGoods = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) +// .in(TOrderSaleGoods::getOrderId, saleIds)); for (TDataGeneratorVO tDataGeneratorVO : list) { - List<Long> collect = orderSales.stream().filter(e -> e.getGeneratorId().equals(tDataGeneratorVO.getId())).map(TOrderSale::getId).collect(Collectors.toList()); - BigDecimal money = orderSaleGoods.stream().filter(e -> collect.contains(e.getOrderId())) - .reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getGoodsCostPrice().multiply(new BigDecimal(y.getGoodsCount()))), BigDecimal::add); +// List<Long> collect = orderSales.stream().filter(e -> e.getGeneratorId().equals(tDataGeneratorVO.getId())).map(TOrderSale::getId).collect(Collectors.toList()); +// BigDecimal money = orderSaleGoods.stream().filter(e -> collect.contains(e.getOrderId())) +// .reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getGoodsCostPrice().multiply(new BigDecimal(y.getGoodsCount()))), BigDecimal::add); + BigDecimal money = orderSales.stream().map(TOrderSale::getPayMoney).reduce(BigDecimal::add).get(); tDataGeneratorVO.setTotalRevenue(money); } } -- Gitblit v1.7.1