浏览代码

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	sd-business/src/main/java/com/sd/business/service/bom/impl/BomSpecServiceImpl.java
24282 1 年之前
父节点
当前提交
1f5a114ca6
共有 38 个文件被更改,包括 1176 次插入9 次删除
  1. 68 0
      sd-business/src/main/java/com/sd/business/controller/order/OrderController.java
  2. 34 0
      sd-business/src/main/java/com/sd/business/controller/order/OrderSkuArtworkLogController.java
  3. 19 0
      sd-business/src/main/java/com/sd/business/controller/order/OrderSkuController.java
  4. 5 0
      sd-business/src/main/java/com/sd/business/entity/artwork/dto/ArtworkLibrarySelectDto.java
  5. 5 0
      sd-business/src/main/java/com/sd/business/entity/artwork/po/ArtworkLibrary.java
  6. 41 0
      sd-business/src/main/java/com/sd/business/entity/bom/dto/BomSpecSelectDto.java
  7. 9 0
      sd-business/src/main/java/com/sd/business/entity/bom/vo/BomSpecVo.java
  8. 27 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoDto.java
  9. 38 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoSelectDto.java
  10. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuArtworkLogDto.java
  11. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuArtworkLogSelectDto.java
  12. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuDto.java
  13. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuSelectDto.java
  14. 47 0
      sd-business/src/main/java/com/sd/business/entity/order/enums/ArtworkLogTypeEnum.java
  15. 46 0
      sd-business/src/main/java/com/sd/business/entity/order/enums/OrderStatusEnum.java
  16. 119 0
      sd-business/src/main/java/com/sd/business/entity/order/po/OrderInfo.java
  17. 132 0
      sd-business/src/main/java/com/sd/business/entity/order/po/OrderSku.java
  18. 43 0
      sd-business/src/main/java/com/sd/business/entity/order/po/OrderSkuArtworkLog.java
  19. 23 0
      sd-business/src/main/java/com/sd/business/entity/order/vo/OrderInfoVo.java
  20. 20 0
      sd-business/src/main/java/com/sd/business/entity/order/vo/OrderSkuArtworkLogVo.java
  21. 22 0
      sd-business/src/main/java/com/sd/business/entity/order/vo/OrderSkuVo.java
  22. 11 0
      sd-business/src/main/java/com/sd/business/mapper/bom/BomSpecMapper.java
  23. 16 0
      sd-business/src/main/java/com/sd/business/mapper/order/OrderMapper.java
  24. 16 0
      sd-business/src/main/java/com/sd/business/mapper/order/OrderSkuArtworkLogMapper.java
  25. 16 0
      sd-business/src/main/java/com/sd/business/mapper/order/OrderSkuMapper.java
  26. 3 0
      sd-business/src/main/java/com/sd/business/service/artwork/impl/ArtworkLibraryServiceImpl.java
  27. 16 8
      sd-business/src/main/java/com/sd/business/service/bom/impl/BomSpecServiceImpl.java
  28. 46 0
      sd-business/src/main/java/com/sd/business/service/order/OrderService.java
  29. 24 0
      sd-business/src/main/java/com/sd/business/service/order/OrderSkuArtworkLogService.java
  30. 17 0
      sd-business/src/main/java/com/sd/business/service/order/OrderSkuService.java
  31. 129 0
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java
  32. 42 0
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderSkuArtworkLogServiceImpl.java
  33. 21 0
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderSkuServiceImpl.java
  34. 12 1
      sd-business/src/main/java/com/sd/business/util/CodeEnum.java
  35. 26 0
      sd-business/src/main/resources/mapper/bom/BomSpecMapper.xml
  36. 5 0
      sd-business/src/main/resources/mapper/order/OrderMapper.xml
  37. 5 0
      sd-business/src/main/resources/mapper/order/OrderSkuArtworkLogMapper.xml
  38. 5 0
      sd-business/src/main/resources/mapper/order/OrderSkuMapper.xml

+ 68 - 0
sd-business/src/main/java/com/sd/business/controller/order/OrderController.java

