| 
					
				 | 
			
			
				@@ -7,10 +7,12 @@ import com.yonge.cooleshow.biz.dal.dto.VipSubmitReq; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dto.search.StudentSearch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dto.search.VipRecordSearch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.Student; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.entity.TenantActivationCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.TenantGroup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.ClientEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.MemberPriceSettingsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.StudentService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.service.TenantActivationCodeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.TenantGroupService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.VipCardRecordService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.vo.StudentVo; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48,6 +50,7 @@ import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.validation.Valid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.OutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -73,6 +76,9 @@ public class StudentController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private TenantGroupService tenantGroupService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private TenantActivationCodeService tenantActivationCodeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping("/detail/{id}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation(value = "详情", notes = "传入id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiImplicitParams({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -113,6 +119,25 @@ public class StudentController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         IPage<StudentVo> pages = studentService.selectPage(PageUtil.getPage(query), query); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<StudentVo> rows = pages.getRecords(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //如果真实姓名字段为空 把真实姓名赋值给昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rows.forEach(r -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isEmpty(r.getRealName())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (StringUtils.isNotEmpty(r.getUsername())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    r.setRealName(r.getUsername()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, List<TenantActivationCode>> groupByPhone = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!rows.isEmpty() && query.getTenantAlbumPurchaseId() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<String> studentPhones = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rows.stream().map(StudentVo::getPhone).filter(StringUtils::isNotEmpty).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            groupByPhone = tenantActivationCodeService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .eq(TenantActivationCode::getTenantAlbumPurchaseId, query.getTenantAlbumPurchaseId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .in(TenantActivationCode::getActivationPhone, studentPhones) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .list().stream().collect(Collectors.groupingBy(TenantActivationCode::getActivationPhone)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Long> tenantGroupIds = rows.stream().map(Student::getTenantGroupId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .filter(next -> next != null && next != -1L).distinct().collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<Long, String> tenantGroupIdNameMap = new HashMap<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -125,6 +150,7 @@ public class StudentController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (StudentVo vo : rows) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vo.setSendActiveCodeNum(groupByPhone.getOrDefault(vo.getPhone(), new ArrayList<>()).size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (vo.getDelFlag() == YesOrNoEnum.YES) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vo.setUserStatus(UserStatusEnum.CLOSED); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 |