Prechádzať zdrojové kódy

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

Dev

See merge request quanshu/mp-server!417
zhong chunping 3 rokov pred
rodič
commit
68b601d30a

+ 6 - 25
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ChannelMgrController.java

@@ -59,7 +59,7 @@ public class ChannelMgrController extends BaseApiController {
 
 	@Autowired
 	private IChannelOrderService channelOrderService;
-	
+
 	@Autowired
 	private IUserTicketOrderService userTicketOrderService;
 
@@ -144,26 +144,7 @@ public class ChannelMgrController extends BaseApiController {
 		queryWrapper.eq(null != channel && null != channel.getProvinceId(), "t1.province_id", channel.getProvinceId());
 		queryWrapper.eq(null != channel && null != channel.getCityId(), "t1.city_id", channel.getCityId());
 		queryWrapper.eq(null != channel && null != channel.getAreaId(), "t1.area_id", channel.getAreaId());
-		queryWrapper.orderByAsc("t1.level").orderByDesc("t1.channel_id");
-		list = channelService.selectChannelVoList(queryWrapper);
-		if(null != list && list.size() > 0) {
-			for(ChannelVO channelVO : list) {
-				if(null != channelVO && StringUtils.isNotBlank(channelVO.getChannelNo())) {
-					int siteCnt = channelService.getChannelSiteCnt(channelVO.getChannelNo());
-					int userCnt = channelUserRelService.getChannelTotalUserCnt(channelVO.getChannelNo());
-					channelVO.setSiteCnt(siteCnt);
-					channelVO.setUserCnt(userCnt);
-					// 查询用户信息
-					// SysUser sysUser = userService.selectUserById(channelVO.getUserId());
-					// channelVO.setSysUser(sysUser);
-					// 查询子渠道数量
-					int childCnt = channelService.count(
-							new LambdaQueryWrapper<Channel>().eq(Channel::getParentId, channelVO.getChannelId())
-							.gt(Channel::getLevel, 0));
-					channelVO.setChildCnt(childCnt);
- 				}
-			}
-		}
+		list = channelService.selectChannelList(queryWrapper);
 		return getDataTable(list);
 	}
 
@@ -256,7 +237,7 @@ public class ChannelMgrController extends BaseApiController {
 		}
 		boolean mobileChange = false;  // 手机号码是否有变更
 		if(!channel.getMobile().equals(oldChannel.getMobile())) {
-			
+
 			int mobileCount = channelService.count(
 			        new LambdaQueryWrapper<Channel>().eq(Channel::getMobile, channel.getMobile()));
 			if(mobileCount > 0) {
@@ -355,15 +336,15 @@ public class ChannelMgrController extends BaseApiController {
 		//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);
 	}
-	
-	
+
+
 	// 获取上级渠道迭代
 	private String getParentsName(String channelNo) {
 		if(StringUtils.isNotBlank(channelNo)) {

+ 8 - 0
mp-service/src/main/java/com/qs/mp/channel/mapper/ChannelMapper.java

@@ -27,6 +27,14 @@ public interface ChannelMapper extends BaseMapper<Channel> {
 	 */
 	public List<ChannelVO> selectChannelVoList(@Param(Constants.WRAPPER) Wrapper<Channel> wrapper);
 
+	/**
+	 * 获取我的下级渠道列表信息,支持翻页
+	 *
+	 * @param wrapper
+	 * @return
+	 */
+	public List<ChannelVO> selectChannelList(@Param(Constants.WRAPPER) Wrapper<Channel> wrapper);
+
 	/**
 	 * 查询经销商列表
 	 *

+ 8 - 0
mp-service/src/main/java/com/qs/mp/channel/service/IChannelService.java

@@ -50,6 +50,14 @@ public interface IChannelService extends IService<Channel> {
 	 */
 	public List<ChannelVO> selectChannelVoList(Wrapper<Channel> queryWrapper);
 
+	/**
+	 * 获取我的下级渠道信息,统计经销商数和用户数,支持翻页
+	 *
+	 * @param queryWrapper
+	 * @return
+	 */
+	public List<ChannelVO> selectChannelList(Wrapper<Channel> queryWrapper);
+
 	/**
 	 * 获取经销商列表信息,支持翻页
 	 *

+ 5 - 0
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelServiceImpl.java

@@ -124,6 +124,11 @@ public class ChannelServiceImpl extends ServiceImpl<ChannelMapper, Channel> impl
     return getBaseMapper().selectChannelVoList(queryWrapper);
   }
 
+  @Override
+  public List<ChannelVO> selectChannelList(Wrapper<Channel> queryWrapper) {
+    return getBaseMapper().selectChannelList(queryWrapper);
+  }
+
   @Override
   public List<ChannelVO> selectSaleSiteList(Wrapper<Channel> queryWrapper) {
     return getBaseMapper().selectSaleSiteList(queryWrapper);

+ 27 - 0
mp-service/src/main/resources/mapper/channel/ChannelMapper.xml

@@ -56,6 +56,33 @@
 		and (t1.channel_no like concat(#{channelNo}, '.%') or t1.channel_no = #{channelNo})
     </select>
 
+  <!-- 查询子渠道信息 -->
+  <select id="selectChannelList" resultType="com.qs.mp.channel.domain.vo.ChannelVO">
+    select t1.* , t2.name parentName, t3.site_cnt, t4.child_cnt, t5.user_cnt
+    from mp_channel t1
+           left join mp_channel t2 on t1.parent_id = t2.channel_id
+           left join (select q1.channel_id, count(q2.channel_id) as site_cnt
+                      from mp_channel q1
+                             left join mp_channel q2 on q2.channel_no like concat(q1.channel_id, '.%')
+                      where q1.level > 0 and q2.`level`= 0
+                      group by q1.channel_id) t3 on t3.channel_id = t1.channel_id
+           left join (select q1.channel_id, count(q2.channel_id) as child_cnt
+                      from mp_channel q1
+                             left join mp_channel q2 on q2.channel_no like concat(q1.channel_id, '.%')
+                      where q1.level > 0 and q2.`level`> 0
+                      group by q1.channel_id) t4 on t4.channel_id = t1.channel_id
+           left join (
+              select q1.channel_id,sum(q2.user_cnt) as user_cnt
+              from mp_channel q1
+             left join (select b.channel_no, a.channel_id, count(a.id) AS user_cnt
+                        from mp_channel_user_rel a
+                               left join mp_channel b on a.channel_id=b.channel_id
+                        group by a.channel_id, b.channel_no
+      ) q2 on q2.channel_no like concat(q1.channel_no, '.%') t5 on t5.channel_id=t1.channel_id
+      ${ew.customSqlSegment}
+
+  </select>
+
      <!-- 查询经销商列表信息 -->
     <select id="selectSaleSiteList" resultType="com.qs.mp.channel.domain.vo.ChannelVO">
       select t1.channel_id as channelId, t1.channel_no, t1.name, t1.parent_id, t1.level, t1.site_type, t1.site_name, t1.comm_rate as commRate, t1.province, t1.province_id, t1.city, t1.city_id, t1.area, t1.area_id, t1.address, t1.contact, t1.mobile, t1.user_id, t1.certify_status, t1.verify_status, t1.status, t1.created_time, t1.updated_time ,