diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java index 2a1c9f96..a922526e 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java @@ -7,6 +7,7 @@ import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; import com.qs.serve.modules.goods.entity.GoodsSpu; @@ -14,6 +15,7 @@ import com.qs.serve.modules.goods.entity.bo.GoodsSkuBo; import com.qs.serve.modules.goods.entity.bo.GoodsSkuImportBo; import com.qs.serve.modules.goods.entity.bo.GoodsSpuImportBo; import com.qs.serve.modules.goods.entity.vo.GoodSkuVo; +import com.qs.serve.modules.goods.entity.vo.GoodsSkuExportVo; import com.qs.serve.modules.goods.entity.vo.GoodsSkuSpecValueVo; import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService; import com.qs.serve.modules.goods.service.GoodsSpuService; @@ -198,6 +200,22 @@ public class GoodsSkuController { return R.isTrue(result); } + /** + * 导出 + * @param param + * @return + */ + @GetMapping("/export") + public R> export(GoodsSku param){ + List list = goodsSkuService.selectSkuVo(param); + List result = list.stream().map(a->{ + GoodsSkuExportVo skuExportVo = CopierUtil.copy(a,new GoodsSkuExportVo()); + return skuExportVo; + }).collect(Collectors.toList()); + return R.ok(result); + } + + /** * 导入 * @param param 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 01c4d7ca..323f9d39 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 @@ -15,6 +15,7 @@ import com.qs.serve.modules.goods.entity.bo.*; import com.qs.serve.modules.goods.entity.dto.InventoryCusPrice; import com.qs.serve.modules.goods.entity.so.GoodsHisOrderQuery; import com.qs.serve.modules.goods.entity.so.InventoryCusPriceQuery; +import com.qs.serve.modules.goods.entity.vo.GoodsSpuExportVo; import com.qs.serve.modules.goods.entity.vo.GoodsSpuVo; import com.qs.serve.modules.goods.service.*; import com.qs.serve.modules.oms.entity.dto.OmsSpuToSkuKey; @@ -319,6 +320,30 @@ public class GoodsSpuController { return R.ok(goodsSpuService.editTasteSpu(param)); } + /** + * 导出 + * @param param + * @return + */ + @GetMapping("/export") + public R> export(GoodsSpu param){ + PageUtil.startPage(); + List list = goodsSpuService.selectSpuList(param); + List exportVoList = list.stream().map(a->{ + GoodsSpuExportVo vo = new GoodsSpuExportVo(); + vo.setId(a.getId()); + vo.setSpuCode(a.getSpuCode()); + vo.setName(a.getName()); + vo.setShelf(a.getShelf()); + vo.setOrderFlag(a.getOrderFlag()); + vo.setCostFlag(a.getCostFlag()); + vo.setGoodsSaleType(a.getGoodsSaleType()); + vo.setCateName(a.getCateThirdLabel()); + return vo; + }).collect(Collectors.toList()); + return R.ok(exportVoList); + } + /** * 导入 * @param param diff --git a/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java new file mode 100644 index 00000000..030b0ba1 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSkuExportVo.java @@ -0,0 +1,94 @@ +package com.qs.serve.modules.goods.entity.vo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import jdk.nashorn.internal.ir.annotations.Ignore; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + * sku 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_sku") +public class GoodsSkuExportVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.AUTO) + private Long id; + + /** sku编码 */ + @Length(max = 32,message = "sku编码长度不能超过32字") + private String skuCode; + + private String skuName; + + /** 商品Id */ + @NotNull(message = "商品Id不能为空") + private Long spuId; + + /** 销售价格 */ + private BigDecimal salesPrice; + + /** 市场价 */ + private BigDecimal marketPrice; + + /** 成本价 */ + private BigDecimal costPrice; + + /** 库存 */ + @NotNull(message = "库存不能为空") + private Integer stock; + + /** 重量(kg) */ + @NotNull(message = "重量(kg)不能为空") + private BigDecimal weight; + + /** 体积(m³) */ + @NotNull(message = "体积(m³)不能为空") + private BigDecimal volume; + + /** 最低起批数(0->不限制) */ + private Integer minPurchase; + + /** 投放费用 1、是;0否 */ + private Integer enable; + + /** 是否可以下单 1、是;0否 */ + private Integer orderFlag; + + private Integer specialFlag; + + /** 备注 */ + private String remark; + + /** 产地 */ + @NotNull(message = "产地不能为空") + private String belong; + + /** 包装 */ + @NotNull(message = "包装不能为空") + private String wrapVal; + + /** 口味 */ + @NotNull(message = "口味不能为空") + private String tasteVal; + + /** 可投放费用标识 */ + private Integer costFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuExportVo.java b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuExportVo.java new file mode 100644 index 00000000..da8c48dd --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuExportVo.java @@ -0,0 +1,58 @@ +package com.qs.serve.modules.goods.entity.vo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler; +import com.qs.serve.modules.goods.entity.GoodsSku; +import lombok.Data; +import org.apache.ibatis.type.JdbcType; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + * spu 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName(value = "goods_spu",autoResultMap = true) +public class GoodsSpuExportVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + private Long id; + + /** 商品编码 */ + private String spuCode; + + /** 商品名字 */ + private String name; + + /** 投放费用(1是 0否) */ + private Integer shelf; + + /** 是否可以下单 1、是;0否 */ + private Integer orderFlag; + + /** 可投放费用标识 */ + private Integer costFlag; + + /** 商品销售类型:0-普通商品;1-赠品 */ + private Integer goodsSaleType; + + /** 三级类目:系列名称 */ + private String cateName; + + +} +