Răsfoiți Sursa

订单明细

yangyb 3 săptămâni în urmă
părinte
comite
a34af2abb6

+ 480 - 0
mall-api/src/main/java/com/txz/mall/dto/StoreOrderInfoDTO.java

@@ -0,0 +1,480 @@
+/*
+ *
+ * StoreOrderInfoDTO.java
+ * Copyright(C) 2017-2020 fendo公司
+ * @date 2025-07-22
+ */
+package com.txz.mall.dto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class StoreOrderInfoDTO implements Serializable {
+    /**
+     * m_store_order_info
+     */
+    private static final long serialVersionUID = 1L;
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 订单id
+     */
+    private Long orderId;
+    /**
+     * 商品ID
+     */
+    private Long productId;
+    /**
+     * 唯一id
+     */
+    private String unique;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+    /**
+     * 订单号
+     */
+    private String orderNo;
+    /**
+     * 商品名称
+     */
+    private String productName;
+    /**
+     * 规格属性值id
+     */
+    private Long attrValueId;
+    /**
+     * 商品图片
+     */
+    private String image;
+    /**
+     * 商品sku
+     */
+    private String sku;
+    /**
+     * 商品价格
+     */
+    private BigDecimal price;
+    /**
+     * 购买数量
+     */
+    private Integer payNum;
+    /**
+     * 重量
+     */
+    private BigDecimal weight;
+    /**
+     * 体积
+     */
+    private BigDecimal volume;
+    /**
+     * 赠送积分
+     */
+    private Integer giveIntegral;
+    /**
+     * 是否评价,0-未评价,1-已评价
+     */
+    private Boolean isReply;
+    /**
+     * 是否单独分佣,0-否,1-是
+     */
+    private Boolean isSub;
+    /**
+     * 会员价
+     */
+    private BigDecimal vipPrice;
+    /**
+     * 商品类型:0-普通,1-秒杀,2-砍价,3-拼团,4-视频号
+     */
+    private Integer productType;
+    /**
+     * 购买东西的详细信息
+     */
+    private String info;
+
+    /**
+     * 主键
+     *
+     * @return id 主键
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * 主键
+     *
+     * @param id 主键
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * 订单id
+     *
+     * @return order_id 订单id
+     */
+    public Long getOrderId() {
+        return orderId;
+    }
+
+    /**
+     * 订单id
+     *
+     * @param orderId 订单id
+     */
+    public void setOrderId(Long orderId) {
+        this.orderId = orderId;
+    }
+
+    /**
+     * 商品ID
+     *
+     * @return product_id 商品ID
+     */
+    public Long getProductId() {
+        return productId;
+    }
+
+    /**
+     * 商品ID
+     *
+     * @param productId 商品ID
+     */
+    public void setProductId(Long productId) {
+        this.productId = productId;
+    }
+
+    /**
+     * 唯一id
+     *
+     * @return unique 唯一id
+     */
+    public String getUnique() {
+        return unique;
+    }
+
+    /**
+     * 唯一id
+     *
+     * @param unique 唯一id
+     */
+    public void setUnique(String unique) {
+        this.unique = unique;
+    }
+
+    /**
+     * 创建时间
+     *
+     * @return create_time 创建时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * 创建时间
+     *
+     * @param createTime 创建时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * 更新时间
+     *
+     * @return update_time 更新时间
+     */
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    /**
+     * 更新时间
+     *
+     * @param updateTime 更新时间
+     */
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    /**
+     * 订单号
+     *
+     * @return order_no 订单号
+     */
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    /**
+     * 订单号
+     *
+     * @param orderNo 订单号
+     */
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    /**
+     * 商品名称
+     *
+     * @return product_name 商品名称
+     */
+    public String getProductName() {
+        return productName;
+    }
+
+    /**
+     * 商品名称
+     *
+     * @param productName 商品名称
+     */
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+
+    /**
+     * 规格属性值id
+     *
+     * @return attr_value_id 规格属性值id
+     */
+    public Long getAttrValueId() {
+        return attrValueId;
+    }
+
+    /**
+     * 规格属性值id
+     *
+     * @param attrValueId 规格属性值id
+     */
+    public void setAttrValueId(Long attrValueId) {
+        this.attrValueId = attrValueId;
+    }
+
+    /**
+     * 商品图片
+     *
+     * @return image 商品图片
+     */
+    public String getImage() {
+        return image;
+    }
+
+    /**
+     * 商品图片
+     *
+     * @param image 商品图片
+     */
+    public void setImage(String image) {
+        this.image = image;
+    }
+
+    /**
+     * 商品sku
+     *
+     * @return sku 商品sku
+     */
+    public String getSku() {
+        return sku;
+    }
+
+    /**
+     * 商品sku
+     *
+     * @param sku 商品sku
+     */
+    public void setSku(String sku) {
+        this.sku = sku;
+    }
+
+    /**
+     * 商品价格
+     *
+     * @return price 商品价格
+     */
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    /**
+     * 商品价格
+     *
+     * @param price 商品价格
+     */
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+
+    /**
+     * 购买数量
+     *
+     * @return pay_num 购买数量
+     */
+    public Integer getPayNum() {
+        return payNum;
+    }
+
+    /**
+     * 购买数量
+     *
+     * @param payNum 购买数量
+     */
+    public void setPayNum(Integer payNum) {
+        this.payNum = payNum;
+    }
+
+    /**
+     * 重量
+     *
+     * @return weight 重量
+     */
+    public BigDecimal getWeight() {
+        return weight;
+    }
+
+    /**
+     * 重量
+     *
+     * @param weight 重量
+     */
+    public void setWeight(BigDecimal weight) {
+        this.weight = weight;
+    }
+
+    /**
+     * 体积
+     *
+     * @return volume 体积
+     */
+    public BigDecimal getVolume() {
+        return volume;
+    }
+
+    /**
+     * 体积
+     *
+     * @param volume 体积
+     */
+    public void setVolume(BigDecimal volume) {
+        this.volume = volume;
+    }
+
+    /**
+     * 赠送积分
+     *
+     * @return give_integral 赠送积分
+     */
+    public Integer getGiveIntegral() {
+        return giveIntegral;
+    }
+
+    /**
+     * 赠送积分
+     *
+     * @param giveIntegral 赠送积分
+     */
+    public void setGiveIntegral(Integer giveIntegral) {
+        this.giveIntegral = giveIntegral;
+    }
+
+    /**
+     * 是否评价,0-未评价,1-已评价
+     *
+     * @return is_reply 是否评价,0-未评价,1-已评价
+     */
+    public Boolean getIsReply() {
+        return isReply;
+    }
+
+    /**
+     * 是否评价,0-未评价,1-已评价
+     *
+     * @param isReply 是否评价,0-未评价,1-已评价
+     */
+    public void setIsReply(Boolean isReply) {
+        this.isReply = isReply;
+    }
+
+    /**
+     * 是否单独分佣,0-否,1-是
+     *
+     * @return is_sub 是否单独分佣,0-否,1-是
+     */
+    public Boolean getIsSub() {
+        return isSub;
+    }
+
+    /**
+     * 是否单独分佣,0-否,1-是
+     *
+     * @param isSub 是否单独分佣,0-否,1-是
+     */
+    public void setIsSub(Boolean isSub) {
+        this.isSub = isSub;
+    }
+
+    /**
+     * 会员价
+     *
+     * @return vip_price 会员价
+     */
+    public BigDecimal getVipPrice() {
+        return vipPrice;
+    }
+
+    /**
+     * 会员价
+     *
+     * @param vipPrice 会员价
+     */
+    public void setVipPrice(BigDecimal vipPrice) {
+        this.vipPrice = vipPrice;
+    }
+
+    /**
+     * 商品类型:0-普通,1-秒杀,2-砍价,3-拼团,4-视频号
+     *
+     * @return product_type 商品类型:0-普通,1-秒杀,2-砍价,3-拼团,4-视频号
+     */
+    public Integer getProductType() {
+        return productType;
+    }
+
+    /**
+     * 商品类型:0-普通,1-秒杀,2-砍价,3-拼团,4-视频号
+     *
+     * @param productType 商品类型:0-普通,1-秒杀,2-砍价,3-拼团,4-视频号
+     */
+    public void setProductType(Integer productType) {
+        this.productType = productType;
+    }
+
+    /**
+     * 购买东西的详细信息
+     *
+     * @return info 购买东西的详细信息
+     */
+    public String getInfo() {
+        return info;
+    }
+
+    /**
+     * 购买东西的详细信息
+     *
+     * @param info 购买东西的详细信息
+     */
+    public void setInfo(String info) {
+        this.info = info;
+    }
+}

+ 27 - 0
mall-interface/src/main/java/com/txz/mall/service/StoreOrderInfoServiceClient.java

