From 9d23c4d3379337a5083795c8a80e31b78ddc28cb Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Tue, 29 Oct 2024 17:18:58 +0800 Subject: [PATCH 01/25] =?UTF-8?q?fix:=20=E8=AE=A2=E5=8D=95=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E7=BB=93=E6=9D=9F=E8=B4=AD=E7=89=A9=E8=BD=A6=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ysk/cashier/mybatis/service/MpCashierCartService.java | 7 +++++++ .../mybatis/service/impl/MpCashierCartServiceImpl.java | 8 ++++++++ .../service/impl/order/TbOrderInfoServiceImpl.java | 8 ++++---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java index daf32c47..43e679e2 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java @@ -1,5 +1,6 @@ package cn.ysk.cashier.mybatis.service; +import cn.ysk.cashier.cons.TableConstant; import cn.ysk.cashier.enums.OrderStatusEnums; import cn.ysk.cashier.pojo.order.TbCashierCart; import com.baomidou.mybatisplus.extension.service.IService; @@ -48,5 +49,11 @@ public interface MpCashierCartService extends IService { */ boolean clearCartByTableIdAndUseType(String tableId, String useType, Integer shopId); + /** + * 根据订单id更改购物车状态 + * @param status 状态 + * @param orderId 订单id + */ + boolean updateStateByOrderId(TableConstant.OrderInfo.Status status, Integer orderId); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java index 5c16f701..24864521 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java @@ -14,6 +14,7 @@ import cn.ysk.cashier.mybatis.service.MpCashierCartService; import cn.ysk.cashier.pojo.order.TbCashierCart; import cn.ysk.cashier.pojo.shop.TbShopInfo; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -85,5 +86,12 @@ public class MpCashierCartServiceImpl extends ServiceImpl() + .eq(TbCashierCart::getOrderId, orderId) + .set(TbCashierCart::getStatus, status.getValue())); + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index 532da077..663d4c25 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -18,10 +18,7 @@ import cn.ysk.cashier.mybatis.mapper.TbCashierCartMapper; import cn.ysk.cashier.mybatis.mapper.TbMShopUserMapper; import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper; import cn.ysk.cashier.mybatis.mapper.TbShopUserFlowMapper; -import cn.ysk.cashier.mybatis.service.MpOrderDetailService; -import cn.ysk.cashier.mybatis.service.TbActivateInRecordService; -import cn.ysk.cashier.mybatis.service.TbActivateOutRecordService; -import cn.ysk.cashier.mybatis.service.TbOrderPaymentService; +import cn.ysk.cashier.mybatis.service.*; import cn.ysk.cashier.mybatis.service.impl.MpOrderDetailServiceImpl; import cn.ysk.cashier.pojo.TbShopPayType; import cn.ysk.cashier.pojo.order.TbCashierCart; @@ -110,6 +107,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { private final PayService payService; private final MpOrderDetailService mpOrderDetailService; private final TbOrderDetailMapper tbOrderDetailMapper; + private final MpCashierCartService mpCashierCartService; @Value("${thirdPay.url}") private String url; @@ -447,6 +445,8 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { tbOrderDetailRepository.save(detail); keys.add(CacheKey.PRODUCT_SKU + detail.getShopId() + ":" + detail.getId()); } + + mpCashierCartService.updateStateByOrderId(TableConstant.OrderInfo.Status.CLOSED, tbOrderInfo.getId()); String[] keysArray = keys.toArray(new String[keys.size()]); redisUtils.del(keysArray); } From 3f0329a7c5b6a4c2142a8c8ee5ec06a4ba7845a2 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 14:04:06 +0800 Subject: [PATCH 02/25] =?UTF-8?q?fix:=20=E6=97=A0=E5=8F=B0=E6=A1=8C?= =?UTF-8?q?=E9=80=80=E8=8F=9C=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java | 1 - 1 file changed, 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java index 982b343b..f8a9cc43 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ReturnCartDTO.java @@ -11,7 +11,6 @@ public class ReturnCartDTO { private Integer cartId; @NotNull private Integer shopId; - @NotNull private Long tableId; @NotNull @Min(value = 1, message = "最小数量为1") From 8bb27ab29269a3237ca3f319e1d19b4ec17f63a7 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 14:18:01 +0800 Subject: [PATCH 03/25] =?UTF-8?q?fix:=20=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/order/TbOrderInfoServiceImpl.java | 18 ++++++++++++++---- .../impl/shopimpl/TbShopTableServiceImpl.java | 1 - .../java/cn/ysk/cashier/vo/TbOrderInfoVo.java | 1 + 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index 663d4c25..215e2cbf 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -14,10 +14,7 @@ import cn.ysk.cashier.mapper.order.TbOrderInfoMapper; import cn.ysk.cashier.mapper.product.TbProductMapper; import cn.ysk.cashier.mapper.product.TbProductSkuMapper; import cn.ysk.cashier.mybatis.entity.*; -import cn.ysk.cashier.mybatis.mapper.TbCashierCartMapper; -import cn.ysk.cashier.mybatis.mapper.TbMShopUserMapper; -import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper; -import cn.ysk.cashier.mybatis.mapper.TbShopUserFlowMapper; +import cn.ysk.cashier.mybatis.mapper.*; import cn.ysk.cashier.mybatis.service.*; import cn.ysk.cashier.mybatis.service.impl.MpOrderDetailServiceImpl; import cn.ysk.cashier.pojo.TbShopPayType; @@ -27,6 +24,7 @@ import cn.ysk.cashier.pojo.order.TbOrderDetail; import cn.ysk.cashier.pojo.order.TbOrderInfo; import cn.ysk.cashier.pojo.product.TbProduct; import cn.ysk.cashier.pojo.shop.TbMerchantThirdApply; +import cn.ysk.cashier.pojo.shop.TbShopInfo; import cn.ysk.cashier.pojo.shop.TbShopUser; import cn.ysk.cashier.repository.TbShopPayTypeRepository; import cn.ysk.cashier.repository.order.TbCashierCartRepository; @@ -108,6 +106,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { private final MpOrderDetailService mpOrderDetailService; private final TbOrderDetailMapper tbOrderDetailMapper; private final MpCashierCartService mpCashierCartService; + private final MpShopInfoMapper mpShopInfoMapper; @Value("${thirdPay.url}") private String url; @@ -166,6 +165,13 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { return predicate; }, pageable); + List shopIds = page.getContent().stream().map(TbOrderInfo::getShopId).distinct().collect(Collectors.toList()); + HashMap shopInfoMap = new HashMap<>(); + if (!shopIds.isEmpty()) { + mpShopInfoMapper.selectBatchIds(shopIds).forEach(item -> { + shopInfoMap.put(item.getId().toString(), item); + }); + } List orderInfoVoList = new ArrayList<>(); for (TbOrderInfo tbOrderInfo : page.getContent()) { TbOrderInfoVo orderInfoVo = new TbOrderInfoVo(); @@ -208,6 +214,10 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { orderInfoVo.setSeatInfo(seatInfo); BeanUtils.copyProperties(tbOrderInfo, orderInfoVo); orderInfoVo.setRefundAmount(refundAmount); + TbShopInfo shopInfo = shopInfoMap.get(tbOrderInfo.getShopId()); + if (shopInfo != null) { + orderInfoVo.setRegisterType(shopInfo.getRegisterType()); + } orderInfoVoList.add(orderInfoVo); } return PageUtil.toPage(orderInfoVoList, page.getTotalElements()); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 138aebaa..bffc184e 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -660,7 +660,6 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("最大退菜数量为: {}", cashierCart.getNumber()); } - if (cashierCart.getOrderId() == null) { throw new BadRequestException("此商品还未下单,无需退单"); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java index f8f6a1fc..ca102878 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java @@ -117,4 +117,5 @@ public class TbOrderInfoVo { private List detailList; private TbOrderDetail seatInfo; + private String registerType; } From 5cb7e9bdfb553ac921bef10badb33653370ac6f6 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 30 Oct 2024 14:52:52 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E9=94=80=E5=94=AE=E7=BB=9F=E8=AE=A1=20?= =?UTF-8?q?=E6=95=88=E7=8E=87=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shop/SummaryByDayController.java | 2 + .../order/TbOrderDetailRepository.java | 9 ++-- .../service/impl/SummaryServiceImpl.java | 51 ++++++++++++++++--- 3 files changed, 51 insertions(+), 11 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/SummaryByDayController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/SummaryByDayController.java index 315888f7..28592d0f 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/SummaryByDayController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/SummaryByDayController.java @@ -1,5 +1,6 @@ package cn.ysk.cashier.controller.shop; +import cn.ysk.cashier.annotation.rest.AnonymousGetMapping; import cn.ysk.cashier.dto.ShopSummaryDto; import cn.ysk.cashier.service.SummaryService; import cn.ysk.cashier.vo.TbOrderPayCountVo; @@ -33,6 +34,7 @@ public class SummaryByDayController { @GetMapping + @AnonymousGetMapping public Page shopSummary(ShopSummaryDto summaryDto, @RequestParam(required = false, defaultValue = "0") Integer page, @RequestParam(required = false, defaultValue = "10") Integer size) { diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java index fe3ab82f..8429d37f 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java @@ -36,7 +36,7 @@ public interface TbOrderDetailRepository extends JpaRepository searchDetailByOrderIds(@Param("ids")List ids); @Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayV2Vo(" + - "info.productName,pro.id, cate.name,'', " + + "info.productName,pro.id, cate.name,pro.typeEnum, " + "SUM(CASE WHEN orders.orderType!='return' THEN info.num ELSE 0 END) as salesNum, " + "SUM(CASE WHEN orders.orderType='return' THEN info.num ELSE 0 END), " + "SUM(CASE WHEN orders.orderType!='return' THEN info.priceAmount ELSE 0 END), " + @@ -82,15 +82,16 @@ public interface TbOrderDetailRepository extends JpaRepository :startTime AND info.createTime < :endTime " + "AND (info.status = 'closed' OR info.status = 'refund') " + "GROUP BY info.productId, info.productSkuId " + "ORDER BY salesNum DESC") - List queryTbOrderSalesCountBySku(@Param("shopId") Integer shopId,@Param("proId")Integer proId, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - + List queryTbOrderSalesCountBySku(@Param("shopId") Integer shopId + , @Param("startTime") Date startTime, @Param("endTime") Date endTime); @Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" + "info.productName, info.productSkuName, cate.name, unit.name,info.price," + "SUM(CASE WHEN orders.orderType!='return' THEN info.num ELSE 0 END) as salesNum, " + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java index b89fe541..aacb65f7 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -35,6 +36,7 @@ import java.time.Instant; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; @@ -333,12 +335,45 @@ public class SummaryServiceImpl implements SummaryService { summaryDto.setStartTime(DateUtil.toDate(DateUtil.fromTimeStamp(1704038400L))); summaryDto.setEndTime(new Date()); } - Page products = detailRepository.queryTbOrderSalesCountByProduct(Integer.valueOf(summaryDto.getShopId()), summaryDto.getCateId(), summaryDto.getProName(), summaryDto.getStartTime(), summaryDto.getEndTime(), pageable); - for (TbOrderSalesCountByDayV2Vo product : products) { - List skus = detailRepository.queryTbOrderSalesCountBySku(Integer.valueOf(summaryDto.getShopId()), product.getProductId(), summaryDto.getStartTime(), summaryDto.getEndTime()); - product.setSkus(skus); + + // 使用 CompletableFuture 并行执行两个数据库查询 + CompletableFuture> productsFuture = CompletableFuture.supplyAsync(() -> { + try { + return detailRepository.queryTbOrderSalesCountByProduct(Integer.valueOf(summaryDto.getShopId()), summaryDto.getCateId(), summaryDto.getProName(), summaryDto.getStartTime(), summaryDto.getEndTime(), pageable); + } catch (Exception e) { + log.error("查询 products 时发生错误", e); + return null; + } + }); + CompletableFuture> skusFuture = CompletableFuture.supplyAsync(() -> { + try { + return detailRepository.queryTbOrderSalesCountBySku(Integer.valueOf(summaryDto.getShopId()), summaryDto.getStartTime(), summaryDto.getEndTime()); + } catch (Exception e) { + log.error("查询 skus 时发生错误", e); + return null; + } + }); + try { + // 等待两个查询都完成后执行后续逻辑 + return CompletableFuture.allOf(productsFuture, skusFuture).thenApply(v -> { + Page products = productsFuture.join(); + List skus = skusFuture.join(); + if (products!= null && skus!= null) { + Map> collect = skus.stream().collect(Collectors.groupingBy(TbOrderSalesCountByDayV2Vo::getProductId)); + for (TbOrderSalesCountByDayV2Vo product : products) { + if ("sku".equals(product.getTypeEnum())) { + product.setSkus(collect.get(product.getProductId())); + } + } + return (Page) products; + } else { + return null; + } + }).join(); + } catch (Exception e) { + log.error("处理查询结果时发生错误", e); + return null; } - return (Page)products; } @Override @@ -353,10 +388,12 @@ public class SummaryServiceImpl implements SummaryService { } List products = detailRepository.queryTbOrderSalesCountByProduct(Integer.valueOf(summaryDto.getShopId()), summaryDto.getCateId(), summaryDto.getProName(), summaryDto.getStartTime(), summaryDto.getEndTime()); + List proSkus = detailRepository.queryTbOrderSalesCountBySku(Integer.valueOf(summaryDto.getShopId()), + summaryDto.getStartTime(), summaryDto.getEndTime()); + Map> collect = proSkus.stream().collect(Collectors.groupingBy(TbOrderSalesCountByDayV2Vo::getProductId)); for (TbOrderSalesCountByDayV2Vo product : products) { if("sku".equals(product.getTypeEnum())){ - List skus = detailRepository.queryTbOrderSalesCountBySku(Integer.valueOf(summaryDto.getShopId()), product.getProductId(), summaryDto.getStartTime(), summaryDto.getEndTime()); - product.setSkus(skus); + product.setSkus(collect.get(product.getProductId())); } } for (TbOrderSalesCountByDayV2Vo product : products) { From 7c1415663d9b3f01931a9b50e539a4fe1d0517c6 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 15:04:17 +0800 Subject: [PATCH 05/25] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=97=A0?= =?UTF-8?q?=E5=8F=B0=E6=A1=8C=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E8=B4=AD=E7=89=A9=E8=BD=A6=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index bffc184e..121a430e 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -2024,12 +2024,12 @@ public class TbShopTableServiceImpl implements TbShopTableService { .in(TbCashierCart::getId, choseModelDTO.getCartIds()) .eq(TbCashierCart::getShopId, choseModelDTO.getShopId()) .set(TbCashierCart::getTableId, choseModelDTO.getTableId()) - .set(TbCashierCart::getUseType, choseModelDTO.getUseType()) + .set(TbCashierCart::getUseType, StrUtil.isNotBlank(choseModelDTO.getTableId()) ? choseModelDTO.getUseType() : TableConstant.OrderInfo.UseType.NONE_TABLE.getValue()) .set(TbCashierCart::getIsPack, "false") .set(TbCashierCart::getPackFee, BigDecimal.ZERO)); return orderDetailMapper.update(null, new LambdaUpdateWrapper() .in(TbOrderDetail::getCartId, choseModelDTO.getCartIds()) - .set(TbOrderDetail::getUseType, choseModelDTO.getUseType()) + .set(TbOrderDetail::getUseType, StrUtil.isNotBlank(choseModelDTO.getTableId()) ? choseModelDTO.getUseType() : TableConstant.OrderInfo.UseType.NONE_TABLE.getValue()) .set(TbOrderDetail::getPackAmount, BigDecimal.ZERO)); } From dcfb79c87af49afb79d597814d3fb48e16eb1853 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 30 Oct 2024 15:11:38 +0800 Subject: [PATCH 06/25] =?UTF-8?q?=E8=80=97=E6=9D=90=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=88=97=E8=A1=A8=20=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java index b8be6ec8..78f0b2d7 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java @@ -114,6 +114,8 @@ public class TbConsInfoFlowServiceImpl implements TbConsInfoFlowService { criteria.setBizCode(Arrays.asList("stockIn","cancelCart","init","stockIn","checkStockIn","stockOtherIn","cancelCart","createCart","stockout","checkStockOut","frmLoss")); break; } + }else { + criteria.setBizCode(Arrays.asList("stockIn","cancelCart","init","stockIn","checkStockIn","stockOtherIn","cancelCart","createCart","stockout","checkStockOut","frmLoss")); } Sort sort = Sort.by(Sort.Direction.DESC, "id"); Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getSize(), sort); From 40b63bff4d53931d10e3fc3f84cf46215183e090 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 30 Oct 2024 15:24:43 +0800 Subject: [PATCH 07/25] =?UTF-8?q?=E5=89=AF=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/cons/domain/SuppFlow.java | 2 + .../ysk/cashier/cons/domain/TbConsInfo.java | 7 + .../ysk/cashier/cons/domain/TbConsInfoV2.java | 10 +- .../cashier/cons/domain/ViewConsSuppFlow.java | 139 ------------------ .../cons/repository/TbConUnitRepository.java | 13 -- .../ViewConsSuppFlowRepository.java | 13 -- .../cons/rest/TbConUnitController.java | 82 ----------- .../cons/rest/ViewConsSuppFlowController.java | 64 -------- .../cons/service/TbConUnitService.java | 70 --------- .../cons/service/ViewConsSuppFlowService.java | 66 --------- .../cons/service/dto/TbConUnitDto.java | 52 ------- .../service/dto/TbConUnitQueryCriteria.java | 25 ---- .../cons/service/dto/TbConsInfoDto.java | 21 +-- .../cons/service/dto/ViewConsSuppFlowDto.java | 87 ----------- .../dto/ViewConsSuppFlowQueryCriteria.java | 43 ------ .../service/impl/TbConUnitServiceImpl.java | 138 ----------------- .../service/impl/TbConsInfoServiceImpl.java | 31 ++-- .../impl/ViewConsSuppFlowServiceImpl.java | 109 -------------- .../service/mapstruct/TbConUnitMapper.java | 16 -- .../mapstruct/ViewConsSuppFlowMapper.java | 16 -- 20 files changed, 40 insertions(+), 964 deletions(-) delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java index a41b2991..3baa92e7 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java @@ -31,6 +31,8 @@ public class SuppFlow implements Serializable { public static class ConInfos{ private Integer conInfoId; + private String unit; + private BigDecimal price; private BigDecimal stockNumber; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java index f28ad88e..e2231b25 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java @@ -53,6 +53,13 @@ public class TbConsInfo implements Serializable { @ApiModelProperty(value = "单位值") private String conUnit; + @Column(name = "`con_unit_two`") + @ApiModelProperty(value = "单位值") + private String conUnitTwo; + + @Column(name = "`con_unit_two_convert`") + @ApiModelProperty(value = "单位换算") + private BigDecimal conUnitTwoConvert; @Column(name = "`laster_in_stock`") @ApiModelProperty(value = "最近一次入库量") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java index 6696efb4..111aeb04 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java @@ -47,7 +47,7 @@ public class TbConsInfoV2 implements Serializable { @ApiModelProperty(value = "库存值") private BigDecimal stockNumber; -// @Column(name = "`balance`") + // @Column(name = "`balance`") @ApiModelProperty(value = "实际库存值") private BigDecimal balance; @@ -55,6 +55,14 @@ public class TbConsInfoV2 implements Serializable { @ApiModelProperty(value = "单位值") private String conUnit; + @Column(name = "`con_unit_two`") + @ApiModelProperty(value = "单位值") + private String conUnitTwo; + + @Column(name = "`con_unit_two_convert`") + @ApiModelProperty(value = "单位换算") + private BigDecimal conUnitTwoConvert; + @Column(name = "`laster_in_stock`") @ApiModelProperty(value = "最近一次入库量") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java deleted file mode 100644 index 0aa98001..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java +++ /dev/null @@ -1,139 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.domain; - -import lombok.Data; -import cn.hutool.core.bean.BeanUtil; -import io.swagger.annotations.ApiModelProperty; -import cn.hutool.core.bean.copier.CopyOptions; -import javax.persistence.*; -import javax.validation.constraints.*; -import java.sql.Timestamp; -import java.math.BigDecimal; -import java.io.Serializable; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Entity -@Data -@Table(name="view_cons_supp_flow") -public class ViewConsSuppFlow implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "`id`") - @ApiModelProperty(value = "id") - private Integer id; - - @Column(name = "`con_info_id`",nullable = false) - @NotNull - @ApiModelProperty(value = "conInfoId") - private Integer conInfoId; - - @Column(name = "`shop_id`") - @ApiModelProperty(value = "店铺id") - private Integer shopId; - - @Column(name = "`sku_id`") - @ApiModelProperty(value = "skuId") - private Integer skuId; - - @Column(name = "`product_id`") - @ApiModelProperty(value = "productId") - private Integer productId; - - @Column(name = "`supplier_id`",nullable = false) - @NotNull - @ApiModelProperty(value = "supplierId") - private Integer supplierId; - - @Column(name = "`type`",nullable = false) - @NotBlank - @ApiModelProperty(value = "出入库类型: in 入库 out 出库") - private String type; - - @Column(name = "`stock_number`",nullable = false) - @NotNull - @ApiModelProperty(value = "数量") - private BigDecimal stockNumber; - - @Column(name = "`price`",nullable = false) - @NotNull - @ApiModelProperty(value = "进价") - private BigDecimal price; - - @Column(name = "`amount`",nullable = false) - @NotNull - @ApiModelProperty(value = "小计") - private BigDecimal amount; - - @Column(name = "`balance`",nullable = false) - @NotNull - @ApiModelProperty(value = "剩余库存") - private BigDecimal balance; - - @Column(name = "`accounts_payable`",nullable = false) - @NotNull - @ApiModelProperty(value = "应付款") - private BigDecimal accountsPayable; - - @Column(name = "`actual_payment`",nullable = false) - @NotNull - @ApiModelProperty(value = "实付款") - private BigDecimal actualPayment; - - @Column(name = "`payment_time`") - @ApiModelProperty(value = "paymentTime") - private Timestamp paymentTime; - - @Column(name = "`create_time`") - @ApiModelProperty(value = "createTime") - private Timestamp createTime; - - @Column(name = "`update_time`") - @ApiModelProperty(value = "updateTime") - private Timestamp updateTime; - - @Column(name = "`con_name`") - @ApiModelProperty(value = "耗材名称") - private String conName; - - @Column(name = "`con_code`") - @ApiModelProperty(value = "耗材代码") - private String conCode; - - @Column(name = "`con_type_name`") - @ApiModelProperty(value = "耗材类型名称") - private String conTypeName; - - @Column(name = "`purveyor_name`") - @ApiModelProperty(value = "联系人名字") - private String purveyorName; - - @Column(name = "`address`") - @ApiModelProperty(value = "供应商地址") - private String address; - - @Column(name = "`purveyor_telephone`") - @ApiModelProperty(value = "联系人电话") - private String purveyorTelephone; - - public void copy(ViewConsSuppFlow source){ - BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java deleted file mode 100644 index c18295b6..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.ysk.cashier.cons.repository; - -import cn.ysk.cashier.cons.domain.TbConUnit; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** -* @website https://eladmin.vip -* @author admin -* @date 2024-07-12 -**/ -public interface TbConUnitRepository extends JpaRepository, JpaSpecificationExecutor { -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java deleted file mode 100644 index ca6903b8..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.ysk.cashier.cons.repository; - -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** -* @website https://eladmin.vip -* @author admin -* @date 2024-07-03 -**/ -public interface ViewConsSuppFlowRepository extends JpaRepository, JpaSpecificationExecutor { -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java deleted file mode 100644 index 1b572f8c..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java +++ /dev/null @@ -1,82 +0,0 @@ -package cn.ysk.cashier.cons.rest; - -import cn.hutool.core.util.ObjectUtil; -import cn.ysk.cashier.annotation.Log; -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.TbConUnitService; -import cn.ysk.cashier.cons.service.dto.TbConUnitQueryCriteria; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.*; -import java.io.IOException; -import java.sql.Timestamp; -import java.util.Objects; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-12 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "耗材单位添加管理") -@RequestMapping("/api/tbConUnit") -public class TbConUnitController { - - private final TbConUnitService tbConUnitService; - - @Log("导出数据") - @ApiOperation("导出数据") - @GetMapping(value = "/download") - public void exportTbConUnit(HttpServletResponse response, TbConUnitQueryCriteria criteria) throws IOException { - tbConUnitService.download(tbConUnitService.queryAll(criteria), response); - } - - @GetMapping - @ApiOperation("查询耗材单位添加") - public ResponseEntity queryTbConUnit(TbConUnitQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(tbConUnitService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @PostMapping - @Log("新增耗材单位添加") - @ApiOperation("新增耗材单位添加") - public ResponseEntity createTbConUnit(@Validated @RequestBody TbConUnit resources){ - - if(ObjectUtil.isEmpty(resources.getParentId())|| Objects.isNull(resources.getParentId())){ - resources.setParentId(0); - } - resources.setStatus("0"); - resources.setCreateTime(new Timestamp(System.currentTimeMillis())); - return new ResponseEntity<>(tbConUnitService.create(resources),HttpStatus.CREATED); - } - - @PutMapping - @Log("修改耗材单位添加") - @ApiOperation("修改耗材单位添加") - public ResponseEntity updateTbConUnit(@Validated @RequestBody TbConUnit resources){ - - resources.setUpdateTime(new Timestamp(System.currentTimeMillis())); - tbConUnitService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除耗材单位添加") - @ApiOperation("删除耗材单位添加") - public ResponseEntity deleteTbConUnit(@RequestBody Integer[] ids) { - tbConUnitService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - - - @RequestMapping("queryTbConUnitInfo") - public ResponseEntity queryTbConUnitInfo(TbConUnitQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(tbConUnitService.queryAllInfo(criteria,pageable),HttpStatus.OK); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java deleted file mode 100644 index 2c51372b..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.ysk.cashier.cons.rest; - -import cn.ysk.cashier.annotation.Log; -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.cons.service.ViewConsSuppFlowService; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowQueryCriteria; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.*; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-03 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "出入库记录管理") -@RequestMapping("/api/viewConsSuppFlow") -public class ViewConsSuppFlowController { - - private final ViewConsSuppFlowService viewConsSuppFlowService; - - @Log("导出数据") - @ApiOperation("导出数据") - @GetMapping(value = "/download") - public void exportViewConsSuppFlow(HttpServletResponse response, ViewConsSuppFlowQueryCriteria criteria) throws IOException { - viewConsSuppFlowService.download(viewConsSuppFlowService.queryAll(criteria), response); - } - - @GetMapping - @ApiOperation("查询出入库记录") - public ResponseEntity queryViewConsSuppFlow(ViewConsSuppFlowQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(viewConsSuppFlowService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @PostMapping - @Log("新增出入库记录") - @ApiOperation("新增出入库记录") - public ResponseEntity createViewConsSuppFlow(@Validated @RequestBody ViewConsSuppFlow resources){ - return new ResponseEntity<>(viewConsSuppFlowService.create(resources),HttpStatus.CREATED); - } - - @PutMapping - @Log("修改出入库记录") - @ApiOperation("修改出入库记录") - public ResponseEntity updateViewConsSuppFlow(@Validated @RequestBody ViewConsSuppFlow resources){ - viewConsSuppFlowService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除出入库记录") - @ApiOperation("删除出入库记录") - public ResponseEntity deleteViewConsSuppFlow(@RequestBody Integer[] ids) { - viewConsSuppFlowService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java deleted file mode 100644 index 57f11561..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.ysk.cashier.cons.service; - -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.dto.TbConUnitDto; -import cn.ysk.cashier.cons.service.dto.TbConUnitQueryCriteria; -import org.springframework.data.domain.Pageable; -import java.util.Map; -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-12 -**/ -public interface TbConUnitService { - - /** - * 查询数据分页 - * @param criteria 条件 - * @param pageable 分页参数 - * @return Map - */ - Map queryAll(TbConUnitQueryCriteria criteria, Pageable pageable); - - /** - * 查询所有数据不分页 - * @param criteria 条件参数 - * @return List - */ - List queryAll(TbConUnitQueryCriteria criteria); - - /** - * 根据ID查询 - * @param id ID - * @return TbConUnitDto - */ - TbConUnitDto findById(Integer id); - - /** - * 创建 - * @param resources / - * @return TbConUnitDto - */ - TbConUnitDto create(TbConUnit resources); - - /** - * 编辑 - * @param resources / - */ - void update(TbConUnit resources); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Integer[] ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List all, HttpServletResponse response) throws IOException; - - - - Map queryAllInfo(TbConUnitQueryCriteria criteria, Pageable pageable); -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java deleted file mode 100644 index f3710e55..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java +++ /dev/null @@ -1,66 +0,0 @@ -package cn.ysk.cashier.cons.service; - -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowDto; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowQueryCriteria; -import org.springframework.data.domain.Pageable; -import java.util.Map; -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-03 -**/ -public interface ViewConsSuppFlowService { - - /** - * 查询数据分页 - * @param criteria 条件 - * @param pageable 分页参数 - * @return Map - */ - Map queryAll(ViewConsSuppFlowQueryCriteria criteria, Pageable pageable); - - /** - * 查询所有数据不分页 - * @param criteria 条件参数 - * @return List - */ - List queryAll(ViewConsSuppFlowQueryCriteria criteria); - - /** - * 根据ID查询 - * @param id ID - * @return ViewConsSuppFlowDto - */ - ViewConsSuppFlowDto findById(Integer id); - - /** - * 创建 - * @param resources / - * @return ViewConsSuppFlowDto - */ - ViewConsSuppFlowDto create(ViewConsSuppFlow resources); - - /** - * 编辑 - * @param resources / - */ - void update(ViewConsSuppFlow resources); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Integer[] ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List all, HttpServletResponse response) throws IOException; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java deleted file mode 100644 index 83f0b899..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java +++ /dev/null @@ -1,52 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.service.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.persistence.Column; -import javax.validation.constraints.NotNull; -import java.sql.Timestamp; -import java.math.BigDecimal; -import java.io.Serializable; - -/** -* @author admin -* @date 2024-07-12 -**/ -@Data -public class TbConUnitDto implements Serializable { - - private Integer id; - - /** 主单位名称 */ - private String name; - - /** 主单位值 */ - private BigDecimal value; - - private Integer parentId; - - private String isConsume; - - /** 状态 1 启用 0 禁用 */ - private String status; - - private Timestamp createTime; - - private Timestamp updateTime; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java deleted file mode 100644 index 17259f4f..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.ysk.cashier.cons.service.dto; - -import lombok.Data; -import java.util.List; -import cn.ysk.cashier.annotation.Query; - -/** -* @author admin -* @date 2024-07-12 -**/ -@Data -public class TbConUnitQueryCriteria{ - - /** 模糊 */ - @Query(type = Query.Type.INNER_LIKE) - private String name; - - /** 精确 */ - @Query - private Integer parentId; - - /** 精确 */ - @Query - private String status; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java index d4773b5b..a4b0bf17 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java @@ -1,24 +1,7 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ package cn.ysk.cashier.cons.service.dto; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.persistence.Column; import java.sql.Timestamp; import java.math.BigDecimal; import java.io.Serializable; @@ -53,6 +36,10 @@ public class TbConsInfoDto implements Serializable { /** 单位值 */ private String conUnit; + private String conUnitTwo; + + private BigDecimal conUnitTwoConvert; + /** 最近一次入库量 */ private BigDecimal lasterInStock; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java deleted file mode 100644 index e71a6a13..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java +++ /dev/null @@ -1,87 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.service.dto; - -import lombok.Data; -import java.sql.Timestamp; -import java.math.BigDecimal; -import java.io.Serializable; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Data -public class ViewConsSuppFlowDto implements Serializable { - - private Integer id; - - private Integer conInfoId; - - /** 店铺id */ - private Integer shopId; - - private Integer skuId; - - private Integer productId; - - private Integer supplierId; - - /** 出入库类型: in 入库 out 出库 */ - private String type; - - /** 数量 */ - private BigDecimal stockNumber; - - /** 进价 */ - private BigDecimal price; - - /** 小计 */ - private BigDecimal amount; - - /** 剩余库存 */ - private BigDecimal balance; - - /** 应付款 */ - private BigDecimal accountsPayable; - - /** 实付款 */ - private BigDecimal actualPayment; - - private Timestamp paymentTime; - - private Timestamp createTime; - - private Timestamp updateTime; - - /** 耗材名称 */ - private String conName; - - /** 耗材代码 */ - private String conCode; - - /** 耗材类型名称 */ - private String conTypeName; - - /** 联系人名字 */ - private String purveyorName; - - /** 供应商地址 */ - private String address; - - /** 联系人电话 */ - private String purveyorTelephone; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java deleted file mode 100644 index b36dccdc..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.ysk.cashier.cons.service.dto; - -import cn.ysk.cashier.utils.JSONUtil; -import lombok.Data; -import java.util.List; -import cn.ysk.cashier.annotation.Query; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Data -public class ViewConsSuppFlowQueryCriteria{ - - /** 精确 */ - @Query - private Integer conInfoId; - - /** 精确 */ - @Query - private String type; - - /** 模糊 */ - @Query(type = Query.Type.INNER_LIKE) - private String conName; - - /** 精确 */ - @Query - private String conCode; - - /** 精确 */ - @Query - private String conTypeName; - - /** 模糊 */ - @Query(type = Query.Type.INNER_LIKE) - private String purveyorName; - - - public static void main(String[] args){ - System.out.println(JSONUtil.toJSONString(new ViewConsSuppFlowQueryCriteria())); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java deleted file mode 100644 index ac7d4697..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java +++ /dev/null @@ -1,138 +0,0 @@ -package cn.ysk.cashier.cons.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.dto.ConUnitPO; -import cn.ysk.cashier.utils.FileUtil; -import cn.ysk.cashier.utils.PageUtil; -import cn.ysk.cashier.utils.QueryHelp; -import cn.ysk.cashier.utils.ValidationUtil; -import lombok.RequiredArgsConstructor; -import cn.ysk.cashier.cons.repository.TbConUnitRepository; -import cn.ysk.cashier.cons.service.TbConUnitService; -import cn.ysk.cashier.cons.service.dto.TbConUnitDto; -import cn.ysk.cashier.cons.service.dto.TbConUnitQueryCriteria; -import cn.ysk.cashier.cons.service.mapstruct.TbConUnitMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - -import java.util.*; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @website https://eladmin.vip -* @description 服务实现 -* @author admin -* @date 2024-07-12 -**/ -@Service -@RequiredArgsConstructor -public class TbConUnitServiceImpl implements TbConUnitService { - - private final TbConUnitRepository tbConUnitRepository; - private final TbConUnitMapper tbConUnitMapper; - - @Override - public Map queryAll(TbConUnitQueryCriteria criteria, Pageable pageable){ - Page page = tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(tbConUnitMapper::toDto)); - } - - @Override - public List queryAll(TbConUnitQueryCriteria criteria){ - return tbConUnitMapper.toDto(tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); - } - - @Override - @Transactional - public TbConUnitDto findById(Integer id) { - TbConUnit tbConUnit = tbConUnitRepository.findById(id).orElseGet(TbConUnit::new); - ValidationUtil.isNull(tbConUnit.getId(),"TbConUnit","id",id); - return tbConUnitMapper.toDto(tbConUnit); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public TbConUnitDto create(TbConUnit resources) { - return tbConUnitMapper.toDto(tbConUnitRepository.save(resources)); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(TbConUnit resources) { - TbConUnit tbConUnit = tbConUnitRepository.findById(resources.getId()).orElseGet(TbConUnit::new); - ValidationUtil.isNull( tbConUnit.getId(),"TbConUnit","id",resources.getId()); - tbConUnit.copy(resources); - tbConUnitRepository.save(tbConUnit); - } - - @Override - public void deleteAll(Integer[] ids) { - for (Integer id : ids) { - tbConUnitRepository.deleteById(id); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (TbConUnitDto tbConUnit : all) { - Map map = new LinkedHashMap<>(); - map.put("主单位名称", tbConUnit.getName()); - map.put("主单位值", tbConUnit.getValue()); - map.put("状态 1 启用 0 禁用", tbConUnit.getStatus()); - map.put(" createTime", tbConUnit.getCreateTime()); - map.put(" updateTime", tbConUnit.getUpdateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } - - @Override - public Map queryAllInfo(TbConUnitQueryCriteria criteria, Pageable pageable) { - List list=new ArrayList<>(); - if(ObjectUtil.isEmpty(criteria.getParentId())){ - criteria.setParentId(0); - } - Page page = tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - if(Objects.nonNull(page)&&Objects.nonNull(page.getContent())){ - page.getContent().parallelStream().forEach(it->{ - ConUnitPO po=new ConUnitPO(); - po.setId(it.getId()); - po.setName(it.getName()); - po.setValue(it.getValue()); - po.setIsConsume(it.getIsConsume()); - po.setCreateTime(it.getCreateTime()); - po.setUpdateTime(it.getUpdateTime()); - - criteria.setParentId(it.getId()); - criteria.setName(null); - criteria.setStatus(null); - Page childPage = tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - if(Objects.nonNull(childPage)&&Objects.nonNull(childPage.getContent())){ - List list1=new ArrayList<>(); - for (TbConUnit tbConUnit : childPage.getContent()) { - ConUnitPO child=new ConUnitPO(); - child.setId(tbConUnit.getId()); - child.setName(tbConUnit.getName()); - child.setValue(tbConUnit.getValue()); - child.setIsConsume(tbConUnit.getIsConsume()); - child.setCreateTime(tbConUnit.getCreateTime()); - child.setUpdateTime(tbConUnit.getUpdateTime()); - list1.add(child); - } - po.setChildConUnit(list1); - } - list.add(po); - }); - } - Map map = new LinkedHashMap<>(2); - map.put("content",list); - map.put("totalElements",page.getTotalElements()); - return map; - - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java index 2b6e42f3..3b7a1451 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java @@ -229,6 +229,11 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { log.info("耗材信息不存在"); continue; } + BigDecimal changeStock = conInfos.getStockNumber(); + //副单位的实际修改值 + if (StringUtils.isNotBlank(conInfos.getUnit()) && conInfos.getUnit().equals(info.getConUnitTwo())) { + changeStock = conInfos.getStockNumber().multiply(info.getConUnitTwoConvert()).setScale(2, BigDecimal.ROUND_HALF_UP); + } TbConsSuppFlow suppFlow = new TbConsSuppFlow(); @@ -246,17 +251,17 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { suppFlow.setShopId(resources.getShopId()); suppFlow.setSupplierId(Objects.isNull(resources.getSupplierId()) ? 0 : resources.getSupplierId()); suppFlow.setType(resources.getType()); - suppFlow.setStockNumber(conInfos.getStockNumber()); - + suppFlow.setStockNumber(changeStock); + //实际库存 BigDecimal amount = info.getStockNumber().subtract(info.getStockConsume()); if ("in".equals(resources.getType())) { stockOperate.setSubType(1); - info.setStockNumber(info.getStockNumber().add(conInfos.getStockNumber())); - info.setLasterInStock(conInfos.getStockNumber()); + info.setStockNumber(info.getStockNumber().add(changeStock)); + info.setLasterInStock(changeStock); - suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).add(conInfos.getStockNumber())); + suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).add(changeStock)); flow.setBizCode("stockIn"); @@ -268,19 +273,19 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { purveyorTransact.setWaitAmount((resources.getAccountsPayable().subtract(resources.getActualPayment()))); purveyorTransact.setType("cons_in"); - object.put("number", conInfos.getStockNumber()); + object.put("number", changeStock); } else if ("out".equals(resources.getType())) { stockOperate.setSubType(-1); - if (conInfos.getStockNumber().compareTo(info.getStockNumber().subtract(info.getStockConsume())) > 0) { + if (changeStock.compareTo(amount) > 0) { throw new BadRequestException("出库数量大于现有的库存数量"); } - info.setStockNumber(info.getStockNumber().subtract(conInfos.getStockNumber())); + info.setStockNumber(info.getStockNumber().subtract(changeStock)); - suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).subtract(conInfos.getStockNumber())); + suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).subtract(changeStock)); flow.setBizCode("stockout"); @@ -292,7 +297,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { purveyorTransact.setWaitAmount((resources.getAccountsPayable().subtract(resources.getActualPayment())).negate()); purveyorTransact.setType("cons_out"); - object.put("number", conInfos.getStockNumber()); + object.put("number", changeStock); } else { throw new BadRequestException("错误操作类型"); @@ -302,7 +307,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { object.put("stockNumber", amount); object.put("name", info.getConName()); - object.put("unitName", info.getConUnit()); + object.put("unitName", StringUtils.isBlank(conInfos.getUnit()) ? info.getConUnit() : conInfos.getUnit()); array.add(object); suppFlow.setPrice(conInfos.getPrice()); @@ -319,7 +324,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { } purveyorTransact.setPaidAt(System.currentTimeMillis()); - + //供应商 purveyorTransactRepository.save(purveyorTransact); if (resources.getSupplierId() != null) { tbShopPurveyorRepository.upLastTransactAt(resources.getSupplierId().toString()); @@ -333,7 +338,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { flow.setConsId(info.getId()); flow.setShopId(info.getShopId()); flow.setConName(info.getConName()); - flow.setAmount(conInfos.getStockNumber()); + flow.setAmount(changeStock); flow.setRemark(resources.getRemark()); flow.setBalance(info.getStockNumber().subtract(info.getStockConsume())); flow.setOperator(SecurityUtils.getCurrentUserNickName()); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java deleted file mode 100644 index f65f68ad..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java +++ /dev/null @@ -1,109 +0,0 @@ -package cn.ysk.cashier.cons.service.impl; - -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.utils.FileUtil; -import cn.ysk.cashier.utils.PageUtil; -import cn.ysk.cashier.utils.QueryHelp; -import cn.ysk.cashier.utils.ValidationUtil; -import lombok.RequiredArgsConstructor; -import cn.ysk.cashier.cons.repository.ViewConsSuppFlowRepository; -import cn.ysk.cashier.cons.service.ViewConsSuppFlowService; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowDto; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowQueryCriteria; -import cn.ysk.cashier.cons.service.mapstruct.ViewConsSuppFlowMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import java.util.List; -import java.util.Map; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.LinkedHashMap; - -/** -* @website https://eladmin.vip -* @description 服务实现 -* @author admin -* @date 2024-07-03 -**/ -@Service -@RequiredArgsConstructor -public class ViewConsSuppFlowServiceImpl implements ViewConsSuppFlowService { - - private final ViewConsSuppFlowRepository viewConsSuppFlowRepository; - private final ViewConsSuppFlowMapper viewConsSuppFlowMapper; - - @Override - public Map queryAll(ViewConsSuppFlowQueryCriteria criteria, Pageable pageable){ - Page page = viewConsSuppFlowRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(viewConsSuppFlowMapper::toDto)); - } - - @Override - public List queryAll(ViewConsSuppFlowQueryCriteria criteria){ - return viewConsSuppFlowMapper.toDto(viewConsSuppFlowRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); - } - - @Override - @Transactional - public ViewConsSuppFlowDto findById(Integer id) { - ViewConsSuppFlow viewConsSuppFlow = viewConsSuppFlowRepository.findById(id).orElseGet(ViewConsSuppFlow::new); - ValidationUtil.isNull(viewConsSuppFlow.getId(),"ViewConsSuppFlow","id",id); - return viewConsSuppFlowMapper.toDto(viewConsSuppFlow); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public ViewConsSuppFlowDto create(ViewConsSuppFlow resources) { - return viewConsSuppFlowMapper.toDto(viewConsSuppFlowRepository.save(resources)); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ViewConsSuppFlow resources) { - ViewConsSuppFlow viewConsSuppFlow = viewConsSuppFlowRepository.findById(resources.getId()).orElseGet(ViewConsSuppFlow::new); - ValidationUtil.isNull( viewConsSuppFlow.getId(),"ViewConsSuppFlow","id",resources.getId()); - viewConsSuppFlow.copy(resources); - viewConsSuppFlowRepository.save(viewConsSuppFlow); - } - - @Override - public void deleteAll(Integer[] ids) { - for (Integer id : ids) { - viewConsSuppFlowRepository.deleteById(id); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (ViewConsSuppFlowDto viewConsSuppFlow : all) { - Map map = new LinkedHashMap<>(); - map.put(" conInfoId", viewConsSuppFlow.getConInfoId()); - map.put("店铺id", viewConsSuppFlow.getShopId()); - map.put(" skuId", viewConsSuppFlow.getSkuId()); - map.put(" productId", viewConsSuppFlow.getProductId()); - map.put(" supplierId", viewConsSuppFlow.getSupplierId()); - map.put("出入库类型: in 入库 out 出库", viewConsSuppFlow.getType()); - map.put("数量", viewConsSuppFlow.getStockNumber()); - map.put("进价", viewConsSuppFlow.getPrice()); - map.put("小计", viewConsSuppFlow.getAmount()); - map.put("剩余库存", viewConsSuppFlow.getBalance()); - map.put("应付款", viewConsSuppFlow.getAccountsPayable()); - map.put("实付款", viewConsSuppFlow.getActualPayment()); - map.put(" paymentTime", viewConsSuppFlow.getPaymentTime()); - map.put(" createTime", viewConsSuppFlow.getCreateTime()); - map.put(" updateTime", viewConsSuppFlow.getUpdateTime()); - map.put("耗材名称", viewConsSuppFlow.getConName()); - map.put("耗材代码", viewConsSuppFlow.getConCode()); - map.put("耗材类型名称", viewConsSuppFlow.getConTypeName()); - map.put("联系人名字", viewConsSuppFlow.getPurveyorName()); - map.put("供应商地址", viewConsSuppFlow.getAddress()); - map.put("联系人电话", viewConsSuppFlow.getPurveyorTelephone()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java deleted file mode 100644 index 915e25e3..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.ysk.cashier.cons.service.mapstruct; - -import cn.ysk.cashier.base.BaseMapper; -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.dto.TbConUnitDto; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -/** -* @author admin -* @date 2024-07-12 -**/ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface TbConUnitMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java deleted file mode 100644 index d8b4a83a..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.ysk.cashier.cons.service.mapstruct; - -import cn.ysk.cashier.base.BaseMapper; -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowDto; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface ViewConsSuppFlowMapper extends BaseMapper { - -} \ No newline at end of file From b5b1ad8b18b16520e0db04a87d57e6881198f1eb Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 30 Oct 2024 15:24:43 +0800 Subject: [PATCH 08/25] =?UTF-8?q?=E5=89=AF=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/cons/domain/SuppFlow.java | 2 + .../ysk/cashier/cons/domain/TbConsInfo.java | 7 + .../ysk/cashier/cons/domain/TbConsInfoV2.java | 10 +- .../cashier/cons/domain/ViewConsSuppFlow.java | 139 ------------------ .../cons/repository/TbConUnitRepository.java | 13 -- .../ViewConsSuppFlowRepository.java | 13 -- .../cons/rest/TbConUnitController.java | 82 ----------- .../cons/rest/ViewConsSuppFlowController.java | 64 -------- .../cons/service/TbConUnitService.java | 70 --------- .../cons/service/ViewConsSuppFlowService.java | 66 --------- .../cons/service/dto/TbConUnitDto.java | 52 ------- .../service/dto/TbConUnitQueryCriteria.java | 25 ---- .../cons/service/dto/TbConsInfoDto.java | 21 +-- .../cons/service/dto/ViewConsSuppFlowDto.java | 87 ----------- .../dto/ViewConsSuppFlowQueryCriteria.java | 43 ------ .../service/impl/TbConUnitServiceImpl.java | 138 ----------------- .../service/impl/TbConsInfoServiceImpl.java | 31 ++-- .../impl/ViewConsSuppFlowServiceImpl.java | 109 -------------- .../service/mapstruct/TbConUnitMapper.java | 16 -- .../mapstruct/ViewConsSuppFlowMapper.java | 16 -- 20 files changed, 40 insertions(+), 964 deletions(-) delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java delete mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java index a41b2991..3baa92e7 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/SuppFlow.java @@ -31,6 +31,8 @@ public class SuppFlow implements Serializable { public static class ConInfos{ private Integer conInfoId; + private String unit; + private BigDecimal price; private BigDecimal stockNumber; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java index f28ad88e..e2231b25 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java @@ -53,6 +53,13 @@ public class TbConsInfo implements Serializable { @ApiModelProperty(value = "单位值") private String conUnit; + @Column(name = "`con_unit_two`") + @ApiModelProperty(value = "单位值") + private String conUnitTwo; + + @Column(name = "`con_unit_two_convert`") + @ApiModelProperty(value = "单位换算") + private BigDecimal conUnitTwoConvert; @Column(name = "`laster_in_stock`") @ApiModelProperty(value = "最近一次入库量") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java index 6696efb4..111aeb04 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfoV2.java @@ -47,7 +47,7 @@ public class TbConsInfoV2 implements Serializable { @ApiModelProperty(value = "库存值") private BigDecimal stockNumber; -// @Column(name = "`balance`") + // @Column(name = "`balance`") @ApiModelProperty(value = "实际库存值") private BigDecimal balance; @@ -55,6 +55,14 @@ public class TbConsInfoV2 implements Serializable { @ApiModelProperty(value = "单位值") private String conUnit; + @Column(name = "`con_unit_two`") + @ApiModelProperty(value = "单位值") + private String conUnitTwo; + + @Column(name = "`con_unit_two_convert`") + @ApiModelProperty(value = "单位换算") + private BigDecimal conUnitTwoConvert; + @Column(name = "`laster_in_stock`") @ApiModelProperty(value = "最近一次入库量") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java deleted file mode 100644 index 0aa98001..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConsSuppFlow.java +++ /dev/null @@ -1,139 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.domain; - -import lombok.Data; -import cn.hutool.core.bean.BeanUtil; -import io.swagger.annotations.ApiModelProperty; -import cn.hutool.core.bean.copier.CopyOptions; -import javax.persistence.*; -import javax.validation.constraints.*; -import java.sql.Timestamp; -import java.math.BigDecimal; -import java.io.Serializable; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Entity -@Data -@Table(name="view_cons_supp_flow") -public class ViewConsSuppFlow implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "`id`") - @ApiModelProperty(value = "id") - private Integer id; - - @Column(name = "`con_info_id`",nullable = false) - @NotNull - @ApiModelProperty(value = "conInfoId") - private Integer conInfoId; - - @Column(name = "`shop_id`") - @ApiModelProperty(value = "店铺id") - private Integer shopId; - - @Column(name = "`sku_id`") - @ApiModelProperty(value = "skuId") - private Integer skuId; - - @Column(name = "`product_id`") - @ApiModelProperty(value = "productId") - private Integer productId; - - @Column(name = "`supplier_id`",nullable = false) - @NotNull - @ApiModelProperty(value = "supplierId") - private Integer supplierId; - - @Column(name = "`type`",nullable = false) - @NotBlank - @ApiModelProperty(value = "出入库类型: in 入库 out 出库") - private String type; - - @Column(name = "`stock_number`",nullable = false) - @NotNull - @ApiModelProperty(value = "数量") - private BigDecimal stockNumber; - - @Column(name = "`price`",nullable = false) - @NotNull - @ApiModelProperty(value = "进价") - private BigDecimal price; - - @Column(name = "`amount`",nullable = false) - @NotNull - @ApiModelProperty(value = "小计") - private BigDecimal amount; - - @Column(name = "`balance`",nullable = false) - @NotNull - @ApiModelProperty(value = "剩余库存") - private BigDecimal balance; - - @Column(name = "`accounts_payable`",nullable = false) - @NotNull - @ApiModelProperty(value = "应付款") - private BigDecimal accountsPayable; - - @Column(name = "`actual_payment`",nullable = false) - @NotNull - @ApiModelProperty(value = "实付款") - private BigDecimal actualPayment; - - @Column(name = "`payment_time`") - @ApiModelProperty(value = "paymentTime") - private Timestamp paymentTime; - - @Column(name = "`create_time`") - @ApiModelProperty(value = "createTime") - private Timestamp createTime; - - @Column(name = "`update_time`") - @ApiModelProperty(value = "updateTime") - private Timestamp updateTime; - - @Column(name = "`con_name`") - @ApiModelProperty(value = "耗材名称") - private String conName; - - @Column(name = "`con_code`") - @ApiModelProperty(value = "耗材代码") - private String conCode; - - @Column(name = "`con_type_name`") - @ApiModelProperty(value = "耗材类型名称") - private String conTypeName; - - @Column(name = "`purveyor_name`") - @ApiModelProperty(value = "联系人名字") - private String purveyorName; - - @Column(name = "`address`") - @ApiModelProperty(value = "供应商地址") - private String address; - - @Column(name = "`purveyor_telephone`") - @ApiModelProperty(value = "联系人电话") - private String purveyorTelephone; - - public void copy(ViewConsSuppFlow source){ - BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java deleted file mode 100644 index c18295b6..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConUnitRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.ysk.cashier.cons.repository; - -import cn.ysk.cashier.cons.domain.TbConUnit; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** -* @website https://eladmin.vip -* @author admin -* @date 2024-07-12 -**/ -public interface TbConUnitRepository extends JpaRepository, JpaSpecificationExecutor { -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java deleted file mode 100644 index ca6903b8..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConsSuppFlowRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.ysk.cashier.cons.repository; - -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** -* @website https://eladmin.vip -* @author admin -* @date 2024-07-03 -**/ -public interface ViewConsSuppFlowRepository extends JpaRepository, JpaSpecificationExecutor { -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java deleted file mode 100644 index 1b572f8c..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConUnitController.java +++ /dev/null @@ -1,82 +0,0 @@ -package cn.ysk.cashier.cons.rest; - -import cn.hutool.core.util.ObjectUtil; -import cn.ysk.cashier.annotation.Log; -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.TbConUnitService; -import cn.ysk.cashier.cons.service.dto.TbConUnitQueryCriteria; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.*; -import java.io.IOException; -import java.sql.Timestamp; -import java.util.Objects; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-12 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "耗材单位添加管理") -@RequestMapping("/api/tbConUnit") -public class TbConUnitController { - - private final TbConUnitService tbConUnitService; - - @Log("导出数据") - @ApiOperation("导出数据") - @GetMapping(value = "/download") - public void exportTbConUnit(HttpServletResponse response, TbConUnitQueryCriteria criteria) throws IOException { - tbConUnitService.download(tbConUnitService.queryAll(criteria), response); - } - - @GetMapping - @ApiOperation("查询耗材单位添加") - public ResponseEntity queryTbConUnit(TbConUnitQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(tbConUnitService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @PostMapping - @Log("新增耗材单位添加") - @ApiOperation("新增耗材单位添加") - public ResponseEntity createTbConUnit(@Validated @RequestBody TbConUnit resources){ - - if(ObjectUtil.isEmpty(resources.getParentId())|| Objects.isNull(resources.getParentId())){ - resources.setParentId(0); - } - resources.setStatus("0"); - resources.setCreateTime(new Timestamp(System.currentTimeMillis())); - return new ResponseEntity<>(tbConUnitService.create(resources),HttpStatus.CREATED); - } - - @PutMapping - @Log("修改耗材单位添加") - @ApiOperation("修改耗材单位添加") - public ResponseEntity updateTbConUnit(@Validated @RequestBody TbConUnit resources){ - - resources.setUpdateTime(new Timestamp(System.currentTimeMillis())); - tbConUnitService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除耗材单位添加") - @ApiOperation("删除耗材单位添加") - public ResponseEntity deleteTbConUnit(@RequestBody Integer[] ids) { - tbConUnitService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - - - @RequestMapping("queryTbConUnitInfo") - public ResponseEntity queryTbConUnitInfo(TbConUnitQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(tbConUnitService.queryAllInfo(criteria,pageable),HttpStatus.OK); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java deleted file mode 100644 index 2c51372b..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConsSuppFlowController.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.ysk.cashier.cons.rest; - -import cn.ysk.cashier.annotation.Log; -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.cons.service.ViewConsSuppFlowService; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowQueryCriteria; -import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.*; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-03 -**/ -@RestController -@RequiredArgsConstructor -@Api(tags = "出入库记录管理") -@RequestMapping("/api/viewConsSuppFlow") -public class ViewConsSuppFlowController { - - private final ViewConsSuppFlowService viewConsSuppFlowService; - - @Log("导出数据") - @ApiOperation("导出数据") - @GetMapping(value = "/download") - public void exportViewConsSuppFlow(HttpServletResponse response, ViewConsSuppFlowQueryCriteria criteria) throws IOException { - viewConsSuppFlowService.download(viewConsSuppFlowService.queryAll(criteria), response); - } - - @GetMapping - @ApiOperation("查询出入库记录") - public ResponseEntity queryViewConsSuppFlow(ViewConsSuppFlowQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(viewConsSuppFlowService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @PostMapping - @Log("新增出入库记录") - @ApiOperation("新增出入库记录") - public ResponseEntity createViewConsSuppFlow(@Validated @RequestBody ViewConsSuppFlow resources){ - return new ResponseEntity<>(viewConsSuppFlowService.create(resources),HttpStatus.CREATED); - } - - @PutMapping - @Log("修改出入库记录") - @ApiOperation("修改出入库记录") - public ResponseEntity updateViewConsSuppFlow(@Validated @RequestBody ViewConsSuppFlow resources){ - viewConsSuppFlowService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @DeleteMapping - @Log("删除出入库记录") - @ApiOperation("删除出入库记录") - public ResponseEntity deleteViewConsSuppFlow(@RequestBody Integer[] ids) { - viewConsSuppFlowService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java deleted file mode 100644 index 57f11561..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConUnitService.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.ysk.cashier.cons.service; - -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.dto.TbConUnitDto; -import cn.ysk.cashier.cons.service.dto.TbConUnitQueryCriteria; -import org.springframework.data.domain.Pageable; -import java.util.Map; -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-12 -**/ -public interface TbConUnitService { - - /** - * 查询数据分页 - * @param criteria 条件 - * @param pageable 分页参数 - * @return Map - */ - Map queryAll(TbConUnitQueryCriteria criteria, Pageable pageable); - - /** - * 查询所有数据不分页 - * @param criteria 条件参数 - * @return List - */ - List queryAll(TbConUnitQueryCriteria criteria); - - /** - * 根据ID查询 - * @param id ID - * @return TbConUnitDto - */ - TbConUnitDto findById(Integer id); - - /** - * 创建 - * @param resources / - * @return TbConUnitDto - */ - TbConUnitDto create(TbConUnit resources); - - /** - * 编辑 - * @param resources / - */ - void update(TbConUnit resources); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Integer[] ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List all, HttpServletResponse response) throws IOException; - - - - Map queryAllInfo(TbConUnitQueryCriteria criteria, Pageable pageable); -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java deleted file mode 100644 index f3710e55..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConsSuppFlowService.java +++ /dev/null @@ -1,66 +0,0 @@ -package cn.ysk.cashier.cons.service; - -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowDto; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowQueryCriteria; -import org.springframework.data.domain.Pageable; -import java.util.Map; -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-03 -**/ -public interface ViewConsSuppFlowService { - - /** - * 查询数据分页 - * @param criteria 条件 - * @param pageable 分页参数 - * @return Map - */ - Map queryAll(ViewConsSuppFlowQueryCriteria criteria, Pageable pageable); - - /** - * 查询所有数据不分页 - * @param criteria 条件参数 - * @return List - */ - List queryAll(ViewConsSuppFlowQueryCriteria criteria); - - /** - * 根据ID查询 - * @param id ID - * @return ViewConsSuppFlowDto - */ - ViewConsSuppFlowDto findById(Integer id); - - /** - * 创建 - * @param resources / - * @return ViewConsSuppFlowDto - */ - ViewConsSuppFlowDto create(ViewConsSuppFlow resources); - - /** - * 编辑 - * @param resources / - */ - void update(ViewConsSuppFlow resources); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Integer[] ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List all, HttpServletResponse response) throws IOException; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java deleted file mode 100644 index 83f0b899..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitDto.java +++ /dev/null @@ -1,52 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.service.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.persistence.Column; -import javax.validation.constraints.NotNull; -import java.sql.Timestamp; -import java.math.BigDecimal; -import java.io.Serializable; - -/** -* @author admin -* @date 2024-07-12 -**/ -@Data -public class TbConUnitDto implements Serializable { - - private Integer id; - - /** 主单位名称 */ - private String name; - - /** 主单位值 */ - private BigDecimal value; - - private Integer parentId; - - private String isConsume; - - /** 状态 1 启用 0 禁用 */ - private String status; - - private Timestamp createTime; - - private Timestamp updateTime; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java deleted file mode 100644 index 17259f4f..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConUnitQueryCriteria.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.ysk.cashier.cons.service.dto; - -import lombok.Data; -import java.util.List; -import cn.ysk.cashier.annotation.Query; - -/** -* @author admin -* @date 2024-07-12 -**/ -@Data -public class TbConUnitQueryCriteria{ - - /** 模糊 */ - @Query(type = Query.Type.INNER_LIKE) - private String name; - - /** 精确 */ - @Query - private Integer parentId; - - /** 精确 */ - @Query - private String status; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java index d4773b5b..a4b0bf17 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java @@ -1,24 +1,7 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ package cn.ysk.cashier.cons.service.dto; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.persistence.Column; import java.sql.Timestamp; import java.math.BigDecimal; import java.io.Serializable; @@ -53,6 +36,10 @@ public class TbConsInfoDto implements Serializable { /** 单位值 */ private String conUnit; + private String conUnitTwo; + + private BigDecimal conUnitTwoConvert; + /** 最近一次入库量 */ private BigDecimal lasterInStock; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java deleted file mode 100644 index e71a6a13..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowDto.java +++ /dev/null @@ -1,87 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.service.dto; - -import lombok.Data; -import java.sql.Timestamp; -import java.math.BigDecimal; -import java.io.Serializable; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Data -public class ViewConsSuppFlowDto implements Serializable { - - private Integer id; - - private Integer conInfoId; - - /** 店铺id */ - private Integer shopId; - - private Integer skuId; - - private Integer productId; - - private Integer supplierId; - - /** 出入库类型: in 入库 out 出库 */ - private String type; - - /** 数量 */ - private BigDecimal stockNumber; - - /** 进价 */ - private BigDecimal price; - - /** 小计 */ - private BigDecimal amount; - - /** 剩余库存 */ - private BigDecimal balance; - - /** 应付款 */ - private BigDecimal accountsPayable; - - /** 实付款 */ - private BigDecimal actualPayment; - - private Timestamp paymentTime; - - private Timestamp createTime; - - private Timestamp updateTime; - - /** 耗材名称 */ - private String conName; - - /** 耗材代码 */ - private String conCode; - - /** 耗材类型名称 */ - private String conTypeName; - - /** 联系人名字 */ - private String purveyorName; - - /** 供应商地址 */ - private String address; - - /** 联系人电话 */ - private String purveyorTelephone; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java deleted file mode 100644 index b36dccdc..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConsSuppFlowQueryCriteria.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.ysk.cashier.cons.service.dto; - -import cn.ysk.cashier.utils.JSONUtil; -import lombok.Data; -import java.util.List; -import cn.ysk.cashier.annotation.Query; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Data -public class ViewConsSuppFlowQueryCriteria{ - - /** 精确 */ - @Query - private Integer conInfoId; - - /** 精确 */ - @Query - private String type; - - /** 模糊 */ - @Query(type = Query.Type.INNER_LIKE) - private String conName; - - /** 精确 */ - @Query - private String conCode; - - /** 精确 */ - @Query - private String conTypeName; - - /** 模糊 */ - @Query(type = Query.Type.INNER_LIKE) - private String purveyorName; - - - public static void main(String[] args){ - System.out.println(JSONUtil.toJSONString(new ViewConsSuppFlowQueryCriteria())); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java deleted file mode 100644 index ac7d4697..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConUnitServiceImpl.java +++ /dev/null @@ -1,138 +0,0 @@ -package cn.ysk.cashier.cons.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.dto.ConUnitPO; -import cn.ysk.cashier.utils.FileUtil; -import cn.ysk.cashier.utils.PageUtil; -import cn.ysk.cashier.utils.QueryHelp; -import cn.ysk.cashier.utils.ValidationUtil; -import lombok.RequiredArgsConstructor; -import cn.ysk.cashier.cons.repository.TbConUnitRepository; -import cn.ysk.cashier.cons.service.TbConUnitService; -import cn.ysk.cashier.cons.service.dto.TbConUnitDto; -import cn.ysk.cashier.cons.service.dto.TbConUnitQueryCriteria; -import cn.ysk.cashier.cons.service.mapstruct.TbConUnitMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; - -import java.util.*; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @website https://eladmin.vip -* @description 服务实现 -* @author admin -* @date 2024-07-12 -**/ -@Service -@RequiredArgsConstructor -public class TbConUnitServiceImpl implements TbConUnitService { - - private final TbConUnitRepository tbConUnitRepository; - private final TbConUnitMapper tbConUnitMapper; - - @Override - public Map queryAll(TbConUnitQueryCriteria criteria, Pageable pageable){ - Page page = tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(tbConUnitMapper::toDto)); - } - - @Override - public List queryAll(TbConUnitQueryCriteria criteria){ - return tbConUnitMapper.toDto(tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); - } - - @Override - @Transactional - public TbConUnitDto findById(Integer id) { - TbConUnit tbConUnit = tbConUnitRepository.findById(id).orElseGet(TbConUnit::new); - ValidationUtil.isNull(tbConUnit.getId(),"TbConUnit","id",id); - return tbConUnitMapper.toDto(tbConUnit); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public TbConUnitDto create(TbConUnit resources) { - return tbConUnitMapper.toDto(tbConUnitRepository.save(resources)); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(TbConUnit resources) { - TbConUnit tbConUnit = tbConUnitRepository.findById(resources.getId()).orElseGet(TbConUnit::new); - ValidationUtil.isNull( tbConUnit.getId(),"TbConUnit","id",resources.getId()); - tbConUnit.copy(resources); - tbConUnitRepository.save(tbConUnit); - } - - @Override - public void deleteAll(Integer[] ids) { - for (Integer id : ids) { - tbConUnitRepository.deleteById(id); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (TbConUnitDto tbConUnit : all) { - Map map = new LinkedHashMap<>(); - map.put("主单位名称", tbConUnit.getName()); - map.put("主单位值", tbConUnit.getValue()); - map.put("状态 1 启用 0 禁用", tbConUnit.getStatus()); - map.put(" createTime", tbConUnit.getCreateTime()); - map.put(" updateTime", tbConUnit.getUpdateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } - - @Override - public Map queryAllInfo(TbConUnitQueryCriteria criteria, Pageable pageable) { - List list=new ArrayList<>(); - if(ObjectUtil.isEmpty(criteria.getParentId())){ - criteria.setParentId(0); - } - Page page = tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - if(Objects.nonNull(page)&&Objects.nonNull(page.getContent())){ - page.getContent().parallelStream().forEach(it->{ - ConUnitPO po=new ConUnitPO(); - po.setId(it.getId()); - po.setName(it.getName()); - po.setValue(it.getValue()); - po.setIsConsume(it.getIsConsume()); - po.setCreateTime(it.getCreateTime()); - po.setUpdateTime(it.getUpdateTime()); - - criteria.setParentId(it.getId()); - criteria.setName(null); - criteria.setStatus(null); - Page childPage = tbConUnitRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - if(Objects.nonNull(childPage)&&Objects.nonNull(childPage.getContent())){ - List list1=new ArrayList<>(); - for (TbConUnit tbConUnit : childPage.getContent()) { - ConUnitPO child=new ConUnitPO(); - child.setId(tbConUnit.getId()); - child.setName(tbConUnit.getName()); - child.setValue(tbConUnit.getValue()); - child.setIsConsume(tbConUnit.getIsConsume()); - child.setCreateTime(tbConUnit.getCreateTime()); - child.setUpdateTime(tbConUnit.getUpdateTime()); - list1.add(child); - } - po.setChildConUnit(list1); - } - list.add(po); - }); - } - Map map = new LinkedHashMap<>(2); - map.put("content",list); - map.put("totalElements",page.getTotalElements()); - return map; - - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java index 2b6e42f3..3b7a1451 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java @@ -229,6 +229,11 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { log.info("耗材信息不存在"); continue; } + BigDecimal changeStock = conInfos.getStockNumber(); + //副单位的实际修改值 + if (StringUtils.isNotBlank(conInfos.getUnit()) && conInfos.getUnit().equals(info.getConUnitTwo())) { + changeStock = conInfos.getStockNumber().multiply(info.getConUnitTwoConvert()).setScale(2, BigDecimal.ROUND_HALF_UP); + } TbConsSuppFlow suppFlow = new TbConsSuppFlow(); @@ -246,17 +251,17 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { suppFlow.setShopId(resources.getShopId()); suppFlow.setSupplierId(Objects.isNull(resources.getSupplierId()) ? 0 : resources.getSupplierId()); suppFlow.setType(resources.getType()); - suppFlow.setStockNumber(conInfos.getStockNumber()); - + suppFlow.setStockNumber(changeStock); + //实际库存 BigDecimal amount = info.getStockNumber().subtract(info.getStockConsume()); if ("in".equals(resources.getType())) { stockOperate.setSubType(1); - info.setStockNumber(info.getStockNumber().add(conInfos.getStockNumber())); - info.setLasterInStock(conInfos.getStockNumber()); + info.setStockNumber(info.getStockNumber().add(changeStock)); + info.setLasterInStock(changeStock); - suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).add(conInfos.getStockNumber())); + suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).add(changeStock)); flow.setBizCode("stockIn"); @@ -268,19 +273,19 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { purveyorTransact.setWaitAmount((resources.getAccountsPayable().subtract(resources.getActualPayment()))); purveyorTransact.setType("cons_in"); - object.put("number", conInfos.getStockNumber()); + object.put("number", changeStock); } else if ("out".equals(resources.getType())) { stockOperate.setSubType(-1); - if (conInfos.getStockNumber().compareTo(info.getStockNumber().subtract(info.getStockConsume())) > 0) { + if (changeStock.compareTo(amount) > 0) { throw new BadRequestException("出库数量大于现有的库存数量"); } - info.setStockNumber(info.getStockNumber().subtract(conInfos.getStockNumber())); + info.setStockNumber(info.getStockNumber().subtract(changeStock)); - suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).subtract(conInfos.getStockNumber())); + suppFlow.setBalance(info.getStockNumber().subtract(info.getStockConsume()).subtract(changeStock)); flow.setBizCode("stockout"); @@ -292,7 +297,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { purveyorTransact.setWaitAmount((resources.getAccountsPayable().subtract(resources.getActualPayment())).negate()); purveyorTransact.setType("cons_out"); - object.put("number", conInfos.getStockNumber()); + object.put("number", changeStock); } else { throw new BadRequestException("错误操作类型"); @@ -302,7 +307,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { object.put("stockNumber", amount); object.put("name", info.getConName()); - object.put("unitName", info.getConUnit()); + object.put("unitName", StringUtils.isBlank(conInfos.getUnit()) ? info.getConUnit() : conInfos.getUnit()); array.add(object); suppFlow.setPrice(conInfos.getPrice()); @@ -319,7 +324,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { } purveyorTransact.setPaidAt(System.currentTimeMillis()); - + //供应商 purveyorTransactRepository.save(purveyorTransact); if (resources.getSupplierId() != null) { tbShopPurveyorRepository.upLastTransactAt(resources.getSupplierId().toString()); @@ -333,7 +338,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { flow.setConsId(info.getId()); flow.setShopId(info.getShopId()); flow.setConName(info.getConName()); - flow.setAmount(conInfos.getStockNumber()); + flow.setAmount(changeStock); flow.setRemark(resources.getRemark()); flow.setBalance(info.getStockNumber().subtract(info.getStockConsume())); flow.setOperator(SecurityUtils.getCurrentUserNickName()); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java deleted file mode 100644 index f65f68ad..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConsSuppFlowServiceImpl.java +++ /dev/null @@ -1,109 +0,0 @@ -package cn.ysk.cashier.cons.service.impl; - -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.utils.FileUtil; -import cn.ysk.cashier.utils.PageUtil; -import cn.ysk.cashier.utils.QueryHelp; -import cn.ysk.cashier.utils.ValidationUtil; -import lombok.RequiredArgsConstructor; -import cn.ysk.cashier.cons.repository.ViewConsSuppFlowRepository; -import cn.ysk.cashier.cons.service.ViewConsSuppFlowService; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowDto; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowQueryCriteria; -import cn.ysk.cashier.cons.service.mapstruct.ViewConsSuppFlowMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import java.util.List; -import java.util.Map; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.LinkedHashMap; - -/** -* @website https://eladmin.vip -* @description 服务实现 -* @author admin -* @date 2024-07-03 -**/ -@Service -@RequiredArgsConstructor -public class ViewConsSuppFlowServiceImpl implements ViewConsSuppFlowService { - - private final ViewConsSuppFlowRepository viewConsSuppFlowRepository; - private final ViewConsSuppFlowMapper viewConsSuppFlowMapper; - - @Override - public Map queryAll(ViewConsSuppFlowQueryCriteria criteria, Pageable pageable){ - Page page = viewConsSuppFlowRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(viewConsSuppFlowMapper::toDto)); - } - - @Override - public List queryAll(ViewConsSuppFlowQueryCriteria criteria){ - return viewConsSuppFlowMapper.toDto(viewConsSuppFlowRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); - } - - @Override - @Transactional - public ViewConsSuppFlowDto findById(Integer id) { - ViewConsSuppFlow viewConsSuppFlow = viewConsSuppFlowRepository.findById(id).orElseGet(ViewConsSuppFlow::new); - ValidationUtil.isNull(viewConsSuppFlow.getId(),"ViewConsSuppFlow","id",id); - return viewConsSuppFlowMapper.toDto(viewConsSuppFlow); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public ViewConsSuppFlowDto create(ViewConsSuppFlow resources) { - return viewConsSuppFlowMapper.toDto(viewConsSuppFlowRepository.save(resources)); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ViewConsSuppFlow resources) { - ViewConsSuppFlow viewConsSuppFlow = viewConsSuppFlowRepository.findById(resources.getId()).orElseGet(ViewConsSuppFlow::new); - ValidationUtil.isNull( viewConsSuppFlow.getId(),"ViewConsSuppFlow","id",resources.getId()); - viewConsSuppFlow.copy(resources); - viewConsSuppFlowRepository.save(viewConsSuppFlow); - } - - @Override - public void deleteAll(Integer[] ids) { - for (Integer id : ids) { - viewConsSuppFlowRepository.deleteById(id); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (ViewConsSuppFlowDto viewConsSuppFlow : all) { - Map map = new LinkedHashMap<>(); - map.put(" conInfoId", viewConsSuppFlow.getConInfoId()); - map.put("店铺id", viewConsSuppFlow.getShopId()); - map.put(" skuId", viewConsSuppFlow.getSkuId()); - map.put(" productId", viewConsSuppFlow.getProductId()); - map.put(" supplierId", viewConsSuppFlow.getSupplierId()); - map.put("出入库类型: in 入库 out 出库", viewConsSuppFlow.getType()); - map.put("数量", viewConsSuppFlow.getStockNumber()); - map.put("进价", viewConsSuppFlow.getPrice()); - map.put("小计", viewConsSuppFlow.getAmount()); - map.put("剩余库存", viewConsSuppFlow.getBalance()); - map.put("应付款", viewConsSuppFlow.getAccountsPayable()); - map.put("实付款", viewConsSuppFlow.getActualPayment()); - map.put(" paymentTime", viewConsSuppFlow.getPaymentTime()); - map.put(" createTime", viewConsSuppFlow.getCreateTime()); - map.put(" updateTime", viewConsSuppFlow.getUpdateTime()); - map.put("耗材名称", viewConsSuppFlow.getConName()); - map.put("耗材代码", viewConsSuppFlow.getConCode()); - map.put("耗材类型名称", viewConsSuppFlow.getConTypeName()); - map.put("联系人名字", viewConsSuppFlow.getPurveyorName()); - map.put("供应商地址", viewConsSuppFlow.getAddress()); - map.put("联系人电话", viewConsSuppFlow.getPurveyorTelephone()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java deleted file mode 100644 index 915e25e3..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/TbConUnitMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.ysk.cashier.cons.service.mapstruct; - -import cn.ysk.cashier.base.BaseMapper; -import cn.ysk.cashier.cons.domain.TbConUnit; -import cn.ysk.cashier.cons.service.dto.TbConUnitDto; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -/** -* @author admin -* @date 2024-07-12 -**/ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface TbConUnitMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java deleted file mode 100644 index d8b4a83a..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConsSuppFlowMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.ysk.cashier.cons.service.mapstruct; - -import cn.ysk.cashier.base.BaseMapper; -import cn.ysk.cashier.cons.domain.ViewConsSuppFlow; -import cn.ysk.cashier.cons.service.dto.ViewConsSuppFlowDto; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -/** -* @author admin -* @date 2024-07-03 -**/ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface ViewConsSuppFlowMapper extends BaseMapper { - -} \ No newline at end of file From 93845145f3406dfc134373082ce41cdd8d777632 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 15:51:45 +0800 Subject: [PATCH 09/25] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=97=A0?= =?UTF-8?q?=E5=8F=B0=E6=A1=8C=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E8=B4=AD=E7=89=A9=E8=BD=A6=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/shopimpl/TbShopTableServiceImpl.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 121a430e..33df018a 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1996,11 +1996,14 @@ public class TbShopTableServiceImpl implements TbShopTableService { cashierCarts.forEach(item -> { TbProduct product = productMap.get(item.getProductId()); // 设置打包费 - item.setPackFee(product.getPackFee() != null ? - product.getPackFee().multiply(BigDecimal.valueOf(item.getNumber())) : BigDecimal.ZERO); - item.setTableId(""); - item.setUseType(OrderUseTypeEnum.TAKEOUT.getValue()); - item.setIsPack("true"); + mpCashierCartService.update(new LambdaUpdateWrapper() + .eq(TbCashierCart::getId, item.getId()) + .set(TbCashierCart::getPackFee, product.getPackFee() != null ? + product.getPackFee().multiply(BigDecimal.valueOf(item.getNumber())) : BigDecimal.ZERO) + .set(TbCashierCart::getTableId, null) + .set(TbCashierCart::getUseType, OrderUseTypeEnum.TAKEOUT.getValue()) + .set(TbCashierCart::getIsPack, "true")); + }); List detailList = orderDetailMapper.selectList(new LambdaQueryWrapper() @@ -2017,8 +2020,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (!detailList.isEmpty()) { mpOrderDetailService.updateBatchById(detailList); } - - return mpCashierCartService.updateBatchById(cashierCarts); + return true; } else { cashierCartMapper.update(null, new LambdaUpdateWrapper() .in(TbCashierCart::getId, choseModelDTO.getCartIds()) From 8ef801afa1a32892548dcd81e4bd7ea4515bb377 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 16:00:46 +0800 Subject: [PATCH 10/25] =?UTF-8?q?fix:=20=E8=8E=B7=E5=8F=96=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 33df018a..61752900 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -780,7 +780,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (!shopEatTypeInfoDTO.isTakeout()) { if (StrUtil.isBlank(tableId)) { - queryWrapper.isNull(TbCashierCart::getTableId); + queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")); } else { queryWrapper.eq(TbCashierCart::getTableId, tableId); } From b4e5eda9f74ebf15f0d6b8ee7c18df1e6425bc13 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 16:04:15 +0800 Subject: [PATCH 11/25] =?UTF-8?q?fix:=20=E8=8E=B7=E5=8F=96=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 61752900..a7b5d631 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1126,7 +1126,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { } queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()); } else { - queryWrapper.isNull(TbCashierCart::getTableId); + queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")); } } From bd08205426d63f7f2b948947a8cb981a960d437a Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 16:58:45 +0800 Subject: [PATCH 12/25] =?UTF-8?q?fix:=20=E6=89=93=E5=8C=85=E8=B5=A0?= =?UTF-8?q?=E9=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/shopimpl/TbShopTableServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index bffc184e..c72dcd06 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -419,15 +419,17 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (updateCartDTO.getIsPack() != null) { if (!updateCartDTO.getIsPack()) { tbCashierCart.setPackFee(BigDecimal.ZERO); + tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(tbCashierCart.getNumber()))); } else { tbCashierCart.setPackFee(new BigDecimal(updateCartDTO.getNum()).multiply(product.getPackFee())); - tbCashierCart.setTotalAmount(tbCashierCart.getTotalAmount().add(tbCashierCart.getPackFee())); + tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(tbCashierCart.getNumber())) + .add(tbCashierCart.getPackFee())); } tbCashierCart.setIsPack(updateCartDTO.getIsPack() ? "true" : "false"); } if (updateCartDTO.getIsGift() != null) { - tbCashierCart.setTotalAmount(updateCartDTO.getIsGift() ? tbCashierCart.getPackFee() : tbCashierCart.getTotalAmount()); + tbCashierCart.setTotalAmount(updateCartDTO.getIsGift() ? BigDecimal.ZERO : tbCashierCart.getTotalAmount()); tbCashierCart.setIsGift(updateCartDTO.getIsGift() ? "true" : "false"); } From 07990a0a9651f527d91441c77ce6db9492e85e44 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 17:06:13 +0800 Subject: [PATCH 13/25] =?UTF-8?q?fix:=20=E6=89=93=E5=8C=85=E8=B5=A0?= =?UTF-8?q?=E9=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index c72dcd06..58101093 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -429,7 +429,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { } if (updateCartDTO.getIsGift() != null) { - tbCashierCart.setTotalAmount(updateCartDTO.getIsGift() ? BigDecimal.ZERO : tbCashierCart.getTotalAmount()); + tbCashierCart.setTotalAmount(updateCartDTO.getIsGift() ? tbCashierCart.getPackFee() : tbCashierCart.getTotalAmount()); tbCashierCart.setIsGift(updateCartDTO.getIsGift() ? "true" : "false"); } From f386405aaa81553be255780932f7c9c514e5d3e8 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 17:11:39 +0800 Subject: [PATCH 14/25] =?UTF-8?q?fix:=20=E5=A4=96=E5=B8=A6=E4=B8=8B?= =?UTF-8?q?=E5=8D=95=E6=AC=A1=E6=95=B0=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index db20e847..19fa6ebc 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -120,7 +120,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { private TbOrderInfo getCurrentOrder(ShopEatTypeInfoDTO eatTypeInfoDTO) { // 获取当前台桌最新订单,先付款模式不获取 - if (eatTypeInfoDTO.isDineInBefore()) { + if (eatTypeInfoDTO.isDineInBefore() || eatTypeInfoDTO.isTakeout()) { return null; } List orderInfoList = orderInfoMapper.selectPage(new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(1, 1), new LambdaQueryWrapper() From d21833b4b2a0802069fc64f9fe7df0215ab12120 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 17:24:39 +0800 Subject: [PATCH 15/25] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 58101093..2a378fe6 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -419,10 +419,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (updateCartDTO.getIsPack() != null) { if (!updateCartDTO.getIsPack()) { tbCashierCart.setPackFee(BigDecimal.ZERO); - tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(tbCashierCart.getNumber()))); + tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum()))); } else { tbCashierCart.setPackFee(new BigDecimal(updateCartDTO.getNum()).multiply(product.getPackFee())); - tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(tbCashierCart.getNumber())) + tbCashierCart.setTotalAmount(tbCashierCart.getSalePrice().multiply(BigDecimal.valueOf(updateCartDTO.getNum())) .add(tbCashierCart.getPackFee())); } tbCashierCart.setIsPack(updateCartDTO.getIsPack() ? "true" : "false"); From 6630141a99ca76a40b89a69cd42cda67b21e81ee Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 17:48:24 +0800 Subject: [PATCH 16/25] =?UTF-8?q?fix:=20=E9=80=89=E6=8B=A9=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E4=BF=9D=E5=AD=98=E4=BC=9A=E5=91=98=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/service/TbPayService.java | 2 +- .../service/impl/TbPayServiceImpl.java | 7 +++--- .../impl/shopimpl/TbShopTableServiceImpl.java | 25 ++++++++++++++++--- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java index c73da59f..e2dfd181 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java @@ -12,7 +12,7 @@ import java.math.BigDecimal; public interface TbPayService { TbOrderInfo scanPay(Integer shopId, String code, Integer merchantId, Integer memberId, BigDecimal payMount, TbOrderInfo orderInfo); - void vipPay(BigDecimal payMount, Integer vipUserId); + void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId); TbOrderInfo cashPay(PayDTO payDTO); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index c4b55781..c1db2f3d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -306,18 +306,19 @@ public class TbPayServiceImpl implements TbPayService { } @Override - public void vipPay(BigDecimal payMount, Integer vipUserId) { + public void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId) { // 扣减会员余额 TbShopUser shopUser = shopUserMapper.selectOne(new LambdaUpdateWrapper() .eq(TbShopUser::getStatus, 1) - .eq(TbShopUser::getId, vipUserId)); + .eq(TbShopUser::getId, vipUserId) + .eq(TbShopUser::getUserId, userId)); if (shopUser == null) { throw new BadRequestException("用户不存在或已被禁用"); } - long flag = shopUserMapper.decrBalance(vipUserId, payMount); + long flag = shopUserMapper.decrBalance(shopUser.getId(), payMount); if (flag < 1) { throw new BadRequestException("余额不足或扣除余额失败"); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 0e2c0604..c7241c53 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -117,6 +117,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { private final PayService payService; private final TbOrderInfoService orderInfoService; private final MpOrderInfoService mpOrderInfoService; + private final TbShopUserMapper tbShopUserMapper; private TbOrderInfo getCurrentOrder(ShopEatTypeInfoDTO eatTypeInfoDTO) { // 获取当前台桌最新订单,先付款模式不获取 @@ -1247,6 +1248,15 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (orderId != null) { orderInfo = orderInfoMapper.selectById(orderId); } + + TbShopUser shopUser = null; + if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) { + shopUser = tbShopUserMapper.selectById(createOrderDTO.getVipUserId()); + if (shopUser == null) { + throw new BadRequestException("用户不存在"); + } + } + // 是否是第一次创建订单 boolean isFirst = false; // 修改订单信息 @@ -1270,7 +1280,8 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setSeatCount(seatCart.getNumber()); } if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) { - orderInfo.setUserId(createOrderDTO.getVipUserId()); + orderInfo.setMemberId(createOrderDTO.getVipUserId()); + orderInfo.setUserId(shopUser.getUserId()); } orderInfo.setSendType(shopEatTypeInfoDTO.getSendType()); // 存在新添加的商品,增加下单次数 @@ -1306,6 +1317,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setUseType(shopEatTypeInfoDTO.getUseType()); if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) { orderInfo.setUserId(createOrderDTO.getVipUserId()); + orderInfo.setUserId(shopUser.getUserId()); } if (seatCart != null) { orderInfo.setSeatAmount(seatCart.getTotalAmount()); @@ -1607,7 +1619,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (payDTO.getVipUserId() != null) { orderInfo.setUserId(String.valueOf(payDTO.getVipUserId())); } - tbPayServiceImpl.vipPay(finalAmount, Integer.valueOf(orderInfo.getUserId())); + tbPayServiceImpl.vipPay(finalAmount, Integer.valueOf(orderInfo.getUserId()), payDTO.getVipUserId()); orderInfo.setPayOrderNo("vipPay".concat(SnowFlakeUtil.generateOrderNo())); orderInfo.setPayType("deposit"); break; @@ -1749,16 +1761,23 @@ public class TbShopTableServiceImpl implements TbShopTableService { .in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue()); } + TbShopUser shopUser = tbShopUserMapper.selectById(updateVipDTO.getVipUserId()); + if (shopUser == null) { + throw new BadRequestException("用户信息不存在"); + } + List tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId)); if (!tbCashierCarts.isEmpty()) { Integer orderId = tbCashierCarts.get(0).getOrderId(); if (updateVipDTO.getType() == 0) { return orderInfoMapper.update(null, new LambdaUpdateWrapper() .eq(TbOrderInfo::getId, orderId) - .set(TbOrderInfo::getUserId, updateVipDTO.getVipUserId())); + .set(TbOrderInfo::getUserId, shopUser.getUserId()) + .set(TbOrderInfo::getMemberId, updateVipDTO.getVipUserId())); } else { return orderInfoMapper.update(null, new LambdaUpdateWrapper() .eq(TbOrderInfo::getId, orderId) + .set(TbOrderInfo::getUserId, null) .set(TbOrderInfo::getUserId, null)); } } From 31f20090e5a176ba84de033e78e9414cbbfe606e Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 17:59:52 +0800 Subject: [PATCH 17/25] =?UTF-8?q?fix:=20=E9=80=89=E6=8B=A9=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E4=BF=9D=E5=AD=98=E4=BC=9A=E5=91=98=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/ysk/cashier/service/TbPayService.java | 3 ++- .../java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java | 7 ++++--- .../service/impl/shopimpl/TbShopTableServiceImpl.java | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java index e2dfd181..6fc11b4f 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java @@ -3,6 +3,7 @@ package cn.ysk.cashier.service; import cn.ysk.cashier.dto.ScanPayDTO; import cn.ysk.cashier.dto.shoptable.PayDTO; import cn.ysk.cashier.pojo.order.TbOrderInfo; +import cn.ysk.cashier.pojo.shop.TbShopUser; import javax.validation.constraints.Max; import javax.validation.constraints.Min; @@ -12,7 +13,7 @@ import java.math.BigDecimal; public interface TbPayService { TbOrderInfo scanPay(Integer shopId, String code, Integer merchantId, Integer memberId, BigDecimal payMount, TbOrderInfo orderInfo); - void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId); + TbShopUser vipPay(BigDecimal payMount, Integer vipUserId); TbOrderInfo cashPay(PayDTO payDTO); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index c1db2f3d..3bed9280 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -306,13 +306,12 @@ public class TbPayServiceImpl implements TbPayService { } @Override - public void vipPay(BigDecimal payMount, Integer userId, Integer vipUserId) { + public TbShopUser vipPay(BigDecimal payMount, Integer vipUserId) { // 扣减会员余额 TbShopUser shopUser = shopUserMapper.selectOne(new LambdaUpdateWrapper() .eq(TbShopUser::getStatus, 1) - .eq(TbShopUser::getId, vipUserId) - .eq(TbShopUser::getUserId, userId)); + .eq(TbShopUser::getId, vipUserId)); if (shopUser == null) { throw new BadRequestException("用户不存在或已被禁用"); @@ -333,6 +332,8 @@ public class TbPayServiceImpl implements TbPayService { userFlow.setType("-"); shopUserFlowMapper.insert(userFlow); + return shopUser; + } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index c7241c53..0dde792c 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1619,7 +1619,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (payDTO.getVipUserId() != null) { orderInfo.setUserId(String.valueOf(payDTO.getVipUserId())); } - tbPayServiceImpl.vipPay(finalAmount, Integer.valueOf(orderInfo.getUserId()), payDTO.getVipUserId()); + TbShopUser shopUser = tbPayServiceImpl.vipPay(finalAmount, payDTO.getVipUserId()); + orderInfo.setMemberId(String.valueOf(shopUser.getId())); + orderInfo.setUserId(shopUser.getUserId()); orderInfo.setPayOrderNo("vipPay".concat(SnowFlakeUtil.generateOrderNo())); orderInfo.setPayType("deposit"); break; From c1145538dc96825dbbac66f364e536e80822ada1 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 18:01:29 +0800 Subject: [PATCH 18/25] =?UTF-8?q?fix:=20=E4=B8=8B=E5=8D=95=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 0dde792c..2d0e0fc7 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -121,7 +121,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { private TbOrderInfo getCurrentOrder(ShopEatTypeInfoDTO eatTypeInfoDTO) { // 获取当前台桌最新订单,先付款模式不获取 - if (eatTypeInfoDTO.isDineInBefore() || eatTypeInfoDTO.isTakeout()) { + if (!eatTypeInfoDTO.isDineInAfter()) { return null; } List orderInfoList = orderInfoMapper.selectPage(new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(1, 1), new LambdaQueryWrapper() From b363044282572d332979b54af7bd85b6e3cc6786 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 18:06:48 +0800 Subject: [PATCH 19/25] =?UTF-8?q?fix:=20=E9=80=80=E6=AC=BE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index 215e2cbf..ad2c362a 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -606,7 +606,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { if (user == null) { throw new BadRequestException("用户信息不存在"); } - tbMShopUserMapper.incrBalance(userId, shopId, returnAmount, cn.hutool.core.date.DateUtil.current()); + tbMShopUserMapper.incrBalance(user.getId(), shopId, returnAmount, cn.hutool.core.date.DateUtil.current()); TbShopUserFlow flow = new TbShopUserFlow(); flow.setShopUserId(user.getId()); From 1017b69a894250c969bdf5def7ede24ee52850be Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Wed, 30 Oct 2024 18:28:41 +0800 Subject: [PATCH 20/25] =?UTF-8?q?fix:=20=E8=AE=A2=E5=8D=95=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E8=BF=94=E5=9B=9E=E5=AE=A2=E5=BA=A7=E8=B4=B9=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/order/TbOrderInfoServiceImpl.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index ad2c362a..f0d728d0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -325,12 +325,11 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { // dto.setRefundAmount(tbOrderInfos.stream().map(TbOrderInfo::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); // } dto.setDetailList(details); - List tbCashierCarts = tbCashierCartMapper.selectList(new LambdaQueryWrapper() - .eq(TbCashierCart::getOrderId, id) - .eq(TbCashierCart::getUseType, tbOrderInfo.getUseType()) - .eq(TbCashierCart::getProductId, TableConstant.CART_SEAT_ID) - .orderByDesc(TbCashierCart::getId)); - TbCashierCart cashierCart = tbCashierCarts.isEmpty() ? null : tbCashierCarts.get(0); + List tbCashierCarts = tbOrderDetailMapper.selectList(new LambdaQueryWrapper() + .eq(TbOrderDetail::getOrderId, id) + .eq(TbOrderDetail::getProductId, TableConstant.CART_SEAT_ID) + .orderByDesc(TbOrderDetail::getId)); + TbOrderDetail cashierCart = tbCashierCarts.isEmpty() ? null : tbCashierCarts.get(0); Map map = BeanUtil.beanToMap(cashierCart, false, false); if (cashierCart != null) { map.put("cartId", cashierCart.getId()); From 05dc07010752da077731329e7ada66129798a30e Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 31 Oct 2024 09:30:05 +0800 Subject: [PATCH 21/25] =?UTF-8?q?fix:=20=E5=88=9B=E5=BB=BA=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=8F=96=E9=A4=90=E7=A0=81=E5=A2=9E=E5=8A=A0=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 2d0e0fc7..07612849 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1392,9 +1392,8 @@ public class TbShopTableServiceImpl implements TbShopTableService { addGlobalCode(cn.ysk.cashier.utils.DateUtils.getDay(), "pc", String.valueOf(createOrderDTO.getShopId())); } - if (shopEatTypeInfoDTO.isIncrMaterId() && "pending".equals(orderInfo.getStatus())) { + if (shopEatTypeInfoDTO.isIncrMaterId() || "pending".equals(orderInfo.getStatus())) { String key = RedisConstant.getMasterIdKey(createOrderDTO.getShopId(), cn.ysk.cashier.utils.DateUtils.getDay(), orderInfo.getTableId()); - ; redisTemplate.delete(key); } } From ec3d76f73df851c8aaeb813aad5d702f1b94ba76 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 31 Oct 2024 09:34:22 +0800 Subject: [PATCH 22/25] =?UTF-8?q?fix:=20=E9=80=80=E8=8F=9C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 07612849..60b43815 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -651,7 +651,8 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 会员点单 TbCashierCart cashierCart = cashierCartMapper.selectOne(new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, removeCartDTO.getShopId()) - .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue()) +// .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue()) + .ne(TbCashierCart::getStatus, TableConstant.OrderInfo.Status.RETURN.getValue()) .isNotNull(TbCashierCart::getOrderId) .eq(TbCashierCart::getId, removeCartDTO.getCartId())); From ce93f7593d3862279d930670b7bdddf637456a6a Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 31 Oct 2024 09:55:16 +0800 Subject: [PATCH 23/25] =?UTF-8?q?fix:=20=E9=80=80=E8=8F=9C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 60b43815..8a125222 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -653,7 +653,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { .eq(TbCashierCart::getShopId, removeCartDTO.getShopId()) // .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue()) .ne(TbCashierCart::getStatus, TableConstant.OrderInfo.Status.RETURN.getValue()) - .isNotNull(TbCashierCart::getOrderId) +// .isNotNull(TbCashierCart::getOrderId) .eq(TbCashierCart::getId, removeCartDTO.getCartId())); if (cashierCart == null) { @@ -672,7 +672,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { TbOrderDetail orderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper() .eq(TbOrderDetail::getCartId, cashierCart.getId())); - if (cashierCart.getProductId().equals("-999")) { + if (false && cashierCart.getProductId().equals("-999")) { cashierCartMapper.deleteById(cashierCart.getId()); cashierCartMapper.update(null, new LambdaUpdateWrapper() .eq(TbCashierCart::getId, cashierCart.getId()) From a9ea2cdc82c357799eba1486b35480670debde64 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 31 Oct 2024 10:01:26 +0800 Subject: [PATCH 24/25] =?UTF-8?q?fix:=20=E9=80=80=E8=8F=9C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/cons/TableConstant.java | 147 +++++++++++++++++- .../impl/shopimpl/TbShopTableServiceImpl.java | 10 +- 2 files changed, 154 insertions(+), 3 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java index f9ea2835..ac2e0605 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java @@ -2,10 +2,57 @@ package cn.ysk.cashier.cons; import lombok.Getter; +import java.util.Objects; + public interface TableConstant { String CART_SEAT_ID = "-999"; + class ShopTable { + @Getter + public enum State { + IDLE("idle"), CLOSED("closed"), PAYING("paying"), PENDING("pending"), USING("using"), CLEANING("cleaning"); + private final String value; + + State(String value) { + this.value = value; + } + } + } + + class CashierCart { + public static final String ID = "-999"; + + @Getter + public enum Status { + REFUNDING("refunding"), REFUND("refund"), CLOSED("closed"), CREATE("create"), + UNPAID("unpaid"), PAYING("paying"), RETURN("return"), CANCEL("cancel"); + private final String value; + Status(String value) { + this.value = value; + } + public boolean equalsVals(String value) { + return this.value.equals(value); + } + } + + @Getter + public enum UseType { + TAKEOUT("takeout"), + DINE_IN_AFTER("dine-in-after"), + DINE_IN_BEFORE("dine-in-before"); + private final String value; + + UseType(String value) { + this.value = value; + } + + public boolean equalsVals(String value) { + return this.value.equals(value); + } + } + } + class OrderInfo { @Getter public enum Status { @@ -21,7 +68,36 @@ public interface TableConstant { @Getter public enum UseType { TAKEOUT("takeout"), - NONE_TABLE("dine-in"), + DINE_IN_AFTER("dine-in-after"), + DINE_IN_BEFORE("dine-in-before"), NONE_TABLE("dine-in"); + private final String value; + + UseType(String value) { + this.value = value; + } + + public boolean equalsVals(String value) { + return this.value.equals(value); + } + } + } + + class FreeDineRecord { + @Getter + public enum State { + WAIT_PAY(0), + SUCCESS_PAY(1), + FAIL_PAY(2); + private final Integer value; + + State(Integer value) { + this.value = value; + } + } + + @Getter + public enum UseType { + TAKEOUT("takeout"), DINE_IN_AFTER("dine-in-after"), DINE_IN_BEFORE("dine-in-before"); private final String value; @@ -35,4 +111,73 @@ public interface TableConstant { } } } + + class ShopInfo { + @Getter + public enum EatModel { + TAKEOUT("takeout"), + DINE_IN("dine-in"); + private final String value; + + EatModel(String value) { + this.value = value; + } + + public boolean equalsVals(String value) { + return this.value.equals(value); + } + } + } + + class MemberIn { + @Getter + public enum Type { + NORMAL(0), + FREE_DINE(1); + private final Integer value; + + Type(Integer value) { + this.value = value; + } + + public boolean equalsVals(Integer value) { + return Objects.equals(this.value, value); + } + } + } + + class ActivateOutRecord { + @Getter + public enum Type { + // 满减 + FULL_REDUCTION(1), + // 商品 + PRODUCT(2); + private final Integer value; + + Type(Integer value) { + this.value = value; + } + + public boolean equalsVals(Integer value) { + return Objects.equals(this.value, value); + } + } + @Getter + public enum Status { + CREATE("create"), + CANCEL("cancel"), + // 商品 + CLOSED("closed"); + private final String value; + + Status(String value) { + this.value = value; + } + + public boolean equalsVals(String value) { + return this.value.equals(value); + } + } + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 8a125222..07814cbf 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -648,6 +648,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override public void returnCart(ReturnCartDTO removeCartDTO) { + boolean isSeatCart = TableConstant.CashierCart.ID.equals(removeCartDTO.getCartId().toString()); // 会员点单 TbCashierCart cashierCart = cashierCartMapper.selectOne(new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, removeCartDTO.getShopId()) @@ -668,6 +669,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("此商品还未下单,无需退单"); } + // 餐位费直接删除 TbOrderDetail orderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper() .eq(TbOrderDetail::getCartId, cashierCart.getId())); @@ -701,7 +703,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { .eq(TbOrderDetail::getId, tbOrderDetail.getId()) .set(TbOrderDetail::getUpdateTime, DateUtil.date()) .set(TbOrderDetail::getStatus, "return")); - rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail); + if (TableConstant.OrderInfo.UseType.DINE_IN_AFTER.equalsVals(tbOrderDetail.getUseType()) && !isSeatCart) { + rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail); + } } else { //生成退菜的购物车记录 TbCashierCart returnCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class); @@ -726,7 +730,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { cashierCartMapper.updateNumAmountStatus(cashierCart.getId(), cashierCart.getStatus(), -returnCart.getNumber()); orderDetailMapper.updateNumAmountStatus(orderDetail.getId(), orderDetail.getStatus(), -returnCart.getNumber()); - rabbitMsgUtils.printDishesTicket(returnOrderDetail.getOrderId(), true, returnOrderDetail); + if (TableConstant.OrderInfo.UseType.DINE_IN_AFTER.equalsVals(tbOrderDetail.getUseType()) && !isSeatCart) { + rabbitMsgUtils.printDishesTicket(returnOrderDetail.getOrderId(), true, returnOrderDetail); + } } } From 34460c0f0da99a8b1069486d8098b2e4531d6c21 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 31 Oct 2024 10:15:58 +0800 Subject: [PATCH 25/25] =?UTF-8?q?fix:=20=E9=80=80=E8=8F=9C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index f0d728d0..8be5c359 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -332,7 +332,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { TbOrderDetail cashierCart = tbCashierCarts.isEmpty() ? null : tbCashierCarts.get(0); Map map = BeanUtil.beanToMap(cashierCart, false, false); if (cashierCart != null) { - map.put("cartId", cashierCart.getId()); + map.put("cartId", cashierCart.getCartId()); TbOrderDetail orderDetail = details.stream().filter(item -> item.getCartId().equals(cashierCart.getId())).findFirst().orElse(null); map.put("id", orderDetail != null ? orderDetail.getId() : null); }