Helius
2020-12-23 93830dea1f05770281c1e4206d50ad549f2fdbe4
add order some interfaces
5 files added
5 files modified
483 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java 19 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/dto/BasePageDto.java 38 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java 46 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailAchieveItemVo.java 36 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java 92 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailVo.java 174 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java 6 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java 6 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml 54 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
@@ -2,10 +2,13 @@
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.CreateOderItemDto;
import com.matrix.system.app.dto.CreateOrderDto;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.dto.ShoppingGoodsListDto;
import com.matrix.system.app.vo.OrderDetailVo;
import com.matrix.system.app.vo.ShoppingGoodsListVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.hive.bean.ShoppingGoodsCategory;
@@ -97,9 +100,21 @@
        return AjaxResult.buildFailInstance("下单失败");
    }
    @ApiOperation(value = "获取订单列表", notes = "获取订单列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = OrderDetailVo.class)
    })
    @PostMapping(value = "/findOrderList")
    public AjaxResult findOrderList() {
        return null;
    public AjaxResult findOrderList(@RequestBody @Validated OrderListDto orderListDto) {
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        int offset = (orderListDto.getPageNum() - 1) * orderListDto.getPageSize();
        int limit = orderListDto.getPageSize();
        PaginationVO pageVo = new PaginationVO();
        pageVo.setOffset(offset);
        pageVo.setLimit(limit);
        orderListDto.setShopId(user.getShopId());
        return AjaxResult.buildSuccessInstance(sysOrderService.findApiOrderListInPage(orderListDto, pageVo), sysOrderService.findApiOrderListTotal(orderListDto));
    }
    @GetMapping(value = "/findOrderDetail/{orderId}")
zq-erp/src/main/java/com/matrix/system/app/dto/BasePageDto.java
New file
@@ -0,0 +1,38 @@
package com.matrix.system.app.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
/**
 * @author wzy
 * @date 2020-12-23
 **/
@ApiModel(value = "BasePageDto", description = "基础分页参数接收类")
public class BasePageDto {
    @NotNull(message = "参数不能为空")
    @ApiModelProperty(value = "第几页")
    private Integer pageNum;
    @NotNull(message = "参数不能为空")
    @ApiModelProperty(value ="数量")
    private Integer pageSize;
    public Integer getPageNum() {
        return pageNum;
    }
    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }
    public Integer getPageSize() {
        return pageSize;
    }
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
}
zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java
New file
@@ -0,0 +1,46 @@
package com.matrix.system.app.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * @author wzy
 * @date 2020-12-23
 **/
@ApiModel(value = "OrderListDto", description = "订单列表接收参数类")
public class OrderListDto extends BasePageDto {
    @ApiModelProperty(value = "订单状态", example = "已付款 全部默认传空字符串")
    private String status;
    @ApiModelProperty(value = "查询字段")
    private String queryKey;
    @ApiModelProperty(hidden = true)
    private Long shopId;
    public Long getShopId() {
        return shopId;
    }
    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getQueryKey() {
        return queryKey;
    }
    public void setQueryKey(String queryKey) {
        this.queryKey = queryKey;
    }
}
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailAchieveItemVo.java
New file
@@ -0,0 +1,36 @@
package com.matrix.system.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
/**
 * @author wzy
 * @date 2020-12-23
 **/
@ApiModel(value = "OrderDetailAchieveItemVo", description = "订单明细业绩返回参数类")
public class OrderDetailAchieveItemVo {
    @ApiModelProperty(value = "姓名")
    private String name;
    @ApiModelProperty(value = "业绩")
    private BigDecimal achieve;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public BigDecimal getAchieve() {
        return achieve;
    }
    public void setAchieve(BigDecimal achieve) {
        this.achieve = achieve;
    }
}
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java
New file
@@ -0,0 +1,92 @@
package com.matrix.system.app.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.List;
/**
 * @author wzy
 * @date 2020-12-23
 **/
