Răsfoiți Sursa

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!339
zhong chunping 3 ani în urmă
părinte
comite
d1df65beba

+ 12 - 4
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ChannelMgrController.java

@@ -20,6 +20,7 @@ import com.qs.mp.common.enums.ChannelRoleEnum;
 import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.service.ISysUserService;
+import com.qs.mp.user.service.IUserTicketOrderService;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -62,6 +63,9 @@ public class ChannelMgrController extends BaseApiController {
 
 	@Autowired
 	private IChannelOrderService channelOrderService;
+	
+	@Autowired
+	private IUserTicketOrderService userTicketOrderService;
 
 	@Autowired
 	private ISysUserService userService;
@@ -346,10 +350,14 @@ public class ChannelMgrController extends BaseApiController {
 		}
 	    // 查询渠道销售额、佣金收入、订单数等
 	    ChannelOperDataVO channelOperDataVO = channelService.getChannelTotalOperData(channelVO.getChannelNo());
-		LambdaQueryWrapper<ChannelOrder> queryWrapper = new LambdaQueryWrapper<ChannelOrder>();
-		queryWrapper.eq(ChannelOrder::getChannelId, channelId);
-		int orderCnt = channelOrderService.count(queryWrapper);
-		channelOperDataVO.setOrderCnt(orderCnt);
+		// LambdaQueryWrapper<ChannelOrder> queryWrapper = new LambdaQueryWrapper<ChannelOrder>();
+		//queryWrapper.eq(ChannelOrder::getChannelId, channelId);
+		//int orderCnt = channelOrderService.count(queryWrapper);
+		//channelOperDataVO.setOrderCnt(orderCnt);
+		
+		// 盲票销量
+		int ticketSaleCnt = userTicketOrderService.getChannelTotalTicketNumCnt(channelVO.getChannelNo());
+		channelOperDataVO.setTicketSaleCnt(ticketSaleCnt);
 	    channelVO.setOperData(channelOperDataVO);
 		return AjaxResult.success(channelVO);
 	}

+ 9 - 8
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/IndexMgrController.java

@@ -8,6 +8,7 @@ import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.utils.DateUtils;
 import com.qs.mp.user.domain.UserDeliverOrder;
+import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.service.IUserTicketOrderService;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
@@ -58,7 +59,7 @@ public class IndexMgrController extends BaseApiController {
 		IndexQueryParam queryParam = getQueryParam(indeQueryParam);
 		
 		List<IndexVO> list = new ArrayList<IndexVO>();
-		QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<>();
+		QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
 		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getStartTime());
 		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getEndTime());
 		queryWrapper.gt("t1.`status`", 0);
@@ -181,7 +182,7 @@ public class IndexMgrController extends BaseApiController {
 		IndexQueryParam queryParam = getQueryParam(indeQueryParam);
 		
 		List<IndexVO> list = new ArrayList<IndexVO>();
-		QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<>();
+		QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
 		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getStartTime());
 		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getEndTime());
 		queryWrapper.gt("t1.`status`", 0);
@@ -300,18 +301,18 @@ public class IndexMgrController extends BaseApiController {
 	 */
 	private IndexQueryParam getQueryParam(IndexQueryParam indeQueryParam) {
 		IndexQueryParam queryParam = new IndexQueryParam();
-		queryParam.setDays(null != indeQueryParam && null != indeQueryParam.getDays()?indeQueryParam.getDays():7);
+		queryParam.setDays(null != indeQueryParam && null != indeQueryParam.getDays()?indeQueryParam.getDays(): 7);
 		queryParam.setLevel(null != indeQueryParam && StringUtils.isNotBlank(indeQueryParam.getLevel())?indeQueryParam.getLevel():"day");
 		if(queryParam.getDays() == 0) { // 自定义
 			if(null != indeQueryParam.getStartTime() && null != indeQueryParam.getEndTime()) {
 				queryParam.setStartTime(indeQueryParam.getStartTime());
 				queryParam.setEndTime(indeQueryParam.getEndTime());
 			}else {
-				queryParam.setStartTime(DateUtils.getPreDayOfNowZero(7));
+				queryParam.setStartTime(DateUtils.getPreDayOfNowZero(6));
 				queryParam.setEndTime(new Date());
 			}
 		}else {
-			queryParam.setStartTime(DateUtils.getPreDayOfNowZero(queryParam.getDays()));
+			queryParam.setStartTime(DateUtils.getPreDayOfNowZero(queryParam.getDays() - 1));
 			queryParam.setEndTime(new Date());
 		}
 		return queryParam;
@@ -457,7 +458,7 @@ public class IndexMgrController extends BaseApiController {
 		List<IndexVO> list = new ArrayList<IndexVO>();
 		List<IndexVO> siteList = new ArrayList<IndexVO>();
 		
-		QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<>();
+		QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
 		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getStartTime());
 		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getEndTime());
 		queryWrapper.gt("t1.`status`", 0);
@@ -563,7 +564,7 @@ public class IndexMgrController extends BaseApiController {
 		
 		IndexQueryParam queryParam = getQueryParam(indeQueryParam);
 		List<IndexVO> list = new ArrayList<IndexVO>();
-		QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<>();
+		QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
 		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getStartTime());
 		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getEndTime());
 		queryWrapper.gt("t1.`status`", 0);
