diff --git a/common-api/src/main/resources/application.yml b/common-api/src/main/resources/application.yml index 9386115c..1d26cdb6 100644 --- a/common-api/src/main/resources/application.yml +++ b/common-api/src/main/resources/application.yml @@ -212,10 +212,10 @@ lili: sk: zhNKVrJK6UPOhqIjn8AQvG37b9sz6 #域名 domain: - pc: http://zbuyer.sx1788.cn/buyer - wap: http://zshop.sx1788.cn/ - store: http://zseller.sx1788.cn/login - admin: http://zmanager.sx1788.cn/login + pc: https://zbuyer.sx1788.cn + wap: https://zshop.sx1788.cn + store: https://zseller.sx1788.cn + admin: https://zmanager.sx1788.cn #api地址 api: buyer: https://zshop-api.sx1788.cn/buyer-api diff --git a/consumer/src/main/resources/application.yml b/consumer/src/main/resources/application.yml index f4fd5ca3..11a41b1f 100644 --- a/consumer/src/main/resources/application.yml +++ b/consumer/src/main/resources/application.yml @@ -209,10 +209,10 @@ lili: sk: zhNKVrJK6UPOhqIjn8AQvG37b9sz6 #域名 domain: - pc: http://zbuyer.sx1788.cn/buyer - wap: http://zshop.sx1788.cn/ - store: http://zseller.sx1788.cn/login - admin: http://zmanager.sx1788.cn/login + pc: https://zbuyer.sx1788.cn + wap: https://zshop.sx1788.cn + store: https://zseller.sx1788.cn + admin: https://zmanager.sx1788.cn #api地址 api: buyer: https://zshop-api.sx1788.cn/buyer-api diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dto/GoodsOperationFuLuDTO.java b/framework/src/main/java/cn/lili/modules/goods/entity/dto/GoodsOperationFuLuDTO.java new file mode 100644 index 00000000..71d11b25 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/goods/entity/dto/GoodsOperationFuLuDTO.java @@ -0,0 +1,137 @@ +package cn.lili.modules.goods.entity.dto; + +import cn.lili.common.validation.EnumValue; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.*; +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * 商品编辑DTO + * + * @author pikachu + * @since 2020-02-24 19:27:20 + */ +@Data +@ToString +public class GoodsOperationFuLuDTO implements Serializable { + + private static final long serialVersionUID = -509667581371776913L; + + @ApiModelProperty(hidden = true) + private String goodsId; + + @ApiModelProperty(value = "商品价格", required = true) + @NotNull(message = "商品价格不能为空") + @Min(value = 0, message = "商品价格不能为负数") + @Max(value = 99999999, message = "商品价格不能超过99999999") + private Double price; + + @ApiModelProperty(value = "分类path") + private String categoryPath; + + @ApiModelProperty(value = "店铺分类id", required = true) + @Size(max = 200, message = "选择了太多店铺分类") + private String storeCategoryPath; + + @ApiModelProperty(value = "品牌id") + @Min(value = 0, message = "品牌值不正确") + private String brandId; + + @ApiModelProperty(value = "商品名称", required = true) + @NotEmpty(message = "商品名称不能为空") + @Length(max = 50, message = "商品名称不能超过50个字符") + private String goodsName; + + @ApiModelProperty(value = "详情") + private String intro; + + @ApiModelProperty(value = "商品移动端详情") + private String mobileIntro; + + @ApiModelProperty(value = "库存") + @Min(value = 0, message = "库存不能为负数") + @Max(value = 99999999, message = "库存不能超过99999999") + private Integer quantity; + + @ApiModelProperty(value = "是否立即发布") + private Boolean release; + + @ApiModelProperty(value = "是否是推荐商品") + private Boolean recommend; + + @ApiModelProperty(value = "商品参数") + private List goodsParamsDTOList; + + @ApiModelProperty(value = "商品图片") + private List goodsGalleryList; + + @ApiModelProperty(value = "运费模板id,不需要运费模板时值是0", required = true) + @NotNull(message = "运费模板不能为空,没有运费模板时,传值0") + @Min(value = 0, message = "运费模板值不正确") + private String templateId; + + @ApiModelProperty(value = "sku列表") + @Valid + private List> skuList; + + @ApiModelProperty(value = "卖点") + private String sellingPoint; + + @ApiModelProperty(value = "销售模式", required = true) + private String salesModel; + + @ApiModelProperty(value = "是否有规格", hidden = true) + private String haveSpec; + + @ApiModelProperty(value = "销售模式", required = true) + private String goodsUnit; + + @ApiModelProperty(value = "商品描述") + private String info; + + @ApiModelProperty(value = "是否重新生成sku数据") + private Boolean regeneratorSkuFlag = true; + + /** + * @see cn.lili.modules.goods.entity.enums.GoodsTypeEnum + */ + @ApiModelProperty(value = "商品类型") + @EnumValue(strValues = {"PHYSICAL_GOODS", "VIRTUAL_GOODS", "E_COUPON"}, message = "商品类型参数值错误") + private String goodsType; + + /** + * 商品视频 + */ + @ApiModelProperty(value = "商品视频") + private String goodsVideo; + + public String getGoodsName() { + //对商品对名称做一个极限处理。这里没有用xss过滤是因为xss过滤为全局过滤,影响很大。 + // 业务中,全局代码中只有商品名称不能拥有英文逗号,是由于商品名称存在一个数据库联合查询,结果要根据逗号分组 + return goodsName.replace(",", ""); + } + + + + //福禄所需参数 + @ApiModelProperty(value = "商品编号", required = true) + @Length(max = 30, message = "商品编号太长,不能超过30个字符") + private String sn; + + @ApiModelProperty(value = "市场价格", required = true) + @NotNull(message = "市场价格不能为空") + private Double cost; + + @ApiModelProperty(value = "重量", required = true) + @NotNull(message = "商品重量不能为空") + @Min(value = 0, message = "重量不能为负数") + @Max(value = 99999999, message = "重量不能超过99999999") + private Double weight; +} diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java index 8f564650..30e1956d 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java @@ -75,6 +75,14 @@ public interface GoodsService extends IService { */ void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId); + /** + * 修改商品 + * + * @param goodsOperationDTO 商品查询条件 + * @param goodsId 商品ID + */ + void fuLuEditGoods(GoodsOperationFuLuDTO goodsOperationFuLuDTO, String goodsId); + /** * 查询商品VO * diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java index 761ed181..0ac44247 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java @@ -231,6 +231,33 @@ public class GoodsServiceImpl extends ServiceImpl implements cache.remove(CachePrefix.GOODS.getPrefix() + goodsId); } + + @Override + public void fuLuEditGoods(GoodsOperationFuLuDTO goodsOperationFuLuDTO, String goodsId) { + Goods goods = new Goods(goodsOperationFuLuDTO); + goods.setId(goodsId); + //检查商品信息 + this.checkGoods(goods); + //向goods加入图片 + this.setGoodsGalleryParam(goodsOperationFuLuDTO.getGoodsGalleryList().get(0), goods); + //添加商品参数 + if (goodsOperationFuLuDTO.getGoodsParamsDTOList() != null && !goodsOperationFuLuDTO.getGoodsParamsDTOList().isEmpty()) { + goods.setParams(JSONUtil.toJsonStr(goodsOperationFuLuDTO.getGoodsParamsDTOList())); + } + //修改商品 + this.updateById(goods); + //修改商品sku信息 + this.goodsSkuService.update(goodsOperationFuLuDTO.getSkuList(), goods, goodsOperationFuLuDTO.getRegeneratorSkuFlag()); + //添加相册 + if (goodsOperationFuLuDTO.getGoodsGalleryList() != null && !goodsOperationFuLuDTO.getGoodsGalleryList().isEmpty()) { + this.goodsGalleryService.add(goodsOperationFuLuDTO.getGoodsGalleryList(), goods.getId()); + } + if (GoodsAuthEnum.TOBEAUDITED.name().equals(goods.getAuthFlag())) { + this.deleteEsGoods(Collections.singletonList(goodsId)); + } + cache.remove(CachePrefix.GOODS.getPrefix() + goodsId); + } + @Override public GoodsVO getGoodsVO(String goodsId) { //缓存获取,如果没有则读取缓存 diff --git a/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java index 905c1789..f2cd6a40 100644 --- a/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/page/serviceimpl/PageDataServiceImpl.java @@ -70,6 +70,7 @@ public class PageDataServiceImpl extends ServiceImpl i } else { pageData.setPageShow(SwitchEnum.CLOSE.name()); } + pageData.setPageData(pageData.getPageData().replace("?x-oss-process=style/200X200", "").replace("?x-oss-process=style/400X400", "")); this.save(pageData); return pageData; } @@ -88,8 +89,10 @@ public class PageDataServiceImpl extends ServiceImpl i pageData.setPageShow(SwitchEnum.CLOSE.name()); } LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); - lambdaUpdateWrapper.set(PageData::getPageData, pageData.getPageData()); + String dataPage = pageData.getPageData().replace("?x-oss-process=style/200X200", "").replace("?x-oss-process=style/400X400", ""); + lambdaUpdateWrapper.set(PageData::getPageData,dataPage); lambdaUpdateWrapper.eq(PageData::getId, pageData.getId()); + pageData.setPageData(dataPage); this.updateById(pageData); return pageData; } diff --git a/manager-api/src/main/resources/application.yml b/manager-api/src/main/resources/application.yml index 0681980a..fb26cbf8 100644 --- a/manager-api/src/main/resources/application.yml +++ b/manager-api/src/main/resources/application.yml @@ -198,10 +198,10 @@ lili: sk: zhNKVrJK6UPOhqIjn8AQvG37b9sz6 #域名 domain: - pc: http://zbuyer.sx1788.cn/buyer - wap: http://zshop.sx1788.cn/ - store: http://zseller.sx1788.cn/login - admin: http://zmanager.sx1788.cn/login + pc: https://zbuyer.sx1788.cn + wap: https://zshop.sx1788.cn + store: https://zseller.sx1788.cn + admin: https://zmanager.sx1788.cn #api地址 api: buyer: https://zshop-api.sx1788.cn/buyer-api diff --git a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java index 7f1267f3..588cd2c6 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java @@ -253,31 +253,26 @@ public class GoodsStoreController { if (map1.containsKey("four_category_icon") && map1.get("four_category_icon") != null) { List> images = new ArrayList<>(); - Map map2 = new HashMap<>(); - map2.put("url",map1.get("four_category_icon").toString()); + Map map2 = new HashMap<>(); + map2.put("url", map1.get("four_category_icon").toString()); images.add(map2); map.put("images", images); - i += 1; } mapArrayList.add(map); goodsOperationDTO.setSkuList(mapArrayList);//sku列表 if (goodsList.size() > 0) { - GoodsOperationDTO goodsOperationDTO1 = new GoodsOperationDTO(); - goodsOperationDTO1.setPrice(Double.valueOf(map1.get("purchase_price").toString())); - goodsService.editGoods(goodsOperationDTO1, goodsList.get(0).getId()); - }else{ + goodsService.fuLuEditGoods(goodsOperationDTO, goodsList.get(0).getId()); + } else { goodsService.fuLuAddGoods(goodsOperationDTO); } - - - + i += 1; + break; + } + if (i == 1) { break; } -// if (i == 1) { -// break; -// } } } return ResultUtil.success(); diff --git a/seller-api/src/main/resources/application.yml b/seller-api/src/main/resources/application.yml index f8eb411d..ad1c926c 100644 --- a/seller-api/src/main/resources/application.yml +++ b/seller-api/src/main/resources/application.yml @@ -191,10 +191,10 @@ lili: sk: zhNKVrJK6UPOhqIjn8AQvG37b9sz6 #域名 domain: - pc: http://zbuyer.sx1788.cn/buyer - wap: http://zshop.sx1788.cn/ - store: http://zseller.sx1788.cn/login - admin: http://zmanager.sx1788.cn/login + pc: https://zbuyer.sx1788.cn + wap: https://zshop.sx1788.cn + store: https://zseller.sx1788.cn + admin: https://zmanager.sx1788.cn #api地址 api: buyer: https://zshop-api.sx1788.cn/buyer-api