@ApiModel(value = "OrderDetailItemVo", description = "订单详情明细表")
public class OrderDetailItemVo {
    @ApiModelProperty(value = "商品名称")
    private String goodsName;
    @ApiModelProperty(value = "数量")
    private String count;
    @ApiModelProperty(value = "现金支付")
    private BigDecimal cashPay;
    @ApiModelProperty(value = "储值卡支付")
    private BigDecimal cardPay;
    @ApiModelProperty(value = "原价")
    private BigDecimal price;
    @ApiModelProperty(value = "折扣价格")
    private BigDecimal zkPrice;
    @ApiModelProperty(value = "订单业绩")
    private List<OrderDetailAchieveItemVo> achieves;
    public List<OrderDetailAchieveItemVo> getAchieves() {
        return achieves;
    }
    public void setAchieves(List<OrderDetailAchieveItemVo> achieves) {
        this.achieves = achieves;
    }
    public String getGoodsName() {
        return goodsName;
    }
    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }
    public String getCount() {
        return count;
    }
    public void setCount(String count) {
        this.count = count;
    }
    public BigDecimal getCashPay() {
        return cashPay;
    }
    public void setCashPay(BigDecimal cashPay) {
        this.cashPay = cashPay;
    }
    public BigDecimal getCardPay() {
        return cardPay;
    }
    public void setCardPay(BigDecimal cardPay) {
        this.cardPay = cardPay;
    }
    public BigDecimal getPrice() {
        return price;
    }
    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    public BigDecimal getZkPrice() {
        return zkPrice;
    }
    public void setZkPrice(BigDecimal zkPrice) {
        this.zkPrice = zkPrice;
    }
}
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailVo.java
New file
@@ -0,0 +1,174 @@
package com.matrix.system.app.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.matrix.core.tools.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author wzy
 * @date 2020-12-23
 **/
