Helius
2021-06-24 d375fe94715d15bfa748991df5d922106a477e5d
Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop
9 files added
12 files modified
407 ■■■■■ changed files
gc-core/src/main/java/com/xzx/gc/entity/ScoreExpressInfo.java 3 ●●●● patch | view | raw | blame | history
gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java 13 ●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java 95 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/dto/DeliverGoodsDto.java 17 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/dto/InsureOrderDto.java 15 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/dto/ScoreGoodsStyleDto.java 2 ●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/dto/UpdateGoodsDto.java 2 ●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/dto/ViewOrderDto.java 10 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreExpressInfoMapper.java 7 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderDetailsMapper.java 7 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java 10 ●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java 90 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/vo/ExpressInfoVo.java 32 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryOrderListVo.java 20 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/vo/ScoreGoodsStyleVo.java 2 ●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewGoodsVo.java 2 ●●● patch | view | raw | blame | history
gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewOrderVo.java 52 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/resources/mapper/shop/ScoreExpressInfoMapper.xml 5 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/resources/mapper/shop/ScoreOrderDetailsMapper.xml 5 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml 13 ●●●●● patch | view | raw | blame | history
gc-shop/src/main/resources/sql 5 ●●●●● patch | view | raw | blame | history
gc-core/src/main/java/com/xzx/gc/entity/ScoreExpressInfo.java
@@ -1,5 +1,6 @@
package com.xzx.gc.entity;
import com.xzx.gc.common.entity.BaseEntity;
import lombok.Data;
import javax.persistence.Table;
@@ -10,7 +11,7 @@
 **/
