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>