Browse Source

增加采购清单接口

周箭河 5 years ago
parent
commit
0149f4eaf1

+ 18 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -12,12 +12,14 @@ import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -76,6 +78,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
     @Autowired
     private StudentRegistrationService studentRegistrationService;
+    @Autowired
+    private ImFeignService imFeignService;
+
 
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
@@ -119,9 +124,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Transactional(rollbackFor = Exception.class)
     public ClassGroup addClassGroup(ClassGroup classGroup) throws Exception {
         String userIds = classGroup.getUserIds();
-        if(userIds == null || userIds.isEmpty()) throw new Exception("班级学生不能为空");
+        if (userIds == null || userIds.isEmpty()) throw new Exception("班级学生不能为空");
 
-        HashSet<String> userIdStrSet = new HashSet<>(Arrays.asList(userIds.split(",")));
+        Set<String> userIdStrSet = new HashSet<>(Arrays.asList(userIds.split(",")));
 
         Date date = new Date();
         classGroup.setCreateTime(date);
@@ -133,6 +138,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         insert(classGroup);
 
         //2、插入班级学生关联关系
+        List<ImGroupMember> imGroupMemberList = new ArrayList<>();
         List<ClassGroupStudentMapper> classGroupStudentList = new ArrayList<>();
         for (String userId : userIdStrSet) {
             ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
@@ -148,9 +154,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             studentRegistration.setUserId(Integer.parseInt(userId));
             studentRegistration.setMusicGroupId(classGroup.getMusicGroupId());
             studentRegistrationDao.updateByUserIdAndMusicGroupId(studentRegistration);
+            imGroupMemberList.add(new ImGroupMember(userId));
         }
 
         classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentList);
+        ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
+        // 创建群组
+        imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 
         return classGroup;
     }
@@ -397,23 +407,23 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         PageInfo<CourseListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
-        params.put("userId",userId);
+        params.put("userId", userId);
         List<CourseListDto> courseListDtos = null;
         //获取分页前的所有的乐团编号和vip编号
         params.put("offset", pageInfo.getOffset());
         List<String> musicGroupIds = courseScheduleDao.queryMusicGroupIds(params);
         courseListDtos = new ArrayList<>();
         //获取学员所购买的vip课列表详情
-        List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds,","));
+        List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds, ","));
         //获取vip课的学生列表
         Set<String> vipIds = vipCourses.stream().map(CourseListDto::getMusicGroupId).collect(Collectors.toSet());
-        Map<String,String> vipStuNames = MapUtil.convertMybatisMap(classGroupDao.findVipStuNames(StringUtils.join(vipIds,",")));
+        Map<String, String> vipStuNames = MapUtil.convertMybatisMap(classGroupDao.findVipStuNames(StringUtils.join(vipIds, ",")));
         //获取学员的乐团列表详情
-        courseListDtos.addAll(classGroupDao.queryStudentMusicGroupCourses(StringUtils.join(musicGroupIds,",")));
+        courseListDtos.addAll(classGroupDao.queryStudentMusicGroupCourses(StringUtils.join(musicGroupIds, ",")));
         courseListDtos.addAll(vipCourses);
         //获取所有教学点名称列表
         Set<Integer> schoolIds = courseListDtos.stream().map(CourseListDto::getTeacherSchoolId).collect(Collectors.toSet());
-        Map<Integer,String> schoolNames = MapUtil.convertMybatisMap(schoolDao.queryNameByIds(StringUtils.join(schoolIds,",")));
+        Map<Integer, String> schoolNames = MapUtil.convertMybatisMap(schoolDao.queryNameByIds(StringUtils.join(schoolIds, ",")));
 
         courseListDtos.forEach(e -> {
             e.setAddress(schoolNames.get(e.getTeacherSchoolId()));
@@ -448,7 +458,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(musicGroupIds);
 
             //获取乐团群用户总数map
-            List<Map<String, BigDecimal>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(StringUtils.join(musicGroupIds,","));
+            List<Map<String, BigDecimal>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(StringUtils.join(musicGroupIds, ","));
             Map<String, BigDecimal> musicGroupUserNumMap = MapUtil.convertMybatisMap(musicGroupUserNums);
             MusicGroup musicGroup;
             Set<Integer> teachers;