Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
Joburgess 5 years ago
parent
commit
3d1ba258d9

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -117,10 +117,10 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     /**
      * 获取课程下的学员列表
      *
-     * @param musicGroupId
+     * @param classGroupId
      * @return
      */
-    List<ImUserModel> findGroupUsers(String musicGroupId);
+    List<ImUserModel> findGroupUsers(Integer classGroupId);
 
     /**
      * count学员购买列表

+ 14 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -177,11 +177,24 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param userIdList
      * @return
      */
-    List<StudentRegistration> findStudentListByUserIdList(@Param("musicGroupId") String musicGroupId, @Param("userIdList") List<Integer> userIdList);
+    List<StudentRegistration> findStudentListByUserIdList(@Param("musicGroupId") String musicGroupId, @Param("userIdList") String userIdList);
 
     /**
      * @param ids
      * @return
      */
     int batchOpenPay(@Param("ids") String ids, @Param("paymentStatus") PaymentStatusEnum paymentStatus);
+
+    /**
+     * 乐团添加学员
+     * @param studentRegistration
+     */
+    void insertBasic(StudentRegistration studentRegistration);
+
+    /**
+     * 获取乐团已缴费学员列表
+     * @param musicGroupId
+     * @return
+     */
+    List<StudentRegistration> queryStudentByMusicGroupId(String musicGroupId);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -152,7 +152,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param groupId
      * @return
      */
-    List<ImUserModel> findGroupUsers(String groupId);
+    List<ImUserModel> findGroupUsers(Integer groupId);
 
     /**
      * 分页查询学生购买记录

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -180,4 +180,10 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	List<ImGroupMember> queryMusicGroupTeachers(String musicGroupId);
+
+	/**
+	 * 乐团确认成立
+	 * @param musicGroupId
+	 */
+    void musicGroupFound(String musicGroupId);
 }

+ 7 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -92,7 +92,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @return
 	 */
 	StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee,
-			List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList);
+			List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList) throws Exception;
 
 	/**
 	 * 学生注册缴费重新下订单
@@ -202,4 +202,10 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 */
 	int openPayment(String ids);
 
+	/**
+	 * 根据乐团编号获取已缴费学员列表
+	 * @param musicGroupId
+	 * @return
+	 */
+	List<StudentRegistration> queryStudentByMusicGroupId(String musicGroupId);
 }

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -512,14 +512,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 Integer num = numsMap.get(e.getId());
                 e.setCount(num == null ? 0 : num + e.getCount());
             });
-//            imGroupModels.addAll(imGroupModels1);
         }
         return imGroupModels;
     }
 
     @Override
-    public List<ImUserModel> findGroupUsers(String groupId) {
-        return classGroupDao.findGroupUsers(groupId.substring(2));
+    public List<ImUserModel> findGroupUsers(Integer groupId) {
+        return classGroupDao.findGroupUsers(groupId);
     }
 
     @Override

+ 7 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
@@ -56,7 +57,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
         classStudentMapper.setStatus(ClassGroupStudentStatusEnum.QUIT);
         update(classStudentMapper);
         StudentRegistration student = studentRegistrationService.findStudentByClassGroupIdAndUserId(userId, classGroupId);
-        if(student != null) {
+        if (student != null) {
             student.setClassGroupId(0);
             studentRegistrationService.update(student);
         }
@@ -141,6 +142,10 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             classGroupStudentMapper.setCreateTime(nowDate);
             classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
             classGroupStudentMappers.add(classGroupStudentMapper);
+            if (classGroup.getType().equals(ClassGroupTypeEnum.NORMAL)) {
+                StudentRegistration studentRegistration = studentRegistrationService.get(Long.parseLong(userIdStr));
+                studentRegistrationService.update(studentRegistration);
+            }
         }
         classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentMappers);
 
@@ -152,7 +157,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         //4、班级在合奏班、添加合奏课程
         ClassGroupRelation classGroupRelation = classGroupRelationService.findClassGroupRelation(classGroupId);
