소스 검색

专属sku

24282 1 년 전
부모
커밋
fc92f52713
37개의 변경된 파일1440개의 추가작업 그리고 0개의 파일을 삭제
  1. 71 0
      sd-business/src/main/java/com/sd/business/controller/bom/BomClassifyController.java
  2. 71 0
      sd-business/src/main/java/com/sd/business/controller/bom/BomController.java
  3. 71 0
      sd-business/src/main/java/com/sd/business/controller/bom/BomSpecController.java
  4. 72 0
      sd-business/src/main/java/com/sd/business/controller/sku/SkuUserController.java
  5. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/dto/BomClassifyDto.java
  6. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/dto/BomClassifySelectDto.java
  7. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/dto/BomDto.java
  8. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/dto/BomSelectDto.java
  9. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/dto/BomSpecDto.java
  10. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/dto/BomSpecSelectDto.java
  11. 126 0
      sd-business/src/main/java/com/sd/business/entity/bom/po/Bom.java
  12. 46 0
      sd-business/src/main/java/com/sd/business/entity/bom/po/BomClassify.java
  13. 88 0
      sd-business/src/main/java/com/sd/business/entity/bom/po/BomSpec.java
  14. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/vo/BomClassifyVo.java
  15. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/vo/BomSpecVo.java
  16. 17 0
      sd-business/src/main/java/com/sd/business/entity/bom/vo/BomVo.java
  17. 17 0
      sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuUserDto.java
  18. 28 0
      sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuUserSelectDto.java
  19. 23 0
      sd-business/src/main/java/com/sd/business/entity/sku/enums/SkuPackagingEnum.java
  20. 75 0
      sd-business/src/main/java/com/sd/business/entity/sku/po/SkuUser.java
  21. 27 0
      sd-business/src/main/java/com/sd/business/entity/sku/vo/SkuUserVo.java
  22. 16 0
      sd-business/src/main/java/com/sd/business/mapper/bom/BomClassifyMapper.java
  23. 16 0
      sd-business/src/main/java/com/sd/business/mapper/bom/BomMapper.java
  24. 16 0
      sd-business/src/main/java/com/sd/business/mapper/bom/BomSpecMapper.java
  25. 16 0
      sd-business/src/main/java/com/sd/business/mapper/sku/SkuUserMapper.java
  26. 46 0
      sd-business/src/main/java/com/sd/business/service/bom/BomClassifyService.java
  27. 46 0
      sd-business/src/main/java/com/sd/business/service/bom/BomService.java
  28. 46 0
      sd-business/src/main/java/com/sd/business/service/bom/BomSpecService.java
  29. 68 0
      sd-business/src/main/java/com/sd/business/service/bom/impl/BomClassifyServiceImpl.java
  30. 68 0
      sd-business/src/main/java/com/sd/business/service/bom/impl/BomServiceImpl.java
  31. 68 0
      sd-business/src/main/java/com/sd/business/service/bom/impl/BomSpecServiceImpl.java
  32. 46 0
      sd-business/src/main/java/com/sd/business/service/sku/SkuUserService.java
  33. 100 0
      sd-business/src/main/java/com/sd/business/service/sku/impl/SkuUserServiceImpl.java
  34. 5 0
      sd-business/src/main/resources/mapper/bom/BomClassifyMapper.xml
  35. 5 0
      sd-business/src/main/resources/mapper/bom/BomMapper.xml
  36. 5 0
      sd-business/src/main/resources/mapper/bom/BomSpecMapper.xml
  37. 5 0
      sd-business/src/main/resources/mapper/sku/SkuUserMapper.xml

+ 71 - 0
sd-business/src/main/java/com/sd/business/controller/bom/BomClassifyController.java

@@ -0,0 +1,71 @@
+package com.sd.business.controller.bom;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.bom.dto.BomClassifyDto;
+import com.sd.business.entity.bom.dto.BomClassifySelectDto;
+import com.sd.business.entity.bom.vo.BomClassifyVo;
+import com.sd.business.service.bom.BomClassifyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * bom分类 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@RestController
+@RequestMapping("/bomClassify")
+public class BomClassifyController {
+
+    @Autowired
+    private BomClassifyService bomClassifyService;
+
+    /**
+     * bom分类分页
+     */
+    @PostMapping("/page")
+    public Page<BomClassifyVo> page(@RequestBody BomClassifySelectDto dto) {
+        return bomClassifyService.getPage(dto);
+    }
+
+    /**
+     * bom分类明细
+     */
+    @PostMapping("/detail")
+    public BomClassifyVo detail(@RequestBody BaseSelectDto dto) {
+        return bomClassifyService.detail(dto.getId());
+    }
+
+    /**
+     * bom分类新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody BomClassifyDto dto) {
+        bomClassifyService.add(dto);
+    }
+
+    /**
+     * bom分类编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody BomClassifyDto dto) {
+        bomClassifyService.edit(dto);
+    }
+
+    /**
+     * bom分类删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        bomClassifyService.delete(dto.getId());
+    }
+
+}

+ 71 - 0
sd-business/src/main/java/com/sd/business/controller/bom/BomController.java

@@ -0,0 +1,71 @@
+package com.sd.business.controller.bom;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.bom.dto.BomDto;
+import com.sd.business.entity.bom.dto.BomSelectDto;
+import com.sd.business.entity.bom.vo.BomVo;
+import com.sd.business.service.bom.BomService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * bom 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@RestController
+@RequestMapping("/bom")
+public class BomController {
+
+    @Autowired
+    private BomService bomService;
+
+    /**
+     * bom分页
+     */
+    @PostMapping("/page")
+    public Page<BomVo> page(@RequestBody BomSelectDto dto) {
+        return bomService.getPage(dto);
+    }
+
+    /**
+     * bom明细
+     */
+    @PostMapping("/detail")
+    public BomVo detail(@RequestBody BaseSelectDto dto) {
+        return bomService.detail(dto.getId());
+    }
+
+    /**
+     * bom新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody BomDto dto) {
+        bomService.add(dto);
+    }
+
+    /**
+     * bom编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody BomDto dto) {
+        bomService.edit(dto);
+    }
+
+    /**
+     * bom删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        bomService.delete(dto.getId());
+    }
+
+}

+ 71 - 0
sd-business/src/main/java/com/sd/business/controller/bom/BomSpecController.java

@@ -0,0 +1,71 @@
+package com.sd.business.controller.bom;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.bom.dto.BomSpecDto;
+import com.sd.business.entity.bom.dto.BomSpecSelectDto;
+import com.sd.business.entity.bom.vo.BomSpecVo;
+import com.sd.business.service.bom.BomSpecService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * bom规格 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@RestController
+@RequestMapping("/bomSpec")
+public class BomSpecController {
+
+    @Autowired
+    private BomSpecService bomSpecService;
+
+    /**
+     * bom规格分页
+     */
+    @PostMapping("/page")
+    public Page<BomSpecVo> page(@RequestBody BomSpecSelectDto dto) {
+        return bomSpecService.getPage(dto);
+    }
+
+    /**
+     * bom规格明细
+     */
+    @PostMapping("/detail")
+    public BomSpecVo detail(@RequestBody BaseSelectDto dto) {
+        return bomSpecService.detail(dto.getId());
+    }
+
+    /**
+     * bom规格新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody BomSpecDto dto) {
+        bomSpecService.add(dto);
+    }
+
+    /**
+     * bom规格编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody BomSpecDto dto) {
+        bomSpecService.edit(dto);
+    }
+
+    /**
+     * bom规格删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        bomSpecService.delete(dto.getId());
+    }
+
+}

+ 72 - 0
sd-business/src/main/java/com/sd/business/controller/sku/SkuUserController.java

@@ -0,0 +1,72 @@
+package com.sd.business.controller.sku;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.sku.dto.SkuUserDto;
+import com.sd.business.entity.sku.dto.SkuUserSelectDto;
+import com.sd.business.entity.sku.vo.SkuUserVo;
+import com.sd.business.service.sku.SkuUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 用户专属sku 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@RestController
+@RequestMapping("/skuUser")
+public class SkuUserController {
+
+    @Autowired
+    private SkuUserService skuUserService;
+
+    /**
+     * 用户专属sku分页
+     */
+    @PostMapping("/page")
+    public Page<SkuUserVo> page(@RequestBody SkuUserSelectDto dto) {
+        return skuUserService.getPage(dto);
+    }
+
+    /**
+     * 用户专属sku明细
+     */
+    @PostMapping("/detail")
+    public SkuUserVo detail(@RequestBody BaseSelectDto dto) {
+        return skuUserService.detail(dto.getId());
+    }
+
+    /**
+     * 用户专属sku新增
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody SkuUserDto dto) {
+        skuUserService.add(dto);
+    }
+
+    /**
+     * 用户专属sku编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@Validated @RequestBody SkuUserDto dto) {
+        skuUserService.edit(dto);
+    }
+
+    /**
+     * 用户专属sku删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        skuUserService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/dto/BomClassifyDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.dto;
+
+import com.sd.business.entity.bom.po.BomClassify;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom分类新增编辑入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomClassifyDto extends BomClassify {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/dto/BomClassifySelectDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom分类列表查询入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomClassifySelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/dto/BomDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.dto;
+
+import com.sd.business.entity.bom.po.Bom;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom新增编辑入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomDto extends Bom {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/dto/BomSelectDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom列表查询入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/dto/BomSpecDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.dto;
+
+import com.sd.business.entity.bom.po.BomSpec;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom规格新增编辑入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomSpecDto extends BomSpec {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/dto/BomSpecSelectDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom规格列表查询入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomSpecSelectDto extends BaseSelectDto {
+
+}

+ 126 - 0
sd-business/src/main/java/com/sd/business/entity/bom/po/Bom.java

@@ -0,0 +1,126 @@
+package com.sd.business.entity.bom.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * bom
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+@TableName("bom")
+public class Bom extends BasePo {
+
+    /**
+     * bom分类id
+     */
+    private Long bomClassifyId;
+
+    /**
+     * 品号
+     */
+    private String code;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 定制记件标准 字典:bom_customPieceBasis
+     */
+    private String customPieceBasis;
+
+    /**
+     * 包装记件标准 字典:bom_packagePieceBasis
+     */
+    private String packagePieceBasis;
+
+    /**
+     * 发货记件标准 字典:bom_shipmentsPieceBasis
+     */
+    private String shipmentsPieceBasis;
+
+    /**
+     * 项目小类 字典:bom_itemSubclass
+     */
+    private String itemSubclass;
+
+    /**
+     * 种类 字典:bom_species
+     */
+    private String species;
+
+    /**
+     * 材质
+     */
+    private String material;
+
+    /**
+     * 型号
+     */
+    private String modelNumber;
+
+    /**
+     * 正面纹路 字典:bom_frontGrain
+     */
+    private String frontGrain;
+
+    /**
+     * 背面纹路 字典:bom_reverseGrain
+     */
+    private String reverseGrain;
+
+    /**
+     * 单位
+     */
+    private String unit;
+
+    /**
+     * LOGO
+     */
+    private String logo;
+
+    /**
+     * 色层 字典:bom_chromatophore
+     */
+    private String chromatophore;
+
+    /**
+     * 售价体系 字典:bom_sellingPriceSystem
+     */
+    private String sellingPriceSystem;
+
+    /**
+     * 角度 字典:bom_angle
+     */
+    private String angle;
+
+    /**
+     * 配方
+     */
+    private String formula;
+
+    /**
+     * 压纹工艺 字典:bom_embossingProcess
+     */
+    private String embossingProcess;
+
+    /**
+     * 产品主图
+     */
+    private String mainImgUrl;
+
+    /**
+     * 详细描述
+     */
+    private String detailText;
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/entity/bom/po/BomClassify.java

@@ -0,0 +1,46 @@
+package com.sd.business.entity.bom.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * bom分类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+@TableName("bom_classify")
+public class BomClassify extends BasePo {
+
+    /**
+     * 上级分类id
+     */
+    private Long parentId;
+
+    /**
+     * 分类名称
+     */
+    private String name;
+
+    /**
+     * 分类编码
+     */
+    private String code;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 88 - 0
sd-business/src/main/java/com/sd/business/entity/bom/po/BomSpec.java

@@ -0,0 +1,88 @@
+package com.sd.business.entity.bom.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * bom规格
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+@TableName("bom_spec")
+public class BomSpec extends BasePo {
+
+    /**
+     * bom id
+     */
+    private Long bomId;
+
+    /**
+     * 图片路径
+     */
+    private String mainImgUrl;
+
+    /**
+     * 品名
+     */
+    private String name;
+
+    /**
+     * 品号
+     */
+    private String code;
+
+    /**
+     * 颜色
+     */
+    private String colour;
+
+    /**
+     * 成本价
+     */
+    private BigDecimal costPrice;
+
+    /**
+     * 对内销售价(含税)
+     */
+    private BigDecimal internalSellingPrice;
+
+    /**
+     * 对外销售价(含税)
+     */
+    private BigDecimal externalSellingPrice;
+
+    /**
+     * 安全库存
+     */
+    private BigDecimal safetyStock;
+
+    /**
+     * 长 cm
+     */
+    private BigDecimal length;
+
+    /**
+     * 宽 cm
+     */
+    private BigDecimal width;
+
+    /**
+     * 高 cm
+     */
+    private BigDecimal height;
+
+    /**
+     * 净重 g
+     */
+    private BigDecimal netWeight;
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/vo/BomClassifyVo.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.vo;
+
+import com.sd.business.entity.bom.po.BomClassify;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom分类列表查询返回值实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomClassifyVo extends BomClassify {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/vo/BomSpecVo.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.vo;
+
+import com.sd.business.entity.bom.po.BomSpec;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom规格列表查询返回值实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomSpecVo extends BomSpec {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/bom/vo/BomVo.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.bom.vo;
+
+import com.sd.business.entity.bom.po.Bom;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * bom列表查询返回值实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class BomVo extends Bom {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuUserDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.sku.dto;
+
+import com.sd.business.entity.sku.po.SkuUser;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 用户专属sku新增编辑入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class SkuUserDto extends SkuUser {
+
+}

+ 28 - 0
sd-business/src/main/java/com/sd/business/entity/sku/dto/SkuUserSelectDto.java

@@ -0,0 +1,28 @@
+package com.sd.business.entity.sku.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 用户专属sku列表查询入参实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class SkuUserSelectDto extends BaseSelectDto {
+
+    /**
+     * 编号
+     */
+    private String code;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+
+}

+ 23 - 0
sd-business/src/main/java/com/sd/business/entity/sku/enums/SkuPackagingEnum.java

@@ -0,0 +1,23 @@
+package com.sd.business.entity.sku.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum SkuPackagingEnum {
+
+    OPP_MEMBRANE("1", "OPP膜"),
+    MESH_BAG("2", "网包"),
+    SUSPENDERS("3", "背带"),
+    COLOURED_PAPER("4", "彩纸"),
+    SELF_ADHESIVE_STICKER("5", "不干胶"),
+    DROP("6", "吊牌"),
+    LOGISTICS_PACKAGING_MATERIAL("7", "快递包材"),
+
+    ;
+
+    private final String key;
+    private final String name;
+
+}

+ 75 - 0
sd-business/src/main/java/com/sd/business/entity/sku/po/SkuUser.java

@@ -0,0 +1,75 @@
+package com.sd.business.entity.sku.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.DecimalMin;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 用户专属sku
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+@TableName("sku_user")
+public class SkuUser extends BasePo {
+
+    /**
+     * 编号
+     */
+    @NotEmpty
+    @Size(min = 1, max = 50)
+    private String code;
+
+    /**
+     * 名称
+     */
+    @NotEmpty
+    @Size(min = 1, max = 200)
+    private String name;
+
+    /**
+     * bom规格id
+     */
+    @NotNull
+    private Long bomSpecId;
+
+    /**
+     * 长 cm
+     */
+    @NotNull
+    @DecimalMin("0")
+    private BigDecimal length;
+
+    /**
+     * 宽 cm
+     */
+    @NotNull
+    @DecimalMin("0")
+    private BigDecimal width;
+
+    /**
+     * 高 cm
+     */
+    @NotNull
+    @DecimalMin("0")
+    private BigDecimal height;
+
+    /**
+     * 包材配置集合
+     * {@link com.sd.business.entity.sku.enums.SkuPackagingEnum }
+     */
+    @NotNull
+    private String packagingSet;
+
+}

+ 27 - 0
sd-business/src/main/java/com/sd/business/entity/sku/vo/SkuUserVo.java

@@ -0,0 +1,27 @@
+package com.sd.business.entity.sku.vo;
+
+import com.sd.business.entity.sku.po.SkuUser;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 用户专属sku列表查询返回值实体
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Getter
+@Setter
+public class SkuUserVo extends SkuUser {
+
+    /**
+     * bom品号
+     */
+    private String bomSpecCode;
+
+    /**
+     * bom品名
+     */
+    private String bomSpecName;
+
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/bom/BomClassifyMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.bom;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.bom.po.BomClassify;
+
+/**
+ * <p>
+ * bom分类 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface BomClassifyMapper extends BaseMapper<BomClassify> {
+
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/bom/BomMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.bom;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.bom.po.Bom;
+
+/**
+ * <p>
+ * bom Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface BomMapper extends BaseMapper<Bom> {
+
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/bom/BomSpecMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.bom;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.bom.po.BomSpec;
+
+/**
+ * <p>
+ * bom规格 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface BomSpecMapper extends BaseMapper<BomSpec> {
+
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/sku/SkuUserMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.sku;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.sku.po.SkuUser;
+
+/**
+ * <p>
+ * 用户专属sku Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface SkuUserMapper extends BaseMapper<SkuUser> {
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/service/bom/BomClassifyService.java

@@ -0,0 +1,46 @@
+package com.sd.business.service.bom;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.bom.dto.BomClassifyDto;
+import com.sd.business.entity.bom.dto.BomClassifySelectDto;
+import com.sd.business.entity.bom.po.BomClassify;
+import com.sd.business.entity.bom.vo.BomClassifyVo;
+
+
+/**
+ * <p>
+ * bom分类 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface BomClassifyService extends BaseService<BomClassify> {
+
+    /**
+     * bom分类分页
+     */
+    Page<BomClassifyVo> getPage(BomClassifySelectDto dto);
+
+    /**
+     * bom分类明细
+     */
+    BomClassifyVo detail(Long id);
+
+    /**
+     * bom分类新增
+     */
+    void add(BomClassifyDto dto);
+
+    /**
+     * bom分类编辑
+     */
+    void edit(BomClassifyDto dto);
+
+    /**
+     * bom分类删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/service/bom/BomService.java

@@ -0,0 +1,46 @@
+package com.sd.business.service.bom;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.bom.dto.BomDto;
+import com.sd.business.entity.bom.dto.BomSelectDto;
+import com.sd.business.entity.bom.po.Bom;
+import com.sd.business.entity.bom.vo.BomVo;
+
+
+/**
+ * <p>
+ * bom 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface BomService extends BaseService<Bom> {
+
+    /**
+     * bom分页
+     */
+    Page<BomVo> getPage(BomSelectDto dto);
+
+    /**
+     * bom明细
+     */
+    BomVo detail(Long id);
+
+    /**
+     * bom新增
+     */
+    void add(BomDto dto);
+
+    /**
+     * bom编辑
+     */
+    void edit(BomDto dto);
+
+    /**
+     * bom删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/service/bom/BomSpecService.java

@@ -0,0 +1,46 @@
+package com.sd.business.service.bom;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.bom.dto.BomSpecDto;
+import com.sd.business.entity.bom.dto.BomSpecSelectDto;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.bom.vo.BomSpecVo;
+
+
+/**
+ * <p>
+ * bom规格 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface BomSpecService extends BaseService<BomSpec> {
+
+    /**
+     * bom规格分页
+     */
+    Page<BomSpecVo> getPage(BomSpecSelectDto dto);
+
+    /**
+     * bom规格明细
+     */
+    BomSpecVo detail(Long id);
+
+    /**
+     * bom规格新增
+     */
+    void add(BomSpecDto dto);
+
+    /**
+     * bom规格编辑
+     */
+    void edit(BomSpecDto dto);
+
+    /**
+     * bom规格删除
+     */
+    void delete(Long id);
+
+}

+ 68 - 0
sd-business/src/main/java/com/sd/business/service/bom/impl/BomClassifyServiceImpl.java

@@ -0,0 +1,68 @@
+package com.sd.business.service.bom.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sd.business.entity.bom.dto.BomClassifyDto;
+import com.sd.business.entity.bom.dto.BomClassifySelectDto;
+import com.sd.business.entity.bom.po.BomClassify;
+import com.sd.business.entity.bom.vo.BomClassifyVo;
+import com.sd.business.mapper.bom.BomClassifyMapper;
+import com.sd.business.service.bom.BomClassifyService;
+import com.sd.framework.util.Assert;
+import com.sd.framework.util.sql.Sql;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * bom分类 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Service
+public class BomClassifyServiceImpl extends ServiceImpl<BomClassifyMapper, BomClassify> implements BomClassifyService {
+
+    @Override
+    public Page<BomClassifyVo> getPage(BomClassifySelectDto dto) {
+
+        Page<BomClassifyVo> page = Sql.create(BomClassifyVo.class)
+                .selectAll(BomClassify.class)
+                .from(BomClassify.class)
+                .orderByDesc(BomClassify::getId)
+                .page(dto.getPage());
+
+        return page;
+    }
+
+    @Override
+    public BomClassifyVo detail(Long id) {
+
+        BomClassifyVo vo = Sql.create(BomClassifyVo.class)
+                .selectAll(BomClassify.class)
+                .from(BomClassify.class)
+                .eq(BomClassify::getId, id)
+                .one();
+
+        Assert.notNull(vo, "未知数据");
+
+        return vo;
+    }
+
+    @Override
+    public void add(BomClassifyDto dto) {
+        save(dto);
+    }
+
+    @Override
+    public void edit(BomClassifyDto dto) {
+        updateById(dto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        removeById(id);
+    }
+
+}

+ 68 - 0
sd-business/src/main/java/com/sd/business/service/bom/impl/BomServiceImpl.java

@@ -0,0 +1,68 @@
+package com.sd.business.service.bom.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sd.business.entity.bom.dto.BomDto;
+import com.sd.business.entity.bom.dto.BomSelectDto;
+import com.sd.business.entity.bom.po.Bom;
+import com.sd.business.entity.bom.vo.BomVo;
+import com.sd.business.mapper.bom.BomMapper;
+import com.sd.business.service.bom.BomService;
+import com.sd.framework.util.Assert;
+import com.sd.framework.util.sql.Sql;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * bom 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Service
+public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomService {
+
+    @Override
+    public Page<BomVo> getPage(BomSelectDto dto) {
+
+        Page<BomVo> page = Sql.create(BomVo.class)
+                .selectAll(Bom.class)
+                .from(Bom.class)
+                .orderByDesc(Bom::getId)
+                .page(dto.getPage());
+
+        return page;
+    }
+
+    @Override
+    public BomVo detail(Long id) {
+
+        BomVo vo = Sql.create(BomVo.class)
+                .selectAll(Bom.class)
+                .from(Bom.class)
+                .eq(Bom::getId, id)
+                .one();
+
+        Assert.notNull(vo, "未知数据");
+
+        return vo;
+    }
+
+    @Override
+    public void add(BomDto dto) {
+        save(dto);
+    }
+
+    @Override
+    public void edit(BomDto dto) {
+        updateById(dto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        removeById(id);
+    }
+
+}

+ 68 - 0
sd-business/src/main/java/com/sd/business/service/bom/impl/BomSpecServiceImpl.java

@@ -0,0 +1,68 @@
+package com.sd.business.service.bom.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sd.business.entity.bom.dto.BomSpecDto;
+import com.sd.business.entity.bom.dto.BomSpecSelectDto;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.bom.vo.BomSpecVo;
+import com.sd.business.mapper.bom.BomSpecMapper;
+import com.sd.business.service.bom.BomSpecService;
+import com.sd.framework.util.Assert;
+import com.sd.framework.util.sql.Sql;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * bom规格 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Service
+public class BomSpecServiceImpl extends ServiceImpl<BomSpecMapper, BomSpec> implements BomSpecService {
+
+    @Override
+    public Page<BomSpecVo> getPage(BomSpecSelectDto dto) {
+
+        Page<BomSpecVo> page = Sql.create(BomSpecVo.class)
+                .selectAll(BomSpec.class)
+                .from(BomSpec.class)
+                .orderByDesc(BomSpec::getId)
+                .page(dto.getPage());
+
+        return page;
+    }
+
+    @Override
+    public BomSpecVo detail(Long id) {
+
+        BomSpecVo vo = Sql.create(BomSpecVo.class)
+                .selectAll(BomSpec.class)
+                .from(BomSpec.class)
+                .eq(BomSpec::getId, id)
+                .one();
+
+        Assert.notNull(vo, "未知数据");
+
+        return vo;
+    }
+
+    @Override
+    public void add(BomSpecDto dto) {
+        save(dto);
+    }
+
+    @Override
+    public void edit(BomSpecDto dto) {
+        updateById(dto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        removeById(id);
+    }
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/service/sku/SkuUserService.java

@@ -0,0 +1,46 @@
+package com.sd.business.service.sku;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.sku.dto.SkuUserDto;
+import com.sd.business.entity.sku.dto.SkuUserSelectDto;
+import com.sd.business.entity.sku.po.SkuUser;
+import com.sd.business.entity.sku.vo.SkuUserVo;
+
+
+/**
+ * <p>
+ * 用户专属sku 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+public interface SkuUserService extends BaseService<SkuUser> {
+
+    /**
+     * 用户专属sku分页
+     */
+    Page<SkuUserVo> getPage(SkuUserSelectDto dto);
+
+    /**
+     * 用户专属sku明细
+     */
+    SkuUserVo detail(Long id);
+
+    /**
+     * 用户专属sku新增
+     */
+    void add(SkuUserDto dto);
+
+    /**
+     * 用户专属sku编辑
+     */
+    void edit(SkuUserDto dto);
+
+    /**
+     * 用户专属sku删除
+     */
+    void delete(Long id);
+
+}

+ 100 - 0
sd-business/src/main/java/com/sd/business/service/sku/impl/SkuUserServiceImpl.java

@@ -0,0 +1,100 @@
+package com.sd.business.service.sku.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.sku.dto.SkuUserDto;
+import com.sd.business.entity.sku.dto.SkuUserSelectDto;
+import com.sd.business.entity.sku.po.SkuUser;
+import com.sd.business.entity.sku.vo.SkuUserVo;
+import com.sd.business.mapper.sku.SkuUserMapper;
+import com.sd.business.service.sku.SkuUserService;
+import com.sd.framework.util.Assert;
+import com.sd.framework.util.sql.Sql;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 用户专属sku 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-11-20
+ */
+@Service
+public class SkuUserServiceImpl extends ServiceImpl<SkuUserMapper, SkuUser> implements SkuUserService {
+
+    @Override
+    public Page<SkuUserVo> getPage(SkuUserSelectDto dto) {
+
+        Page<SkuUserVo> page = Sql.create(SkuUserVo.class)
+                .selectAll(SkuUser.class)
+                .selectAs(BomSpec::getCode, SkuUserVo::getBomSpecCode)
+                .selectAs(BomSpec::getName, SkuUserVo::getBomSpecName)
+
+                .from(SkuUser.class)
+                .leftJoin(BomSpec.class, BaseIdPo::getId, SkuUser::getBomSpecId)
+
+                .eq(SkuUser::getCreateUser, SecurityUtils.getUserId())
+                .like(SkuUser::getCode, dto.getCode())
+                .like(SkuUser::getName, dto.getName())
+                .orderByDesc(SkuUser::getId)
+                .page(dto.getPage());
+
+        return page;
+    }
+
+    @Override
+    public SkuUserVo detail(Long id) {
+
+        SkuUserVo vo = Sql.create(SkuUserVo.class)
+                .selectAll(SkuUser.class)
+                .selectAs(BomSpec::getCode, SkuUserVo::getBomSpecCode)
+                .selectAs(BomSpec::getName, SkuUserVo::getBomSpecName)
+
+                .from(SkuUser.class)
+                .leftJoin(BomSpec.class, BaseIdPo::getId, SkuUser::getBomSpecId)
+
+                .eq(SkuUser::getId, id)
+                .one();
+
+        Assert.notNull(vo, "未知sku");
+
+        return vo;
+    }
+
+    @Override
+    public void add(SkuUserDto dto) {
+
+        long count = count(q -> q.eq(BasePo::getCreateUser, SecurityUtils.getUserId())
+                .eq(SkuUser::getCode, dto.getCode())
+                .last("limit 1"));
+
+        Assert.eqZero(count, "sku编号已存在");
+
+        save(dto);
+    }
+
+    @Override
+    public void edit(SkuUserDto dto) {
+
+        long count = count(q -> q.eq(BasePo::getCreateUser, SecurityUtils.getUserId())
+                .eq(SkuUser::getCode, dto.getCode())
+                .ne(BaseIdPo::getId, dto.getId())
+                .last("limit 1"));
+
+        Assert.eqZero(count, "sku编号已存在");
+
+        updateById(dto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        removeById(id);
+    }
+
+}

+ 5 - 0
sd-business/src/main/resources/mapper/bom/BomClassifyMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sd.business.mapper.bom.BomClassifyMapper">
+
+</mapper>

+ 5 - 0
sd-business/src/main/resources/mapper/bom/BomMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sd.business.mapper.bom.BomMapper">
+
+</mapper>

+ 5 - 0
sd-business/src/main/resources/mapper/bom/BomSpecMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sd.business.mapper.bom.BomSpecMapper">
+
+</mapper>

+ 5 - 0
sd-business/src/main/resources/mapper/sku/SkuUserMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sd.business.mapper.sku.SkuUserMapper">
+
+</mapper>