@@ -606,7 +607,7 @@ public class IndexMgrController extends BaseApiController {
 		
 		IndexQueryParam queryParam = getQueryParam(indeQueryParam);
 		List<IndexVO> list = new ArrayList<IndexVO>();
-		QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<>();
+		QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
 		queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getStartTime());
 		queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "DATE_FORMAT(t1.created_time, '%Y-%m-%d')", queryParam.getEndTime());
 		queryWrapper.gt("t1.`status`", 0);

+ 15 - 4
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/SaleSiteMgrController.java

@@ -23,8 +23,11 @@ import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.enums.BusinessType;
 import com.qs.mp.common.enums.ChannelRoleEnum;
 import com.qs.mp.common.enums.ErrorCodeEnum;
+import com.qs.mp.common.enums.UserTicketOrderStatusEnum;
 import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.service.ISysUserService;
+import com.qs.mp.user.domain.UserTicketOrder;
+import com.qs.mp.user.service.IUserTicketOrderService;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -65,6 +68,9 @@ public class SaleSiteMgrController extends BaseApiController {
 
 	@Autowired
 	private IChannelOrderService channelOrderService;
+	
+	@Autowired
+	private IUserTicketOrderService userTicketOrderService;
 
 	@Autowired
 	private ISysUserService userService;
@@ -354,10 +360,15 @@ public class SaleSiteMgrController extends BaseApiController {
 		}
 	    // 查询经销商销售额、佣金收入、订单数等
 	    ChannelOperDataVO channelOperDataVO = channelService.getChannelTotalOperData(channelVO.getChannelNo());
-		LambdaQueryWrapper<ChannelOrder> queryWrapper = new LambdaQueryWrapper<ChannelOrder>();
-		queryWrapper.eq(ChannelOrder::getChannelId, channelId);
-		int orderCnt = channelOrderService.count(queryWrapper);
-		channelOperDataVO.setOrderCnt(orderCnt);
+		// LambdaQueryWrapper<ChannelOrder> queryWrapper = new LambdaQueryWrapper<ChannelOrder>();
+		// queryWrapper.eq(ChannelOrder::getChannelId, channelId);
+//		int orderCnt = channelOrderService.count(queryWrapper);
+//		channelOperDataVO.setOrderCnt(orderCnt);
+		
+		// 盲票销售张数
+		int ticketSaleCnt = userTicketOrderService.getSaleSiteTotalTicketNumCnt(channelVO.getChannelId());
+		channelOperDataVO.setTicketSaleCnt(ticketSaleCnt);
+		
 	    channelVO.setOperData(channelOperDataVO);
 		return AjaxResult.success(channelVO);
 	}

+ 10 - 9
mp-common/src/main/java/com/qs/mp/common/utils/DateUtils.java