-        if(classGroupRelation != null){
+        if (classGroupRelation != null) {
             //合奏班增加人数
             classGroupService.updateClassStudentNum(classGroupRelation.getClassGroupId().longValue(), userIdStrSet.size());
             List<CourseSchedule> mixCourseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroupRelation.getClassGroupId());

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

@@ -83,6 +83,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private OrganizationDao organizationDao;
 
     @Autowired
+    private SysConfigDao sysConfigDao;
+
+    @Autowired
     private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
 
     @Autowired
@@ -184,7 +187,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if(musicCardDto != null){
             musicCardDto.setMusicGroupNum(musicGroupDao.countUserMusicGroups(userId));
             musicCardDto.setVipClassNum(musicGroupDao.countCourseByType(userId, ClassGroupTypeEnum.VIP));
-            return musicGroupDao.queryPersonalMusicGroups(userId);
+            return musicCardDto;
         }
         return new MusicCardDto();
     }
@@ -701,4 +704,20 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         return groupMembers;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void musicGroupFound(String musicGroupId) {
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        musicGroup.setStatus(MusicGroupStatusEnum.PREPARE);
+        musicGroup.setUpdateTime(new Date());
+        musicGroupDao.update(musicGroup);
+        //给家长发送乐团基础训练课短信
+        //获取所有乐团学员列表
+//        List<StudentRegistration> students = studentRegistrationService.queryStudentByMusicGroupId(musicGroupId);
+        //获取所有家长电话
+//        Set<String> parentsPhones = students.stream().map(StudentRegistration::getParentsPhone).collect(Collectors.toSet());
+//        String content = sysConfigDao.findConfigValue(MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE.getCode());
+//        sysMessageService.batchSendMessage(MessageSender.YIMEI,"",content,);
+    }
 }

+ 16 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -213,7 +213,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList) {
+    public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList) throws Exception {
         Date date = new Date();
         StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
         studentPaymentOrder.setUserId(studentRegistration.getUserId());
@@ -290,6 +290,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
         int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
         musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
+        if(musicOneSubjectClassPlan.getPaidStudentNum() > musicOneSubjectClassPlan.getExpectedStudentNum()){
+            throw new Exception("乐团人数已满");
+        }
+        musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
         return studentPaymentOrder;
     }
 
