浏览代码

订单代码提交

fgd 1 年之前
父节点
当前提交
958b1bc3c2
共有 27 个文件被更改,包括 955 次插入0 次删除
  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. 27 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoDto.java
  5. 38 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderInfoSelectDto.java
  6. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuArtworkLogDto.java
  7. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuArtworkLogSelectDto.java
  8. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuDto.java
  9. 17 0
      sd-business/src/main/java/com/sd/business/entity/order/dto/OrderSkuSelectDto.java
  10. 119 0
      sd-business/src/main/java/com/sd/business/entity/order/po/OrderInfo.java
  11. 132 0
      sd-business/src/main/java/com/sd/business/entity/order/po/OrderSku.java
  12. 43 0
      sd-business/src/main/java/com/sd/business/entity/order/po/OrderSkuArtworkLog.java
  13. 23 0
      sd-business/src/main/java/com/sd/business/entity/order/vo/OrderInfoVo.java
  14. 20 0
      sd-business/src/main/java/com/sd/business/entity/order/vo/OrderSkuArtworkLogVo.java
  15. 22 0
      sd-business/src/main/java/com/sd/business/entity/order/vo/OrderSkuVo.java
  16. 16 0
      sd-business/src/main/java/com/sd/business/mapper/order/OrderMapper.java
  17. 16 0
      sd-business/src/main/java/com/sd/business/mapper/order/OrderSkuArtworkLogMapper.java
  18. 16 0
      sd-business/src/main/java/com/sd/business/mapper/order/OrderSkuMapper.java
  19. 46 0
      sd-business/src/main/java/com/sd/business/service/order/OrderService.java
  20. 24 0
      sd-business/src/main/java/com/sd/business/service/order/OrderSkuArtworkLogService.java
  21. 17 0
      sd-business/src/main/java/com/sd/business/service/order/OrderSkuService.java
  22. 129 0
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java
  23. 42 0
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderSkuArtworkLogServiceImpl.java
  24. 21 0
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderSkuServiceImpl.java
  25. 5 0
      sd-business/src/main/resources/mapper/order/OrderMapper.xml
  26. 5 0
      sd-business/src/main/resources/mapper/order/OrderSkuArtworkLogMapper.xml
  27. 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 {
+
+
+}

+ 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 {
+
+}

+ 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;
+
+}

+ 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> {
+
+}

+ 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 {
+
+}

+ 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>