From b3543b4ec521bf776079555d4b5bbdad22ce7945 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 26 Nov 2024 09:14:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(goods):=20=E6=B7=BB=E5=8A=A0=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=88=86=E7=B1=BB=E8=A7=84=E5=88=99=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GoodsCategoryRuleController.java | 5 +- .../goods/entity/bo/GoodsCategoryRuleBo.java | 3 ++ .../impl/GoodsAccreditServiceImpl.java | 49 ++++++++++++------- .../impl/GoodsCategoryRuleServiceImpl.java | 4 ++ .../oms/service/impl/OmsOrderServiceImpl.java | 12 ----- 5 files changed, 40 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryRuleController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryRuleController.java index de077a3d..45c59435 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryRuleController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryRuleController.java @@ -112,12 +112,11 @@ public class GoodsCategoryRuleController { /** * 设置默认 - * @param id * @return */ - @GetMapping("/getDefaultRule/{id}") + @GetMapping("/getDefaultRule") @SysLog(module = SystemModule.GOODS, title = "品牌规则", biz = BizType.INSERT) - public R getDefaultRule(@PathVariable("id") String id){ + public R getDefaultRule(){ GoodsCategoryRule rule = goodsCategoryRuleService.getOne(new LambdaQueryWrapper(). eq(GoodsCategoryRule::getDefaultFlag,1),false); return R.ok(rule); diff --git a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsCategoryRuleBo.java b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsCategoryRuleBo.java index 7b10001c..ff6ebce4 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsCategoryRuleBo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsCategoryRuleBo.java @@ -27,6 +27,9 @@ public class GoodsCategoryRuleBo { /** 排除品牌id */ private String[] ignoreBrandIds; + /** 是否默认规则 */ + private Integer defaultFlag; + /** 启用状态 */ private Integer enableFlag; diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java index c238ef74..a36f7543 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java @@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; -import com.qs.serve.common.util.Assert; -import com.qs.serve.common.util.CopierUtil; -import com.qs.serve.common.util.PageUtil; -import com.qs.serve.common.util.StringUtils; +import com.qs.serve.common.util.*; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; import com.qs.serve.modules.bms.entity.BmsSupplier; @@ -221,10 +218,12 @@ public class GoodsAccreditServiceImpl extends ServiceImpl getGoodsAccreditResults(List list) { List results = list.stream().map(ext->{ + // 根据unionType判断是商品授权还是客户授权 if (ext.getUnionType().equals("accredit")){ GoodsAccreditResult result = new GoodsAccreditResult(); result.setId("goods"+ext.getId()); result.setRuleType("goods"); + // 根据categoryId、spuId判断商品类型 if(ext.getCategoryId()!=null){ result.setGoodType("category"); }else if (ext.getSpuId()!=null){ @@ -234,16 +233,22 @@ public class GoodsAccreditServiceImpl extends ServiceImpl bizRegionIds, List saleRegionIds) { + //当前业务id + String userId = AuthContextUtils.getSysUserId(); //查询自身所有 LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.select(GoodsAccreditItem::getId,GoodsAccreditItem::getAccType,GoodsAccreditItem::getAccId) + .or(a->a.eq(GoodsAccreditItem::getTargetType,"user").eq(GoodsAccreditItem::getTargetId,userId)) .or(a->a.eq(GoodsAccreditItem::getTargetType,"supplier").eq(GoodsAccreditItem::getTargetId,supplierId)) .or(a->a.eq(GoodsAccreditItem::getTargetType,"saleRegion").in(GoodsAccreditItem::getTargetId,saleRegionIds)) .or(a->a.eq(GoodsAccreditItem::getTargetType,"bizRegion").in(GoodsAccreditItem::getTargetId,bizRegionIds)); - - List selfNotInIds = goodsAccreditItemService.list(lqw).stream() + List goodsAccreditItems = goodsAccreditItemService.list(lqw); + //过滤出不包含的商品ID + List selfNotInIds = goodsAccreditItems.stream() .filter(a->a.getAccType().equals(1)).map(GoodsAccreditItem::getAccId).collect(Collectors.toList()); - List selfInIds = goodsAccreditItemService.list(lqw).stream() + //过滤出包含的商品ID + List selfInIds = goodsAccreditItems.stream() .filter(a->a.getAccType().equals(0)).map(GoodsAccreditItem::getAccId).collect(Collectors.toList()); - //查询其它维度所有in LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); lqw2.select(GoodsAccreditItem::getAccId) .eq(GoodsAccreditItem::getAccType,0).and( qw->{ - qw.or(a->a.eq(GoodsAccreditItem::getTargetType,"supplier").ne(GoodsAccreditItem::getTargetId,supplierId)) + qw + .or(a->a.eq(GoodsAccreditItem::getTargetType,"user").ne(GoodsAccreditItem::getTargetId,userId)) + .or(a->a.eq(GoodsAccreditItem::getTargetType,"supplier").ne(GoodsAccreditItem::getTargetId,supplierId)) .or(a->a.eq(GoodsAccreditItem::getTargetType,"saleRegion").notIn(GoodsAccreditItem::getTargetId,saleRegionIds)) .or(a->a.eq(GoodsAccreditItem::getTargetType,"bizRegion").notIn(GoodsAccreditItem::getTargetId,bizRegionIds)); } ); + //获取其他维度包含的商品ID List otherInIds = goodsAccreditItemService.list(lqw2) .stream().map(GoodsAccreditItem::getAccId).collect(Collectors.toList()); selfNotInIds.addAll(otherInIds); @@ -882,6 +894,7 @@ public class GoodsAccreditServiceImpl extends ServiceImpl i this.handleCategoryRule(categoryRule, orderItemList); String brands = Arrays.stream(categoryRule.getBrandNames()).collect(Collectors.joining(",")); - - //List spuIds = orderItemList.stream().map(OmsOrderItem::getSpuId).collect(Collectors.toList()); - - - //更新设置sku后的信息 - //omsOrderItemService.updateBatchById(orderItemList); - - //直接调用U8接口生成 - //SysUser sysUser = sysUserService.getById(userId); - //SysDept dept = sysDeptService.getById(sysUser.getDeptId()); - //this.toU8Api(omsOrder, sysUser, dept, orderItemList); - //客户校验 BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(omsOrder.getSupplierAddrId()); BmsSupplier supplier = bmsSupplierMapper.selectById(omsOrder.getSupplierId());