소스 검색

经销商交易额计入预付票金额

cup 2 년 전
부모
커밋
2008a2bf3c

+ 15 - 6
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/IndexMgrController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.qs.mp.admin.domain.param.IndexQueryParam;
 import com.qs.mp.admin.domain.param.IndexTicketBoxTopQueryParam;
+import com.qs.mp.admin.domain.param.IndexTicketSiteTopQueryParam;
 import com.qs.mp.admin.domain.vo.IndexVO;
 import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.ChannelOrder;
@@ -753,11 +754,11 @@ public class IndexMgrController extends BaseApiController {
 
 		IndexQueryParam queryParam = getQueryParam(indeQueryParam);
 		List<IndexVO> list = new ArrayList<IndexVO>();
-		QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
-		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.created_time", queryParam.getStartTime());
-		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.created_time", queryParam.getEndTime());
-		queryWrapper.gt("t1.`status`", 0);
-		queryWrapper.isNotNull("t1.channel_id");
+//		QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
+//		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.created_time", queryParam.getStartTime());
+//		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.created_time", queryParam.getEndTime());
+//		queryWrapper.gt("t1.`status`", 0);
+//		queryWrapper.isNotNull("t1.channel_id");
 
 //		Long channelId = SecurityUtils.getLoginUser().getChannelId();
 //		if(null != channelId && 0 != channelId) {
@@ -769,7 +770,15 @@ public class IndexMgrController extends BaseApiController {
 //			}
 //		}
 
-		list = userTicketOrderService.selectIndexTicketSiteTop(queryWrapper);
+		IndexTicketSiteTopQueryParam indexTicketSiteTopQueryParam = new IndexTicketSiteTopQueryParam();
+		indexTicketSiteTopQueryParam.setStartTime(queryParam.getStartTime());
+		indexTicketSiteTopQueryParam.setEndTime(queryParam.getEndTime());
+		indexTicketSiteTopQueryParam.setTicketOrderStatus(0);
+		indexTicketSiteTopQueryParam.setChannelOrderStatus(0);
+		indexTicketSiteTopQueryParam.setChannelOrderType(1);
+		list = userTicketOrderService.selectIndexTicketSiteTopByTicketOrderAndChannelOrder(indexTicketSiteTopQueryParam);
+
+//		list = userTicketOrderService.selectIndexTicketSiteTop(queryWrapper);
 		List<Map<String,Object>> mapList = new ArrayList<>();
 		if(null != list && list.size() > 0) {
 			for(IndexVO indexVo : list) {

+ 31 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/IndexTicketSiteTopQueryParam.java

@@ -0,0 +1,31 @@
+package com.qs.mp.admin.domain.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Cup
+ * @date 2022/6/9
+ */
+@ApiModel("后台首页经销商盲票销售统计查询入参类")
+@Data
+public class IndexTicketSiteTopQueryParam {
+
+    @ApiModelProperty(value = "自定义开始时间",required=false)
+    private Date startTime;
+
+    @ApiModelProperty(value = "自定义截止时间",required=false)
+    private Date endTime;
+
+    @ApiModelProperty("盲票订单状态")
+    private Integer ticketOrderStatus;
+
+    @ApiModelProperty("经销商订单状态")
+    private Integer channelOrderStatus;
+
+    @ApiModelProperty("经销商订单类型")
+    private Integer channelOrderType;
+}

+ 9 - 0
mp-service/src/main/java/com/qs/mp/user/mapper/UserTicketOrderMapper.java

@@ -2,6 +2,7 @@ package com.qs.mp.user.mapper;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.param.IndexTicketBoxTopQueryParam;
+import com.qs.mp.admin.domain.param.IndexTicketSiteTopQueryParam;
 import com.qs.mp.admin.domain.vo.IndexVO;
 import com.qs.mp.admin.domain.vo.TicketCntVO;
 import com.qs.mp.admin.domain.vo.UserTicketOrderDetailVO;
@@ -109,4 +110,12 @@ public interface UserTicketOrderMapper extends BaseMapper<UserTicketOrder> {
 	 * @return
 	 */
     List<IndexVO> selectIndexTicketBoxTopByTicketOrderAndChannelOrder(@Param("param") IndexTicketBoxTopQueryParam indexTicketBoxTopQueryParam );
+
+	/**
+	 * 统计经销商交易额
+	 * @param indexTicketSiteTopQueryParam
+	 * @return
+	 */
+    List<IndexVO> selectIndexTicketSiteTopByTicketOrderAndChannelOrder(@Param("param") IndexTicketSiteTopQueryParam indexTicketSiteTopQueryParam);
+
 }

+ 8 - 0
mp-service/src/main/java/com/qs/mp/user/service/IUserTicketOrderService.java

@@ -2,6 +2,7 @@ package com.qs.mp.user.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.param.IndexTicketBoxTopQueryParam;
+import com.qs.mp.admin.domain.param.IndexTicketSiteTopQueryParam;
 import com.qs.mp.admin.domain.param.UserTicketOrderQueryParam;
 import com.qs.mp.admin.domain.vo.IndexVO;
 import com.qs.mp.admin.domain.vo.TicketCntVO;
@@ -165,4 +166,11 @@ public interface IUserTicketOrderService extends IService<UserTicketOrder> {
      * @return
      */
     List<IndexVO> selectIndexTicketBoxTopByTicketOrderAndChannelOrder(IndexTicketBoxTopQueryParam indexTicketBoxTopQueryParam );
+
+    /**
+     * 统计经销商交易额
+     * @param indexTicketSiteTopQueryParam
+     * @return
+     */
+    List<IndexVO> selectIndexTicketSiteTopByTicketOrderAndChannelOrder(IndexTicketSiteTopQueryParam indexTicketSiteTopQueryParam);
 }

+ 6 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -10,6 +10,7 @@ import com.qs.mp.admin.domain.Ticket;
 import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.domain.TicketPackage;
 import com.qs.mp.admin.domain.param.IndexTicketBoxTopQueryParam;
+import com.qs.mp.admin.domain.param.IndexTicketSiteTopQueryParam;
 import com.qs.mp.admin.domain.param.UserTicketOrderQueryParam;
 import com.qs.mp.admin.domain.vo.*;
 import com.qs.mp.admin.service.ITicketBoxService;
@@ -574,6 +575,11 @@ public class UserTicketOrderServiceImpl extends
     return getBaseMapper().selectIndexTicketBoxTopByTicketOrderAndChannelOrder(indexTicketBoxTopQueryParam);
   }
 
+  @Override
+  public List<IndexVO> selectIndexTicketSiteTopByTicketOrderAndChannelOrder(IndexTicketSiteTopQueryParam indexTicketSiteTopQueryParam) {
+    return getBaseMapper().selectIndexTicketSiteTopByTicketOrderAndChannelOrder(indexTicketSiteTopQueryParam);
+  }
+
   @Override
   public UserTicketOrderDetailVO detail(String orderId) {
     QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();

+ 26 - 0
mp-service/src/main/resources/mapper/user/UserTicketOrderMapper.xml

@@ -208,4 +208,30 @@
 		ORDER BY payAmt DESC
 		limit 10
 	</select>
+
+    <select id="selectIndexTicketSiteTopByTicketOrderAndChannelOrder" resultType="com.qs.mp.admin.domain.vo.IndexVO">
+		select SUM(a.pay_amt) as payAmt, b.`name`
+		from
+			(select t1.channel_id,
+					SUM(t1.pay_amt) AS pay_amt
+			 from mp_user_ticket_order t1
+			 where t1.created_time between #{param.startTime} and #{param.endTime}
+			   and t1.status > #{param.ticketOrderStatus}
+			   and t1.channel_id is not null
+			 GROUP BY t1.channel_id
+
+			 union
+
+			 select a1.channel_id,
+					SUM(a1.pay_amt) as pay_amt
+			 from mp_channel_order a1
+			 where a1.created_time between #{param.startTime} and #{param.endTime}
+			   and a1.status > #{param.channelOrderStatus}
+			   and a1.type > #{param.channelOrderType}
+			 group by a1.channel_id) a
+				left join mp_channel b on a.channel_id = b.channel_id
+		group by a.channel_id,b.name
+		order by payAmt desc
+		limit 10;
+	</select>
 </mapper>