@Data
@Table(name = "xzx_score_express_info")
public class ScoreExpressInfo {
public class ScoreExpressInfo extends BaseEntity {
    private String userId;
gc-core/src/main/java/com/xzx/gc/entity/ScoreOrder.java
@@ -1,5 +1,6 @@
package com.xzx.gc.entity;
import com.xzx.gc.common.entity.BaseEntity;
import lombok.Data;
import javax.persistence.Table;
@@ -11,7 +12,7 @@
 **/
@Data
@Table(name = "xzx_score_order")
public class ScoreOrder {
public class ScoreOrder extends BaseEntity {
    private String orderNo;
@@ -19,14 +20,22 @@
    private String userId;
    private String voucherImg;
    private Integer cnt;
    private BigDecimal totalPrice;
    /**
     * 2-待收货3-已完成4-已取消
     * 1-待发货2-待收货3-已收货4-已完成5-已评价6-已取消
     */
    private Integer status;
    public  static final Integer STATUS_READY = 1;
    public  static final Integer STATUS_ON = 2;
    public  static final Integer STATUS_DOING = 3;
    public  static final Integer STATUS_DONE = 4;
    public  static final Integer STATUS_EVALUATE = 5;
    public  static final Integer STATUS_CANCEL = 6;
    private String remark;
}
gc-shop/src/main/java/com/xzx/gc/shop/controller/AdminOrderController.java
@@ -1,13 +1,22 @@
package com.xzx.gc.shop.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.xzx.gc.common.constant.CommonEnum;
import com.xzx.gc.common.constant.Constants;
import com.xzx.gc.common.dto.log.OperationAppLog;
import com.xzx.gc.common.request.BaseController;
import com.xzx.gc.entity.ScoreGoods;
import com.xzx.gc.entity.ScoreOrder;
import com.xzx.gc.model.JsonResult;
import com.xzx.gc.shop.dto.QueryGoodsListDto;
import com.xzx.gc.shop.dto.QueryOrderListDto;
import com.xzx.gc.shop.dto.*;
import com.xzx.gc.shop.mapper.ScoreOrderMapper;
import com.xzx.gc.shop.service.OrderService;
import com.xzx.gc.shop.vo.QueryGoodsListVo;
import com.xzx.gc.shop.vo.QueryOrderListVo;
import com.xzx.gc.shop.vo.ViewGoodsVo;
import com.xzx.gc.shop.vo.ViewOrderVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
@@ -18,6 +27,8 @@
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@RestController
@@ -27,6 +38,8 @@
    @Resource
    private OrderService orderService;
    @Resource
    private ScoreOrderMapper scoreOrderMapper;
    /**
     * 查询订单列表
@@ -40,4 +53,82 @@
        return JsonResult.success(result);
    }
    /**
     * 查询订单详情
     */
    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/viewOrder.json")
    @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewOrderVo.class)})
    @ApiOperation(value="订单管理-查询订单详情", notes="test: 仅0有正确返回")
    public JsonResult<ViewOrderVo> viewOrder(@RequestBody ViewOrderDto viewOrderDto) {
        Long id = viewOrderDto.getId();
        ViewOrderVo viewOrderVo = orderService.viewOrder(id);
        return JsonResult.success(viewOrderVo);
    }
    /**
     * 发货
     */
    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/deliverGoods.json")
    @ApiOperation(value="订单管理-发货", notes="test: 仅0有正确返回")
    public JsonResult deliverGoods(@RequestBody DeliverGoodsDto model, HttpServletRequest request) {
        long id = model.getId();
        ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id);
        if(ObjectUtil.isEmpty(scoreOrder)){
            return JsonResult.failMessage("订单不存在!");
        }
        Integer status = scoreOrder.getStatus();
        if(ScoreOrder.STATUS_READY != status){
            return JsonResult.failMessage("当前订单不是代发货状态!");
        }
        String expressCom = model.getExpressCom();
        if(StrUtil.isEmpty(expressCom)){
            return JsonResult.failMessage("物流公司不能为空!");
        }
        String expressNo = model.getExpressNo();
        if(StrUtil.isEmpty(expressNo)){
            return JsonResult.failMessage("快递单号不能为空!");
        }
        Long expressId = orderService.deliverGoods(model);
        if(expressId > 0){
            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-发货-" + id).build();
            mqUtil.sendApp(build);
            return  JsonResult.success("操作成功!");
        }else{
            return  JsonResult.success("操作失败!");
        }
    }
    /**
     * 确认提货
     */
    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/insureOrder.json")
    @ApiOperation(value="订单管理-确认提货", notes="test: 仅0有正确返回")
    public JsonResult insureOrder(@RequestBody InsureOrderDto model, HttpServletRequest request) {
        long id = model.getId();
        ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id);
        if(ObjectUtil.isEmpty(scoreOrder)){
            return JsonResult.failMessage("订单不存在!");
        }
        Integer status = scoreOrder.getStatus();
        if(ScoreOrder.STATUS_DOING != status){
            return JsonResult.failMessage("当前订单不是已收货状态!");
        }
        List<String> voucherImgs = model.getVoucherImgs();
        if(CollUtil.isEmpty(voucherImgs)){
            return JsonResult.failMessage("凭证不能为空!");
        }
        Long orderId = orderService.insureOrder(model);
        if(orderId > 0){
            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-确认提货-" + orderId).build();
            mqUtil.sendApp(build);
            return  JsonResult.success("操作成功!");
        }else{
            return  JsonResult.success("操作失败!");
        }
    }
}
gc-shop/src/main/java/com/xzx/gc/shop/dto/DeliverGoodsDto.java
New file
@@ -0,0 +1,17 @@
package com.xzx.gc.shop.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class DeliverGoodsDto {
    @ApiModelProperty(value="订单ID")
    private Long id;
    @ApiModelProperty(value="快递单号")
    private String expressNo;
    @ApiModelProperty(value="物流公司")
    private String expressCom;
}
gc-shop/src/main/java/com/xzx/gc/shop/dto/InsureOrderDto.java
New file
@@ -0,0 +1,15 @@
package com.xzx.gc.shop.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class InsureOrderDto {
    private Long id;
    @ApiModelProperty(value="凭证")
    private List<String> voucherImgs;
}
gc-shop/src/main/java/com/xzx/gc/shop/dto/ScoreGoodsStyleDto.java
@@ -17,6 +17,6 @@
    private Long goodsId;
    @ApiModelProperty(value="积分商品规格")
    private List<ScoreGoodsSkuDto> scoreGoodsSkuDtos;
    private List<ScoreGoodsSkuDto> scoreGoodsSkus;
}
gc-shop/src/main/java/com/xzx/gc/shop/dto/UpdateGoodsDto.java
@@ -68,7 +68,7 @@
    private List<String> goodsImages;
    @ApiModelProperty(value="积分商品样式")
    private List<ScoreGoodsStyleDto> scoreGoodsStyleDtos;
    private List<ScoreGoodsStyleDto> scoreGoodsStyles;
    @ApiModelProperty(value="创建人")
    private String createdBy;