@@ -0,0 +1,68 @@
+package com.sd.business.controller.order;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sd.business.entity.order.vo.OrderInfoVo;
+import com.sd.business.entity.order.dto.OrderInfoSelectDto;
+import com.sd.business.entity.order.dto.OrderInfoDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.service.order.OrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 订单 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@RestController
+@RequestMapping("/orderInfo")
+public class OrderController {
+
+    @Autowired
+    private OrderService orderService;
+
+    /**
+     * 订单分页
+     */
+    @PostMapping("/page")
+    public Page<OrderInfoVo> page(@RequestBody OrderInfoSelectDto dto) {
+        return orderService.getPage(dto);
+    }
+
+    /**
+     * 订单明细
+     */
+    @PostMapping("/detail")
+    public OrderInfoVo detail(@RequestBody BaseSelectDto dto) {
+        return orderService.detail(dto.getId());
+    }
+
+    /**
+     * 订单新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody OrderInfoDto dto) {
+        orderService.add(dto);
+    }
+
+    /**
+     * 订单编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody OrderInfoDto dto) {
+        orderService.edit(dto);
+    }
+
+    /**
+     * 订单删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        orderService.delete(dto.getId());
+    }
+
+}

+ 34 - 0
sd-business/src/main/java/com/sd/business/controller/order/OrderSkuArtworkLogController.java

@@ -0,0 +1,34 @@
+package com.sd.business.controller.order;
+
+import org.springframework.web.bind.annotation.*;
+import com.sd.business.entity.order.vo.OrderSkuArtworkLogVo;
+import com.sd.business.entity.order.dto.OrderSkuArtworkLogSelectDto;
+import com.sd.business.service.order.OrderSkuArtworkLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 订单sku图稿日志 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@RestController
+@RequestMapping("/orderSkuArtworkLog")
+public class OrderSkuArtworkLogController {
+
+    @Autowired
+    private OrderSkuArtworkLogService orderSkuArtworkLogService;
+
+    /**
+     * 订单sku图稿日志列表
+     */
+    @PostMapping("/list")
+    public List<OrderSkuArtworkLogVo> list(@RequestBody OrderSkuArtworkLogSelectDto dto) {
+        return orderSkuArtworkLogService.getListByOrderId(dto.getId());
+    }
+
+}

+ 19 - 0
sd-business/src/main/java/com/sd/business/controller/order/OrderSkuController.java

@@ -0,0 +1,19 @@
+package com.sd.business.controller.order;
+
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * <p>
+ * 订单sku 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@RestController
+@RequestMapping("/orderSku")
+public class OrderSkuController {
+
+
+}

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/artwork/dto/ArtworkLibrarySelectDto.java

