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());