浏览代码

确认成团逻辑修改,//新建团:(乐团合作单位没有进行中 、暂停、关闭 的乐团)
//若乐团新建团,则操作【确认开团】时,若【已缴费】学员达到98人,则无需对【未缴费】学员新增回访
//若乐团不是新建团,则操作【确认开团】时,若【已缴费】学员达到58人,则无需对【未缴费】学员新增回访

周箭河 4 年之前
父节点
当前提交
7d935263ac

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -371,6 +371,7 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
 
     /**
      * 根据ids获取乐团信息
+     *
      * @param ids
      * @return
      */
@@ -378,5 +379,11 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
 
     List<String> getNoClassStudentMusicGroupIds(@Param("organIds") List<Integer> organIds);
 
-    Integer getCooperationMusicGroupNum(Integer cooperationOrganId,String musicGroupId);
+    /**
+     * 获取乐团合作单位进行中 、暂停、关闭 的乐团
+     * @param cooperationOrganId
+     * @param musicGroupId
+     * @return
+     */
+    Integer getCooperationMusicGroupNum(@Param("cooperationOrganId") Integer cooperationOrganId, @Param("musicGroupId") String musicGroupId);
 }

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

@@ -488,8 +488,16 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     StudentRegistration getByUserIdAndMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
 
     List<NoClassMusicStudentDto> queryNoClassMusicStudents(Map<String, Object> params);
+
     int countNoClassMusicStudents(Map<String, Object> params);
 
 
     List<StudentClassInfoDto> getStudentClassInfo(@Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * 获取乐团已缴费学员数量
+     * @param musicGroupId
+     * @return
+     */
+    Integer getPaymentStudentNum(@Param("musicGroupId") String musicGroupId);
 }

+ 10 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2748,8 +2748,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //报名未交费的学生,完成回访才能到下一步
 
         //获取乐团合作单位乐团数量
-        musicGroupDao.getCooperationMusicGroupNum(musicGroup.getCooperationOrganId(),musicGroupId);
-        checkStudentVisit(musicGroupId);
+        Integer cooperationMusicGroupNum = musicGroupDao.getCooperationMusicGroupNum(musicGroup.getCooperationOrganId(), musicGroupId);
+        Integer paymentStudentNum = studentRegistrationDao.getPaymentStudentNum(musicGroupId);
+
+        if((cooperationMusicGroupNum > 0 && paymentStudentNum < 98) || (cooperationMusicGroupNum <= 0 && paymentStudentNum < 58)){
+            checkStudentVisit(musicGroupId);
+        }
 
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, event, sysUser.getId(), ""));
         musicGroup.setStatus(MusicGroupStatusEnum.PREPARE);
@@ -2778,6 +2782,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
     }
 
+    /**
+     * 校验回访
+     * @param musicGroupId
+     */
     private void checkStudentVisit(String musicGroupId){
         boolean hasNoVisit = false;
         StringBuilder tipsMsg = new StringBuilder();

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -712,4 +712,10 @@
                 </foreach>
             </if>
     </select>
+
+    <select id="getCooperationMusicGroupNum" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM  music_group
+        WHERE cooperation_organ_id_ = #{cooperationOrganId} AND status_ IN ('PROGRESS','PAUSE','CLOSE')
+        AND id_ != #{musicGroupId}
+    </select>
 </mapper>

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

@@ -948,4 +948,8 @@
             </foreach>
         </if>
     </select>
+
+    <select id="getPaymentStudentNum" resultType="int">
+        SELECT COUNT(*) FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND payment_status_ = 2 AND music_group_status_ = 'NORMAL'
+    </select>
 </mapper>