From 93830dea1f05770281c1e4206d50ad549f2fdbe4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 23 Dec 2020 18:57:32 +0800
Subject: [PATCH] add order some interfaces
---
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java | 6
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 6
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 54 ++++++
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java | 92 ++++++++++
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailAchieveItemVo.java | 36 ++++
zq-erp/src/main/java/com/matrix/system/app/dto/BasePageDto.java | 38 ++++
zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java | 46 +++++
zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java | 19 +
zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailVo.java | 174 +++++++++++++++++++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 12 +
10 files changed, 481 insertions(+), 2 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
index a2027f2..9f8749b 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiOrderAction.java
+++ b/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}")
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/BasePageDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/BasePageDto.java
new file mode 100644
index 0000000..bab4e93
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/BasePageDto.java
@@ -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;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java
new file mode 100644
index 0000000..ede78d4
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/OrderListDto.java
@@ -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;
+ }
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailAchieveItemVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailAchieveItemVo.java
new file mode 100644
index 0000000..25e67d1
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailAchieveItemVo.java
@@ -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;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java
new file mode 100644
index 0000000..b9c801a
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailItemVo.java
@@ -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;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailVo.java
new file mode 100644
index 0000000..172951c
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/OrderDetailVo.java
@@ -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;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
index 42475ae..1010b93 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
+++ b/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);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index a283ccf..3fc886b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/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);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 5237787..d03e648 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/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);
+ }
}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
index 237c65c..1e7f288 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/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>
\ No newline at end of file
--
Gitblit v1.9.1