From f2b9a83f75a4345cd42d008f3153c18f8f890cad Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 19 Sep 2022 13:54:17 +0800 Subject: [PATCH] fix:退款订单退业绩是订单状态的判断 --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java | 49 ++++++++++++++++++++++++++++++------------------- 1 files changed, 30 insertions(+), 19 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java index 7c8ddf9..57ce97f 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java @@ -1,5 +1,6 @@ package com.matrix.system.hive.service.imp; +import cn.hutool.core.collection.CollUtil; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; @@ -18,7 +19,7 @@ import com.matrix.system.hive.bean.SysShopInfo; import com.matrix.system.hive.dao.*; import com.matrix.system.hive.dto.GoodsSealLimitDto; -import com.matrix.system.hive.dto.OrderItemDto; +import com.matrix.system.hive.dto.SysOrderItemDto; import com.matrix.system.hive.service.ShoppingGoodsService; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +32,8 @@ import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** @@ -64,17 +67,17 @@ //校验参数不能为空 checkGoodsSelLimtParam(goodsSealLimitDto); - goodsSealLimitDto.getOrderItemDtoList().forEach(item -> { + goodsSealLimitDto.getSysOrderItemDtoList().forEach(item -> { ShoppingGoods shopGoods = shoppingGoodsDao.selectById(item.getGoodsId()); //最大销售次数检测 Integer maxNum = shopGoods.getCarMaxSaleCount(); if (maxNum != null && maxNum != 0) { Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId(), null); - if ((buyNum + item.getCount()) == maxNum) { + if (buyNum.equals(maxNum)) { if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) { shopGoods.setStaus(Dictionary.BUSINESS_STATE_DOWN); shoppingGoodsDao.update(shopGoods); - LogUtil.info("{}商品达到最大销售数量自动下架",shopGoods.getName()); + LogUtil.info("商品达到最大销售数量自动下架:{}", shopGoods.getName()); } } else if ((buyNum + item.getCount()) > maxNum) { throw new GlobleException(shopGoods.getName() + "已超过最大销售数量"); @@ -92,19 +95,15 @@ } - - - private void checkGoodsSelLimtParam(GoodsSealLimitDto goodsSealLimitDto) { ParamCheckUtil.requireNonNulls(goodsSealLimitDto, goodsSealLimitDto.getVipId(), - goodsSealLimitDto.getOrderItemDtoList()); + goodsSealLimitDto.getSysOrderItemDtoList()); - ParamCheckUtil.requireListElementNonNull(goodsSealLimitDto.getOrderItemDtoList(), - Arrays.asList(OrderItemDto::getCount, OrderItemDto::getGoodsId)); + ParamCheckUtil.requireListElementNonNull(goodsSealLimitDto.getSysOrderItemDtoList(), + Arrays.asList(SysOrderItemDto::getCount, SysOrderItemDto::getGoodsId)); } - @Override @Transactional(rollbackFor = Exception.class) @@ -113,17 +112,21 @@ SysShopInfo shopInfo = shopInfoDao.selectById(sysUsers.getShopId()); - if (shopInfo.getShopType() == SysShopInfo.SHOP_TYPE_ZONGBU) { + if(shopInfo.getShopType() == SysShopInfo.SHOP_TYPE_ZONGBU){ shoppingGoods.setHeadquarters(1); } else { shoppingGoods.setHeadquarters(2); } shoppingGoods.setShopId(sysUsers.getShopId()); - // 校验去重 - if (serviceUtil.addCheckRepeatTowColumn("shopping_goods", - "code", shoppingGoods.getCode(), - "company_id", shoppingGoods.getCompanyId())) { + + //去重查询 + ShoppingGoods queryGoods=new ShoppingGoods(); + queryGoods.setCompanyId(shoppingGoods.getCompanyId()); + queryGoods.setCode(shoppingGoods.getCode()); + queryGoods.setIsDel(ShoppingGoods.NORMAL); + List<ShoppingGoods> oldGoods=shoppingGoodsDao.selectByModel(queryGoods); + if(CollUtil.isNotEmpty(oldGoods)){ throw new GlobleException("编号" + shoppingGoods.getCode() + "重复"); } @@ -283,6 +286,17 @@ @Override @Transactional(rollbackFor = Exception.class) public int remove(List<Long> list) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysShopInfo zbShop = shopInfoDao.selectZbShop(user.getCompanyId()); + //非总部员工只能删除自己门店的产品 + if(user.getShopId()!=zbShop.getId()){ + //校验是否可以删除 + List<ShoppingGoods> dataList = shoppingGoodsDao.selectByIds(list); + List<ShoppingGoods> collect = dataList.stream().filter(goods -> !Objects.equals(user.getShopId(), goods.getShopId())).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(collect)){ + throw new GlobleException("非总部员工只能删除自己门店的产品"); + } + } return shoppingGoodsDao.deleteByIds(list); } @@ -391,9 +405,6 @@ shoppingGoods.setIsAssemble(Dictionary.FLAG_NO); break; case Dictionary.SHOPPING_GOODS_TYPE_TC: - shoppingGoods.setIsAssemble(Dictionary.FLAG_YES); - break; - case Dictionary.SHOPPING_GOODS_TYPE_ZHK: shoppingGoods.setIsAssemble(Dictionary.FLAG_YES); break; } -- Gitblit v1.9.1