Explorar o código

Merge branch 'master_saas' of http://git.dayaedu.com/yonge/mec into master_saas

liujc %!s(int64=2) %!d(string=hai) anos
pai
achega
326d79505e

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -540,6 +540,16 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
                                                   @Param("musicGroupStatus") StudentMusicGroupStatusEnum musicGroupStatus);
 
     /**
+     * @param groupIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.StudentRegistration>
+     * @describe 获取指定乐团中的注册学员
+     * @author Joburgess
+     * @date 2021/5/24 0024
+     */
+    List<StudentRegistration> findByMusicGroupIds1(@Param("groupIds") List<String> groupIds,
+                                                  @Param("musicGroupStatus") StudentMusicGroupStatusEnum musicGroupStatus);
+
+    /**
      * 获取支付中的缴费和审核的人数
      *
      * @param musicGroupId

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ImLiveBroadcastRoomDto.java

@@ -30,6 +30,9 @@ public class ImLiveBroadcastRoomDto implements Serializable {
     @ApiModelProperty(value = "主讲人id/老师id")
     private Integer speakerId;
 
+
+    @ApiModelProperty(value = "主讲人名称")
+    private String speakerName;
     @ApiModelProperty("用户类型 TEACHER 老师 EDUCATION 教务端")
     private SysUserType clientType;
 
@@ -79,6 +82,15 @@ public class ImLiveBroadcastRoomDto implements Serializable {
     @ApiModelProperty("声部")
     private String subjectId;
 
+
+    public String getSpeakerName() {
+        return speakerName;
+    }
+
+    public void setSpeakerName(String speakerName) {
+        this.speakerName = speakerName;
+    }
+
     public ImLiveBroadcastRoomDto groupType(String groupType) {
         this.groupType = groupType;
         return this;

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -527,6 +527,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				// 添加用户现金账户
 				sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
 			}else {
+				student.setCurrentClass(si.getCurrentClass());
 				student.setCurrentGradeNum(SixPlusGradeEnum.get(si.getGrade()).getCode());
 				studentDao.update(student);
 			}

+ 22 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolIndexStatServiceImpl.java

@@ -34,6 +34,8 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
     @Resource
     private LessonExaminationDao lessonExaminationDao;
 
+    private static final Map<String, String> gradeMap = createGradeMap();
+
     @Override
     public SchoolIndexStatDto stat(SchoolIndexStatWrapper.QueryDto queryDto) {
         List<String> musicGroupIds = new ArrayList<>();
@@ -46,7 +48,7 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
         if(CollectionUtils.isEmpty(musicGroupIds)){
             return result;
         }
-        List<StudentRegistration> studentRegistrations = studentRegistrationDao.findByMusicGroupIds(musicGroupIds, StudentMusicGroupStatusEnum.NORMAL);
+        List<StudentRegistration> studentRegistrations = studentRegistrationDao.findByMusicGroupIds1(musicGroupIds, StudentMusicGroupStatusEnum.NORMAL);
         if(CollectionUtils.isEmpty(studentRegistrations)){
             return result;
         }
@@ -57,9 +59,8 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
         //年级分布
         List<SchoolIndexStatWrapper.GradeDistribution> gradeDistributions = studentRegistrations.stream()
                 .map(e -> {
-                    if (e.getCurrentGrade() == null) {
-                        e.setCurrentGrade("一年级");
-                    }
+                    String gradeName = createGradeMap().getOrDefault(e.getCurrentGrade(), "一年级");
+                    e.setCurrentGrade(gradeName);
                     return e;
                 })
                 .collect(Collectors.groupingBy(
@@ -229,6 +230,23 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
             }
         }
     }
+    // 辅助方法:创建年级映射
+    private static Map<String, String> createGradeMap() {
+        Map<String, String> gradeMap = new HashMap<>();
+        gradeMap.put("1", "一年级");
+        gradeMap.put("2", "二年级");
+        gradeMap.put("3", "三年级");
+        gradeMap.put("4", "四年级");
+        gradeMap.put("5", "五年级");
+        gradeMap.put("6", "六年级");
+        gradeMap.put("7", "七年级");
+        gradeMap.put("8", "八年级");
+        gradeMap.put("9", "九年级");
+        gradeMap.put("10", "高一");
+        gradeMap.put("11", "高二");
+        gradeMap.put("12", "高三");
+        return gradeMap;
+    }
 
     // 定义自定义顺序的列表
     List<String> gradeOrder = Arrays.asList(

+ 30 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -248,6 +248,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     @Autowired
     private SysUserCashAccountLogService sysUserCashAccountLogService;
 
+    @Autowired
+    private ImLiveBroadcastRoomService imLiveBroadcastRoomService;
+
     private static final Logger LOGGER = LoggerFactory.getLogger(VipGroup.class);
 
     @Override
@@ -1601,6 +1604,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     public PageInfo<VipGroup> findVipGroups(VipGroupQueryInfo queryInfo) {
         if (queryInfo.getGroupType().equals(GroupType.LIVE.getCode())) {
             queryInfo.setOrganId(null);
+            queryInfo.setLiveOrganId(null);
         }
         PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
@@ -4441,13 +4445,38 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
         VipGroupApplyBaseInfoDto baseInfoDto = JSON.parseObject(JSON.toJSONString(vipGroup), VipGroupApplyBaseInfoDto.class);
 
+        vipGroupApplyDto.setVipGroupApplyBaseInfo(baseInfoDto);
         //  分部名  声部  乐团主管
 
         String organIdList = baseInfoDto.getOrganIdList();
 
         baseInfoDto.setOrganName(organizationDao.findByOrganIds(organIdList).stream().collect(Collectors.joining(",")));
 
-        // todo
+        String subjectIdList = baseInfoDto.getSubjectIdList();
+        if ("-1".equals(subjectIdList)) {
+            baseInfoDto.setSubjectName("乐理");
+        } else {
+            baseInfoDto.setSubjectName(subjectDao.findNames(subjectIdList));
+        }
+        Integer educationalTeacherId = baseInfoDto.getEducationalTeacherId();
+        if (Objects.nonNull(educationalTeacherId)) {
+            baseInfoDto.setEducationalTeacherName(sysUserService.queryUserById(educationalTeacherId).getRealName());
+        }
+
+        // 设置课程
+        List<CourseSchedule> courseSchedules = JSON.parseArray(baseInfoDto.getCourseSchedulesJson(), CourseSchedule.class);
+
+        vipGroupApplyDto.setCourseSchedules(courseSchedules);
+
+        // 直播信息
+        ImLiveBroadcastRoomDto imLiveBroadcastRoomDto = JSON.parseObject(baseInfoDto.getLiveConfigJson(), ImLiveBroadcastRoomDto.class);
+
+        vipGroupApplyDto.setLiveBroadcastRoom(imLiveBroadcastRoomDto);
+        // 主讲人信息
+        SysUser sysUser = sysUserService.queryUserById(imLiveBroadcastRoomDto.getSpeakerId());
+        imLiveBroadcastRoomDto.setSpeakerName(sysUser.getRealName());
+
+
         return vipGroupApplyDto;
 
     }

+ 16 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -1347,6 +1347,22 @@
             AND music_group_status_ = #{musicGroupStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         </if>
     </select>
+    <select id="findByMusicGroupIds1" resultMap="StudentRegistration">
+        select sr.id_, sr.user_id_, sr.name_, sr.music_group_id_,s.current_grade_num_ current_grade_, sr.current_grade_num_, sr.current_grade_date_,
+        sr.current_class_, sr.subject_id_, sr.actual_subject_id_, sr.is_allow_adjust_, sr.kit_purchase_method_, sr.remark_,
+        sr.parents_name_, sr.parents_phone_, sr.parents_company_, sr.payment_status_, sr.class_group_id_, sr.temporary_course_fee_,
+        sr.music_group_status_, sr.surplus_course_fee_, sr.is_merge_, sr.paying_status_, sr.has_cloud_teacher_, sr.none_need_cloud_teacher_, sr.music_group_payment_calender_id_,
+        sr.membership_end_time_, sr.create_time_, sr.update_time_, sr.tenant_id_, sr.original_flag_, sr.expect_surplus_course_fee_
+        from student_registration sr
+        left join student s ON s.user_id_ = sr.user_id_
+        WHERE sr.music_group_id_ IN
+        <foreach collection="groupIds" item="groupId" open="(" close=")" separator=",">
+            #{groupId}
+        </foreach>
+        <if test="musicGroupStatus != null">
+            AND sr.music_group_status_ = #{musicGroupStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        </if>
+    </select>
 
     <update id="quitAllStudent">
         UPDATE student_registration

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -47,6 +47,7 @@
         <result column="educational_teacher_id_" property="educationalTeacherId"/>
         <result column="vip_group_category_name_" property="vipGroupCategoryName"/>
         <result column="educational_teacher_name_" property="educationalTeacherName" />
+        <result column="live_config_json_" property="liveConfigJson" />
         <result column="tenant_id_" property="tenantId" />
     </resultMap>
 

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java

@@ -57,7 +57,7 @@ public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBea
 
     @Override
     public void afterPropertiesSet() {
-        /*ProjectConfig projectconfig = new ProjectConfig();
+        ProjectConfig projectconfig = new ProjectConfig();
         projectconfig.setProjectId(projectId);
         projectconfig.setProjectSecret(projectSecret);
         projectconfig.setItsmApiUrl(apisUrl);
@@ -69,7 +69,7 @@ public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBea
         serviceClient = ServiceClientManager.get(projectId);
         if (serviceClient == null) {
             throw new ThirdpartyException("获取e签宝客户端失败");
-        }*/
+        }
     }
 
     @Override