From 70e935181966303d4e1ee226d23de43aabc4aa05 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 23 Nov 2023 18:10:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/controller/GoodsSpuController.java | 116 +++++++++--- .../serve/modules/goods/entity/GoodsSpu.java | 19 ++ .../modules/goods/entity/bo/GoodsSkuBo.java | 2 + .../modules/goods/mapper/GoodsSpuMapper.java | 9 + .../goods/service/GoodsSpuService.java | 4 + .../service/impl/GoodsSkuServiceImpl.java | 41 ++--- .../service/impl/GoodsSpuServiceImpl.java | 11 ++ .../modules/oms/entity/OmsOrderItem.java | 2 + .../oms/service/impl/OmsOrderServiceImpl.java | 46 +++-- .../resources/mapper/goods/GoodsSkuMapper.xml | 1 + .../resources/mapper/goods/GoodsSpuMapper.xml | 173 +++++++++++++----- 11 files changed, 303 insertions(+), 121 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java index db46e2b7..0faf0d3a 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java @@ -28,6 +28,7 @@ import io.netty.util.internal.StringUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -83,11 +84,11 @@ public class GoodsSpuController { } /** - * 翻页搜索(组件接口),拓展SKU数据 + * spu下单查询(已弃用) * @param param * @return */ - @GetMapping("/shelfPageToSku") + //@GetMapping("/shelfPageToSku") public R> shelfPageToSku(GoodsSpu param){ PageVo result = this.getShelfPage(param).getData(); List goodsSpuList = this.buildGoodsSpuInfo(param.getSupplierCode(),param.getSelectSpecialFlag(), result.getList()); @@ -95,6 +96,45 @@ public class GoodsSpuController { return R.ok(result); } + /** + * spu下单查询 + * @param param + * @return + */ + @GetMapping("/getSkuJoinSpuList") + public R> getSkuJoinSpuList(GoodsSpu param){ + Long total = goodsSpuService.selectCountSkuJoinSpuList(param); + if(total<1){ + return R.byEmptyList(); + } + List list = goodsSpuService.selectSkuJoinSpuList(param); + for (GoodsSpu spu : list) { + spu.setUuid(spu.getId()+"_"+spu.getSkuId()); + } + List skuCodes = list.stream().map(GoodsSpu::getSkuCode).collect(Collectors.toList()); + this.initSpuWithCustomerPrice(param.getSupplierCode(), list, skuCodes); + return R.byPageList(total,list); + } + + /** + * 初始化spu的客户价格 + * @param cusCode + * @param list + * @param skuCodes + */ + private void initSpuWithCustomerPrice(String cusCode, List list, List skuCodes) { + List cusPriceList = this.getInventoryCusPrices(cusCode, skuCodes); + if(cusPriceList!=null){ + for (InventoryCusPrice cusPrice : cusPriceList) { + for (GoodsSpu spu : list) { + if(cusPrice.getInvCode().equals(spu.getSkuCode())){ + spu.setSkuPrice(cusPrice.getPrice()); + break; + } + } + } + } + } /** @@ -108,13 +148,26 @@ public class GoodsSpuController { List invCodes = dispatchDataMapper.selectLast2MonthInvCode(date,query.getSupplierCode()); if(CollectionUtil.isNotEmpty(invCodes)){ List goodsSkus = goodsSkuService.getByCodes(invCodes); - List goodsSpuIds = goodsSkus.stream().map(GoodsSku::getSpuId).distinct().collect(Collectors.toList()); - GoodsSpu param = new GoodsSpu(); - param.setSelectIds(goodsSpuIds); - param.setSelectCateIds(query.getCateIds()); - param.setShelf(1); - List list = goodsSpuService.selectSpuList(param); - List goodsSpuList = this.buildGoodsSpuInfo(query.getSupplierCode(),0, list); + List goodsSpuList = new ArrayList<>(); + for (GoodsSku sku : goodsSkus) { + GoodsSpu spu = goodsSpuService.getById(sku.getSpuId()); + GoodsCategory cate1 = goodsCategoryService.getById(spu.getCategoryFirst()); + if(cate1!=null){ + spu.setCateFirstLabel(cate1.getName()); + } + GoodsCategory cate2 = goodsCategoryService.getById(spu.getCategorySecond()); + if(cate2!=null){ + spu.setCateSecondLabel(cate2.getName()); + } + GoodsCategory cate3 = goodsCategoryService.getById(spu.getCategoryThird()); + if(cate3!=null){ + spu.setCateThirdLabel(cate3.getName()); + } + + spu.toSetSkuInfo(sku); + goodsSpuList.add(spu); + } + this.initSpuWithCustomerPrice(query.getSupplierCode(), goodsSpuList,invCodes); return R.ok(goodsSpuList); } return R.ok(new ArrayList<>()); @@ -423,30 +476,19 @@ public class GoodsSpuController { private List buildGoodsSpuInfo(String supplierCode,Integer selectSpecialFlag, List goodsSpuList) { List spuCodes = goodsSpuList.stream().map(GoodsSpu::getSpuCode).collect(Collectors.toList()); List toSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_PlaCE,spuCodes); + List skuCodes = toSkuKeys.stream().map(OmsSpuToSkuKey::getInvCode).collect(Collectors.toList()); - List inventoryCusPrices = null; - try { - List skuCodes = toSkuKeys.stream().map(OmsSpuToSkuKey::getInvCode).collect(Collectors.toList()); - if(skuCodes.size()>0){ - InventoryCusPriceQuery query = new InventoryCusPriceQuery(); - query.setCusCode(supplierCode); - query.setInvCodes(skuCodes); - R res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价"); - if(res.getStatus().equals(200)){ - inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class); - } - } - } catch (Exception e) { - log.error("客户特殊价异常:{}",e.getMessage()); - } + List inventoryCusPrices = getInventoryCusPrices(supplierCode, skuCodes); for (GoodsSpu spu : goodsSpuList) { + spu.setUuid(spu.getId()+"_"+spu.getSkuId()); //兼容特殊sku if(selectSpecialFlag!=null&& selectSpecialFlag.equals(1)){ if(!spu.getSpecialSkuId().equals(0L)){ GoodsSku goodsSku = goodsSkuService.getById(spu.getSpecialSkuId()); spu.setSkuId(goodsSku.getId()); spu.setSkuCode(goodsSku.getSkuCode()); + spu.setSkuName(goodsSku.getSkuName()); spu.setSkuPrice(goodsSku.getSalesPrice()); spu.setVolume(goodsSku.getVolume().toString()); spu.setWeight(goodsSku.getWeight().toString()); @@ -458,6 +500,7 @@ public class GoodsSpuController { GoodsSku goodsSku = goodsSkuService.getByCode(skuKey.getInvCode()); spu.setSkuCode(goodsSku.getSkuCode()); spu.setSkuId(goodsSku.getId()); + spu.setSkuName(goodsSku.getSkuName()); spu.setSkuPrice(goodsSku.getSalesPrice()); spu.setVolume(goodsSku.getVolume().toString()); spu.setWeight(goodsSku.getWeight().toString()); @@ -476,5 +519,30 @@ public class GoodsSpuController { return goodsSpuList; } + /** + * 获取客户特殊价格 + * @param supplierCode + * @param skuCodes + * @return + */ + @Nullable + private List getInventoryCusPrices(String supplierCode, List skuCodes) { + List inventoryCusPrices = null; + try { + if(skuCodes.size()>0){ + InventoryCusPriceQuery query = new InventoryCusPriceQuery(); + query.setCusCode(supplierCode); + query.setInvCodes(skuCodes); + R res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价"); + if(res.getStatus().equals(200)){ + inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class); + } + } + } catch (Exception e) { + log.error("客户特殊价异常:{}",e.getMessage()); + } + return inventoryCusPrices; + } + } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java index 2a72a9ea..2d4a6df7 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -162,6 +162,9 @@ public class GoodsSpu implements Serializable { @TableField(exist = false) private String skuCode; + @TableField(exist = false) + private String skuName; + /** 重量(kg) */ @TableField(exist = false) @NotNull(message = "重量(kg)不能为空") @@ -176,5 +179,21 @@ public class GoodsSpu implements Serializable { @TableField(exist = false) private String supplierCode; + @TableField(exist = false) + private String uuid; + + @TableField(exist = false) + private String keyword; + + public void toSetSkuInfo(GoodsSku goodsSku){ + this.setSkuId(goodsSku.getId()); + this.setSkuName(goodsSku.getSkuName()); + this.setSkuCode(goodsSku.getSkuCode()); + this.setSkuPrice(goodsSku.getSalesPrice()); + this.setWeight(goodsSku.getWeight()==null?"0":goodsSku.getWeight().toString()); + this.setVolume(goodsSku.getVolume()==null?"0":goodsSku.getVolume().toString()); + this.setUuid(goodsSku.getSpuId()+"_"+goodsSku.getId()); + } + } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java index 4f900335..389a741f 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java @@ -30,6 +30,8 @@ public class GoodsSkuBo implements Serializable { /** sku编码 */ private String skuCode; + private String skuName; + /** 商品Id */ @NotNull(message = "商品Id不能为空") private Long spuId; diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java index 48fb951f..05852ac1 100644 --- a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java @@ -1,6 +1,8 @@ package com.qs.serve.modules.goods.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.common.model.dto.RowParam; import com.qs.serve.modules.goods.entity.GoodsSpu; import org.apache.ibatis.annotations.Param; @@ -15,5 +17,12 @@ public interface GoodsSpuMapper extends BaseMapper { List selectSpuList(@Param("query") GoodsSpu goodsSpu); + @InterceptorIgnore(tenantLine = "1") + Long selectCountSkuJoinSpuList(@Param("query") GoodsSpu goodsSpu); + + + @InterceptorIgnore(tenantLine = "1") + List selectSkuJoinSpuList(@Param("query") GoodsSpu goodsSpu, @Param("pageInfo")RowParam rowParam); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java index ad624e89..8c3a9d06 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java @@ -22,6 +22,10 @@ public interface GoodsSpuService extends IService { List selectSpuList(GoodsSpu goodsSpu); + Long selectCountSkuJoinSpuList(GoodsSpu goodsSpu); + + List selectSkuJoinSpuList(GoodsSpu goodsSpu); + GoodsSpuVo getVoById(Long id,String supplierCode); GoodsSpu getByCode(String code); diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java index bce1943a..06629b32 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java @@ -242,7 +242,6 @@ public class GoodsSkuServiceImpl extends ServiceImpl im if(dbGoodSku!=null){ skuCheckLqw.ne(GoodsSku::getId,dbGoodSku.getId()); } - skuCheckLqw.eq(GoodsSku::getSpuId,goodSkuVo.getSkuId()); skuCheckLqw.eq(GoodsSku::getBelong,goodSkuVo.getBelong()); skuCheckLqw.eq(GoodsSku::getOrderFlag,1); if(this.count(skuCheckLqw)>0){ @@ -259,33 +258,21 @@ public class GoodsSkuServiceImpl extends ServiceImpl im goodsSku.setId(dbGoodSku.getId()); } - if(goodSkuVo.getSpecValueIds()!=null){ - if(goodSkuVo.getSpecValueIds().size()!= GoodsConst.SPEC_COUNT){ - Assert.throwEx("规格值数量缺失"); - } - List goodsSpecValues = goodsSpecValueService.listByIds(goodSkuVo.getSpecValueIds()); - Set specIds = goodsSpecValues.stream().map(GoodsSpecValue::getSpecId).collect(Collectors.toSet()); - if(specIds.size()!=GoodsConst.SPEC_COUNT){ - Assert.throwEx("规格数量缺失"); - } - //校验规格值 - String specInfos = goodsSku.getBelong().trim()+";"+goodsSku.getTasteVal().trim()+";"+goodsSku.getWrapVal().trim(); - LambdaQueryWrapper checkSkuSpec = new LambdaQueryWrapper<>(); - checkSkuSpec.eq(GoodsSku::getSpuId,goodsSku.getId()); - checkSkuSpec.eq(GoodsSku::getSpecInfos,specInfos); - if(goodsSku.getId()!=null){ - checkSkuSpec.ne(GoodsSku::getId,goodsSku.getId()); - } - Long checkSkuSpecCount = super.count(checkSkuSpec); - if(checkSkuSpecCount>0){ - Assert.throwEx("相同规格已存在"); - } - goodsSku.setSpecInfos(specInfos); - this.saveOrUpdate(goodsSku); - - }else { - this.updateById(goodsSku); + //校验规格值 + String specInfos = goodsSku.getBelong().trim()+";"+goodsSku.getTasteVal().trim()+";"+goodsSku.getWrapVal().trim(); + LambdaQueryWrapper checkSkuSpec = new LambdaQueryWrapper<>(); + checkSkuSpec.eq(GoodsSku::getSpuId,goodsSku.getId()); + checkSkuSpec.eq(GoodsSku::getSpecInfos,specInfos); + if(goodsSku.getId()!=null){ + checkSkuSpec.ne(GoodsSku::getId,goodsSku.getId()); } + Long checkSkuSpecCount = super.count(checkSkuSpec); + if(checkSkuSpecCount>0){ + Assert.throwEx("相同规格已存在"); + } + goodsSku.setSpecInfos(specInfos); + this.saveOrUpdate(goodsSku); + //更新特殊标识 LambdaQueryWrapper specialSkuLqw = new LambdaQueryWrapper<>(); specialSkuLqw.eq(GoodsSku::getSpecialFlag,1); diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java index e2cd5c45..fcab0e01 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java @@ -3,6 +3,7 @@ package com.qs.serve.modules.goods.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.config.properties.ProjectApisProperties; +import com.qs.serve.common.model.dto.RowParam; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.HttpUtil; import com.qs.serve.common.util.JsonUtil; @@ -53,6 +54,16 @@ public class GoodsSpuServiceImpl extends ServiceImpl im return baseMapper.selectSpuList(goodsSpu); } + @Override + public Long selectCountSkuJoinSpuList(GoodsSpu goodsSpu) { + return baseMapper.selectCountSkuJoinSpuList(goodsSpu); + } + + @Override + public List selectSkuJoinSpuList(GoodsSpu goodsSpu) { + return baseMapper.selectSkuJoinSpuList(goodsSpu,new RowParam(true)); + } + @Override public GoodsSpu getByCode(String code) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java b/src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java index 4c806f6e..04123ba9 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java @@ -49,6 +49,8 @@ public class OmsOrderItem implements Serializable { @Length(max = 30,message = "商品名称长度不能超过30字") private String spuTitle; + private String skuTitle; + /** skuId */ private Long skuId; diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index e4b38eb2..011aa64f 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -243,11 +243,11 @@ public class OmsOrderServiceImpl extends ServiceImpl im goodsSpuMap.put(goodsSpu.getId(),goodsSpu); } List spuCodeList = spuList.stream().map(GoodsSpu::getSpuCode).collect(Collectors.toList()); - List spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_PlaCE,spuCodeList); + /*List spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_PlaCE,spuCodeList); Map spuGetSkuMap = new HashMap<>(spuToSkuKeys.size()); for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) { spuGetSkuMap.put(toSkuKey.getSkuCode(),toSkuKey.getInvCode()); - } + }*/ //构建新的item List newOrderItemList = new ArrayList<>(); @@ -266,8 +266,9 @@ public class OmsOrderServiceImpl extends ServiceImpl im if(modifyItem.getSkuId()!=null){ goodsSku = goodsSkuService.getById(modifyItem.getSkuId()); }else { - String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode()); - goodsSku = goodsSkuService.getByCode(skuCode); +// String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode()); +// goodsSku = goodsSkuService.getByCode(skuCode); + Assert.throwEx("订单无货或下架了"); } } OmsOrderItem orderItem = new OmsOrderItem(); @@ -276,6 +277,7 @@ public class OmsOrderServiceImpl extends ServiceImpl im orderItem.setSpuId(goodsSpu.getId()); orderItem.setSpuCode(goodsSpu.getSpuCode()); orderItem.setSpuTitle(goodsSpu.getName()); + orderItem.setSkuTitle(goodsSku.getSkuName()); orderItem.setWeight(modifyItem.getWeight()); orderItem.setVolume(modifyItem.getVolume()); if(goodsSku!=null){ @@ -354,7 +356,7 @@ public class OmsOrderServiceImpl extends ServiceImpl im order.setSupplierId(Long.parseLong(supplier.getId())); order.setSupplierCode(supplier.getCode()); order.setSupplierName(supplier.getName()); - order.setSupplierAddrId(address.getId()); + order.setSupplierAddrId(address!=null?address.getId():0); order.setBrandRuleId(confirmOrder.getBrandRuleId()); order.setUserId(user.getId()); order.setUserName(user.getName()); @@ -368,18 +370,18 @@ public class OmsOrderServiceImpl extends ServiceImpl im this.save(order); //兼容转换 - List spuToSkuKeys = null; - if(confirmOrder.getLatitudeFrom()!=null&&confirmOrder.getLatitudeFrom().equals("SPU")){ - List spuCodes = shoppingCarts.stream().map(OmsShoppingCart::getSpuCode).collect(Collectors.toList()); - spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_PlaCE,spuCodes); - for (OmsSpuToSkuKey skuKey : spuToSkuKeys) { - for (OmsShoppingCart cart : shoppingCarts) { - if(skuKey.getSkuCode().equals(cart.getSpuCode())){ - cart.setSkuCode(skuKey.getInvCode()); - } - } - } - } +// List spuToSkuKeys = null; +// if(confirmOrder.getLatitudeFrom()!=null&&confirmOrder.getLatitudeFrom().equals("SPU")){ +// List spuCodes = shoppingCarts.stream().map(OmsShoppingCart::getSpuCode).collect(Collectors.toList()); +// spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_PlaCE,spuCodes); +// for (OmsSpuToSkuKey skuKey : spuToSkuKeys) { +// for (OmsShoppingCart cart : shoppingCarts) { +// if(skuKey.getSkuCode().equals(cart.getSpuCode())){ +// cart.setSkuCode(skuKey.getInvCode()); +// } +// } +// } +// } List orderItems = new ArrayList<>(); @@ -391,24 +393,27 @@ public class OmsOrderServiceImpl extends ServiceImpl im orderItem.setVolume(shoppingCart.getVolume()); if(confirmOrder.getLatitudeFrom()!=null&&confirmOrder.getLatitudeFrom().equals("SPU")){ // spu维度 + GoodsSku goodsSku = goodsSkuService.getByCode(orderItem.getSkuCode()); orderItem.setSpuId(shoppingCart.getSpuId()); orderItem.setSpuTitle(shoppingCart.getSpecInfo()); + orderItem.setSkuTitle(goodsSku.getSkuName()); orderItem.setSkuId(shoppingCart.getId()); orderItem.setSkuCode(shoppingCart.getSkuCode()); orderItem.setSkuUnit(null); orderItem.setSkuImg(shoppingCart.getPicUrl()); orderItem.setSpecValues(shoppingCart.getSpecInfo()); orderItem.setSpuCode(shoppingCart.getSpuCode()); - GoodsSku goodsSku = goodsSkuService.getByCode(orderItem.getSkuCode()); orderItem.setMarketPrice(goodsSku.getMarketPrice()); orderItem.setSalesPrice(goodsSku.getSalesPrice()); orderItem.setCusPrice(goodsSku.getSalesPrice()); }else { // 默认sku GoodSkuVo goodSkuVo = shoppingCart.getGoodSkuVo(); + GoodsSpu goodsSpu = goodsSpuService.getByCode(goodSkuVo.getSpuCode()); orderItem.setSpuId(goodSkuVo.getSpuId()); orderItem.setSpuCode(goodSkuVo.getSpuCode()); - orderItem.setSpuTitle(goodSkuVo.getName()); + orderItem.setSpuTitle(goodsSpu.getName()); + orderItem.setSkuTitle(goodsSpu.getSkuName()); orderItem.setSkuId(goodSkuVo.getId()); orderItem.setSkuCode(goodSkuVo.getSkuCode()); orderItem.setSkuUnit(goodSkuVo.getUnitName()); @@ -503,6 +508,7 @@ public class OmsOrderServiceImpl extends ServiceImpl im public void buildPriceOrder(String id,String amount) { OmsOrder omsOrder = super.getById(id); String userId = AuthContextUtils.getSysUserId(); + SysUser sysUser = sysUserService.getById(userId); if(omsOrder==null || !omsOrder.getUserId().equals(userId)){ Assert.throwEx("订单不存在或被移除"); } @@ -545,7 +551,7 @@ public class OmsOrderServiceImpl extends ServiceImpl im xltOrder.setKeHuBianHao(omsOrder.getSupplierCode()); xltOrder.setShouHuoDiZhi(supplierAddress.getDetail()); xltOrder.setRenYuanBianHao(omsOrder.getUserCode()); - xltOrder.setZhuYiShiXian(omsOrder.getRemark()); + xltOrder.setZhuYiShiXian(sysUser.getName()+"("+sysUser.getMobile()+")"+omsOrder.getRemark()); xltOrder.setXieRuShiJian(nowTime); xltOrder.setChuLiShiJian(null); xltOrder.setRowCreateDate(nowTime); diff --git a/src/main/resources/mapper/goods/GoodsSkuMapper.xml b/src/main/resources/mapper/goods/GoodsSkuMapper.xml index 588da58f..c2c754ff 100644 --- a/src/main/resources/mapper/goods/GoodsSkuMapper.xml +++ b/src/main/resources/mapper/goods/GoodsSkuMapper.xml @@ -35,6 +35,7 @@ goods_sku.`id`, goods_sku.`sku_code`, + goods_sku.`sku_name`, goods_sku.`spu_id`, goods_sku.`pic_url`, goods_sku.`sales_price`, diff --git a/src/main/resources/mapper/goods/GoodsSpuMapper.xml b/src/main/resources/mapper/goods/GoodsSpuMapper.xml index 3afa8cf8..b86290c7 100644 --- a/src/main/resources/mapper/goods/GoodsSpuMapper.xml +++ b/src/main/resources/mapper/goods/GoodsSpuMapper.xml @@ -30,6 +30,15 @@ + + goods_sku.volume, + goods_sku.weight, + goods_sku.sales_price as sku_price, + goods_sku.sku_name as sku_name, + goods_sku.id as sku_id, + goods_sku.sku_code as sku_code + + goods_spu.`id`, goods_spu.`spu_code`, @@ -55,6 +64,79 @@ goods_spu.`belong` + + and (`goods_sku`.`belong` = #{query.belong} or goods_sku.special_flag=1) + + and `goods_sku`.`special_flag` = 1 + and `goods_sku`.id = goods_spu.special_sku_id + + + and `goods_sku`.`special_flag` = 0 + + and `goods_sku`.`order_flag` = #{query.orderFlag} + + + and ( + `goods_spu`.`name` like concat('%', #{query.keyword},'%') or + `goods_spu`.`spu_code` like concat('%', #{query.keyword},'%') or + `goods_sku`.`sku_code` like concat('%', #{query.keyword},'%') or + `goods_sku`.`sku_name` like concat('%', #{query.keyword},'%') + ) + + + + + and `goods_spu`.`del_flag` = 0 + and `goods_spu`.`id` = #{query.id} + and `goods_spu`.`spu_code` like concat('%', #{query.spuCode},'%') + and `goods_spu`.`name` like concat('%', #{query.name},'%') + and `goods_spu`.`category_first` = #{query.categoryFirst} + and `goods_spu`.`category_second` = #{query.categorySecond} + and `goods_spu`.`category_third` = #{query.categoryThird} + and `cate1`.`name` like concat('%',#{query.cateFirstLabel},'%') + and `cate2`.`name` like concat('%',#{query.cateSecondLabel},'%') + and `cate3`.`name` like concat('%',#{query.cateThirdLabel},'%') + and `goods_spu`.`category_last` = #{query.categoryLast} + and `goods_spu`.`shelf` = #{query.shelf} + and `goods_spu`.`sort` = #{query.sort} + and `goods_spu`.`sale_num` = #{query.saleNum} + and `goods_spu`.`taste_value` like concat('%',#{query.tasteValue},'%') + and `goods_spu`.`create_time` = #{query.createTime} + and `goods_spu`.`update_time` = #{query.updateTime} + and `goods_spu`.`create_by` = #{query.createBy} + and `goods_spu`.`update_by` = #{query.updateBy} + and `goods_spu`.`tenant_id` = #{query.tenantId} + and `goods_spu`.`del_flag` = #{query.delFlag} + + + and (`goods_spu`.`name` like concat('%',#{query.searchValue},'%') or `goods_spu`.`goods_spu` like concat('%',#{query.searchValue},'%')) + + and `goods_spu`.`id` in + + #{selectId} + + + + and (`goods_spu`.`category_first` in + + #{selectId} + + or `goods_spu`.`category_second` in + + #{selectId} + + or `goods_spu`.`category_third` in + + #{selectId} + ) + + + + + + +