@@ -0,0 +1,27 @@
+package com.txz.mall.service;
+
+
+import com.txz.mall.dto.*;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
+
+@FeignClient("mall")
+public interface StoreOrderInfoServiceClient {
+
+	@RequestMapping( value = {"/store/order/info/add"}, method = {RequestMethod.POST} )
+    public Result add(@RequestBody StoreOrderInfoDPO storeOrderInfo,@RequestParam("userId") Long userId);
+
+	@RequestMapping( value = {"/store/order/info/delete"}, method = {RequestMethod.POST} )
+	public Result delete(@RequestParam("id") Integer id,@RequestParam("userId") Long userId);
+
+	@RequestMapping( value = {"/store/order/info/update"}, method = {RequestMethod.POST} )
+	public Result update(@RequestBody StoreOrderInfoDPO storeOrderInfo,@RequestParam("userId") Long userId);
+
+	@RequestMapping( value = {"/store/order/info/detail"}, method = {RequestMethod.POST} )
+	public Result<StoreOrderInfoDPO> detail(@RequestParam("id") Integer id,@RequestParam("userId") Long userId);
+
+	@RequestMapping( value = {"/store/order/info/list"}, method = {RequestMethod.POST} )
+	public Result<List<StoreOrderInfoDPO>> list(@RequestBody StoreOrderInfoDPO storeOrderInfo, @RequestParam("page") Integer page, @RequestParam("size") Integer size,@RequestParam("userId") Long userId);
+}

+ 15 - 25
mall-service/src/main/java/com/txz/mall/controller/OrderController.java

@@ -6,14 +6,15 @@ import com.txz.mall.core.Result;
 import com.txz.mall.core.ResultCode;
 import com.txz.mall.model.StoreOrder;
 import com.txz.mall.service.StoreOrderService;
+import dto.StoreOrderDTO;
+import dto.StoreOrderDeliveryDTO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.*;
-import tk.mybatis.mapper.entity.Condition;
-import tk.mybatis.mapper.entity.Example;
 import vo.StoreOrderCountItemVO;
