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