@@ -254,7 +254,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
  		try {
 			Calendar c = Calendar.getInstance();
 		   	c.setFirstDayOfWeek(Calendar.MONDAY); 
-		   	c.add(Calendar.DATE, - (days - 1));
+		   	c.add(Calendar.DATE, - days);
 		   	return c.getTime(); 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -270,7 +270,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
   		try {
 			Calendar c = Calendar.getInstance();
 		   	c.setFirstDayOfWeek(Calendar.MONDAY); 
-		   	c.add(Calendar.DATE, - (days - 1));
+		   	c.add(Calendar.DATE, - days);
 		   	c.set(Calendar.HOUR_OF_DAY, 0);
 		   	c.set(Calendar.MINUTE, 0);
 		   	c.set(Calendar.SECOND, 0);
@@ -310,12 +310,12 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
             System.out.println("currentWeekOfYear_e == " +endWeekOfYear);
               
             int j = 12;  
-            for (int i=0; i < endWeekOfYear; i++) {  
+            for (int i=0; i < endWeekOfYear + 53; i++) {  
             	
             	 //只取两个日期之间的周  
-                if(startWeekOfYear > endWeekOfYear - i){  
-                    break;  
-                }  
+//                if(startWeekOfYear > endWeekOfYear - i){  
+//                    break;  
+//                }  
                 int dayOfWeek = endCalendar.get(Calendar.DAY_OF_WEEK) - 2;  
                 
                 System.out.println("dayOfWeek == " +dayOfWeek);
@@ -539,12 +539,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
 //      list.forEach(i ->
 //              System.out.println(i)
 //      );
-//    	DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
-//        String start_time = "2022-02-01";
-//		String end_time = "2022-05-30";
+    	DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+//        String start_time = "2021-01-01";
+//		String end_time = "2022-01-30";
 //		List<Map<String,Object>> lsit = getDateOfWeek(dateFormat.parse(start_time), dateFormat.parse(end_time));  
 //		System.out.println(JSON.toJSONString(lsit));
 		
+		System.out.println(dateFormat.format(getPreDayOfNowZero(2)));
 		
 //		List<String> monthList = addMonths(dateFormat.parse(start_time), dateFormat.parse(end_time));
 //		System.out.println(JSON.toJSONString(monthList));

+ 3 - 1
mp-service/src/main/java/com/qs/mp/channel/domain/vo/ChannelOperDataVO.java

@@ -14,5 +14,7 @@ public class ChannelOperDataVO {
   long newUserCnt; // 新增用户数
   String name; // 渠道名称
   String mobile; // 手机号
-  int orderCnt; // 新增用户数
+  int orderCnt; // 订单数
+  
+  long ticketSaleCnt; // 盲票销量
 }

+ 20 - 5
mp-service/src/main/java/com/qs/mp/user/mapper/UserTicketOrderMapper.java

@@ -24,33 +24,48 @@ public interface UserTicketOrderMapper extends BaseMapper<UserTicketOrder> {
 	   * @param wrapper
 	   * @return
 	   */
-	  List<IndexVO> selectIndexPayAmtList(@Param(Constants.WRAPPER) Wrapper<UserDeliverOrder> wrapper);
+	  List<IndexVO> selectIndexPayAmtList(@Param(Constants.WRAPPER) Wrapper<UserTicketOrder> wrapper);
 	  
 	  /**
 	   * 统计交易用户数
 	   * @param wrapper
 	   * @return
 	   */
-	  List<IndexVO> selectIndexPayUserCntList(@Param(Constants.WRAPPER) Wrapper<UserDeliverOrder> wrapper);
+	  List<IndexVO> selectIndexPayUserCntList(@Param(Constants.WRAPPER) Wrapper<UserTicketOrder> wrapper);
 	  
 	  /**
 	   * 统计实时交易数据
 	   * @param wrapper
 	   * @return
 	   */
-	  List<IndexVO> selectIndexDailyInfoList(@Param(Constants.WRAPPER) Wrapper<UserDeliverOrder> wrapper);
+	  List<IndexVO> selectIndexDailyInfoList(@Param(Constants.WRAPPER) Wrapper<UserTicketOrder> wrapper);
 	  
 	  /**
 	   * 统计票组销售TOP10
 	   * @param wrapper
 	   * @return
 	   */
-	  List<IndexVO> selectIndexTicketBoxTop(@Param(Constants.WRAPPER) Wrapper<UserDeliverOrder> wrapper);
+	  List<IndexVO> selectIndexTicketBoxTop(@Param(Constants.WRAPPER) Wrapper<UserTicketOrder> wrapper);
 	  
 	  /**
 	   * 统计经销商交易额TOP10
 	   * @param wrapper
 	   * @return
 	   */
-	  List<IndexVO> selectIndexTicketSiteTop(@Param(Constants.WRAPPER) Wrapper<UserDeliverOrder> wrapper);
+	  List<IndexVO> selectIndexTicketSiteTop(@Param(Constants.WRAPPER) Wrapper<UserTicketOrder> wrapper);
+	  
+	  /**
+	   * 查询子渠道全部的盲票销售张数
+	   * @param channelNo
+	   * @return
+	   */
+	  int getChannelTotalTicketNumCnt(@Param("channelNo") String channelNo);
+	  
+	  /**
+	   * 查询经销商的盲票销售张数
+	   * @param channelNo
+	   * @return
+	   */
+	  int getSaleSiteTotalTicketNumCnt(@Param("channelId") Long channelId);
+	  
 }

+ 23 - 5
mp-service/src/main/java/com/qs/mp/user/service/IUserTicketOrderService.java

@@ -10,6 +10,8 @@ import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
 import com.qs.mp.user.domain.vo.UserShareVO;
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
 /**
  * <p>
  * 用户盲票订单 服务类
@@ -64,21 +66,21 @@ public interface IUserTicketOrderService extends IService<UserTicketOrder> {
    * @param wrapper
    * @return
    */
-  List<IndexVO> selectIndexPayAmtList(Wrapper<UserDeliverOrder> wrapper);
+  List<IndexVO> selectIndexPayAmtList(Wrapper<UserTicketOrder> wrapper);
   
   /**
    * 统计交易用户数
    * @param wrapper
    * @return
    */
-  List<IndexVO> selectIndexPayUserCntList(Wrapper<UserDeliverOrder> wrapper);
+  List<IndexVO> selectIndexPayUserCntList(Wrapper<UserTicketOrder> wrapper);
   
   /**
    * 统计实时交易数据
    * @param wrapper
    * @return
    */
-  List<IndexVO> selectIndexDailyInfoList(Wrapper<UserDeliverOrder> wrapper);
+  List<IndexVO> selectIndexDailyInfoList(Wrapper<UserTicketOrder> wrapper);
   
   
   /**
@@ -86,13 +88,29 @@ public interface IUserTicketOrderService extends IService<UserTicketOrder> {
    * @param wrapper
    * @return
    */
-  List<IndexVO> selectIndexTicketBoxTop(Wrapper<UserDeliverOrder> wrapper);
+  List<IndexVO> selectIndexTicketBoxTop(Wrapper<UserTicketOrder> wrapper);
   
   /**
    * 统计经销商交易额TOP10
    * @param wrapper
    * @return
    */
-  List<IndexVO> selectIndexTicketSiteTop(Wrapper<UserDeliverOrder> wrapper);
+  List<IndexVO> selectIndexTicketSiteTop(Wrapper<UserTicketOrder> wrapper);
+  
+
+ /**
+ * 查询子渠道全部的盲票销售张数
+ * @param channelNo
+ * @return
+  */
+  int getChannelTotalTicketNumCnt(String channelNo);
+  
+
+  /**
+  * 查询子渠道全部的盲票销售张数
+  * @param channelNo
+  * @return
+   */
+   int getSaleSiteTotalTicketNumCnt(Long channelId);
   
 }

+ 14 - 9
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -473,32 +473,37 @@ public class UserTicketOrderServiceImpl extends
   }
 
 	@Override
-	public List<IndexVO> selectIndexPayAmtList(Wrapper<UserDeliverOrder> wrapper) {
+	public List<IndexVO> selectIndexPayAmtList(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexPayAmtList(wrapper);
 	}
 	
 	@Override
-	public List<IndexVO> selectIndexPayUserCntList(Wrapper<UserDeliverOrder> wrapper) {
+	public List<IndexVO> selectIndexPayUserCntList(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexPayUserCntList(wrapper);
 	}
 
 	@Override
-	public List<IndexVO> selectIndexDailyInfoList(Wrapper<UserDeliverOrder> wrapper) {
+	public List<IndexVO> selectIndexDailyInfoList(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexDailyInfoList(wrapper);
 	}
 
 	@Override
-	public List<IndexVO> selectIndexTicketBoxTop(Wrapper<UserDeliverOrder> wrapper) {
+	public List<IndexVO> selectIndexTicketBoxTop(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexTicketBoxTop(wrapper);
 	}
 
 	@Override
-	public List<IndexVO> selectIndexTicketSiteTop(Wrapper<UserDeliverOrder> wrapper) {
+	public List<IndexVO> selectIndexTicketSiteTop(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexTicketSiteTop(wrapper);
 	}
+
+	@Override
+	public int getChannelTotalTicketNumCnt(String channelNo) {
+		return getBaseMapper().getChannelTotalTicketNumCnt(channelNo);
+	}
 	
-	
-	
-	
-	
+	@Override
+	public int getSaleSiteTotalTicketNumCnt(Long channelId) {
+		return getBaseMapper().getSaleSiteTotalTicketNumCnt(channelId);
+	}
 }

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

@@ -94,5 +94,21 @@
 		ORDER BY pay_amt DESC limit 10 ) a
 		left join mp_channel b on a.channel_id = b.channel_id
 	</select>
+	
+	 <!-- 查询子渠道全部的盲票销量 -->
+    <select id="getChannelTotalTicketNumCnt" resultType="integer">
+		select IFNULL(SUM(t1.ticket_num),0) as ticketNum
+		from mp_user_ticket_order t1
+		left join mp_channel t2 on t1.channel_id = t2.channel_id
+		where (t2.channel_no like concat(#{channelNo},'.%') or t2.channel_no = #{channelNo})
+		and t1.`status` = 1
+	</select>
+	
+	<!-- 查询经销商的盲票销量 -->
+    <select id="getSaleSiteTotalTicketNumCnt" resultType="integer">
+		select IFNULL(SUM(t1.ticket_num),0) as ticketNum
+		from mp_user_ticket_order t1
+		where t1.`status` = 1 and t1.channel_id = #{channelId}
+	</select>
     
 </mapper>