|  | @@ -1,15 +1,28 @@
 | 
	
		
			
				|  |  |  package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  | +import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.StudentMemberUpdateLogDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.MemberRankSetting;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.wrapper.StudentMemberUpdateLogWrapper;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.MemberRankSettingService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.StudentMemberUpdateLogService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysUserService;
 | 
	
		
			
				|  |  | +import org.apache.commons.collections.CollectionUtils;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Objects;
 | 
	
		
			
				|  |  | +import java.util.stream.Collectors;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 学员云教练时长修改记录(StudentMemberUpdateLog)表服务实现类
 | 
	
		
			
				|  |  |   *
 | 
	
	
		
			
				|  | @@ -19,6 +32,12 @@ import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  @Service("studentMemberUpdateLogService")
 | 
	
		
			
				|  |  |  public class StudentMemberUpdateLogServiceImpl extends ServiceImpl<StudentMemberUpdateLogDao, StudentMemberUpdateLog> implements StudentMemberUpdateLogService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private SysUserService sysUserService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private MemberRankSettingService memberRankSettingService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      private final static Logger log = LoggerFactory.getLogger(StudentMemberUpdateLogServiceImpl.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -41,5 +60,43 @@ public class StudentMemberUpdateLogServiceImpl extends ServiceImpl<StudentMember
 | 
	
		
			
				|  |  |          this.save(studentMemberUpdateLog);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> selectPage(IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> page, StudentMemberUpdateLogWrapper.StudentMemberUpdateLogQuery query) {
 | 
	
		
			
				|  |  | +        IPage<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> studentMemberUpdateLogIPage = baseMapper.selectPage(page, query);
 | 
	
		
			
				|  |  | +        List<StudentMemberUpdateLogWrapper.StudentMemberUpdateLog> records = studentMemberUpdateLogIPage.getRecords();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(records)) {
 | 
	
		
			
				|  |  | +            return studentMemberUpdateLogIPage;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        // 操作人ID集合
 | 
	
		
			
				|  |  | +        List<Integer> operatorIds = records.stream()
 | 
	
		
			
				|  |  | +            .map(StudentMemberUpdateLogWrapper.StudentMemberUpdateLog::getOperatorId)
 | 
	
		
			
				|  |  | +            .filter(Objects::nonNull)
 | 
	
		
			
				|  |  | +            .distinct()
 | 
	
		
			
				|  |  | +            .collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        Map<Long, SysUser> userServiceMapByIds = sysUserService.getMapByIds(operatorIds);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 学练宝ID集合
 | 
	
		
			
				|  |  | +        List<Integer> memberRankSettingIds = records.stream()
 | 
	
		
			
				|  |  | +            .map(StudentMemberUpdateLogWrapper.StudentMemberUpdateLog::getLevel)
 | 
	
		
			
				|  |  | +            .filter(Objects::nonNull)
 | 
	
		
			
				|  |  | +            .distinct()
 | 
	
		
			
				|  |  | +            .collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        Map<Integer, MemberRankSetting> rankSettingMap = memberRankSettingService.getMapByIds(memberRankSettingIds);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        records.forEach(record -> {
 | 
	
		
			
				|  |  | +            if (record.getOperatorId() !=null) {
 | 
	
		
			
				|  |  | +                SysUser sysUser = userServiceMapByIds.get(record.getOperatorId().longValue());
 | 
	
		
			
				|  |  | +                if (sysUser != null) {
 | 
	
		
			
				|  |  | +                    record.setOperatorName(sysUser.getRealName());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            MemberRankSetting memberRankSetting = rankSettingMap.get(record.getLevel());
 | 
	
		
			
				|  |  | +            if (memberRankSetting != null) {
 | 
	
		
			
				|  |  | +                record.setMemberRankSettingName(memberRankSetting.getName());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        return studentMemberUpdateLogIPage.setRecords(records);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |