| 
					
				 | 
			
			
				@@ -3,13 +3,16 @@ package com.ym.mec.biz.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.auth.api.client.SysUserFeignService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.auth.api.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.dao.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.dal.dto.SimpleUserDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.entity.CloudCoachPaymentProgram; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.entity.CloudTeacherOrder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.entity.MemberRankSetting; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.enums.MessageTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.dal.page.CloudCoachPaymentProgramQueryInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.common.dal.BaseDAO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.common.exception.BizException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.common.page.PageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.common.service.impl.BaseServiceImpl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.common.tenant.TenantContextHolder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.thirdparty.message.MessageSenderPluginContext; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21,10 +24,8 @@ import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class CloudCoachPaymentProgramServiceImpl extends BaseServiceImpl<Long, CloudCoachPaymentProgram>  implements CloudCoachPaymentProgramService { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -56,6 +57,44 @@ public class CloudCoachPaymentProgramServiceImpl extends BaseServiceImpl<Long, C 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public PageInfo<CloudCoachPaymentProgram> queryPage(CloudCoachPaymentProgramQueryInfo queryInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		PageInfo<CloudCoachPaymentProgram> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String, Object> params = new HashMap<String, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		MapUtil.populateMap(params, queryInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<CloudCoachPaymentProgram> dataList = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		int count = this.findCount(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (count > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pageInfo.setTotal(count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			params.put("offset", pageInfo.getOffset()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dataList = this.getDAO().queryPage(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Set<Integer> userIds = dataList.stream().map(e -> e.getOperator()).filter(e -> e != null).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			userIds.addAll(dataList.stream().map(e -> e.getAudit()).filter(e -> e != null).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SimpleUserDto> usersSimpleInfo = teacherDao.getUsersSimpleInfo(new ArrayList<>(userIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<Integer, SimpleUserDto> userDtoMap = usersSimpleInfo.stream().collect(Collectors.groupingBy(e -> e.getUserId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0)))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<Long> programIds = dataList.stream().map(e -> e.getId()).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<Long,String> userNameMap = studentCloudCoachPaymentDetailsDao.queryStudentName(programIds).stream().collect(Collectors.toMap(e -> Long.parseLong(e.get("key").toString()), e -> e.get("value") == null ? "" : e.get("value").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (CloudCoachPaymentProgram program : dataList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				SimpleUserDto userDto = userDtoMap.get(program.getOperator()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(Objects.nonNull(userDto)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					program.setOperatorName(userDto.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				userDto = userDtoMap.get(program.getAudit()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(Objects.nonNull(userDto)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					program.setAuditName(userDto.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				program.setUserNames(userNameMap.get(program.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (count == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dataList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		pageInfo.setRows(dataList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return pageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public void add(CloudCoachPaymentProgram cloudCoachPaymentProgram) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<Integer> userIds = cloudCoachPaymentProgram.getUserIds(); 
			 |