From cad69fd8620d6317fe09efdd4eee730bf8e2d053 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 22 Sep 2021 17:53:15 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall

---
 src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java               |    8 +
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java        |   13 +
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   34 ++++
 src/main/resources/mapper/modules/MallExpressInfoMapper.xml                     |    8 +
 src/main/java/cc/mrbird/febs/mall/vo/OrderItemVo.java                           |   35 +++++
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml                       |   82 +++++++++++
 sql/xc_mall.sql                                                                 |   16 ++
 src/main/java/cc/mrbird/febs/mall/mapper/MallExpressInfoMapper.java             |   10 +
 src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java                     |    5 
 src/main/java/cc/mrbird/febs/mall/entity/MallExpressInfo.java                   |   23 +++
 src/main/java/cc/mrbird/febs/mall/vo/OrderListVo.java                           |   36 +++++
 src/main/java/cc/mrbird/febs/mall/conversion/MallOrderInfoConversion.java       |   25 +++
 src/main/java/cc/mrbird/febs/mall/dto/OrderListDto.java                         |   26 +++
 src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java         |    9 +
 src/main/java/cc/mrbird/febs/mall/conversion/MallOrderItemConversion.java       |   20 ++
 src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java                     |    8 +
 src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java                         |   54 +++++++
 17 files changed, 411 insertions(+), 1 deletions(-)

diff --git a/sql/xc_mall.sql b/sql/xc_mall.sql
index 7b8eaa3..736c82c 100644
--- a/sql/xc_mall.sql
+++ b/sql/xc_mall.sql
@@ -224,4 +224,20 @@
    member_id    bigint         null comment '用户ID',
    PRIMARY KEY (ID)
 )  COMMENT = '用户钱包';
+alter table mall_order_item add sku_image varchar(1000) null comment 'sku图片' after sku_name;
+
+DROP TABLE IF EXISTS mall_express_info;
+CREATE TABLE mall_express_info(
+  REVISION INT    COMMENT '乐观锁' ,
+  CREATED_BY VARCHAR(32)    COMMENT '创建人' ,
+  CREATED_TIME DATETIME    COMMENT '创建时间' ,
+  UPDATED_BY VARCHAR(32)    COMMENT '更新人' ,
+  UPDATED_TIME DATETIME    COMMENT '更新时间' ,
+  ID BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键' ,
+  order_id BIGINT    COMMENT '订单ID' ,
+  member_id BIGINT    COMMENT '用户ID' ,
+  express_no VARCHAR(255)    COMMENT '物流单号' ,
+  express_com VARCHAR(255)    COMMENT '物流公司' ,
+  PRIMARY KEY (ID)
+)  COMMENT = '物流信息表';
 
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
index 9d7ef92..282a9c7 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.mall.dto.AddOrderDto;
+import cc.mrbird.febs.mall.dto.OrderListDto;
 import cc.mrbird.febs.mall.dto.PayOrderDto;
 import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
 import io.swagger.annotations.Api;
@@ -55,4 +56,16 @@
         return new FebsResponse().success().data(map).message("支付成功");
     }
 