+import vo.StoreOrderVO;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -106,30 +107,12 @@ public class OrderController {
 
     @PostMapping("/list")
     @ApiOperation(value = "订单获取列表")
-    public Result<List<StoreOrder>> list(@RequestBody StoreOrder storeOrder, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size) {
+    public Result<List<StoreOrderVO>> list(@RequestBody StoreOrderDTO dto, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size) {
         PageHelper.startPage(page, size);
-
-        Condition condition = new Condition(storeOrder.getClass());
-        Example.Criteria criteria = condition.createCriteria();
-        criteria.andEqualTo("isDelete", 0);
-        condition.setOrderByClause("create_time DESC");
-        if (storeOrder.getOrderId() != null) {
-            criteria.andEqualTo("orderId", storeOrder.getOrderId());
-        }
-        if (storeOrder.getUid() != null) {
-            criteria.andEqualTo("uid", storeOrder.getUid());
-        }
-        if (storeOrder.getUserPhone() != null) {
-            criteria.andEqualTo("userPhone", storeOrder.getUserPhone());
-        }
-        if (storeOrder.getDeliveryId() != null) {
-            criteria.andEqualTo("deliveryId", storeOrder.getDeliveryId());
-        }
-
         PageInfo pageInfo = null;
         try {
-            List<StoreOrder> list = storeOrderService.findByCondition(condition);
-            pageInfo = new PageInfo(list);
+            List<StoreOrderVO> arrayList = storeOrderService.orderList(dto);
+            pageInfo = new PageInfo(arrayList);
         } catch (Exception e) {
             log.error("查询对象操作异常e:{}", e);
             return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
@@ -150,6 +133,13 @@ public class OrderController {
         return Result.success();
     }
 
+    @ApiOperation("退款")
+    @PostMapping("/refund")
+    public Result refund(@RequestParam("ids") List<Long> ids) {
+//        storeOrderService.close(ids);
+        return Result.success();
+    }
+
     @ApiOperation("关闭订单")
     @PostMapping("/close")
     public Result close(@RequestParam("ids") List<Long> ids) {
@@ -166,8 +156,8 @@ public class OrderController {
 
     @ApiOperation("批量发货")
     @PostMapping("/batchDelivery")
-    public Result batchDelivery(@RequestParam("ids") List<Long> ids) {
-        storeOrderService.batchDelivery(ids);
+    public Result batchDelivery(@RequestBody List<StoreOrderDeliveryDTO> list) {
+        storeOrderService.batchDelivery(list);
         return Result.success();
     }
 }

+ 124 - 0
mall-service/src/main/java/com/txz/mall/controller/StoreOrderInfoController.java

@@ -0,0 +1,124 @@
+package com.txz.mall.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.txz.mall.core.Result;
+import com.txz.mall.core.ResultCode;
+import com.txz.mall.model.StoreOrderInfo;
+import com.txz.mall.service.StoreOrderInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.*;
+import tk.mybatis.mapper.entity.Condition;
+import tk.mybatis.mapper.entity.Example.Criteria;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by CodeGenerator on 2025/07/22.
+ */
+@Api(tags = "[后台]storeOrderInfo管理")
+@RestController
+@RequestMapping("/store/order/info")
+public class StoreOrderInfoController {
+
+    private static Logger log = LoggerFactory.getLogger(StoreOrderInfoController.class);
+
+    @Resource
+    private StoreOrderInfoService storeOrderInfoService;
+
+    @PostMapping("/add")
+    @ApiOperation(value = "storeOrderInfo新增")
+    public Result add(@RequestBody StoreOrderInfo storeOrderInfo) {
+        if (storeOrderInfo == null) {
+            return Result.fail(ResultCode.OBJECT_IS_NULL);
+        }
+        try {
+            storeOrderInfo.setCreateTime(new Date());
+//            storeOrderInfo.setCreateUserId(userId);
+            storeOrderInfoService.save(storeOrderInfo);
+        } catch (Exception e) {
+            log.error("新增对象操作异常e:{}", e);
+            return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
+        }
+        return Result.success();
+    }
+
+    @PostMapping("/delete")
+    @ApiOperation(value = "storeOrderInfo删除")
+    public Result delete(@RequestParam Long id) {
+        if (id == null) {
+            return Result.fail(ResultCode.ID_IS_NULL);
+        }
+        try {
+            StoreOrderInfo storeOrderInfo = new StoreOrderInfo();
+            storeOrderInfo.setId(id);
+            storeOrderInfo.setIsDelete(1);
+            storeOrderInfoService.update(storeOrderInfo);
+        } catch (Exception e) {
+            log.error("删除对象操作异常e:{}", e);
+            return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
+        }
+        return Result.success();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation(value = "storeOrderInfo更新")
+    public Result update(@RequestBody StoreOrderInfo storeOrderInfo) {
+        if (storeOrderInfo == null) {
+            return Result.fail(ResultCode.OBJECT_IS_NULL);
+        }
+        if (storeOrderInfo.getId() == null) {
+            return Result.fail(ResultCode.ID_IS_NULL);
+        }
+        try {
+            storeOrderInfo.setUpdateTime(new Date());
+//            storeOrderInfo.setUpdateUserId(userId);
+            storeOrderInfoService.update(storeOrderInfo);
+        } catch (Exception e) {
+            log.error("更新对象操作异常e:{}", e);
+            return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
+        }
+        return Result.success();
+    }
+
+    @PostMapping("/detail")
+    @ApiOperation(value = "storeOrderInfo获取详情")
+    public Result<StoreOrderInfo> detail(@RequestParam Long id) {
+        if (id == null) {
+            return Result.fail(ResultCode.ID_IS_NULL);
+        }
+        StoreOrderInfo storeOrderInfo = null;
+        try {
+            storeOrderInfo = storeOrderInfoService.findById(id);
+        } catch (Exception e) {
+            log.error("查询对象操作异常e:{}", e);
+            return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
+        }
+        return Result.success(storeOrderInfo);
+    }
+
+    @PostMapping("/list")
+    @ApiOperation(value = "storeOrderInfo获取列表")
+    public Result<List<StoreOrderInfo>> list(@RequestBody StoreOrderInfo storeOrderInfo, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size) {
+        PageHelper.startPage(page, size);
+
+        Condition condition = new Condition(storeOrderInfo.getClass());
+        Criteria criteria = condition.createCriteria();
+        criteria.andEqualTo("isDelete", 0);
+        condition.setOrderByClause("create_time DESC");
+        PageInfo pageInfo = null;
+        try {
+            List<StoreOrderInfo> list = storeOrderInfoService.findByCondition(condition);
+            pageInfo = new PageInfo(list);
+        } catch (Exception e) {
+            log.error("查询对象操作异常e:{}", e);
+            return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
+        }
+        return Result.success(pageInfo);
+    }
+}

+ 7 - 0
mall-service/src/main/java/com/txz/mall/dao/StoreOrderInfoMapper.java

@@ -0,0 +1,7 @@
+package com.txz.mall.dao;
+
+import com.txz.mall.core.Mapper;
+import com.txz.mall.model.StoreOrderInfo;
+
+public interface StoreOrderInfoMapper extends Mapper<StoreOrderInfo> {
+}

+ 1 - 1
mall-service/src/main/java/com/txz/mall/model/StoreOrder.java

@@ -206,7 +206,7 @@ public class StoreOrder {
     /**
      * 发货类型
      */
-    @ApiModelProperty(value = "发货类型")
+    @ApiModelProperty(value = "发货类型 0-快递 1-自取")
     @Column(name = "delivery_type")
     private String deliveryType;
 

+ 135 - 0
mall-service/src/main/java/com/txz/mall/model/StoreOrderInfo.java

@@ -0,0 +1,135 @@
+package com.txz.mall.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Table(name = "m_store_order_info")
+public class StoreOrderInfo {
+    /**
+     * 主键
+     */
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    /**
+     * 订单id
+     */
+    @Column(name = "order_id")
+    private Long orderId;
+
+    /**
+     * 商品ID
+     */
+    @Column(name = "product_id")
+    private Long productId;
+
+    /**
+     * 唯一id
+     */
+//    private String unique;
+
+    /**
+     * 创建时间
+     */
+    @Column(name = "create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @Column(name = "update_time")
+    private Date updateTime;
+
+    /**
+     * 订单号
+     */
+    @Column(name = "order_no")
+    private String orderNo;
+
+    /**
+     * 商品名称
+     */
+    @Column(name = "product_name")
+    private String productName;
+
+    /**
+     * 规格属性值id
+     */
+    @Column(name = "attr_value_id")
+    private Long attrValueId;
+
+    /**
+     * 商品图片
+     */
+    private String image;
+
+    /**
+     * 商品sku
+     */
+    private String sku;
+
+    /**
+     * 商品价格
+     */
+    private BigDecimal price;
+
+    /**
+     * 购买数量
+     */
+    @Column(name = "pay_num")
+    private Integer payNum;
+
+    /**
+     * 重量
+     */
+    private BigDecimal weight;
+
+    /**
+     * 体积
+     */
+    private BigDecimal volume;
+
+    /**
+     * 赠送积分
+     */
+    @Column(name = "give_integral")
+    private Integer giveIntegral;
+
+    /**
+     * 是否评价,0-未评价,1-已评价
+     */
+    @Column(name = "is_reply")
+    private Integer isReply;
+
+    /**
+     * 是否单独分佣,0-否,1-是
+     */
+    @Column(name = "is_sub")
+    private Integer isSub;
+
+    /**
+     * 会员价
+     */
+    @Column(name = "vip_price")
+    private BigDecimal vipPrice;
+
+    /**
+     * 商品类型:0-普通,1-秒杀,2-砍价,3-拼团,4-视频号
+     */
+    @Column(name = "product_type")
+    private Integer productType;
+
+    /**
+     * 购买东西的详细信息
+     */
+    private String info;
+
+    @Column(name = "is_delete")
+    private Integer isDelete;
+
+}

+ 12 - 0
mall-service/src/main/java/com/txz/mall/service/StoreOrderInfoService.java

@@ -0,0 +1,12 @@
+package com.txz.mall.service;
+
+import com.txz.mall.core.Service;
+import com.txz.mall.model.StoreOrderInfo;
+
+
+/**
+ * Created by CodeGenerator on 2025/07/22.
+ */
+public interface StoreOrderInfoService extends Service<StoreOrderInfo> {
+
+}

+ 11 - 1
mall-service/src/main/java/com/txz/mall/service/StoreOrderService.java

@@ -2,8 +2,11 @@ package com.txz.mall.service;
 
 import com.txz.mall.core.Service;
 import com.txz.mall.model.StoreOrder;
+import dto.StoreOrderDTO;
+import dto.StoreOrderDeliveryDTO;
 import vo.OrderRefundApplyVO;
 import vo.StoreOrderCountItemVO;
+import vo.StoreOrderVO;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -31,7 +34,7 @@ public interface StoreOrderService extends Service<StoreOrder> {
     /**
      * 批量发货
      */
-    void batchDelivery(List<Long> ids);
+    void batchDelivery(List<StoreOrderDeliveryDTO> dto);
 
     /**
      * 订单退款申请Task使用
@@ -40,4 +43,11 @@ public interface StoreOrderService extends Service<StoreOrder> {
      * @return Boolean
      */
     Boolean refundApplyTask(List<OrderRefundApplyVO> applyList);
+
+    /**
+     * 获取订单列表
+     *
+     * @return 订单列表
+     */
+    List<StoreOrderVO> orderList(StoreOrderDTO dto);
 }

+ 22 - 0
mall-service/src/main/java/com/txz/mall/service/impl/StoreOrderInfoServiceImpl.java

@@ -0,0 +1,22 @@
+package com.txz.mall.service.impl;
+
+import com.txz.mall.core.AbstractService;
+import com.txz.mall.dao.StoreOrderInfoMapper;
+import com.txz.mall.model.StoreOrderInfo;
+import com.txz.mall.service.StoreOrderInfoService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+
+/**
+ * Created by CodeGenerator on 2025/07/22.
+ */
+@Service
+@Transactional
+public class StoreOrderInfoServiceImpl extends AbstractService<StoreOrderInfo> implements StoreOrderInfoService {
+    @Resource
+    private StoreOrderInfoMapper mStoreOrderInfoMapper;
+
+}

+ 63 - 1
mall-service/src/main/java/com/txz/mall/service/impl/StoreOrderServiceImpl.java

@@ -3,20 +3,27 @@ package com.txz.mall.service.impl;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.txz.mall.constants.Constants;
 import com.txz.mall.core.AbstractService;
 import com.txz.mall.core.ServiceException;
 import com.txz.mall.dao.StoreOrderMapper;
 import com.txz.mall.model.StoreOrder;
+import com.txz.mall.model.StoreOrderInfo;
 import com.txz.mall.model.StoreProduct;
+import com.txz.mall.service.StoreOrderInfoService;
 import com.txz.mall.service.StoreOrderService;
+import dto.StoreOrderDTO;
+import dto.StoreOrderDeliveryDTO;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import tk.mybatis.mapper.entity.Condition;
 import tk.mybatis.mapper.entity.Example;
 import vo.OrderRefundApplyVO;
 import vo.StoreOrderCountItemVO;
+import vo.StoreOrderVO;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -25,6 +32,7 @@ import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
@@ -37,6 +45,9 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
     @Resource
     private StoreOrderMapper storeOrderMapper;
 
+    @Resource
+    private StoreOrderInfoService storeOrderInfoService;
+
     @Override
     public StoreOrderCountItemVO getOrderStatusNum() {
         StoreOrderCountItemVO response = new StoreOrderCountItemVO();
@@ -82,7 +93,7 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
     }
 
     @Override
-    public void batchDelivery(List<Long> ids) {
+    public void batchDelivery(List<StoreOrderDeliveryDTO> dto) {
 
     }
 
@@ -138,6 +149,57 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
         return true;
     }
 
+    @Override
+    public List<StoreOrderVO> orderList(StoreOrderDTO dto) {
+        Condition condition = new Condition(StoreOrder.class);
+        Example.Criteria criteria = condition.createCriteria();
+        criteria.andEqualTo("isDelete", 0);
+        condition.setOrderByClause("create_time DESC");
+        if (dto.getOrderId() != null) {
+            criteria.andEqualTo("orderId", dto.getOrderId());
+        }
+        if (dto.getStatus() != null) {
+            criteria.andEqualTo("status", dto.getStatus());
+        }
+        if (dto.getPaid() != null) {
+            criteria.andEqualTo("paid", dto.getPaid());
+        }
+        if (dto.getRefundStatus() != null) {
+            criteria.andEqualTo("refundStatus", dto.getRefundStatus());
+        }
+        if (dto.getUid() != null) {
+            criteria.andEqualTo("uid", dto.getUid());
+        }
+        if (dto.getUserPhone() != null) {
+            criteria.andEqualTo("userPhone", dto.getUserPhone());
+        }
+        if (dto.getDeliveryId() != null) {
+            criteria.andEqualTo("deliveryId", dto.getDeliveryId());
+        }
+        if (dto.getStartTime() != null && dto.getEndTime() != null) {
+            criteria.andBetween("createTime", dto.getStartTime(), dto.getEndTime());
+        }
+        List<StoreOrder> list = findByCondition(condition);
+        List<StoreOrderVO> arrayList = new ArrayList<>();
+        List<StoreOrderInfo> infoArrayList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(list)) {
+            Condition infoCondition = new Condition(StoreOrderInfo.class);
+            Example.Criteria infoCriteria = infoCondition.createCriteria();
+            infoCriteria.andEqualTo("isDelete", 0);
+            infoCriteria.andIn("orderId", list.stream().map(StoreOrder::getId).collect(Collectors.toList()));
+            infoArrayList = storeOrderInfoService.findByCondition(infoCondition);
+        }
+        List<StoreOrderInfo> finalInfoArrayList = infoArrayList;
+        list.forEach(item -> {
+            StoreOrderVO vo = new StoreOrderVO();
+            BeanUtils.copyProperties(item, vo);
+            List<StoreOrderInfo> infoCollect = finalInfoArrayList.stream().filter(info -> info.getOrderId().equals(item.getId())).collect(Collectors.toList());
+            vo.setOrderInfoVO(infoCollect);
+            arrayList.add(vo);
+        });
+        return arrayList;
+    }
+
     private Integer getCount(String status, Integer type) {
         //总数只计算时间
         Condition condition = new Condition(StoreOrder.class);

+ 155 - 0
mall-service/src/main/java/com/txz/mall/util/OrderUtils.java

@@ -0,0 +1,155 @@
+package com.txz.mall.util;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Random;
+
+/**
+ * * 订单编码生成器,生成32位数字编码,
+ * * @生成规则 1位单号类型+17位时间戳+14位(用户id加密&随机数)
+ */
+public class OrderUtils {
+    /**
+     * 订单类别头
+     */
+    private static final String ORDER_CODE = "DD";
+    /**
+     * 退货类别头
+     */
+    private static final String RETURN_ORDER = "TH";
+    /**
+     * 退款类别头
+     */
+    private static final String REFUND_ORDER = "TK";
+    /**
+     * 优惠券别头
+     */
+    private static final String COUPON_NO = "YH";
+    /**
+     * 提现别头
+     */
+    private static final String WITHDRAWAL = "TX";
+    /**
+     * 套餐别头
+     */
+    private static final String PACKAGE_ORDER = "TC";
+    /**
+     * 开票别头
+     */
+    private static final String INVOICE_ORDER = "FP";
+
+    /**
+     * 随即编码
+     */
+    private static final int[] r = new int[]{7, 9, 6, 2, 8, 1, 3, 0, 5, 4};
+    /**
+     * 用户id和随机数总长度
+     */
+    private static final int MAX_LENGTH = 8;
+
+    /**
+     * 根据id进行加密+加随机数组成固定长度编码
+     */
+    private static String toCode(Long userId) {
+        String idStr = userId.toString();
+        StringBuilder idsbs = new StringBuilder();
+        for (int i = idStr.length() - 1; i >= 0; i--) {
+            idsbs.append(r[idStr.charAt(i) - '0']);
+        }
+        return idsbs.append(getRandom(MAX_LENGTH - idStr.length())).toString();
+    }
+
+    /**
+     * 生成时间戳
+     */
+    private static String getDateTime() {
+        DateFormat sdf = new SimpleDateFormat("yyMMddHHmmss");
+        return sdf.format(new Date());
+    }
+
+    /**
+     * 生成固定长度随机码
+     *
+     * @param n 长度
+     */
+
+    private static long getRandom(long n) {
+        if (n < 1) {
+            n = Math.abs(n);
+        }
+        long min = 1, max = 9;
+        for (int i = 1; i < n; i++) {
+            min *= 10;
+            max *= 10;
+        }
+        long rangeLong = (((long) (new Random().nextDouble() * (max - min)))) + min;
+        return rangeLong;
+    }
+
+
+    /**
+     * 生成不带类别标头的编码
+     */
+    private static synchronized Long getCode() {
+        return SnowFlakeUtil.getDefaultSnowFlakeId();
+    }
+
+    /**
+     * 生成订单单号编码(调用方法)
+     */
+
+    public static String getOrderCode() {
+        return ORDER_CODE + getCode();
+    }
+
+    /**
+     * 生成提现单号编码(调用方法)
+     */
+    public static String getWithdrawalCode() {
+        return WITHDRAWAL + getCode();
+    }
+
+    /**
+     * 生成退货单号编码(调用方法)
+     */
+    public static String getReturnCode() {
+        return RETURN_ORDER + getCode();
+    }
+
+
+    /**
+     * 生成退款单号编码(调用方法)
+     */
+    public static String getRefundCode() {
+        return REFUND_ORDER + getCode();
+    }
+
+    /**
+     * 生成优惠券单号编码(调用方法)
+     */
+    public static String getCouponCode() {
+        return COUPON_NO + getCode();
+    }
+
+    /**
+     * 生成订单单号编码(调用方法)
+     */
+
+    public static String getPackageCode() {
+        return PACKAGE_ORDER + getCode();
+    }
+
+    /**
+     * 生成开票单号编码(调用方法)
+     */
+    public static String getInvoiceCode() {
+        return INVOICE_ORDER + getCode();
+    }
+
+    public static void main(String[] args) {
+        String withdrawalCode = getWithdrawalCode();
+        System.out.println(withdrawalCode);
+        System.out.println(withdrawalCode.length());
+    }
+}

+ 79 - 0
mall-service/src/main/java/com/txz/mall/util/SnowFlakeUtil.java

@@ -0,0 +1,79 @@
+package com.txz.mall.util;
+
+import cn.hutool.core.lang.Singleton;
+
+/**
+ * 雪花算法
+ */
+public class SnowFlakeUtil {
+    private static final long START_STMP = 1420041600000L;
+    private static final long SEQUENCE_BIT = 9L;
+    private static final long MACHINE_BIT = 2L;
+    private static final long DATACENTER_BIT = 2L;
+    private static final long MAX_SEQUENCE = 511L;
+    private static final long MAX_MACHINE_NUM = 3L;
+    private static final long MAX_DATACENTER_NUM = 3L;
+    private static final long MACHINE_LEFT = 9L;
+    private static final long DATACENTER_LEFT = 11L;
+    private static final long TIMESTMP_LEFT = 13L;
+    private long datacenterId;
+    private long machineId;
+    private long sequence = 0L;
+    private long lastStmp = -1L;
+
+    public SnowFlakeUtil(long datacenterId, long machineId) {
+        if (datacenterId <= 3L && datacenterId >= 0L) {
+            if (machineId <= 3L && machineId >= 0L) {
+                this.datacenterId = datacenterId;
+                this.machineId = machineId;
+            } else {
+                throw new IllegalArgumentException("machineId can't be greater than MAX_MACHINE_NUM or less than 0");
+            }
+        } else {
+            throw new IllegalArgumentException("datacenterId can't be greater than MAX_DATACENTER_NUM or less than 0");
+        }
+    }
+
+    public static Long getDefaultSnowFlakeId() {
+        return ((SnowFlakeUtil) Singleton.get(SnowFlakeUtil.class, new Object[]{1L, 1L})).nextId();
+    }
+
+    public static void main(String[] args) {
+        for (int i = 0; i < 10; ++i) {
+            System.out.println(getDefaultSnowFlakeId());
+            System.out.println(getDefaultSnowFlakeId().toString().length());
+        }
+
+    }
+
+    public synchronized long nextId() {
+        long currStmp = this.getNewstmp();
+        if (currStmp < this.lastStmp) {
+            throw new RuntimeException("Clock moved backwards.  Refusing to generate id");
+        } else {
+            if (currStmp == this.lastStmp) {
+                this.sequence = this.sequence + 1L & 511L;
+                if (this.sequence == 0L) {
+                    currStmp = this.getNextMill();
+                }
+            } else {
+                this.sequence = 0L;
+            }
+
+            this.lastStmp = currStmp;
+            return currStmp - 1420041600000L << 13 | this.datacenterId << 11 | this.machineId << 9 | this.sequence;
+        }
+    }
+
+    private long getNextMill() {
+        long mill;
+        for (mill = this.getNewstmp(); mill <= this.lastStmp; mill = this.getNewstmp()) {
+        }
+
+        return mill;
+    }
+
+    private long getNewstmp() {
+        return System.currentTimeMillis();
+    }
+}

+ 165 - 1073
mall-service/src/main/java/dto/StoreOrderDTO.java

@@ -6,1263 +6,355 @@
  */
 package dto;
 
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 
+@Data
 public class StoreOrderDTO implements Serializable {
-    /**
-     * m_store_order
-     */
-    private static final long serialVersionUID = 1L;
-    /**
-     * 订单ID
-     */
-    private Long id;
-    /**
-     * 订单号
-     */
-    private String orderId;
-    /**
-     * 用户id
-     */
-    private Long uid;
-    /**
-     * 用户姓名
-     */
-    private String realName;
-    /**
-     * 用户电话
-     */
-    private String userPhone;
-    /**
-     * 详细地址
-     */
-    private String userAddress;
-    /**
-     * 运费金额
-     */
-    private BigDecimal freightPrice;
-    /**
-     * 订单商品总数
-     */
-    private Integer totalNum;
-    /**
-     * 订单总价
-     */
-    private BigDecimal totalPrice;
-    /**
-     * 邮费
-     */
-    private BigDecimal totalPostage;
-    /**
-     * 实际支付金额
-     */
-    private BigDecimal payPrice;
-    /**
-     * 支付邮费
-     */
-    private BigDecimal payPostage;
-    /**
-     * 抵扣金额
-     */
-    private BigDecimal deductionPrice;
-    /**
-     * 优惠券id
-     */
-    private Long couponId;
-    /**
-     * 优惠券金额
-     */
-    private BigDecimal couponPrice;
-    /**
-     * 支付状态
-     */
-    private Byte paid;
-    /**
-     * 支付时间
-     */
-    private Date payTime;
-    /**
-     * 支付方式
-     */
-    private String payType;
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-    /**
-     * 订单状态(0:待发货;1:待收货;2:已收货,待评价;3:已完成;)
-     */
-    private Boolean status;
-    /**
-     * 0 未退款 1 申请中 2 已退款 3 退款中
-     */
-    private Byte refundStatus;
-    /**
-     * 退款图片
-     */
-    private String refundReasonWapImg;
-    /**
-     * 退款用户说明
-     */
-    private String refundReasonWapExplain;
-    /**
-     * 前台退款原因
-     */
-    private String refundReasonWap;
-    /**
-     * 不退款的理由
-     */
-    private String refundReason;
-    /**
-     * 退款时间
-     */
-    private Date refundReasonTime;
-    /**
-     * 退款金额
-     */
-    private BigDecimal refundPrice;
-    /**
-     * 快递名称/送货人姓名
-     */
-    private String deliveryName;
-    /**
-     * 发货类型
-     */
-    private String deliveryType;
-    /**
-     * 快递单号/手机号
-     */
-    private String deliveryId;
-    /**
-     * 消费赚取积分
-     */
-    private Integer gainIntegral;
-    /**
-     * 使用积分
-     */
-    private Integer useIntegral;
-    /**
-     * 给用户退了多少积分
-     */
-    private Integer backIntegral;
-    /**
-     * 备注
-     */
-    private String mark;
-    /**
-     * 是否删除
-     */
-    private Byte isDelete;
-    /**
-     * 管理员备注
-     */
-    private String remark;
-    /**
-     * 商户ID
-     */
-    private Long merId;
-    /**
-     *
-     */
-    private Byte isMerCheck;
-    /**
-     * 拼团商品id0一般商品
-     */
-    private Integer combinationId;
-    /**
-     * 拼团id 0没有拼团
-     */
-    private Integer pinkId;
-    /**
-     * 成本价
-     */
-    private BigDecimal cost;
-    /**
-     * 秒杀商品ID
-     */
-    private Long seckillId;
-    /**
-     * 砍价id
-     */
-    private Long bargainId;
-    /**
-     * 核销码
-     */
-    private String verifyCode;
-    /**
-     * 门店id
-     */
-    private Long storeId;
-    /**
-     * 配送方式 1=快递 ,2=门店自提
-     */
-    private Boolean shippingType;
-    /**
-     * 店员id/核销员id
-     */
-    private Integer clerkId;
-    /**
-     * 支付渠道(0微信公众号1微信小程序2余额)
-     */
-    private Byte isChannel;
-    /**
-     * 消息提醒
-     */
-    private Byte isRemind;
-    /**
-     * 更新时间
-     */
-    private Date updateTime;
-    /**
-     * 快递公司简称
-     */
-    private String deliveryCode;
-    /**
-     * 用户拼团活动id 0没有
-     */
-    private Integer bargainUserId;
-    /**
-     * 订单类型:0-普通订单,1-视频号订单
-     */
-    private Integer type;
-    /**
-     * 商品总价
-     */
-    private BigDecimal proTotalPrice;
-    /**
-     * 改价前支付金额
-     */
-    private BigDecimal beforePayPrice;
-    /**
-     * 是否改价,0-否,1-是
-     */
-    private Boolean isAlterPrice;
-    /**
-     * 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
-     */
-    private String outTradeNo;
 
-    /**
-     * 订单ID
-     *
-     * @return id 订单ID
-     */
-    public Long getId() {
-        return id;
-    }
-
-    /**
-     * 订单ID
-     *
-     * @param id 订单ID
-     */
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    /**
-     * 订单号
-     *
-     * @return order_id 订单号
-     */
-    public String getOrderId() {
-        return orderId;
-    }
+    private Long id;
 
     /**
      * 订单号
-     *
-     * @param orderId 订单号
      */
-    public void setOrderId(String orderId) {
-        this.orderId = orderId;
-    }
-
-    /**
-     * 用户id
-     *
-     * @return uid 用户id
-     */
-    public Long getUid() {
-        return uid;
-    }
+    @ApiModelProperty(value = "订单号")
+    private String orderId;
 
     /**
      * 用户id
-     *
-     * @param uid 用户id
      */
-    public void setUid(Long uid) {
-        this.uid = uid;
-    }
-
-    /**
-     * 用户姓名
-     *
-     * @return real_name 用户姓名
-     */
-    public String getRealName() {
-        return realName;
-    }
+    @ApiModelProperty(value = "用户id")
+    private Long uid;
 
     /**
      * 用户姓名
-     *
-     * @param realName 用户姓名
      */
-    public void setRealName(String realName) {
-        this.realName = realName;
-    }
-
-    /**
-     * 用户电话
-     *
-     * @return user_phone 用户电话
-     */
-    public String getUserPhone() {
-        return userPhone;
-    }
+    @ApiModelProperty(value = "用户姓名")
+    private String realName;
 
     /**
      * 用户电话
-     *
-     * @param userPhone 用户电话
      */
-    public void setUserPhone(String userPhone) {
-        this.userPhone = userPhone;
-    }
-
-    /**
-     * 详细地址
-     *
-     * @return user_address 详细地址
-     */
-    public String getUserAddress() {
-        return userAddress;
-    }
+    @ApiModelProperty(value = "用户电话")
+    private String userPhone;
 
     /**
      * 详细地址
-     *
-     * @param userAddress 详细地址
      */
-    public void setUserAddress(String userAddress) {
-        this.userAddress = userAddress;
-    }
-
-    /**
-     * 运费金额
-     *
-     * @return freight_price 运费金额
-     */
-    public BigDecimal getFreightPrice() {
-        return freightPrice;
-    }
+    @ApiModelProperty(value = "详细地址")
+    private String userAddress;
 
     /**
      * 运费金额
-     *
-     * @param freightPrice 运费金额
      */
-    public void setFreightPrice(BigDecimal freightPrice) {
-        this.freightPrice = freightPrice;
-    }
-
-    /**
-     * 订单商品总数
-     *
-     * @return total_num 订单商品总数
-     */
-    public Integer getTotalNum() {
-        return totalNum;
-    }
+    @ApiModelProperty(value = "运费金额")
+    private BigDecimal freightPrice;
 
     /**
      * 订单商品总数
-     *
-     * @param totalNum 订单商品总数
      */
-    public void setTotalNum(Integer totalNum) {
-        this.totalNum = totalNum;
-    }
-
-    /**
-     * 订单总价
-     *
-     * @return total_price 订单总价
-     */
-    public BigDecimal getTotalPrice() {
-        return totalPrice;
-    }
+    @ApiModelProperty(value = "订单商品总数")
+    private Integer totalNum;
 
     /**
      * 订单总价
-     *
-     * @param totalPrice 订单总价
      */
-    public void setTotalPrice(BigDecimal totalPrice) {
-        this.totalPrice = totalPrice;
-    }
-
-    /**
-     * 邮费
-     *
-     * @return total_postage 邮费
-     */
-    public BigDecimal getTotalPostage() {
-        return totalPostage;
-    }
+    @ApiModelProperty(value = "订单总价")
+    private BigDecimal totalPrice;
 
     /**
      * 邮费
-     *
-     * @param totalPostage 邮费
-     */
-    public void setTotalPostage(BigDecimal totalPostage) {
-        this.totalPostage = totalPostage;
-    }
-
-    /**
-     * 实际支付金额
-     *
-     * @return pay_price 实际支付金额
      */
-    public BigDecimal getPayPrice() {
-        return payPrice;
-    }
+    @ApiModelProperty(value = "邮费")
+    private BigDecimal totalPostage;
 
     /**
      * 实际支付金额
-     *
-     * @param payPrice 实际支付金额
-     */
-    public void setPayPrice(BigDecimal payPrice) {
-        this.payPrice = payPrice;
-    }
-
-    /**
-     * 支付邮费
-     *
-     * @return pay_postage 支付邮费
      */
-    public BigDecimal getPayPostage() {
-        return payPostage;
-    }
+    @ApiModelProperty(value = "实际支付金额")
+    private BigDecimal payPrice;
 
     /**
      * 支付邮费
-     *
-     * @param payPostage 支付邮费
      */
-    public void setPayPostage(BigDecimal payPostage) {
-        this.payPostage = payPostage;
-    }
-
-    /**
-     * 抵扣金额
-     *
-     * @return deduction_price 抵扣金额
-     */
-    public BigDecimal getDeductionPrice() {
-        return deductionPrice;
-    }
+    @ApiModelProperty(value = "支付邮费")
+    private BigDecimal payPostage;
 
     /**
      * 抵扣金额
-     *
-     * @param deductionPrice 抵扣金额
-     */
-    public void setDeductionPrice(BigDecimal deductionPrice) {
-        this.deductionPrice = deductionPrice;
-    }
-
-    /**
-     * 优惠券id
-     *
-     * @return coupon_id 优惠券id
      */
-    public Long getCouponId() {
-        return couponId;
-    }
+    @ApiModelProperty(value = "抵扣金额")
+    private BigDecimal deductionPrice;
 
     /**
      * 优惠券id
-     *
-     * @param couponId 优惠券id
      */
-    public void setCouponId(Long couponId) {
-        this.couponId = couponId;
-    }
-
-    /**
-     * 优惠券金额
-     *
-     * @return coupon_price 优惠券金额
-     */
-    public BigDecimal getCouponPrice() {
-        return couponPrice;
-    }
+    @ApiModelProperty(value = "优惠券id")
+    private Long couponId;
 
     /**
      * 优惠券金额
-     *
-     * @param couponPrice 优惠券金额
      */
-    public void setCouponPrice(BigDecimal couponPrice) {
-        this.couponPrice = couponPrice;
-    }
-
-    /**
-     * 支付状态
-     *
-     * @return paid 支付状态
-     */
-    public Byte getPaid() {
-        return paid;
-    }
+    @ApiModelProperty(value = "优惠券金额")
+    private BigDecimal couponPrice;
 
     /**
      * 支付状态
-     *
-     * @param paid 支付状态
-     */
-    public void setPaid(Byte paid) {
-        this.paid = paid;
-    }
-
-    /**
-     * 支付时间
-     *
-     * @return pay_time 支付时间
      */
-    public Date getPayTime() {
-        return payTime;
-    }
+    @ApiModelProperty(value = "支付状态 0-待付款  1-已付款")
+    private Integer paid;
 
     /**
      * 支付时间
-     *
-     * @param payTime 支付时间
      */
-    public void setPayTime(Date payTime) {
-        this.payTime = payTime;
-    }
-
-    /**
-     * 支付方式
-     *
-     * @return pay_type 支付方式
-     */
-    public String getPayType() {
-        return payType;
-    }
+    @ApiModelProperty(value = "支付时间")
+    private Date payTime;
 
     /**
      * 支付方式
-     *
-     * @param payType 支付方式
-     */
-    public void setPayType(String payType) {
-        this.payType = payType;
-    }
-
-    /**
-     * 创建时间
-     *
-     * @return create_time 创建时间
      */
-    public Date getCreateTime() {
-        return createTime;
-    }
+    @ApiModelProperty(value = "支付方式")
+    private String payType;
 
     /**
      * 创建时间
-     *
-     * @param createTime 创建时间
-     */
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    /**
-     * 订单状态(0:待发货;1:待收货;2:已收货,待评价;3:已完成;)
-     *
-     * @return status 订单状态(0:待发货;1:待收货;2:已收货,待评价;3:已完成;)
      */
-    public Boolean getStatus() {
-        return status;
-    }
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
 
     /**
      * 订单状态(0:待发货;1:待收货;2:已收货,待评价;3:已完成;)
-     *
-     * @param status 订单状态(0:待发货;1:待收货;2:已收货,待评价;3:已完成;)
      */
-    public void setStatus(Boolean status) {
-        this.status = status;
-    }
+    @ApiModelProperty(value = "订单状态(0:待发货;1:待收货;3:已完成; 4:已关闭  5:已取消)")
+    private Integer status;
 
     /**
      * 0 未退款 1 申请中 2 已退款 3 退款中
-     *
-     * @return refund_status 0 未退款 1 申请中 2 已退款 3 退款中
      */
-    public Byte getRefundStatus() {
-        return refundStatus;
-    }
-
-    /**
-     * 0 未退款 1 申请中 2 已退款 3 退款中
-     *
-     * @param refundStatus 0 未退款 1 申请中 2 已退款 3 退款中
-     */
-    public void setRefundStatus(Byte refundStatus) {
-        this.refundStatus = refundStatus;
-    }
+    @ApiModelProperty(value = "0 未退款 1 申请中 2 已退款 3 退款中")
+    private Integer refundStatus;
 
     /**
      * 退款图片
-     *
-     * @return refund_reason_wap_img 退款图片
      */
-    public String getRefundReasonWapImg() {
-        return refundReasonWapImg;
-    }
-
-    /**
-     * 退款图片
-     *
-     * @param refundReasonWapImg 退款图片
-     */
-    public void setRefundReasonWapImg(String refundReasonWapImg) {
-        this.refundReasonWapImg = refundReasonWapImg;
-    }
-
-    /**
-     * 退款用户说明
-     *
-     * @return refund_reason_wap_explain 退款用户说明
-     */
-    public String getRefundReasonWapExplain() {
-        return refundReasonWapExplain;
-    }
+    @ApiModelProperty(value = "退款图片")
+    private String refundReasonWapImg;
 
     /**
      * 退款用户说明
-     *
-     * @param refundReasonWapExplain 退款用户说明
      */
-    public void setRefundReasonWapExplain(String refundReasonWapExplain) {
-        this.refundReasonWapExplain = refundReasonWapExplain;
-    }
-
-    /**
-     * 前台退款原因
-     *
-     * @return refund_reason_wap 前台退款原因
-     */
-    public String getRefundReasonWap() {
-        return refundReasonWap;
-    }
+    @ApiModelProperty(value = "退款用户说明")
+    private String refundReasonWapExplain;
 
     /**
      * 前台退款原因
-     *
-     * @param refundReasonWap 前台退款原因
-     */
-    public void setRefundReasonWap(String refundReasonWap) {
-        this.refundReasonWap = refundReasonWap;
-    }
-
-    /**
-     * 不退款的理由
-     *
-     * @return refund_reason 不退款的理由
      */
-    public String getRefundReason() {
-        return refundReason;
-    }
+    @ApiModelProperty(value = "前台退款原因")
+    private String refundReasonWap;
 
     /**
      * 不退款的理由
-     *
-     * @param refundReason 不退款的理由
-     */
-    public void setRefundReason(String refundReason) {
-        this.refundReason = refundReason;
-    }
-
-    /**
-     * 退款时间
-     *
-     * @return refund_reason_time 退款时间
      */
-    public Date getRefundReasonTime() {
-        return refundReasonTime;
-    }
+    @ApiModelProperty(value = "不退款的理由")
+    private String refundReason;
 
     /**
      * 退款时间
-     *
-     * @param refundReasonTime 退款时间
      */
-    public void setRefundReasonTime(Date refundReasonTime) {
-        this.refundReasonTime = refundReasonTime;
-    }
-
-    /**
-     * 退款金额
-     *
-     * @return refund_price 退款金额
-     */
-    public BigDecimal getRefundPrice() {
-        return refundPrice;
-    }
+    @ApiModelProperty(value = "退款时间")
+    private Date refundReasonTime;
 
     /**
      * 退款金额
-     *
-     * @param refundPrice 退款金额
-     */
-    public void setRefundPrice(BigDecimal refundPrice) {
-        this.refundPrice = refundPrice;
-    }
-
-    /**
-     * 快递名称/送货人姓名
-     *
-     * @return delivery_name 快递名称/送货人姓名
      */
-    public String getDeliveryName() {
-        return deliveryName;
-    }
+    @ApiModelProperty(value = "退款金额")
+    private BigDecimal refundPrice;
 
     /**
      * 快递名称/送货人姓名
-     *
-     * @param deliveryName 快递名称/送货人姓名
-     */
-    public void setDeliveryName(String deliveryName) {
-        this.deliveryName = deliveryName;
-    }
-
-    /**
-     * 发货类型
-     *
-     * @return delivery_type 发货类型
      */
-    public String getDeliveryType() {
-        return deliveryType;
-    }
+    @ApiModelProperty(value = "快递名称/送货人姓名")
+    private String deliveryName;
 
     /**
      * 发货类型
-     *
-     * @param deliveryType 发货类型
      */
-    public void setDeliveryType(String deliveryType) {
-        this.deliveryType = deliveryType;
-    }
-
-    /**
-     * 快递单号/手机号
-     *
-     * @return delivery_id 快递单号/手机号
-     */
-    public String getDeliveryId() {
-        return deliveryId;
-    }
+    @ApiModelProperty(value = "发货类型")
+    private String deliveryType;
 
     /**
      * 快递单号/手机号
-     *
-     * @param deliveryId 快递单号/手机号
-     */
-    public void setDeliveryId(String deliveryId) {
-        this.deliveryId = deliveryId;
-    }
-
-    /**
-     * 消费赚取积分
-     *
-     * @return gain_integral 消费赚取积分
-     */
-    public Integer getGainIntegral() {
-        return gainIntegral;
-    }
-
-    /**
-     * 消费赚取积分
-     *
-     * @param gainIntegral 消费赚取积分
-     */
-    public void setGainIntegral(Integer gainIntegral) {
-        this.gainIntegral = gainIntegral;
-    }
-
-    /**
-     * 使用积分
-     *
-     * @return use_integral 使用积分
-     */
-    public Integer getUseIntegral() {
-        return useIntegral;
-    }
-
-    /**
-     * 使用积分
-     *
-     * @param useIntegral 使用积分
      */
-    public void setUseIntegral(Integer useIntegral) {
-        this.useIntegral = useIntegral;
-    }
-
-    /**
-     * 给用户退了多少积分
-     *
-     * @return back_integral 给用户退了多少积分
-     */
-    public Integer getBackIntegral() {
-        return backIntegral;
-    }
-
-    /**
-     * 给用户退了多少积分
-     *
-     * @param backIntegral 给用户退了多少积分
-     */
-    public void setBackIntegral(Integer backIntegral) {
-        this.backIntegral = backIntegral;
-    }
+    @ApiModelProperty(value = "快递单号/手机号")
+    private String deliveryId;
 
-    /**
-     * 备注
-     *
-     * @return mark 备注
-     */
-    public String getMark() {
-        return mark;
-    }
+//    /**
+//     * 消费赚取积分
+//     */
+//    @ApiModelProperty(value = "消费赚取积分")
+//    @Column(name = "gain_integral")
+//    private Integer gainIntegral;
+//
+//    /**
+//     * 使用积分
+//     */
+//    @ApiModelProperty(value = "使用积分")
+//    @Column(name = "use_integral")
+//    private Integer useIntegral;
+//
+//    /**
+//     * 给用户退了多少积分
+//     */
+//    @ApiModelProperty(value = "给用户退了多少积分")
+//    @Column(name = "back_integral")
+//    private Integer backIntegral;
 
     /**
      * 备注
-     *
-     * @param mark 备注
-     */
-    public void setMark(String mark) {
-        this.mark = mark;
-    }
-
-    /**
-     * 是否删除
-     *
-     * @return is_delete 是否删除
-     */
-    public Byte getIsDelete() {
-        return isDelete;
-    }
-
-    /**
-     * 是否删除
-     *
-     * @param isDelete 是否删除
-     */
-    public void setIsDelete(Byte isDelete) {
-        this.isDelete = isDelete;
-    }
-
-    /**
-     * 管理员备注
-     *
-     * @return remark 管理员备注
      */
-    public String getRemark() {
-        return remark;
-    }
+    @ApiModelProperty(value = "备注")
+    private String mark;
 
     /**
      * 管理员备注
-     *
-     * @param remark 管理员备注
      */
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
-    /**
-     * 商户ID
-     *
-     * @return mer_id 商户ID
-     */
-    public Long getMerId() {
-        return merId;
-    }
-
-    /**
-     * 商户ID
-     *
-     * @param merId 商户ID
-     */
-    public void setMerId(Long merId) {
-        this.merId = merId;
-    }
-
-    /**
-     * @return is_mer_check
-     */
-    public Byte getIsMerCheck() {
-        return isMerCheck;
-    }
-
-    /**
-     * @param isMerCheck
-     */
-    public void setIsMerCheck(Byte isMerCheck) {
-        this.isMerCheck = isMerCheck;
-    }
+    @ApiModelProperty(value = "管理员备注")
+    private String remark;
 
-    /**
-     * 拼团商品id0一般商品
-     *
-     * @return combination_id 拼团商品id0一般商品
-     */
-    public Integer getCombinationId() {
-        return combinationId;
-    }
+//    /**
+//     * 商户ID
+//     */
+//    @ApiModelProperty(value = "商户ID")
+//    @Column(name = "mer_id")
+//    private Long merId;
+//
+//    /**
+//     * 是否是商户商品
+//     */
+//    @ApiModelProperty(value = "是否是商户商品")
+//    @Column(name = "is_mer_check")
+//    private Integer isMerCheck;
 
     /**
      * 拼团商品id0一般商品
-     *
-     * @param combinationId 拼团商品id0一般商品
      */
-    public void setCombinationId(Integer combinationId) {
-        this.combinationId = combinationId;
-    }
-
-    /**
-     * 拼团id 0没有拼团
-     *
-     * @return pink_id 拼团id 0没有拼团
-     */
-    public Integer getPinkId() {
-        return pinkId;
-    }
+    @ApiModelProperty(value = "拼团商品id 0一般商品")
+    private Integer combinationId;
 
     /**
      * 拼团id 0没有拼团
-     *
-     * @param pinkId 拼团id 0没有拼团
-     */
-    public void setPinkId(Integer pinkId) {
-        this.pinkId = pinkId;
-    }
-
-    /**
-     * 成本价
-     *
-     * @return cost 成本价
      */
-    public BigDecimal getCost() {
-        return cost;
-    }
+    @ApiModelProperty(value = "拼团id 0没有拼团")
+    private Long pinkId;
 
     /**
      * 成本价
-     *
-     * @param cost 成本价
-     */
-    public void setCost(BigDecimal cost) {
-        this.cost = cost;
-    }
-
-    /**
-     * 秒杀商品ID
-     *
-     * @return seckill_id 秒杀商品ID
-     */
-    public Long getSeckillId() {
-        return seckillId;
-    }
-
-    /**
-     * 秒杀商品ID
-     *
-     * @param seckillId 秒杀商品ID
-     */
-    public void setSeckillId(Long seckillId) {
-        this.seckillId = seckillId;
-    }
-
-    /**
-     * 砍价id
-     *
-     * @return bargain_id 砍价id
-     */
-    public Long getBargainId() {
-        return bargainId;
-    }
-
-    /**
-     * 砍价id
-     *
-     * @param bargainId 砍价id
-     */
-    public void setBargainId(Long bargainId) {
-        this.bargainId = bargainId;
-    }
-
-    /**
-     * 核销码
-     *
-     * @return verify_code 核销码
      */
-    public String getVerifyCode() {
-        return verifyCode;
-    }
-
-    /**
-     * 核销码
-     *
-     * @param verifyCode 核销码
-     */
-    public void setVerifyCode(String verifyCode) {
-        this.verifyCode = verifyCode;
-    }
-
-    /**
-     * 门店id
-     *
-     * @return store_id 门店id
-     */
-    public Long getStoreId() {
-        return storeId;
-    }
-
-    /**
-     * 门店id
-     *
-     * @param storeId 门店id
-     */
-    public void setStoreId(Long storeId) {
-        this.storeId = storeId;
-    }
+    @ApiModelProperty(value = "成本价")
+    private BigDecimal cost;
 
-    /**
-     * 配送方式 1=快递 ,2=门店自提
-     *
-     * @return shipping_type 配送方式 1=快递 ,2=门店自提
-     */
-    public Boolean getShippingType() {
-        return shippingType;
-    }
+//    /**
+//     * 秒杀商品ID
+//     */
+//    @ApiModelProperty(value = "秒杀商品ID")
+//    @Column(name = "seckill_id")
+//    private Long seckillId;
+//
+//    /**
+//     * 砍价id
+//     */
+//    @ApiModelProperty(value = "砍价id")
+//    @Column(name = "bargain_id")
+//    private Long bargainId;
+//
+//    /**
+//     * 核销码
+//     */
+//    @ApiModelProperty(value = "核销码")
+//    @Column(name = "verify_code")
+//    private String verifyCode;
+//
+//    /**
+//     * 门店id
+//     */
+//    @ApiModelProperty(value = "门店id")
+//    @Column(name = "store_id")
+//    private Long storeId;
 
     /**
      * 配送方式 1=快递 ,2=门店自提
-     *
-     * @param shippingType 配送方式 1=快递 ,2=门店自提
-     */
-    public void setShippingType(Boolean shippingType) {
-        this.shippingType = shippingType;
-    }
-
-    /**
-     * 店员id/核销员id
-     *
-     * @return clerk_id 店员id/核销员id
-     */
-    public Integer getClerkId() {
-        return clerkId;
-    }
-
-    /**
-     * 店员id/核销员id
-     *
-     * @param clerkId 店员id/核销员id
-     */
-    public void setClerkId(Integer clerkId) {
-        this.clerkId = clerkId;
-    }
-
-    /**
-     * 支付渠道(0微信公众号1微信小程序2余额)
-     *
-     * @return is_channel 支付渠道(0微信公众号1微信小程序2余额)
      */
-    public Byte getIsChannel() {
-        return isChannel;
-    }
+    @ApiModelProperty(value = "配送方式 1=快递 ,2=门店自提")
+    private Integer shippingType;
+//
+//    /**
+//     * 店员id/核销员id
+//     */
+//    @ApiModelProperty(value = "店员id/核销员id")
+//    @Column(name = "clerk_id")
+//    private Integer clerkId;
 
     /**
      * 支付渠道(0微信公众号1微信小程序2余额)
-     *
-     * @param isChannel 支付渠道(0微信公众号1微信小程序2余额)
-     */
-    public void setIsChannel(Byte isChannel) {
-        this.isChannel = isChannel;
-    }
-
-    /**
-     * 消息提醒
-     *
-     * @return is_remind 消息提醒
      */
-    public Byte getIsRemind() {
-        return isRemind;
-    }
+    @ApiModelProperty(value = "支付渠道(0微信公众号1微信小程序2余额)")
+    private Integer isChannel;
 
     /**
      * 消息提醒
-     *
-     * @param isRemind 消息提醒
-     */
-    public void setIsRemind(Byte isRemind) {
-        this.isRemind = isRemind;
-    }
-
-    /**
-     * 更新时间
-     *
-     * @return update_time 更新时间
-     */
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    /**
-     * 更新时间
-     *
-     * @param updateTime 更新时间
-     */
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    /**
-     * 快递公司简称
-     *
-     * @return delivery_code 快递公司简称
      */
-    public String getDeliveryCode() {
-        return deliveryCode;
-    }
+    @ApiModelProperty(value = "消息提醒")
+    private Integer isRemind;
 
     /**
      * 快递公司简称
-     *
-     * @param deliveryCode 快递公司简称
      */
-    public void setDeliveryCode(String deliveryCode) {
-        this.deliveryCode = deliveryCode;
-    }
-
-    /**
-     * 用户拼团活动id 0没有
-     *
-     * @return bargain_user_id 用户拼团活动id 0没有
-     */
-    public Integer getBargainUserId() {
-        return bargainUserId;
-    }
+    @ApiModelProperty(value = "快递公司简称")
+    private String deliveryCode;
 
     /**
      * 用户拼团活动id 0没有
-     *
-     * @param bargainUserId 用户拼团活动id 0没有
      */
-    public void setBargainUserId(Integer bargainUserId) {
-        this.bargainUserId = bargainUserId;
-    }
-
-    /**
-     * 订单类型:0-普通订单,1-视频号订单
-     *
-     * @return type 订单类型:0-普通订单,1-视频号订单
-     */
-    public Integer getType() {
-        return type;
-    }
+    @ApiModelProperty(value = "用户拼团活动id 0没有")
+    private Integer bargainUserId;
 
     /**
      * 订单类型:0-普通订单,1-视频号订单
-     *
-     * @param type 订单类型:0-普通订单,1-视频号订单
      */
-    public void setType(Integer type) {
-        this.type = type;
-    }
-
-    /**
-     * 商品总价
-     *
-     * @return pro_total_price 商品总价
-     */
-    public BigDecimal getProTotalPrice() {
-        return proTotalPrice;
-    }
+    @ApiModelProperty(value = "订单类型:0-普通订单,1-视频号订单")
+    private Integer type;
 
     /**
      * 商品总价
-     *
-     * @param proTotalPrice 商品总价
      */
-    public void setProTotalPrice(BigDecimal proTotalPrice) {
-        this.proTotalPrice = proTotalPrice;
-    }
-
-    /**
-     * 改价前支付金额
-     *
-     * @return before_pay_price 改价前支付金额
-     */
-    public BigDecimal getBeforePayPrice() {
-        return beforePayPrice;
-    }
+    @ApiModelProperty(value = "商品总价")
+    private BigDecimal proTotalPrice;
 
     /**
      * 改价前支付金额
-     *
-     * @param beforePayPrice 改价前支付金额
      */
-    public void setBeforePayPrice(BigDecimal beforePayPrice) {
-        this.beforePayPrice = beforePayPrice;
-    }
-
-    /**
-     * 是否改价,0-否,1-是
-     *
-     * @return is_alter_price 是否改价,0-否,1-是
-     */
-    public Boolean getIsAlterPrice() {
-        return isAlterPrice;
-    }
+    @ApiModelProperty(value = "改价前支付金额")
+    private BigDecimal beforePayPrice;
 
     /**
      * 是否改价,0-否,1-是
-     *
-     * @param isAlterPrice 是否改价,0-否,1-是
      */
-    public void setIsAlterPrice(Boolean isAlterPrice) {
-        this.isAlterPrice = isAlterPrice;
-    }
+    @ApiModelProperty(value = "是否改价,0-否,1-是")
+    private Integer isAlterPrice;
 
     /**
      * 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
-     *
-     * @return out_trade_no 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
      */
-    public String getOutTradeNo() {
-        return outTradeNo;
-    }
+    @ApiModelProperty(value = "商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号")
+    private String outTradeNo;
 
-    /**
-     * 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
-     *
-     * @param outTradeNo 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
-     */
-    public void setOutTradeNo(String outTradeNo) {
-        this.outTradeNo = outTradeNo;
-    }
+    @ApiModelProperty(value = "开始时间")
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    private Date endTime;
 }

+ 26 - 0
mall-service/src/main/java/dto/StoreOrderDeliveryDTO.java

@@ -0,0 +1,26 @@
+/*
+ *
+ * StoreOrderDTO.java
+ * Copyright(C) 2017-2020 fendo公司
+ * @date 2025-07-15
+ */
+package dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class StoreOrderDeliveryDTO implements Serializable {
+
+    @ApiModelProperty(value = "物流名称")
+    private String deliveryName;
+
+    @ApiModelProperty(value = "物流单号")
+    private String deliveryNo;
+
+    @ApiModelProperty(value = "订单号")
+    private String orderId;
+
+}

+ 18 - 0
mall-service/src/main/java/vo/StoreOrderDetailVO.java

@@ -0,0 +1,18 @@
+/*
+ *
+ * StoreOrderDTO.java
+ * Copyright(C) 2017-2020 fendo公司
+ * @date 2025-07-15
+ */
+package vo;
+
+import com.txz.mall.model.StoreOrder;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class StoreOrderDetailVO extends StoreOrder implements Serializable {
+
+
+}

+ 23 - 0
mall-service/src/main/java/vo/StoreOrderVO.java

@@ -0,0 +1,23 @@
+/*
+ *
+ * StoreOrderDTO.java
+ * Copyright(C) 2017-2020 fendo公司
+ * @date 2025-07-15
+ */
+package vo;
+
+import com.txz.mall.model.StoreOrder;
+import com.txz.mall.model.StoreOrderInfo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class StoreOrderVO extends StoreOrder implements Serializable {
+
+    @ApiModelProperty(value = "商品信息")
+    private List<StoreOrderInfo> orderInfoVO;
+
+}

+ 31 - 0
mall-service/src/main/resources/mapper/StoreOrderInfoMapper.xml

@@ -0,0 +1,31 @@
+<?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.txz.mall.dao.StoreOrderInfoMapper">
+    <resultMap id="BaseResultMap" type="com.txz.mall.model.StoreOrderInfo">
+        <!--
+          WARNING - @mbg.generated
+        -->
+        <id column="id" jdbcType="BIGINT" property="id"/>
+        <result column="order_id" jdbcType="BIGINT" property="orderId"/>
+        <result column="product_id" jdbcType="BIGINT" property="productId"/>
+        <!--    <result column="unique" jdbcType="CHAR" property="unique" />-->
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="order_no" jdbcType="VARCHAR" property="orderNo"/>
+        <result column="product_name" jdbcType="VARCHAR" property="productName"/>
+        <result column="attr_value_id" jdbcType="BIGINT" property="attrValueId"/>
+        <result column="image" jdbcType="VARCHAR" property="image"/>
+        <result column="sku" jdbcType="VARCHAR" property="sku"/>
+        <result column="price" jdbcType="DECIMAL" property="price"/>
+        <result column="pay_num" jdbcType="INTEGER" property="payNum"/>
+        <result column="weight" jdbcType="DECIMAL" property="weight"/>
+        <result column="volume" jdbcType="DECIMAL" property="volume"/>
+        <result column="give_integral" jdbcType="INTEGER" property="giveIntegral"/>
+        <result column="is_reply" jdbcType="INTEGER" property="isReply"/>
+        <result column="is_sub" jdbcType="INTEGER" property="isSub"/>
+        <result column="vip_price" jdbcType="DECIMAL" property="vipPrice"/>
+        <result column="product_type" jdbcType="INTEGER" property="productType"/>
+        <result column="info" jdbcType="VARCHAR" property="info"/>
+        <result column="is_delete" jdbcType="INTEGER" property="isDelete"/>
+    </resultMap>
+</mapper>