@@ -385,6 +389,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Integer insertStudent(StudentRegistration studentRegistration) throws Exception {
         StudentRegistration phoneAndMusicGroupId = studentRegistrationDao.getByPhoneAndMusicGroupId(studentRegistration.getMusicGroupId(), studentRegistration.getParentsPhone());
         if (phoneAndMusicGroupId != null) {
@@ -417,8 +422,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 userId = sysUser.getId();
             }
             studentRegistration.setUserId(userId);
+            studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
+            studentRegistration.setMusicGroupStatus(ClassGroupStudentStatusEnum.NORMAL);
             //学生报名表
-            studentRegistrationDao.insert(studentRegistration);
+            studentRegistrationDao.insertBasic(studentRegistration);
             //增加报名学生数
             musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(),1);
             if (studentRegistration.getClassGroupId() != null) {
@@ -478,6 +485,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public StudentPaymentOrder updateApplyOrder(StudentPaymentOrder studentPaymentOrder) {
         //更新订单状态
         studentPaymentOrderService.update(studentPaymentOrder);
@@ -554,11 +562,16 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     public List<StudentRegistration> findStudentListByUserIdList(String musicGroupId, List<Integer> userIdList) {
-        return studentRegistrationDao.findStudentListByUserIdList(musicGroupId, userIdList);
+        return studentRegistrationDao.findStudentListByUserIdList(musicGroupId, StringUtils.join(userIdList,","));
     }
 
     @Override
     public int openPayment(String ids) {
         return studentRegistrationDao.batchOpenPay(ids, PaymentStatusEnum.OPEN);
     }
+
+    @Override
+    public List<StudentRegistration> queryStudentByMusicGroupId(String musicGroupId) {
+        return studentRegistrationDao.queryStudentByMusicGroupId(musicGroupId);
+    }
 }

+ 3 - 3
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -224,10 +224,10 @@
     <!-- 根据乐团id获取乐团下所有班级 -->
     <select id="findClassGroupByMusicGroupId" resultMap="ClassGroupTeachers">
         SELECT * FROM class_group WHERE music_group_id_ = #{musicGroupId}
-        <if test="type !=null and type !=''">
+        <if test="type !=null">
             AND FIND_IN_SET(type_,#{type})
         </if>
-        <if test="classGroupId !=null and classGroupId !=''">
+        <if test="classGroupId !=null">
             AND id_ = #{classGroupId}
         </if>
         AND del_flag_ = 0
@@ -264,7 +264,7 @@
     <select id="findGroupUsers" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">
         SELECT su.id_,su.avatar_,su.username_ FROM class_group_student_mapper cgsm
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
-        WHERE cgsm.class_group_id_ = #{musicGroupId} GROUP BY su.id_
+        WHERE cgsm.class_group_id_ = #{classGroupId} GROUP BY su.id_
     </select>
     <select id="countStudentPayLog" resultType="java.lang.Integer">
         SELECT COUNT(spo.id_)

+ 12 - 4
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -405,13 +405,21 @@
             #{item.remark},now(),now(),#{item.parentsName},#{item.parentsCompany},#{item.paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.subjectId},#{item.musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
         </foreach>
     </insert>
+    <insert id="insertBasic" parameterType="com.ym.mec.biz.dal.entity.StudentRegistration">
+        INSERT INTO student_registration
+        (parents_phone_,user_id_,name_,music_group_id_,current_grade_,current_class_,subject_id_,
+        create_time_,update_time_,parents_name_,payment_status_,actual_subject_id_,music_group_status_)
+        VALUES (#{parentsPhone},#{userId},#{name},#{musicGroupId},#{currentGrade},#{currentClass},#{subjectId},
+            now(),now(),#{parentsName},#{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subjectId},
+            #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+    </insert>
 
     <!-- 查询乐团userIdList的学生 -->
     <select id="findStudentListByUserIdList" resultMap="StudentRegistration">
-        SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND user_id_ IN
-        <foreach collection="userIdList" item="userId" index="index" open="(" close=")" separator=",">
-            #{userId}
-        </foreach>
+        SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND FIND_IN_SET(user_id_,#{userIdList})
+    </select>
+    <select id="queryStudentByMusicGroupId" resultMap="StudentRegistration">
+
     </select>
 
     <!-- 批量开启缴费 -->

+ 2 - 2
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -86,8 +86,8 @@ public class StudentManageController extends BaseController {
 
     @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
     @GetMapping("classGroup/findGroupUsers")
-    public Object findGroupUsers(String groupId) {
-        if (StringUtils.isEmpty(groupId)) {
+    public Object findGroupUsers(Integer groupId) {
+        if (groupId == null) {
             return failed("参数校验错误");
         }
         return succeed(classGroupService.findGroupUsers(groupId));

+ 2 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -71,8 +71,8 @@ public class TeacherManageController extends BaseController {
 
     @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
     @GetMapping("classGroup/findGroupUsers")
-    public Object findGroupUsers(String groupId) {
-        if (org.apache.commons.lang3.StringUtils.isEmpty(groupId)) {
+    public Object findGroupUsers(Integer groupId) {
+        if (groupId == null) {
             return failed("参数校验错误");
         }
         return succeed(classGroupService.findGroupUsers(groupId));

+ 11 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -98,4 +98,15 @@ public class MusicGroupController extends BaseController {
         return succeed(musicGroupService.openPay(musicGroupId,expireDate));
     }
 
+    @ApiOperation(value = "乐团确认成立")
+    @PostMapping("/found")
+    @PreAuthorize("@pcs.hasPermissions('musicGroup/found')")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")
+    })
+    public Object found(String musicGroupId) {
+        musicGroupService.musicGroupFound(musicGroupId);
+        return succeed();
+    }
+
 }