From c1bcebc75e3a057ffe21c1c6e580e1f2cf1fbf79 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 12 Mar 2021 22:23:48 +0800
Subject: [PATCH] 推广订单查询接口

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/SaleOrderDto.java          |   27 +++++++++
 zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java      |    8 +-
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java              |   22 ++++---
 zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml         |   24 ++++++++
 zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java      |   13 ++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java               |   20 ++++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java |   18 ++++--
 7 files changed, 112 insertions(+), 20 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
index f7c8818..964e9ec 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
@@ -1,7 +1,12 @@
 package com.matrix.system.fenxiao.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.matrix.system.fenxiao.entity.ShopSalesmanOrder;
+import com.matrix.system.shopXcx.api.dto.SaleOrderDto;
+import com.matrix.system.shopXcx.vo.SalesOrderVo;
+import io.lettuce.core.dynamic.annotation.Param;
 
 /**
  * @description 分销订单
@@ -10,4 +15,12 @@
  */
 public interface ShopSalesmanOrderDao extends BaseMapper<ShopSalesmanOrder> {
 
+    /**
+     * 查询推广订单
+     * @param page
+     * @param saleOrderDto
+     * @return
+     */
+    IPage<SalesOrderVo> selectSalesManOrder(Page<SalesOrderVo> page, @Param("record") SaleOrderDto saleOrderDto);
+
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java
index cc1647c..761dd2a 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalesmanOrder.java
@@ -30,6 +30,10 @@
 	 * 分销单状态2已结算
 	 */
 	public static final Integer STATUS_YJS = 2;
+	/**
+	 * 分销单状态3已退款
+	 */
+	public static final Integer STATUS_YTK = 3;
 
 
 	@Extend
@@ -75,10 +79,8 @@
 	private Double  amount;
 	
 	/**
-	 * 结算状态
+	 * 结算状态 1,待结算,2,已结算,3已退款
 	 */
-
-
 	private Integer  orderStatus;
 	
 	/**
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java
index 94ee2bf..fd85c73 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesOrderAction.java
@@ -6,12 +6,13 @@
 import com.matrix.biz.dao.BizUserDao;
 import com.matrix.component.redis.RedisUserLoginUtils;
 import com.matrix.core.pojo.AjaxResult;
-import com.matrix.core.pojo.BasePageQueryDto;
+import com.matrix.core.tools.StringUtils;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
 import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
 import com.matrix.system.fenxiao.service.ShopSalesmanApplyService;
-import com.matrix.system.shopXcx.vo.SalesmanVo;
+import com.matrix.system.shopXcx.api.dto.SaleOrderDto;
+import com.matrix.system.shopXcx.vo.SalesOrderVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -54,12 +55,17 @@
     @ApiOperation(value = "获取下级列表", notes = "keywords=1 推广订单,keywords=2 邀请订单")
     @PostMapping(value = "/getOrderList")
     @ApiResponses({
-            @ApiResponse(code = 200, message = "ok", response = SalesmanVo.class)
+            @ApiResponse(code = 200, message = "ok", response = SalesOrderVo.class)
     })
-    AjaxResult getInvitationuserList(@RequestBody BasePageQueryDto pageDto) {
+    AjaxResult getInvitationuserList(@RequestBody SaleOrderDto saleOrderDto) {
         BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        Page<SalesmanVo> page=new Page<>(pageDto.getPageNum(),pageDto.getPageSize());
-        IPage<SalesmanVo> shopSalesmanApplyIPage = salesmanApplyDao.selectInvitationuserInPage(page, loginUser.getOpenId(),pageDto.getKeywords());
+        Page<SalesOrderVo> page=new Page<>(saleOrderDto.getPageNum(),saleOrderDto.getPageSize());
+        if(StringUtils.isNotBlank(saleOrderDto.getSort())){
+            saleOrderDto.setSort("create_time");
+            saleOrderDto.setOrder("desc");
+        }
+        saleOrderDto.setUserId(loginUser.getOpenId());
+        IPage<SalesOrderVo> shopSalesmanApplyIPage = shopSalesmanOrderDao.selectSalesManOrder(page,  saleOrderDto);
         AjaxResult result=AjaxResult.buildSuccessInstance(shopSalesmanApplyIPage.getRecords());
         return result;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/SaleOrderDto.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/SaleOrderDto.java
new file mode 100644
index 0000000..65b23ef
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/SaleOrderDto.java
@@ -0,0 +1,27 @@
+package com.matrix.system.shopXcx.api.dto;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "SaleOrderDto", description = "分销订单查询参数接收类")
+public class SaleOrderDto extends BasePageQueryDto {
+
+    @NotNull(message = "订单类型不能为空")
+    @ApiModelProperty(value = "订单类型1推广订单,2邀请订单", example = "1")
+    private Integer revenueType;
+
+
+    @ApiModelProperty(value = "结算状态1,待结算,2,已结算,3已退款", example = "1")
+    private Integer  orderStatus;
+
+    @ApiModelProperty(hidden = true)
+    private String  userId;
+
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
index a61c024..fd5b64f 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/OrderTask.java
@@ -322,19 +322,21 @@
                     orderTotal+=item.getTotalPrice().doubleValue();
                 }
             }
-            //整体的优惠金额折算成折扣,* 佣金
-            zk=order.getOrderMoney().doubleValue()/orderTotal;
+            if(salesAmount>0){
+                //整体的优惠金额折算成折扣,* 佣金
+                zk=order.getOrderMoney().doubleValue()/orderTotal;
+                salesAmount=salesAmount*zk;
+                salesmanOrder.setAmount(salesAmount);
+                shopSalesmanOrderDao.insert(salesmanOrder);
 
-            salesAmount=salesAmount*zk;
-            salesmanOrder.setAmount(salesAmount);
-            shopSalesmanOrderDao.insert(salesmanOrder);
-
-            if(hasInvitationMan){
-                invitationAmount=invitationAmount*zk;
-                invitationOrder.setAmount(invitationAmount);
-                shopSalesmanOrderDao.insert(invitationOrder);
+                if(hasInvitationMan){
+                    invitationAmount=invitationAmount*zk;
+                    invitationOrder.setAmount(invitationAmount);
+                    shopSalesmanOrderDao.insert(invitationOrder);
+                }
             }
 
+
         }else{
             LogUtil.debug("不存在父级userOpid={}",bizUser.getOpenId());
         }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java
index 794706e..8e837b5 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesOrderVo.java
@@ -15,12 +15,30 @@
     @ApiModelProperty(value = "订单id")
     private Long  orderId ;
 
-
     @ApiModelProperty(value = "创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
+    @ApiModelProperty(value = "昵称")
+    private String nickName;
 
+    @ApiModelProperty(value = "头像")
+    private String avatarUrl;
+
+    @ApiModelProperty(value = "订单编号")
+    private String  orderNo;
+
+    @ApiModelProperty(value = "收益金额")
+    private Double  amount;
+
+    @ApiModelProperty(value = "订单金额")
+    private Double  orderMoney;
+
+    @ApiModelProperty(value = " 收益类型1,推广收益,2邀请收益")
+    private Integer  revenueType;
+
+    @ApiModelProperty(value = " 结算状态1,待结算,2,已结算,3已退款")
+    private Integer  orderStatus;
 
 
 
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
index 1eba144..be1fdff 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
@@ -38,4 +38,28 @@
 			<result property="companyId" column="company_id" />
 	</resultMap>
 
+    <select id="selectSalesManOrder" resultType="com.matrix.system.shopXcx.vo.SalesOrderVo">
+		select
+			a.order_id,
+			a.create_time,
+			a.amount,
+			a.revenue_type,
+			a.order_status,
+			b.nick_name,
+			b.avatar_url,
+			c.order_no,
+			c.order_money
+		from shop_salesman_order a
+				 left join biz_user b on b.open_id=a.user_id
+				 left join shop_order c on a.order_id=c.id
+		where
+			a.sales_user_id=#{record.userId}
+			and	a.revenue_type=#{record.revenueType}
+		<if test="orderStatus!=null" >
+			and a.order_status=#{record.orderStatus}
+		</if>
+		order by #{record.sort} #{record.order}
+
+	</select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1