@ApiModel(value = "OrderDetailVo", description = "订单详情返回参数类")
public class OrderDetailVo {
    @ApiModelProperty(value = "订单ID")
    private String orderId;
    @ApiModelProperty(value = "会员姓名")
    private String vipName;
    @ApiModelProperty(value = "会员手机号")
    private String phone;
    @ApiModelProperty(value = "订单号")
    private String orderNo;
    @ApiModelProperty(value = "顾问姓名")
    private String staffName;
    @ApiModelProperty(value = "现金支付金额")
    private BigDecimal cashPay;
    @ApiModelProperty(value = "储值卡支付金额")
    private BigDecimal cardPay;
    @ApiModelProperty(value = "应付金额")
    private BigDecimal needPay;
    @ApiModelProperty(value = "实付金额")
    private BigDecimal realPay;
    @ApiModelProperty(value = "优惠金额")
    private BigDecimal discount;
    @ApiModelProperty(value = "订单明细")
    private List<OrderDetailItemVo> items;
    @ApiModelProperty(value = "订单状态")
    private String orderStatus;
    @ApiModelProperty(value = "欠款")
    private BigDecimal arrears;
    @JsonFormat(pattern = DateUtil.DATE_FORMAT_SS)
    @ApiModelProperty(value = "下单时间")
    private Date orderTime;
    public Date getOrderTime() {
        return orderTime;
    }
    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }
    public String getOrderId() {
        return orderId;
    }
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }
    public BigDecimal getArrears() {
        return arrears;
    }
    public void setArrears(BigDecimal arrears) {
        this.arrears = arrears;
    }
    public String getOrderStatus() {
        return orderStatus;
    }
    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }
    public List<OrderDetailItemVo> getItems() {
        return items;
    }
    public void setItems(List<OrderDetailItemVo> items) {
        this.items = items;
    }
    public String getVipName() {
        return vipName;
    }
    public void setVipName(String vipName) {
        this.vipName = vipName;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getOrderNo() {
        return orderNo;
    }
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
    public String getStaffName() {
        return staffName;
    }
    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }
    public BigDecimal getCashPay() {
        return cashPay;
    }
    public void setCashPay(BigDecimal cashPay) {
        this.cashPay = cashPay;
    }
    public BigDecimal getCardPay() {
        return cardPay;
    }
    public void setCardPay(BigDecimal cardPay) {
        this.cardPay = cardPay;
    }
    public BigDecimal getNeedPay() {
        return needPay;
    }
    public void setNeedPay(BigDecimal needPay) {
        this.needPay = needPay;
    }
    public BigDecimal getRealPay() {
        return realPay;
    }
    public void setRealPay(BigDecimal realPay) {
        this.realPay = realPay;
    }
    public BigDecimal getDiscount() {
        return discount;
    }
    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }
}
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
@@ -1,6 +1,8 @@
package com.matrix.system.hive.dao;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.vo.OrderDetailVo;
import com.matrix.system.hive.bean.SysOrder;
import org.apache.ibatis.annotations.Param;
@@ -35,4 +37,8 @@
    public void updateOrderTime(@Param("orderTime") Date orderTime, @Param("id") Long id);
    SysOrder selectVipOrderInfoTotal(@Param("vipId") Long vipId);
    List<OrderDetailVo> selectApiOrderListInPage(@Param("record") OrderListDto orderListDto, @Param("pageVo") PaginationVO pageVo);
    int selectApiOrderListTotal(@Param("record") OrderListDto orderListDto);
}
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -2,6 +2,8 @@
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.vo.OrderDetailVo;
import com.matrix.system.hive.bean.SysOrder;
import com.matrix.system.hive.plugin.util.BaseServices;
import com.matrix.system.hive.pojo.CzXkVo;
@@ -128,4 +130,8 @@
    SysOrder checkAndSaveOrder(SysOrder sysOrder);
    SysOrder findSysOrderTjByVipId(Long vipId);
    List<OrderDetailVo> findApiOrderListInPage(OrderListDto orderListDto, PaginationVO pageVo);
    int findApiOrderListTotal(OrderListDto orderListDto);
}
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -6,6 +6,8 @@
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.vo.OrderDetailVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.dao.SysUsersDao;
@@ -1213,4 +1215,14 @@
    public SysOrder findSysOrderTjByVipId(Long vipId) {
        return sysOrderDao.selectVipOrderInfoTotal(vipId);
    }
    @Override
    public List<OrderDetailVo> findApiOrderListInPage(OrderListDto orderListDto, PaginationVO pageVo) {
        return sysOrderDao.selectApiOrderListInPage(orderListDto, pageVo);
    }
    @Override
    public int findApiOrderListTotal(OrderListDto orderListDto) {
        return sysOrderDao.selectApiOrderListTotal(orderListDto);
    }
}
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -475,4 +475,58 @@
        left join sys_shop_info t2 on t1.SHOP_ID=t2.ID
        where VIP_ID=#{vipId} and STATU='已付款';
    </select>
    <select id="selectApiOrderListInPage" resultType="com.matrix.system.app.vo.OrderDetailVo">
        select
           a.id orderId,
           a.ORDER_NO orderNo,
           a.ORDER_TIME orderTime,
           a.STATU orderStatus,
           a.ZK_TOTAL needPay,
           (a.card_Pay + a.cash_Pay) realPay,
           a.arrears arrears,
           b.su_name staffName,
           c.VIP_NAME vipName,
           c.PHONE phone
        from sys_order a
        left join sys_users b on a.STAFF_ID = b.su_id
        left join sys_vip_info c on c.id = a.VIP_ID
        <where>
            <if test="record.queryKey != null and record.queryKey != ''">
                and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
            </if>
            <if test="record.status != null and record.status != ''">
                and a.statu = #{record.status}
            </if>
            <if test="record.shopId != null">
                and a.shop_id=#{record.shopId}
            </if>
        </where>
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
            order by a.order_time desc
            <if test="pageVo.offset >=0  and pageVo.limit >0">
                limit
                #{pageVo.offset},#{pageVo.limit}
            </if>
        </if>
    </select>
    <select id="selectApiOrderListTotal" resultType="java.lang.Integer">
        select
            count(1)
        from sys_order a
        left join sys_users b on a.STAFF_ID = b.su_id
        left join sys_vip_info c on c.id = a.VIP_ID
        <where>
            <if test="record.queryKey != null and record.queryKey != ''">
                and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
            </if>
            <if test="record.status != null and record.status != ''">
                and a.statu = #{record.status}
            </if>
            <if test="record.shopId != null">
                and a.shop_id=#{record.shopId}
            </if>
        </where>
    </select>
</mapper>