gc-shop/src/main/java/com/xzx/gc/shop/dto/ViewOrderDto.java
New file
@@ -0,0 +1,10 @@
package com.xzx.gc.shop.dto;
import lombok.Data;
@Data
public class ViewOrderDto {
    private Long id;
}
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreExpressInfoMapper.java
New file
@@ -0,0 +1,7 @@
package com.xzx.gc.shop.mapper;
import com.xzx.gc.entity.ScoreExpressInfo;
import com.xzx.gc.util.GcMapper;
public interface ScoreExpressInfoMapper extends GcMapper<ScoreExpressInfo> {
}
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreOrderDetailsMapper.java
New file
@@ -0,0 +1,7 @@
package com.xzx.gc.shop.mapper;
import com.xzx.gc.entity.ScoreOrderDetails;
import com.xzx.gc.util.GcMapper;
public interface ScoreOrderDetailsMapper extends GcMapper<ScoreOrderDetails> {
}
gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
@@ -126,7 +126,7 @@
                scoreGoodsStyle.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
                scoreGoodsStyleMapper.insert(scoreGoodsStyle);
                //规格信息
                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkuDtos();
                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkus();
                if(CollUtil.isNotEmpty(scoreGoodsSkuDtos)){
                    for(ScoreGoodsSkuDto scoreGoodsSkuDto : scoreGoodsSkuDtos){
                        ScoreGoodsSku scoreGoodsSku = objectMapper.convertValue(scoreGoodsSkuDto, ScoreGoodsSku.class);
@@ -196,11 +196,11 @@
                    //获取规格
                    Long styleId = goodsStyle.getId();
                    List<ScoreGoodsSkuVo> goodsSkus = scoreGoodsSkuMapper.selectScoreGoodsSkuByGoodsIdAndStyleId(id,styleId);
                    scoreGoodsStyleVo.setScoreGoodsSkuVos(goodsSkus);
                    scoreGoodsStyleVo.setScoreGoodsSkus(goodsSkus);
                    scoreGoodsStyleVos.add(scoreGoodsStyleVo);
                }
            }
            viewGoodsVo.setScoreGoodsStyleVos(scoreGoodsStyleVos);
            viewGoodsVo.setScoreGoodsStyles(scoreGoodsStyleVos);
        }
        return viewGoodsVo;
    }
