|
@@ -5,7 +5,10 @@ import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
-import com.ym.mec.biz.dal.dao.*;
|
|
|
|
|
|
+import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
|
|
|
|
+import com.ym.mec.biz.dal.dao.EmployeeDao;
|
|
|
|
+import com.ym.mec.biz.dal.dao.StudentDao;
|
|
|
|
+import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
|
|
import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
|
|
import com.ym.mec.biz.dal.dto.Mapper;
|
|
import com.ym.mec.biz.dal.dto.Mapper;
|
|
import com.ym.mec.biz.dal.dto.SimpleUserDto;
|
|
import com.ym.mec.biz.dal.dto.SimpleUserDto;
|
|
@@ -68,9 +71,11 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
@Resource
|
|
@Resource
|
|
private TenantInfoService tenantInfoService;
|
|
private TenantInfoService tenantInfoService;
|
|
@Resource
|
|
@Resource
|
|
- private MemberRankSettingDao memberRankSettingDao;
|
|
|
|
|
|
+ private MemberRankSettingService memberRankSettingService;
|
|
@Resource
|
|
@Resource
|
|
private StudentDao studentDao;
|
|
private StudentDao studentDao;
|
|
|
|
+ @Resource
|
|
|
|
+ private StudentMemberTimeService studentMemberTimeService;
|
|
@Override
|
|
@Override
|
|
public BaseDAO<Long, CloudTeacherOrder> getDAO() {
|
|
public BaseDAO<Long, CloudTeacherOrder> getDAO() {
|
|
return cloudTeacherOrderDao;
|
|
return cloudTeacherOrderDao;
|
|
@@ -89,7 +94,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
params.put("offset", pageInfo.getOffset());
|
|
params.put("offset", pageInfo.getOffset());
|
|
dataList = cloudTeacherOrderDao.queryRecord(params);
|
|
dataList = cloudTeacherOrderDao.queryRecord(params);
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).distinct().collect(Collectors.toList());
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).distinct().collect(Collectors.toList());
|
|
- Map<Integer, String> memberNameMap = queryMemberName(memberRankIds);
|
|
|
|
|
|
+ Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds);
|
|
dataList.forEach(e -> e.setMemberName(memberNameMap.get(e.getMemberRankId())));
|
|
dataList.forEach(e -> e.setMemberName(memberNameMap.get(e.getMemberRankId())));
|
|
}
|
|
}
|
|
if (count == 0) {
|
|
if (count == 0) {
|
|
@@ -138,22 +143,10 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
}
|
|
}
|
|
//获取会员名称
|
|
//获取会员名称
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList());
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList());
|
|
- List<MemberRankSetting> memberRankSettings = memberRankSettingDao.selectBatchIds(memberRankIds);
|
|
|
|
- List<Integer> parentRankIds = memberRankSettings.stream().map(MemberRankSetting::getParentId).filter(parentId -> parentId != 0).collect(Collectors.toList());
|
|
|
|
- List<MemberRankSetting> parentMemberRankSettings = memberRankSettingDao.selectBatchIds(parentRankIds);
|
|
|
|
- Map<Integer, MemberRankSetting> memberRankSettingMap = memberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
- Map<Integer, MemberRankSetting> parentMemberRankSettingMap = parentMemberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
|
|
+ Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds);
|
|
//获取
|
|
//获取
|
|
for (CloudTeacherStudent cst : dataList) {
|
|
for (CloudTeacherStudent cst : dataList) {
|
|
- MemberRankSetting rankSetting = memberRankSettingMap.get(cst.getMemberRankId());
|
|
|
|
- if (rankSetting != null) {
|
|
|
|
- MemberRankSetting parentRank = parentMemberRankSettingMap.get(rankSetting.getParentId());
|
|
|
|
- if (parentRank != null) {
|
|
|
|
- cst.setMemberName(parentRank.getName() + "-" + rankSetting.getName());
|
|
|
|
- } else {
|
|
|
|
- cst.setMemberName(rankSetting.getName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ cst.setMemberName(memberNameMap.get(cst.getMemberRankId()));
|
|
cst.setOrganName(organNameMap.get(cst.getOrganId()));
|
|
cst.setOrganName(organNameMap.get(cst.getOrganId()));
|
|
if (cst.getOperator() != null) {
|
|
if (cst.getOperator() != null) {
|
|
cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName());
|
|
cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName());
|
|
@@ -213,23 +206,10 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
}
|
|
}
|
|
//获取会员名称
|
|
//获取会员名称
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList());
|
|
List<Integer> memberRankIds = dataList.stream().map(CloudTeacherStudent::getMemberRankId).collect(Collectors.toList());
|
|
- List<MemberRankSetting> memberRankSettings = memberRankSettingDao.selectBatchIds(memberRankIds);
|
|
|
|
- List<Integer> parentRankIds = memberRankSettings.stream().map(MemberRankSetting::getParentId).filter(parentId -> parentId != 0).collect(Collectors.toList());
|
|
|
|
- List<MemberRankSetting> parentMemberRankSettings = memberRankSettingDao.selectBatchIds(parentRankIds);
|
|
|
|
- Map<Integer, MemberRankSetting> memberRankSettingMap = memberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
- Map<Integer, MemberRankSetting> parentMemberRankSettingMap = parentMemberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
-
|
|
|
|
|
|
+ Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds);
|
|
TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", queryInfo.getTenantId()));
|
|
TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", queryInfo.getTenantId()));
|
|
for (CloudTeacherStudent cst : dataList) {
|
|
for (CloudTeacherStudent cst : dataList) {
|
|
- MemberRankSetting rankSetting = memberRankSettingMap.get(cst.getMemberRankId());
|
|
|
|
- if (rankSetting != null) {
|
|
|
|
- MemberRankSetting parentRank = parentMemberRankSettingMap.get(rankSetting.getParentId());
|
|
|
|
- if (parentRank != null) {
|
|
|
|
- cst.setMemberName(parentRank.getName() + "-" + rankSetting.getName());
|
|
|
|
- } else {
|
|
|
|
- cst.setMemberName(rankSetting.getName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ cst.setMemberName(memberNameMap.get(cst.getMemberRankId()));
|
|
cst.setOrganName(organNameMap.get(cst.getOrganId()));
|
|
cst.setOrganName(organNameMap.get(cst.getOrganId()));
|
|
if (cst.getOperator() != null) {
|
|
if (cst.getOperator() != null) {
|
|
cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName());
|
|
cst.setOperatorName(empMapById.getOrDefault(cst.getOperator(), new SimpleUserDto()).getUserName());
|
|
@@ -425,6 +405,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
// if(student.getMembershipEndTime() != null && student.getMembershipEndTime().compareTo(now) > 0){
|
|
// if(student.getMembershipEndTime() != null && student.getMembershipEndTime().compareTo(now) > 0){
|
|
// now = student.getMembershipEndTime();
|
|
// now = student.getMembershipEndTime();
|
|
// }
|
|
// }
|
|
|
|
+// StudentMemberTimeService
|
|
//获取已激活的云教练最大时间
|
|
//获取已激活的云教练最大时间
|
|
Date maxTime = cloudTeacherOrderDao.getActivationMaxTime(cloudTeacherOrder.getStudentId(),cloudTeacherOrder.getLevel());
|
|
Date maxTime = cloudTeacherOrderDao.getActivationMaxTime(cloudTeacherOrder.getStudentId(),cloudTeacherOrder.getLevel());
|
|
if (maxTime != null && maxTime.compareTo(now) > 0) {
|
|
if (maxTime != null && maxTime.compareTo(now) > 0) {
|
|
@@ -521,12 +502,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
if (CollectionUtils.isNotEmpty(activeCloudTeachers)) {
|
|
if (CollectionUtils.isNotEmpty(activeCloudTeachers)) {
|
|
//获取所有的会员列表
|
|
//获取所有的会员列表
|
|
List<Integer> memberRankIds = activeCloudTeachers.stream().map(CloudTeacherOrder::getLevel).distinct().collect(Collectors.toList());
|
|
List<Integer> memberRankIds = activeCloudTeachers.stream().map(CloudTeacherOrder::getLevel).distinct().collect(Collectors.toList());
|
|
- List<MemberRankSetting> memberRankSettings = memberRankSettingDao.selectBatchIds(memberRankIds);
|
|
|
|
- //获取所有父级会员
|
|
|
|
- List<Integer> parentRankIds = memberRankSettings.stream().map(MemberRankSetting::getParentId).filter(parentId -> parentId != 0).collect(Collectors.toList());
|
|
|
|
- List<MemberRankSetting> parentMemberRankSettings = memberRankSettingDao.selectBatchIds(parentRankIds);
|
|
|
|
- Map<Integer, MemberRankSetting> memberRankSettingMap = memberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
- Map<Integer, MemberRankSetting> parentMemberRankSettingMap = parentMemberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
|
|
+ Map<Integer, String> memberNameMap = memberRankSettingService.queryMemberName(memberRankIds);
|
|
//按学员分组
|
|
//按学员分组
|
|
Map<Integer, List<CloudTeacherOrder>> cloudTeacherOrderMap = activeCloudTeachers.stream().collect(Collectors.groupingBy(CloudTeacherOrder::getStudentId));
|
|
Map<Integer, List<CloudTeacherOrder>> cloudTeacherOrderMap = activeCloudTeachers.stream().collect(Collectors.groupingBy(CloudTeacherOrder::getStudentId));
|
|
cloudTeacherOrderMap.forEach((k, v) -> {
|
|
cloudTeacherOrderMap.forEach((k, v) -> {
|
|
@@ -535,16 +511,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
memberRankMap.forEach((key, value) -> {
|
|
memberRankMap.forEach((key, value) -> {
|
|
CloudTeacherOrderWrapper.StudentMemberDetail studentMemberDetail = new CloudTeacherOrderWrapper.StudentMemberDetail();
|
|
CloudTeacherOrderWrapper.StudentMemberDetail studentMemberDetail = new CloudTeacherOrderWrapper.StudentMemberDetail();
|
|
studentMemberDetail.setStudentId(k);
|
|
studentMemberDetail.setStudentId(k);
|
|
- //拼接会员名称
|
|
|
|
- MemberRankSetting rankSetting = memberRankSettingMap.get(key);
|
|
|
|
- if (rankSetting != null) {
|
|
|
|
- MemberRankSetting parentRank = parentMemberRankSettingMap.get(rankSetting.getParentId());
|
|
|
|
- if (parentRank != null) {
|
|
|
|
- studentMemberDetail.setMemberRankName(parentRank.getName() + "-" + rankSetting.getName());
|
|
|
|
- } else {
|
|
|
|
- studentMemberDetail.setMemberRankName(rankSetting.getName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ //会员名称
|
|
|
|
+ studentMemberDetail.setMemberRankName(memberNameMap.get(key));
|
|
//获取最大的截止时间
|
|
//获取最大的截止时间
|
|
Date maxTime = value.stream().map(CloudTeacherOrder::getEndTime).max(Date::compareTo).get();
|
|
Date maxTime = value.stream().map(CloudTeacherOrder::getEndTime).max(Date::compareTo).get();
|
|
studentMemberDetail.setEndTime(maxTime);
|
|
studentMemberDetail.setEndTime(maxTime);
|
|
@@ -557,26 +525,4 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
|
|
}
|
|
}
|
|
return studentMemberDetails;
|
|
return studentMemberDetails;
|
|
}
|
|
}
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public Map<Integer, String> queryMemberName(List<Integer> memberRankIds) {
|
|
|
|
- List<MemberRankSetting> memberRankSettings = memberRankSettingDao.selectBatchIds(memberRankIds);
|
|
|
|
- if (CollectionUtils.isEmpty(memberRankSettings)) {
|
|
|
|
- return new HashMap<>();
|
|
|
|
- }
|
|
|
|
- List<Integer> parentRankIds = memberRankSettings.stream().map(MemberRankSetting::getParentId).filter(parentId -> parentId != 0).collect(Collectors.toList());
|
|
|
|
- List<MemberRankSetting> parentMemberRankSettings = memberRankSettingDao.selectBatchIds(parentRankIds);
|
|
|
|
- Map<Integer, MemberRankSetting> memberRankSettingMap = memberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
- Map<Integer, MemberRankSetting> parentMemberRankSettingMap = parentMemberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, memberRankSetting -> memberRankSetting));
|
|
|
|
- Map<Integer, String> memberNameMap = new HashMap<>();
|
|
|
|
- memberRankSettingMap.forEach((k, v) -> {
|
|
|
|
- MemberRankSetting parentRank = parentMemberRankSettingMap.get(v.getParentId());
|
|
|
|
- if (parentRank != null) {
|
|
|
|
- memberNameMap.put(k, parentRank.getName() + "-" + v.getName());
|
|
|
|
- } else {
|
|
|
|
- memberNameMap.put(k, v.getName());
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- return memberNameMap;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|