@@ -19,4 +19,9 @@ public class ArtworkLibrarySelectDto extends BaseSelectDto {
      */
     private String artworkName;
 
+    /**
+     * 类型 1-标准图稿,2-客户图稿
+     */
+    private Integer type;
+
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/artwork/po/ArtworkLibrary.java

@@ -24,6 +24,11 @@ public class ArtworkLibrary extends BasePo {
     private String artworkName;
 
     /**
+     * 类型 1-标准图稿,2-客户图稿
+     */
+    private Integer type;
+
+    /**
      * 图片id
      */
     private Long imgId;

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

@@ -4,6 +4,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * bom规格列表查询入参实体
  *
@@ -14,4 +16,43 @@ import lombok.Setter;
 @Setter
 public class BomSpecSelectDto extends BaseSelectDto {
 
+    /**
+     * bom分类分类编码 瑜伽垫裸垫-201.G 瑜伽砖裸砖-202.G 跳绳垫裸垫-203.G
+     */
+    private String bomClassifyCode;
+
+    /**
+     * 长 cm
+     */
+    private BigDecimal length;
+
+    /**
+     * 宽 cm
+     */
+    private BigDecimal width;
+
+    /**
+     * 高 cm
+     */
+    private BigDecimal height;
+
+    /**
+     * 色层 字典:bom_chromatophore
+     */
+    private String chromatophore;
+
+    /**
+     * 颜色
+     */
+    private String colour;
+
+    /**
+     * 正面纹路 字典:bom_frontGrain
+     */
+    private String frontGrain;
+
+    /**
+     * 背面纹路 字典:bom_reverseGrain
+     */
+    private String reverseGrain;
 }

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

@@ -14,4 +14,13 @@ import lombok.Setter;
 @Setter
 public class BomSpecVo extends BomSpec {
 
+    /**
+     * 正面纹路 字典:bom_frontGrain
+     */
+    private String frontGrain;
+
+    /**
+     * 背面纹路 字典:bom_reverseGrain
+     */
+    private String reverseGrain;
 }

+ 27 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoDto.java

@@ -0,0 +1,27 @@
+package com.sd.business.entity.order.dto;
+
+import com.sd.business.entity.order.po.OrderInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 订单新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderInfoDto extends OrderInfo {
+
+    /**
+     * 订单商品
+     */
+    @Valid
+    @NotEmpty(message = "产品列表不能为空")
+    private List<OrderSkuDto> orderSkuList;
+}

+ 38 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoSelectDto.java

@@ -0,0 +1,38 @@
+package com.sd.business.entity.order.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 订单列表查询入参实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderInfoSelectDto extends BaseSelectDto {
+
+    /**
+     * 订单号
+     */
+    private String code;
+
+    /**
+     * sku品号
+     */
+    private String skuCode;
+
+    /**
+     * 下单时间
+     */
+    private Date createTime;
+
+    /**
+     * 发货时间
+     */
+    private Date shippingTime;
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuArtworkLogDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.order.dto;
+
+import com.sd.business.entity.order.po.OrderSkuArtworkLog;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 订单sku图稿日志新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderSkuArtworkLogDto extends OrderSkuArtworkLog {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuArtworkLogSelectDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.order.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 订单sku图稿日志列表查询入参实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderSkuArtworkLogSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuDto.java

@@ -0,0 +1,17 @@
+package com.sd.business.entity.order.dto;
+
+import com.sd.business.entity.order.po.OrderSku;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 订单sku新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderSkuDto extends OrderSku {
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuSelectDto.java

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

+ 47 - 0
sd-business/src/main/java/com/sd/business/entity/order/enums/ArtworkLogTypeEnum.java

@@ -0,0 +1,47 @@
+package com.sd.business.entity.order.enums;
+
+import com.ruoyi.common.exception.ServiceException;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 图稿操作类型
+ */
+@Getter
+@AllArgsConstructor
+public enum ArtworkLogTypeEnum {
+    UPLOAD_BLUEPRINT(10, "上传设计图"),
+    UPLOAD_PROOFING_IMG(20, "上传打样图"),
+    UPLOAD_PROOFING_DOCUMENT(21, "上传打样图稿"),
+    REJECT_PROOFING_IMG(22, "驳回打样图稿"),
+    CONFIRM_PROOFING_IMG(30, "确认打样图"),
+    UPLOAD_PRODUCTION_DOCUMENT(40, "上传设计图稿"),
+
+    ;
+
+    private static final Map<Integer, ArtworkLogTypeEnum> map = new HashMap<>();
+
+    static {
+        for (ArtworkLogTypeEnum orderStatusEnum : values()) {
+            map.put(orderStatusEnum.getKey(), orderStatusEnum);
+        }
+    }
+
+    private final Integer key;
+    private final String value;
+
+    /**
+     * 通过key获取名称
+     */
+    public static ArtworkLogTypeEnum getEnum(Integer key) {
+        ArtworkLogTypeEnum orderStatusEnum = map.get(key);
+        if (orderStatusEnum == null) {
+            throw new ServiceException("未知操作类型:" + key);
+        }
+        return orderStatusEnum;
+    }
+
+}

+ 46 - 0
sd-business/src/main/java/com/sd/business/entity/order/enums/OrderStatusEnum.java

@@ -0,0 +1,46 @@
+package com.sd.business.entity.order.enums;
+
+import com.ruoyi.common.exception.ServiceException;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 订单状态
+ */
+@Getter
+@AllArgsConstructor
+public enum OrderStatusEnum {
+    ARTWORK_UNDER_REVIEW(11, "图稿待确认"),
+    STOCK_PREPARATION(20, "备料中"),
+    IN_PRODUCTION(30, "生产中"),
+    COMPLETION_PRODUCTION(40, "生产完成"),
+    HAVE_BEEN_SHIPPED(50, "已发货"),
+
+    ;
+
+    private static final Map<Integer, OrderStatusEnum> map = new HashMap<>();
+
+    static {
+        for (OrderStatusEnum orderStatusEnum : values()) {
+            map.put(orderStatusEnum.getKey(), orderStatusEnum);
+        }
+    }
+
+    private final Integer key;
+    private final String value;
+
+    /**
+     * 通过key获取名称
+     */
+    public static OrderStatusEnum getEnum(Integer key) {
+        OrderStatusEnum orderStatusEnum = map.get(key);
+        if (orderStatusEnum == null) {
+            throw new ServiceException("未知订单状态:" + key);
+        }
+        return orderStatusEnum;
+    }
+
+}

+ 119 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderInfo.java

@@ -0,0 +1,119 @@
+package com.sd.business.entity.order.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 订单
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+@TableName("order_info")
+public class OrderInfo extends BasePo {
+
+    /**
+     * 订单号
+     */
+    private String code;
+
+    /**
+     * 进度
+     */
+    private Integer status;
+
+    /**
+     * 订单总金额
+     */
+    private BigDecimal totalAmount;
+
+    /**
+     * 产品总金额
+     */
+    private BigDecimal productTotalAmount;
+
+    /**
+     * 定制加工费
+     */
+    private BigDecimal customProcessingFee;
+
+    /**
+     * 包材费
+     */
+    private BigDecimal packagingMaterialCost;
+
+    /**
+     * 打样费
+     */
+    private BigDecimal proofingFee;
+
+    /**
+     * 发货时间
+     */
+    private Date shippingTime;
+
+    /**
+     * 收货人
+     */
+    private String consignee;
+
+    /**
+     * 收货人电话
+     */
+    private String consigneeNumber;
+
+    /**
+     * 省
+     */
+    private String province;
+
+    /**
+     * 市
+     */
+    private String city;
+
+    /**
+     * 县
+     */
+    private String county;
+
+    /**
+     * 街道
+     */
+    private String streetCode;
+
+    /**
+     * 详细地址
+     */
+    private String detailedAddress;
+
+    /**
+     * 邮编
+     */
+    private String postcode;
+
+    /**
+     * 快递网点id
+     */
+    private String expressDeliveryId;
+
+    /**
+     * 快递单号
+     */
+    private String expressDeliveryCode;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 132 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderSku.java

@@ -0,0 +1,132 @@
+package com.sd.business.entity.order.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.DecimalMin;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 订单sku
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+@TableName("order_sku")
+public class OrderSku extends BasePo {
+
+    /**
+     * 订单id
+     */
+    private Long orderId;
+
+    /**
+     * sku id
+     */
+    private Long skuUserId;
+
+    /**
+     * 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;
+
+    /**
+     * 设计图
+     */
+    private String blueprint;
+
+    /**
+     * 生产文件
+     */
+    private String productionDocument;
+
+    /**
+     * 打样图
+     */
+    private String proofingImg;
+
+    /**
+     * 打样文件
+     */
+    private String proofingDocument;
+
+    /**
+     * 数量
+     */
+    @NotNull
+    @DecimalMin("0")
+    private BigDecimal quantity;
+
+    /**
+     * 单价
+     */
+    @NotNull
+    private BigDecimal unitPrice;
+
+    /**
+     * 定制加工费
+     */
+    @NotNull
+    private BigDecimal customProcessingFee;
+
+    /**
+     * 包材费
+     */
+    @NotNull
+    private BigDecimal packagingMaterialCost;
+
+    /**
+     * 打样费
+     */
+    @NotNull
+    private BigDecimal proofingFee;
+
+    /**
+     * 是否打样 1是 0否
+     */
+    private Boolean isProofing;
+
+    /**
+     * 打印 1单面 2 双面
+     */
+    private Integer printType;
+
+}

+ 43 - 0
sd-business/src/main/java/com/sd/business/entity/order/po/OrderSkuArtworkLog.java

@@ -0,0 +1,43 @@
+package com.sd.business.entity.order.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 订单sku图稿日志
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+@TableName("order_sku_artwork_log")
+public class OrderSkuArtworkLog extends BasePo {
+
+    /**
+     * 订单id
+     */
+    private Long orderId;
+
+    /**
+     * 订单sku id
+     */
+    private Long orderSkuId;
+
+    /**
+     * 类型 10上传设计图 20上传打样图 21上传打样图稿 22驳回打样图稿 30确认打样图 40上传设计图稿
+     */
+    private Integer type;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 23 - 0
sd-business/src/main/java/com/sd/business/entity/order/vo/OrderInfoVo.java

@@ -0,0 +1,23 @@
+package com.sd.business.entity.order.vo;
+
+import com.sd.business.entity.order.po.OrderInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 订单列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderInfoVo extends OrderInfo {
+
+    /**
+     * 订单商品
+     */
+    private List<OrderSkuVo> orderSkuList;
+}

+ 20 - 0
sd-business/src/main/java/com/sd/business/entity/order/vo/OrderSkuArtworkLogVo.java

@@ -0,0 +1,20 @@
+package com.sd.business.entity.order.vo;
+
+import com.sd.business.entity.order.po.OrderSkuArtworkLog;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 订单sku图稿日志列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderSkuArtworkLogVo extends OrderSkuArtworkLog {
+    /**
+     * 创建人名称
+     */
+    private String userName;
+}

+ 22 - 0
sd-business/src/main/java/com/sd/business/entity/order/vo/OrderSkuVo.java

@@ -0,0 +1,22 @@
+package com.sd.business.entity.order.vo;
+
+import com.sd.business.entity.order.po.OrderSku;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 订单sku列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Getter
+@Setter
+public class OrderSkuVo extends OrderSku {
+
+    /**
+     * sku名称
+     */
+    private String skuName;
+
+}

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

@@ -1,7 +1,11 @@
 package com.sd.business.mapper.bom;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.bom.vo.BomSpecVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +17,11 @@ import com.sd.business.entity.bom.po.BomSpec;
  */
 public interface BomSpecMapper extends BaseMapper<BomSpec> {
 
+    /**
+     * 分页
+     * @param page
+     * @param wrapper
+     * @return
+     */
+    Page<BomSpecVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<BomSpec> wrapper);
 }

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/order/OrderMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.order;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.order.po.OrderInfo;
+
+/**
+ * <p>
+ * 订单 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+public interface OrderMapper extends BaseMapper<OrderInfo> {
+
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/order/OrderSkuArtworkLogMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.order;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.order.po.OrderSkuArtworkLog;
+
+/**
+ * <p>
+ * 订单sku图稿日志 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+public interface OrderSkuArtworkLogMapper extends BaseMapper<OrderSkuArtworkLog> {
+
+}

+ 16 - 0
sd-business/src/main/java/com/sd/business/mapper/order/OrderSkuMapper.java

@@ -0,0 +1,16 @@
+package com.sd.business.mapper.order;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sd.business.entity.order.po.OrderSku;
+
+/**
+ * <p>
+ * 订单sku Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+public interface OrderSkuMapper extends BaseMapper<OrderSku> {
+
+}

+ 3 - 0
sd-business/src/main/java/com/sd/business/service/artwork/impl/ArtworkLibraryServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.file.entity.ObsFile;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.ruoyi.common.core.domain.BaseIdPo;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.sd.business.entity.artwork.dto.ArtworkLibraryDto;
 import com.sd.business.entity.artwork.dto.ArtworkLibrarySelectDto;
 import com.sd.business.entity.artwork.po.ArtworkLibrary;
@@ -16,6 +17,7 @@ import com.sd.framework.util.sql.Sql;
 import org.springframework.stereotype.Service;
 
 import java.util.Collections;
+import java.util.Objects;
 
 
 /**
@@ -36,6 +38,7 @@ public class ArtworkLibraryServiceImpl extends ServiceImpl<ArtworkLibraryMapper,
                 .selectAll(ArtworkLibrary.class)
                 .from(ArtworkLibrary.class)
                 .like(ArtworkLibrary::getArtworkName, dto.getArtworkName())
+                .eq(Objects.equals(dto.getType(), 2), ArtworkLibrary::getCreateUser, SecurityUtils.getUserId())
                 .orderByDesc(ArtworkLibrary::getId)
                 .page(dto);
 

+ 16 - 8
sd-business/src/main/java/com/sd/business/service/bom/impl/BomSpecServiceImpl.java

@@ -2,14 +2,19 @@ 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.fjhx.file.service.FileInfoService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.sd.business.entity.bom.dto.BomSpecDto;
 import com.sd.business.entity.bom.dto.BomSpecSelectDto;
+import com.sd.business.entity.bom.po.Bom;
+import com.sd.business.entity.bom.po.BomClassify;
 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.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 
@@ -26,14 +31,17 @@ public class BomSpecServiceImpl extends ServiceImpl<BomSpecMapper, BomSpec> impl
 
     @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);
-
-        return page;
+        IWrapper<BomSpec> wrapper = getWrapper();
+        wrapper.eq("bc", BomClassify::getCode, dto.getBomClassifyCode());
+        wrapper.eq("bs", BomSpec::getLength, dto.getLength());
+        wrapper.eq("bs", BomSpec::getWidth, dto.getWidth());
+        wrapper.eq("bs", BomSpec::getHeight, dto.getHeight());
+        wrapper.eq("bs", BomSpec::getColour, dto.getColour());
+        wrapper.eq("b", Bom::getChromatophore, dto.getChromatophore());
+        wrapper.eq("b", Bom::getFrontGrain, dto.getFrontGrain());
+        wrapper.eq("b", Bom::getReverseGrain, dto.getReverseGrain());
+        wrapper.orderByDesc(BomSpec::getId);
+        return this.baseMapper.getPage(dto.getPage(), wrapper);
     }
 
     @Override

+ 46 - 0
sd-business/src/main/java/com/sd/business/service/order/OrderService.java

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

+ 24 - 0
sd-business/src/main/java/com/sd/business/service/order/OrderSkuArtworkLogService.java

@@ -0,0 +1,24 @@
+package com.sd.business.service.order;
+
+import com.sd.business.entity.order.po.OrderSkuArtworkLog;
+import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.order.vo.OrderSkuArtworkLogVo;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 订单sku图稿日志 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+public interface OrderSkuArtworkLogService extends BaseService<OrderSkuArtworkLog> {
+
+    /**
+     * 订单sku图稿日志列表
+     */
+    List<OrderSkuArtworkLogVo> getListByOrderId(Long orderId);
+
+}

+ 17 - 0
sd-business/src/main/java/com/sd/business/service/order/OrderSkuService.java

@@ -0,0 +1,17 @@
+package com.sd.business.service.order;
+
+import com.sd.business.entity.order.po.OrderSku;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 订单sku 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+public interface OrderSkuService extends BaseService<OrderSku> {
+
+}

+ 129 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -0,0 +1,129 @@
+package com.sd.business.service.order.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.sd.business.entity.order.dto.OrderSkuDto;
+import com.sd.business.entity.order.enums.ArtworkLogTypeEnum;
+import com.sd.business.entity.order.po.OrderInfo;
+import com.sd.business.entity.order.po.OrderSku;
+import com.sd.business.entity.order.po.OrderSkuArtworkLog;
+import com.sd.business.entity.order.vo.OrderSkuVo;
+import com.sd.business.mapper.order.OrderMapper;
+import com.sd.business.service.bom.BomSpecService;
+import com.sd.business.service.order.OrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sd.business.entity.order.vo.OrderInfoVo;
+import com.sd.business.entity.order.dto.OrderInfoSelectDto;
+import com.sd.business.entity.order.dto.OrderInfoDto;
+import com.sd.business.service.order.OrderSkuArtworkLogService;
+import com.sd.business.service.order.OrderSkuService;
+import com.sd.business.util.CodeEnum;
+import com.sd.framework.util.sql.Sql;
+import com.sd.framework.util.Assert;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * <p>
+ * 订单 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Service
+public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implements OrderService {
+
+    @Autowired
+    private OrderSkuService orderSkuService;
+
+    @Autowired
+    private OrderSkuArtworkLogService orderSkuArtworkLogService;
+
+    @Autowired
+    private BomSpecService bomSpecService;
+
+    @Override
+    public Page<OrderInfoVo> getPage(OrderInfoSelectDto dto) {
+
+        Page<OrderInfoVo> page = Sql.create(OrderInfoVo.class)
+                .selectAll(OrderInfo.class)
+                .from(OrderInfo.class)
+                .orderByDesc(OrderInfo::getId)
+                .page(dto.getPage());
+
+        return page;
+    }
+
+    @Override
+    public OrderInfoVo detail(Long id) {
+
+        OrderInfoVo vo = Sql.create(OrderInfoVo.class)
+                .selectAll(OrderInfo.class)
+                .from(OrderInfo.class)
+                .eq(OrderInfo::getId, id)
+                .one();
+
+        Assert.notNull(vo, "未知数据");
+
+        // 赋值订单明细
+        List<OrderSku> tempOrderSkuList = orderSkuService.list(q -> q.eq(OrderSku::getOrderId, id));
+        List<OrderSkuVo> orderSkuList = BeanUtil.copyToList(tempOrderSkuList, OrderSkuVo.class);
+        bomSpecService.attributeAssign(orderSkuList, OrderSkuVo::getBomSpecId, (item, bomSpec) -> {
+            item.setSkuName(bomSpec.getName());
+        });
+        vo.setOrderSkuList(orderSkuList);
+
+        return vo;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(OrderInfoDto dto) {
+        dto.setCode(CodeEnum.ORDER_CODE.getCode());
+        this.save(dto);
+
+        List<OrderSkuDto> orderSkuList = dto.getOrderSkuList();
+        // 新增订单产品包材配件
+        List<OrderSku> tempOrderSkuList = orderSkuList.stream()
+                .peek(item -> item.setOrderId(dto.getId()))
+                .map(item -> (OrderSku) item)
+                .collect(Collectors.toList());
+        orderSkuService.saveBatch(tempOrderSkuList);
+
+        // 新增订单产品图稿操作日志
+        List<OrderSkuArtworkLog> orderSkuArtworkLogList = tempOrderSkuList.stream().map(item -> {
+            OrderSkuArtworkLog orderSkuArtworkLog = new OrderSkuArtworkLog();
+            orderSkuArtworkLog.setOrderId(dto.getId());
+            orderSkuArtworkLog.setOrderSkuId(item.getId());
+            orderSkuArtworkLog.setType(ArtworkLogTypeEnum.UPLOAD_BLUEPRINT.getKey());
+            return orderSkuArtworkLog;
+        }).collect(Collectors.toList());
+        orderSkuArtworkLogService.saveBatch(orderSkuArtworkLogList);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(OrderInfoDto dto) {
+        // 更新订单
+        this.updateById(dto);
+        // 更新订单产品
+        List<OrderSkuDto> orderSkuList = dto.getOrderSkuList();
+        List<OrderSku> tempOrderSkuList = orderSkuList.stream()
+                .peek(item -> item.setOrderId(dto.getId()))
+                .map(item -> (OrderSku) item)
+                .collect(Collectors.toList());
+        orderSkuService.editLinked(tempOrderSkuList, OrderSku::getOrderId, dto.getId());
+    }
+
+    @Override
+    public void delete(Long id) {
+        removeById(id);
+    }
+
+}

+ 42 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderSkuArtworkLogServiceImpl.java

@@ -0,0 +1,42 @@
+package com.sd.business.service.order.impl;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.system.utils.UserUtil;
+import com.sd.business.entity.order.po.OrderSkuArtworkLog;
+import com.sd.business.mapper.order.OrderSkuArtworkLogMapper;
+import com.sd.business.service.order.OrderSkuArtworkLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sd.business.entity.order.vo.OrderSkuArtworkLogVo;
+import com.sd.framework.util.Assert;
+import com.sd.framework.util.sql.Sql;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 订单sku图稿日志 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Service
+public class OrderSkuArtworkLogServiceImpl extends ServiceImpl<OrderSkuArtworkLogMapper, OrderSkuArtworkLog> implements OrderSkuArtworkLogService {
+
+    @Override
+    public List<OrderSkuArtworkLogVo> getListByOrderId(Long orderId) {
+        Assert.notNull(orderId, "订单id不能为空");
+
+        List<OrderSkuArtworkLogVo> list = Sql.create(OrderSkuArtworkLogVo.class)
+                .selectAll(OrderSkuArtworkLog.class)
+                .from(OrderSkuArtworkLog.class)
+                .eq(OrderSkuArtworkLog::getOrderId, orderId)
+                .orderByDesc(OrderSkuArtworkLog::getId)
+                .list();
+
+        UserUtil.assignmentNickName(list, BasePo::getCreateUser, OrderSkuArtworkLogVo::setUserName);
+        return list;
+    }
+
+}

+ 21 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/OrderSkuServiceImpl.java

@@ -0,0 +1,21 @@
+package com.sd.business.service.order.impl;
+
+import com.sd.business.entity.order.po.OrderSku;
+import com.sd.business.mapper.order.OrderSkuMapper;
+import com.sd.business.service.order.OrderSkuService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 订单sku 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-23
+ */
+@Service
+public class OrderSkuServiceImpl extends ServiceImpl<OrderSkuMapper, OrderSku> implements OrderSkuService {
+
+}

+ 12 - 1
sd-business/src/main/java/com/sd/business/util/CodeEnum.java

@@ -4,8 +4,10 @@ import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.exception.ServiceException;
+import com.sd.business.service.order.OrderService;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
@@ -16,7 +18,8 @@ import java.util.Map;
 @AllArgsConstructor
 public enum CodeEnum {
 
-    ;
+    // 订单编号
+    ORDER_CODE("KX", "yyMMdd", "code", 6, OrderService.class);
 
     // 编码前缀
     private final String prefix;
@@ -29,6 +32,14 @@ public enum CodeEnum {
     // service
     private final IService<?> service;
 
+    CodeEnum(String prefix, String dateFormat, String codeFieldName, Integer length, Class<? extends IService<?>> serviceCls) {
+        this.prefix = prefix;
+        this.dateFormat = dateFormat;
+        this.length = length;
+        this.codeFieldName = codeFieldName;
+        this.service = SpringUtil.getBean(serviceCls);
+    }
+
     /**
      * 不够位数的在前面补0,保留num的长度位数字
      */

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

@@ -2,4 +2,30 @@
 <!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">
 
+    <select id="getPage" resultType="com.sd.business.entity.bom.vo.BomSpecVo">
+        select bs.id,
+               bs.bom_id,
+               bs.main_img_url,
+               bs.name,
+               bs.code,
+               bs.colour,
+               bs.cost_price,
+               bs.internal_selling_price,
+               bs.external_selling_price,
+               bs.safety_stock,
+               bs.length,
+               bs.width,
+               bs.height,
+               bs.net_weight,
+               bs.create_user,
+               bs.create_time,
+               bs.update_user,
+               bs.update_time,
+               b.front_grain,
+               b.reverse_grain
+        from bom_spec bs
+                inner join bom b on bs.bom_id = b.id
+                inner join bom_classify bc on b.bom_classify_id = bc.id
+            ${ew.customSqlSegment}
+    </select>
 </mapper>

+ 5 - 0
sd-business/src/main/resources/mapper/order/OrderMapper.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.order.OrderMapper">
+
+</mapper>

+ 5 - 0
sd-business/src/main/resources/mapper/order/OrderSkuArtworkLogMapper.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.order.OrderSkuArtworkLogMapper">
+
+</mapper>

+ 5 - 0
sd-business/src/main/resources/mapper/order/OrderSkuMapper.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.order.OrderSkuMapper">
+
+</mapper>