@@ -227,7 +227,7 @@
            }
        }
        List<ScoreGoodsStyleDto> scoreGoodsStyleDtos = model.getScoreGoodsStyleDtos();
        List<ScoreGoodsStyleDto> scoreGoodsStyleDtos = model.getScoreGoodsStyles();
        if(CollUtil.isNotEmpty(scoreGoodsStyleDtos)){
            for(ScoreGoodsStyleDto scoreGoodsStyleDto : scoreGoodsStyleDtos){
                ScoreGoodsStyle scoreGoodsStyle = new ScoreGoodsStyle();
@@ -236,7 +236,7 @@
                scoreGoodsStyle.setGoodsId(scoreGoods.getId());
                scoreGoodsStyleMapper.updateByPrimaryKeySelective(scoreGoodsStyle);
                //规格
                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkuDtos();
                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkus();
                if(CollUtil.isNotEmpty(scoreGoodsSkuDtos)){
                    for(ScoreGoodsSkuDto scoreGoodsSkuDto : scoreGoodsSkuDtos){
                        ScoreGoodsSku scoreGoodsSku = objectMapper.convertValue(scoreGoodsSkuDto, ScoreGoodsSku.class);
gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
@@ -1,14 +1,29 @@
package com.xzx.gc.shop.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xzx.gc.entity.ScoreExpressInfo;
import com.xzx.gc.entity.ScoreGoodsStyle;
import com.xzx.gc.entity.ScoreOrder;
import com.xzx.gc.entity.ScoreOrderDetails;
import com.xzx.gc.shop.dto.DeliverGoodsDto;
import com.xzx.gc.shop.dto.InsureOrderDto;
import com.xzx.gc.shop.dto.QueryOrderListDto;
import com.xzx.gc.shop.mapper.ScoreExpressInfoMapper;
import com.xzx.gc.shop.mapper.ScoreOrderDetailsMapper;
import com.xzx.gc.shop.mapper.ScoreOrderMapper;
import com.xzx.gc.shop.vo.ExpressInfoVo;
import com.xzx.gc.shop.vo.QueryOrderListVo;
import com.xzx.gc.shop.vo.ViewOrderVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.Date;
@@ -23,6 +38,12 @@
    @Resource
    ScoreOrderMapper scoreOrderMapper;
    @Resource
    ScoreExpressInfoMapper scoreExpressInfoMapper;
    @Resource
    ScoreOrderDetailsMapper scoreOrderDetailsMapper;
    public Map<String, Object> queryOrderList(QueryOrderListDto model) {
        String name = model.getName();
@@ -41,4 +62,73 @@
        return map;
    }
    public ViewOrderVo viewOrder(Long id) {
        ViewOrderVo viewOrderVo = new ViewOrderVo();
        ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id);
        if(ObjectUtil.isNotEmpty(scoreOrder)){
            /**
             * 获取基本信息
             * 获取物流信息
             * 获取商品订单详情
             */
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            viewOrderVo = objectMapper.convertValue(scoreOrder, ViewOrderVo.class);
            //2-待收货3-已收货4-已完成5-已评价,获取物流信息
            Integer status = scoreOrder.getStatus() == null ? 0:scoreOrder.getStatus();
            if(ScoreOrder.STATUS_DOING == status
                    || ScoreOrder.STATUS_DONE == status
                    || ScoreOrder.STATUS_ON == status
                    || ScoreOrder.STATUS_EVALUATE == status){
                Example exampleExpress = new Example(ScoreExpressInfo.class);
                Example.Criteria criteriaExpress = exampleExpress.createCriteria();
                criteriaExpress.andEqualTo("orderId",id);
                ScoreExpressInfo scoreExpressInfo = scoreExpressInfoMapper.selectOneByExample(exampleExpress);
                ExpressInfoVo expressInfoVo = objectMapper.convertValue(scoreExpressInfo, ExpressInfoVo.class);
                viewOrderVo.setExpressInfoVo(expressInfoVo);
            }
            //订单详情
            Example exampleDetails = new Example(ScoreOrderDetails.class);
            Example.Criteria criteriaDetails = exampleDetails.createCriteria();
            criteriaDetails.andEqualTo("orderId",id);
            List<ScoreOrderDetails> scoreOrderDetails = scoreOrderDetailsMapper.selectByExample(exampleDetails);
            if(CollUtil.isNotEmpty(scoreOrderDetails)){
                viewOrderVo.setScoreOrderDetails(scoreOrderDetails);
            }
        }
        return viewOrderVo;
    }
    public Long deliverGoods(DeliverGoodsDto model) {
        /**
         * 获取物流表的信息
         * 更新物流信息
         * 更新订单状态
         */
        Long id = model.getId();
        Example exampleExpress = new Example(ScoreExpressInfo.class);
        Example.Criteria criteriaExpress = exampleExpress.createCriteria();
        criteriaExpress.andEqualTo("orderId",id);
        ScoreExpressInfo scoreExpressInfo = scoreExpressInfoMapper.selectOneByExample(exampleExpress);
        if(ObjectUtil.isNotEmpty(scoreExpressInfo)){
            scoreExpressInfo.setExpressNo(model.getExpressNo());
            scoreExpressInfo.setExpressCom(model.getExpressCom());
            scoreExpressInfoMapper.updateByPrimaryKeySelective(scoreExpressInfo);
            ScoreOrder scoreOrder = new ScoreOrder();
            scoreOrder.setId(id);
            scoreOrder.setStatus(ScoreOrder.STATUS_ON);
            scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder);
        }
        return scoreExpressInfo.getId();
    }
    public Long insureOrder(InsureOrderDto model) {
        ScoreOrder scoreOrder = new ScoreOrder();
        scoreOrder.setId(model.getId());
        scoreOrder.setVoucherImg(model.getVoucherImgs().toString());
        scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder);
        return scoreOrder.getId();
    }
}
gc-shop/src/main/java/com/xzx/gc/shop/vo/ExpressInfoVo.java
New file
@@ -0,0 +1,32 @@
package com.xzx.gc.shop.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "ViewOrderVo", description = "物流")
public class ExpressInfoVo {
    @ApiModelProperty(value="用户ID")
    private String userId;
    @ApiModelProperty(value="联系姓名")
    private String username;
    @ApiModelProperty(value="联系电话")
    private String phone;
    @ApiModelProperty(value="地址")
    private String address;
    @ApiModelProperty(value="快递单号")
    private String expressNo;
    @ApiModelProperty(value="物流公司")
    private String expressCom;
    @ApiModelProperty(value="订单ID")
    private Long orderId;
}
gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryOrderListVo.java
@@ -1,9 +1,29 @@
package com.xzx.gc.shop.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "QueryOrderListVo", description = "返回")
public class QueryOrderListVo {
    @ApiModelProperty(value="订单编号")
    private String orderNo;
    @ApiModelProperty(value="客户姓名")
    private String name;
    @ApiModelProperty(value="客户手机号")
    private String phone;
    @ApiModelProperty(value="下单时间")
    private String createdTime;
    @ApiModelProperty(value="订单总价")
    private String totalPrice;
    @ApiModelProperty(value="数量")
    private String cnt;
    @ApiModelProperty(value="状态 2-待收货3-已完成4-已取消")
    private String status;
    @ApiModelProperty(value="物流公司")
    private String expressCom;
    @ApiModelProperty(value="物流单号")
    private String expressNo;
}
gc-shop/src/main/java/com/xzx/gc/shop/vo/ScoreGoodsStyleVo.java
@@ -19,5 +19,5 @@
    private Long goodsId;
    @ApiModelProperty(value="积分商品规格")
    private List<ScoreGoodsSkuVo> scoreGoodsSkuVos;
    private List<ScoreGoodsSkuVo> scoreGoodsSkus;
}
gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewGoodsVo.java
@@ -72,7 +72,7 @@
    private List<String> goodsImages;
    @ApiModelProperty(value="积分商品样式")
    private List<ScoreGoodsStyleVo> scoreGoodsStyleVos;
    private List<ScoreGoodsStyleVo> scoreGoodsStyles;
    @ApiModelProperty(value="创建人")
    private String createdBy;
gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewOrderVo.java
New file
@@ -0,0 +1,52 @@
package com.xzx.gc.shop.vo;
import com.xzx.gc.entity.ScoreOrderDetails;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
@ApiModel(value = "ViewOrderVo", description = "订单")
public class ViewOrderVo {
    @ApiModelProperty(value="订单编号")
    private String orderNo;
    @ApiModelProperty(value="商品名称")
    private String goodsName;
    @ApiModelProperty(value="用户ID")
    private String userId;
    @ApiModelProperty(value="数量")
    private Integer cnt;
    @ApiModelProperty(value="总价")
    private BigDecimal totalPrice;
    @ApiModelProperty(value="凭证")
    private String voucherImg;
    /**
     * 2-待收货3-已完成4-已取消
     */
    @ApiModelProperty(value="状态 2-待收货3-已完成4-已取消")
    private Integer status;
    @ApiModelProperty(value="备注")
    private String remark;
    @ApiModelProperty(value="物流信息")
    private ExpressInfoVo expressInfoVo;
    @ApiModelProperty(value="订单详情信息")
    private List<ScoreOrderDetails> scoreOrderDetails;
}
gc-shop/src/main/resources/mapper/shop/ScoreExpressInfoMapper.xml
New file
@@ -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.xzx.gc.shop.mapper.ScoreExpressInfoMapper">
</mapper>
gc-shop/src/main/resources/mapper/shop/ScoreOrderDetailsMapper.xml
New file
@@ -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.xzx.gc.shop.mapper.ScoreOrderDetailsMapper">
</mapper>
gc-shop/src/main/resources/mapper/shop/ScoreOrderMapper.xml
@@ -4,13 +4,24 @@
    <select id="queryOrderList" resultType="com.xzx.gc.shop.vo.QueryOrderListVo">
        SELECT
               *
               a.*,
               b.name name,
               b.mobile_phone phone,
               d.express_com expressCom,
               d.express_no expressNo,
        FROM
        xzx_score_order a
        left join xzx_user_info b where b.user_id = a.user_id
--         left join xzx_score_order_details c where c.order_id = a.id
        left join xzx_score_express_info d where d.order_id = a.id
        WHERE 1 = 1
        <if test="orderNo != null and orderNo != ''">
            and a.order_no like concat('%',#{orderNo},'%')
        </if>
        <if test="name != null and name != ''">
            and b.name like concat('%',#{name},'%')
        </if>
        <if test="status != null and status != ''">
            and a.status = #{status}
        </if>
gc-shop/src/main/resources/sql
@@ -50,5 +50,10 @@
ADD COLUMN `category_id`  bigint(20) NULL COMMENT '分类ID' AFTER `price_range`,
ADD COLUMN `category_name`  varchar(100) NULL COMMENT '分类名称' AFTER `category_id`;
ALTER TABLE `xzx_score_order`
ADD COLUMN `voucher_img`  varchar(500) NULL COMMENT '凭证' AFTER `remark`;