|  | @@ -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 {
 |