+    @ApiOperation(value = "订单列表", notes = "订单列表")
+    @PostMapping(value = "/orderList")
+    public FebsResponse orderList(@RequestBody OrderListDto orderListDto) {
+        return new FebsResponse().success().data(mallOrderInfoService.findOrderList(orderListDto));
+    }
+
+    @ApiOperation(value = "订单详情", notes = "订单详情")
+    @GetMapping(value = "/orderDetails/{id}")
+    public FebsResponse orderDetails(@PathVariable("id") Long id) {
+        return new FebsResponse().success().data(mallOrderInfoService.findOrderDetailsById(id));
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallOrderInfoConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallOrderInfoConversion.java
new file mode 100644
index 0000000..1959575
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallOrderInfoConversion.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
+import cc.mrbird.febs.mall.vo.OrderDetailVo;
+import cc.mrbird.febs.mall.vo.OrderListVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-22
+ **/
+@Mapper
+public abstract class MallOrderInfoConversion {
+    public static final MallOrderInfoConversion INSTANCE = Mappers.getMapper(MallOrderInfoConversion.class);
+
+
+    public abstract OrderListVo entityToVo(MallOrderInfo mallOrderInfo);
+    public abstract List<OrderListVo> entitysToVos(List<MallOrderInfo> mallOrderInfos);
+
+
+    public abstract OrderDetailVo entityToDetailVo(MallOrderInfo mallOrderInfo);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/conversion/MallOrderItemConversion.java b/src/main/java/cc/mrbird/febs/mall/conversion/MallOrderItemConversion.java
new file mode 100644
index 0000000..9825847
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/conversion/MallOrderItemConversion.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.mall.conversion;
+
+import cc.mrbird.febs.mall.entity.MallOrderItem;
+import cc.mrbird.febs.mall.vo.OrderItemVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-22
+ **/
+@Mapper
+public abstract class MallOrderItemConversion {
+    public static final MallOrderItemConversion INSTANCE = Mappers.getMapper(MallOrderItemConversion.class);
+
+    public abstract OrderItemVo entityToVo(MallOrderItem item);
+    public abstract List<OrderItemVo> entityToVo(List<MallOrderItem> items);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/OrderListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/OrderListDto.java
new file mode 100644
index 0000000..401d64d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/OrderListDto.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-22
+ **/
+@Data
+@ApiModel(value = "OrderListDto", description = "订单列表参数接收类")
+public class OrderListDto {
+
+    @ApiModelProperty(value = "一页数量", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "第几页", example = "1")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "搜索参数", example = "1")
+    private String query;
+
+    @ApiModelProperty(value = "订单状态", example = "0-全部 1-待付款 2-待发货 3-待收货 4-退款或退款中")
+    private Integer status;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallExpressInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/MallExpressInfo.java
new file mode 100644
index 0000000..1d4fb70
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallExpressInfo.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-22
+ **/
+@Data
+@TableName("mall_express_info")
+public class MallExpressInfo extends BaseEntity {
+
+    private Long orderId;
+
+    private Long memberId;
+
+    private String expressNo;
+
+    private String expressCom;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
index fa133c2..cce3092 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
@@ -1,11 +1,13 @@
 package cc.mrbird.febs.mall.entity;
 
 import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author wzy
@@ -55,5 +57,11 @@
 
     private String remark;
 
+    /**
+     * 是否删除 1-是 2-否
+     */
     private Integer delFlag;
+
+    @TableField(exist = false)
+    private List<MallOrderItem> items;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java
index 6cf10f1..28e7f3b 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.mall.entity;
 
+import cc.mrbird.febs.common.entity.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
@@ -11,7 +12,7 @@
  **/
 @Data
 @TableName("mall_order_item")
-public class MallOrderItem {
+public class MallOrderItem extends BaseEntity {
 
     private Long orderId;
 
@@ -25,6 +26,8 @@
 
     private String skuName;
 
+    private String skuImage;
+
     private Integer cnt;
 
     private BigDecimal price;
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallExpressInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallExpressInfoMapper.java
new file mode 100644
index 0000000..409ff24
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallExpressInfoMapper.java
@@ -0,0 +1,10 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.MallExpressInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+public interface MallExpressInfoMapper extends BaseMapper<MallExpressInfo> {
+
+    MallExpressInfo selectByOrderId(@Param("orderId") Long orderId);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
index 1e35453..f0d363d 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -1,13 +1,17 @@
 package cc.mrbird.febs.mall.mapper;
 
 import cc.mrbird.febs.mall.dto.MallOrderInfoDto;
+import cc.mrbird.febs.mall.dto.OrderListDto;
 import cc.mrbird.febs.mall.entity.MallOrderInfo;
 import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo;
 import cc.mrbird.febs.mall.vo.AdminMallOrderVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author wzy
@@ -20,4 +24,8 @@
     IPage<AdminMallOrderInfoVo> selectOrderListInPage(Page<AdminMallOrderInfoVo> page, @Param("record") MallOrderInfoDto mallOrderInfo);
 
     AdminMallOrderVo getMallOrderInfoById(@Param("id")long id);
+
+    IPage<MallOrderInfo> selectOrderListInPage(IPage<MallOrderInfo> page,@Param("record") OrderListDto orderListDto);
+
+    MallOrderInfo selectOrderDetailsById(@Param("id") Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
index 1014a7a..b554ee1 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
@@ -1,9 +1,14 @@
 package cc.mrbird.febs.mall.service;
 
 import cc.mrbird.febs.mall.dto.AddOrderDto;
+import cc.mrbird.febs.mall.dto.OrderListDto;
 import cc.mrbird.febs.mall.dto.PayOrderDto;
 import cc.mrbird.febs.mall.entity.MallOrderInfo;
+import cc.mrbird.febs.mall.vo.OrderDetailVo;
+import cc.mrbird.febs.mall.vo.OrderListVo;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
 
 public interface IApiMallOrderInfoService extends IService<MallOrderInfo> {
 
@@ -12,4 +17,8 @@
     void cancelOrder(Long id);
 
     String payOrder(PayOrderDto payOrderDto);
+
+    List<OrderListVo> findOrderList(OrderListDto orderListDto);
+
+    OrderDetailVo findOrderDetailsById(Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index e02856a..421cf56 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -4,16 +4,22 @@
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
 import cc.mrbird.febs.common.utils.MallUtils;
+import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion;
 import cc.mrbird.febs.mall.dto.AddOrderDto;
 import cc.mrbird.febs.mall.dto.AddOrderItemDto;
+import cc.mrbird.febs.mall.dto.OrderListDto;
 import cc.mrbird.febs.mall.dto.PayOrderDto;
 import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
+import cc.mrbird.febs.mall.vo.OrderDetailVo;
+import cc.mrbird.febs.mall.vo.OrderListVo;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -22,6 +28,7 @@
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 import java.util.Random;
 
 /**
@@ -39,6 +46,7 @@
     private final MallOrderItemMapper mallOrderItemMapper;
     private final MallMemberMapper memberMapper;
     private final IApiMallMemberWalletService memberWalletService;
+    private final MallExpressInfoMapper expressInfoMapper;
 
     @Override
     public Long createOrder(AddOrderDto addOrderDto) {
@@ -157,4 +165,30 @@
         memberWalletService.reduceBalance(orderInfo.getAmount(), mallMember.getId());
         return orderInfo.getOrderNo();
     }
+
+
+    @Override
+    public List<OrderListVo> findOrderList(OrderListDto orderListDto) {
+        IPage<MallOrderInfo> page = new Page<>(orderListDto.getPageNum(), orderListDto.getPageSize());
+
+        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectOrderListInPage(page, orderListDto);
+        return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords());
+    }
+
+    @Override
+    public OrderDetailVo findOrderDetailsById(Long id) {
+        MallOrderInfo orderInfo = this.baseMapper.selectOrderDetailsById(id);
+        if (orderInfo == null) {
+            throw new FebsException("订单不存在");
+        }
+
+        OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo);
+
+        if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue()) {
+            MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId());
+            orderDetailVo.setExpressNo(expressInfo.getExpressNo());
+            orderDetailVo.setExpressCom(expressInfo.getExpressCom());
+        }
+        return orderDetailVo;
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
new file mode 100644
index 0000000..36d8f8e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
@@ -0,0 +1,54 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-22
+ **/
+@Data
+@ApiModel(value = "OrderDetailVo", description = "订单明细返回参数类")
+public class OrderDetailVo {
+
+    @ApiModelProperty(value = "订单ID")
+    private Long id;
+
+    @ApiModelProperty(value = "订单编号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "下单时间")
+    private Date orderTime;
+
+    @ApiModelProperty(value = "支付方式")
+    private String payMethod;
+
+    @ApiModelProperty(value = "状态")
+    private Integer status;
+
+    @ApiModelProperty(value = "订单金额")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "收货人姓名")
+    private String name;
+
+    @ApiModelProperty(value = "收货人电话")
+    private String phone;
+
+    @ApiModelProperty(value = "收货人地址")
+    private String address;
+
+    @ApiModelProperty(value = "物流单号")
+    private String expressNo;
+
+    @ApiModelProperty(value = "物流公司")
+    private String expressCom;
+
+    @ApiModelProperty(value = "订单明细")
+    private List<OrderItemVo> items;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/OrderItemVo.java b/src/main/java/cc/mrbird/febs/mall/vo/OrderItemVo.java
new file mode 100644
index 0000000..0fc75b3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/OrderItemVo.java
@@ -0,0 +1,35 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import sun.nio.cs.ext.Big5;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2021-09-22
+ **/
+@Data
+@ApiModel(value = "OrderListItemVo", description = "订单列表明细返回参数类")
+public class OrderItemVo {
+
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
+    @ApiModelProperty(value = "样式名称")
+    private String styleName;
+
+    @ApiModelProperty(value = "sku名称")
+    private String skuName;
+
+    @ApiModelProperty(value = "sku图片")
+    private String skuImage;
+
+    @ApiModelProperty(value = "数量")
+    private Integer cnt;
+
+    @ApiModelProperty(value = "单价")
+    private BigDecimal price;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/OrderListVo.java b/src/main/java/cc/mrbird/febs/mall/vo/OrderListVo.java
new file mode 100644
index 0000000..24b70e1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/OrderListVo.java
@@ -0,0 +1,36 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-09-22
+ **/
+@Data
+@ApiModel(value = "OrderListVo", description = "订单列表返回参数类")
+public class OrderListVo {
+
+    @ApiModelProperty(value = "订单ID")
+    private Long id;
+
+    @ApiModelProperty(value = "订单编号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "下单时间")
+    private Date orderTime;
+
+    @ApiModelProperty(value = "状态 1-待支付2-待发货3-待收货4-已完成5-退款中6-已退款7-已取消")
+    private Integer status;
+
+    @ApiModelProperty(value = "订单金额")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "订单明细")
+    private List<OrderItemVo> items;
+}
diff --git a/src/main/resources/mapper/modules/MallExpressInfoMapper.xml b/src/main/resources/mapper/modules/MallExpressInfoMapper.xml
new file mode 100644
index 0000000..b9080b1
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallExpressInfoMapper.xml
@@ -0,0 +1,8 @@
+<?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="cc.mrbird.febs.mall.mapper.MallExpressInfoMapper">
+
+    <select id="selectByOrderId" resultType="cc.mrbird.febs.mall.entity.MallExpressInfo">
+        select * from mall_express_info where order_id=#{orderId}
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index a058586..6e2c82d 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -34,4 +34,86 @@
         select * from mall_order_info where id = #{id}
     </select>
 
+
+    <resultMap id="OrderInfoMap" type="cc.mrbird.febs.mall.entity.MallOrderInfo">
+        <id column="id" property="id" />
+        <result column="order_no" property="orderNo" />
+        <result column="member_id" property="memberId" />
+        <result column="order_time" property="orderTime" />
+        <result column="pay_time" property="payTime" />
+        <result column="amount" property="amount" />
+        <result column="pay_method" property="payMethod" />
+        <result column="pay_order_no" property="payOrderNo" />
+        <result column="pay_result" property="payResult" />
+        <result column="status" property="status" />
+        <result column="cancel_type" property="cancelType" />
+        <result column="name" property="name" />
+        <result column="phone" property="phone" />
+        <result column="address" property="address" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="remark" property="remark" />
+        <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem">
+            <id property="id" column="item_id" />
+            <result property="orderId" column="order_id" />
+            <result property="goodsId" column="goods_id" />
+            <result property="skuId" column="sku_id" />
+            <result property="goodsName" column="goods_name" />
+            <result property="styleName" column="style_name" />
+            <result property="skuName" column="sku_name" />
+            <result property="skuImage" column="sku_image" />
+            <result property="cnt" column="cnt" />
+            <result property="price" column="price" />
+            <result property="amount" column="amount" />
+        </collection>
+    </resultMap>
+
+    <select id="selectOrderListInPage" resultMap="OrderInfoMap">
+        select
+               a.*,
+               b.id item_id,
+               b.order_id,
+               b.goods_id,
+               b.sku_id,
+               b.goods_name,
+               b.style_name,
+               b.sku_name,
+               b.sku_image,
+               b.cnt,
+               b.price,
+               b.amount
+        from mall_order_info a
+         inner join mall_order_item b on a.id=b.order_id
+        <where>
+            <if test="record.query != null and record.query != ''">
+                and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%')))
+            </if>
+            <if test="record.status == 4">
+                and a.status in (5,6)
+            </if>
+            <if test="record.status != 4">
+                and a.status = #{record.status}
+            </if>
+        </where>
+        order by a.created_time desc
+    </select>
+
+    <select id="selectOrderDetailsById" resultMap="OrderInfoMap">
+        select
+            a.*,
+            b.id item_id,
+            b.order_id,
+            b.goods_id,
+            b.sku_id,
+            b.goods_name,
+            b.style_name,
+            b.sku_name,
+            b.sku_image,
+            b.cnt,
+            b.price,
+            b.amount
+        from mall_order_info a
+             inner join mall_order_item b on a.id=b.order_id
+        where id=#{id}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1