|
@@ -2,6 +2,7 @@ package com.ym.mec.student.controller;
|
|
|
|
|
|
import com.google.common.collect.Sets;
|
|
|
import com.google.common.collect.Lists;
|
|
|
+import com.google.common.collect.Maps;
|
|
|
import com.microsvc.toolkit.middleware.oss.wrapper.OssWrapper;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
|
|
@@ -30,7 +31,11 @@ import org.springframework.http.MediaType;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
-import java.util.*;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Api(tags = "学生管理")
|
|
@@ -163,20 +168,14 @@ public class StudentManageController extends BaseController {
|
|
|
@ApiOperation(value = "获取学员基本信息")
|
|
|
@GetMapping("student/queryUserInfo")
|
|
|
public Object queryUserInfo(String platform) {
|
|
|
- SysUser user = sysUserService.getUser();
|
|
|
- Student student = studentService.get(user.getId());
|
|
|
- student.setId(user.getId());
|
|
|
- student.setUsername(user.getUsername());
|
|
|
- student.setAvatar(user.getAvatar());
|
|
|
- student.setPhone(user.getPhone());
|
|
|
- student.setCurrentClass(user.getCurrentClass());
|
|
|
- student.setCurrentGrade(user.getCurrentGrade());
|
|
|
- student.setBirthdate(user.getBirthdate());
|
|
|
- student.setGender(user.getGender());
|
|
|
- student.setRealName(user.getRealName());
|
|
|
- student.setIdCardNo(user.getIdCardNo());
|
|
|
- student.setImToken(user.getImToken());
|
|
|
- student.setOrganId(user.getOrganId());
|
|
|
+
|
|
|
+ SysUser user = sysUserService.getUser();
|
|
|
+ // 返回数据
|
|
|
+ Map<String, Object> datas = Maps.newHashMap();
|
|
|
+
|
|
|
+ // 查询学员基本信息
|
|
|
+ Student student = studentManageService.getStudentUserInfo(user.getId(), user, datas);
|
|
|
+ datas.put("student", student);
|
|
|
|
|
|
|
|
|
// 注册IM用户Token
|
|
@@ -203,9 +202,6 @@ public class StudentManageController extends BaseController {
|
|
|
student.setExtSjectNamesMap(subjectList.stream().collect(Collectors.toMap(Subject :: getId, Subject :: getName)));
|
|
|
}
|
|
|
|
|
|
- Map<String, Object> datas = new HashMap<String, Object>();
|
|
|
- datas.put("student", student);
|
|
|
-
|
|
|
List<CloudTeacherOrder> dataList = cloudTeacherOrderDao.queryByUserIdAndStatus(user.getId(),1);
|
|
|
if(dataList != null && dataList.size() > 0){
|
|
|
datas.put("isExistPendingMember", true);
|
|
@@ -231,119 +227,7 @@ public class StudentManageController extends BaseController {
|
|
|
} else {
|
|
|
datas.put("userPrivileges", memberRankPrivilegesService.queryByMemberRankId(student.getMemberRankSettingId()));
|
|
|
}
|
|
|
- SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.HOMEWORK_OPEN_FLAG);
|
|
|
- if (sysConfig == null) {
|
|
|
- datas.put("homeworkOpenFlag", 0);
|
|
|
- } else {
|
|
|
- datas.put("homeworkOpenFlag", Integer.parseInt(sysConfig.getParanValue()));
|
|
|
- }
|
|
|
- // 获取会员等级图标
|
|
|
- MemberRankSetting memberRankSetting = memberRankSettingService.get(student.getMemberRankSettingId());
|
|
|
- if (memberRankSetting != null) {
|
|
|
- student.setMemberRankImg(memberRankSetting.getIcon());
|
|
|
- }
|
|
|
- //是否是试用会员
|
|
|
- if(student.getExperienceMemberRankSettingId() == null){
|
|
|
- datas.put("isExperience", 0);
|
|
|
- }else {
|
|
|
- int i = DateUtil.daysBetween(student.getExperienceMembershipEndTime(),student.getMembershipEndTime());
|
|
|
- if(i > 0){
|
|
|
- datas.put("isExperience", 0);
|
|
|
- }else {
|
|
|
- datas.put("isExperience", 1);
|
|
|
- if (memberRankSetting != null) {
|
|
|
- student.setMemberRankImg(memberRankSetting.getExperienceIcon());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 通过学生声部换乐器ID
|
|
|
- if (StringUtils.isNotBlank(student.getSubjectIdList())) {
|
|
|
- String subjectId = student.getSubjectIdList();
|
|
|
- if ("5".equals(student.getSubjectIdList())) {
|
|
|
- subjectId = "6";
|
|
|
- } else if("122".equals(student.getSubjectIdList())){
|
|
|
- subjectId = "122,121,113,23";
|
|
|
- }
|
|
|
- List<Integer> instrumentIdsBySubjectId = instrumentService.getInstrumentIdsBySubjectId(subjectId)
|
|
|
- .stream().map(Instrument::getId).collect(Collectors.toList());
|
|
|
- if (CollectionUtils.isNotEmpty(instrumentIdsBySubjectId)) {
|
|
|
- // 逗号隔开
|
|
|
- datas.put("instrumentId", StringUtils.join(instrumentIdsBySubjectId, ","));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 扩展乐器
|
|
|
- if (student.getExtSjectNamesMap() !=null && !student.getExtSjectNamesMap().isEmpty()) {
|
|
|
- Set<Integer> integers = student.getExtSjectNamesMap().keySet();
|
|
|
- Set<Integer> extInstrumentIds = Sets.newConcurrentHashSet();
|
|
|
- for (Integer integer : integers) {
|
|
|
- extInstrumentIds.add(integer);
|
|
|
-
|
|
|
- if ("5".equals(integer.toString())) {
|
|
|
- extInstrumentIds.add(6);
|
|
|
- } else if("122".equals(integer.toString())){
|
|
|
- extInstrumentIds.add(121);
|
|
|
- extInstrumentIds.add(113);
|
|
|
- extInstrumentIds.add(23);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 根据声部查询对应乐器信息
|
|
|
- List<Instrument> instruments = instrumentService.getInstrumentIdsBySubjectId(StringUtils.join(extInstrumentIds, ","));
|
|
|
- List<Map<String, Object>> extInstrumentNames = Lists.newArrayList();
|
|
|
- if (CollectionUtils.isNotEmpty(instruments)) {
|
|
|
-
|
|
|
- Map<Integer, List<Instrument>> collect = instruments.stream().collect(Collectors.groupingBy(Instrument::getSubjectId, Collectors.toList()));
|
|
|
- for (Map.Entry<Integer, String> entry : student.getExtSjectNamesMap().entrySet()) {
|
|
|
-
|
|
|
- // 默认声部映射乐器ID
|
|
|
- String instrumentIds = "";
|
|
|
- if (collect.containsKey(entry.getKey())) {
|
|
|
- instrumentIds = collect.get(entry.getKey()).stream()
|
|
|
- .map(Instrument::getId).map(String::valueOf).collect(Collectors.joining(","));
|
|
|
- }
|
|
|
-
|
|
|
- // 萨克斯乐器,对应中音萨克斯
|
|
|
- if (entry.getKey() == 5 || entry.getKey() == 6) {
|
|
|
-
|
|
|
- instrumentIds = collect.entrySet().stream()
|
|
|
- .filter(x -> x.getKey() == 5 || x.getKey() == 6)
|
|
|
- .flatMap(x -> x.getValue().stream())
|
|
|
- .map(Instrument::getId)
|
|
|
- .map(String::valueOf).collect(Collectors.joining(","));
|
|
|
- }
|
|
|
-
|
|
|
- // 打击乐器,对应小军鼓,打击乐(键盘),打击乐(键盘+小鼓),打击乐
|
|
|
- if (entry.getKey() == 122 || entry.getKey() == 121 || entry.getKey() == 113 || entry.getKey() == 23) {
|
|
|
-
|
|
|
- instrumentIds = collect.entrySet().stream()
|
|
|
- .filter(x -> x.getKey() == 122 || x.getKey() == 121 || x.getKey() == 113 || x.getKey() == 23)
|
|
|
- .flatMap(x -> x.getValue().stream())
|
|
|
- .map(Instrument::getId)
|
|
|
- .map(String::valueOf).collect(Collectors.joining(","));
|
|
|
- }
|
|
|
- String finalInstrumentIds = instrumentIds;
|
|
|
- extInstrumentNames.add(new HashMap<String, Object>(){{
|
|
|
- put("subjectId", entry.getKey());
|
|
|
- put("subjectName", entry.getValue());
|
|
|
- put("instrumentIds", finalInstrumentIds);
|
|
|
- }});
|
|
|
- }
|
|
|
-
|
|
|
- /*List<Integer> instrumentIdsBySubjectId = instruments.stream().map(Instrument::getId).collect(Collectors.toList());
|
|
|
- Map<Integer, InstrumentWrapper.Instrument> mapByIds = instrumentService.getMapByIds(instrumentIdsBySubjectId);
|
|
|
- mapByIds.forEach((k,v)->{
|
|
|
- if (v !=null) {
|
|
|
- extInstrumentNamesMap.put(k, v.getName());
|
|
|
- }
|
|
|
- });*/
|
|
|
- }
|
|
|
- student.setExtInstrumentNames(extInstrumentNames);
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
- datas.put("vipInfo", cloudTeacherOrderService.getEffectiveCloudTeacherOrder(Lists.newArrayList(student.getUserId())));
|
|
|
return succeed(datas);
|
|
|
}
|
|
|
|