zouxuan 5 年之前
父節點
當前提交
894f1b2f31

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

@@ -204,4 +204,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<Map<Long, Long>> countApplyNum(String musicGroupId);
+
+    /**
+     * 根据家长手机号获取用户编号
+     * @param parentPhones
+     * @return
+     */
+    List<Map<Integer, String>> findParentId(String parentPhones);
 }

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/UpdateExpectedNumDto.java

@@ -8,7 +8,7 @@ public class UpdateExpectedNumDto {
     private Integer musicGroupSubjectPlanId;
 
     @ApiModelProperty(value = "计划招生人数",required = false)
-    private Integer expectedNum;
+    private Integer expectedStudentNum;
 
     public Integer getMusicGroupSubjectPlanId() {
         return musicGroupSubjectPlanId;
@@ -18,11 +18,11 @@ public class UpdateExpectedNumDto {
         this.musicGroupSubjectPlanId = musicGroupSubjectPlanId;
     }
 
-    public Integer getExpectedNum() {
-        return expectedNum;
+    public Integer getExpectedStudentNum() {
+        return expectedStudentNum;
     }
 
-    public void setExpectedNum(Integer expectedNum) {
-        this.expectedNum = expectedNum;
+    public void setExpectedStudentNum(Integer expectedStudentNum) {
+        this.expectedStudentNum = expectedStudentNum;
     }
 }

+ 9 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java

@@ -23,7 +23,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param subFeeSettingDto
 	 * @Author superzou
 	 */
-	String createGroup(SubFeeSettingDto subFeeSettingDto, Integer userId);
+	String createGroup(SubFeeSettingDto subFeeSettingDto) throws Exception;
 
 	/**
 	 * 获取学生所在乐团详情
@@ -158,11 +158,11 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
     List<CourseScheduleTeachersDto> queryTeacherSalary(Integer courseScheduleId);
 
 	/**
-	 * 开启缴费
+	 * 开启缴费(报名中 -->  缴费中)
 	 * @param musicGroupId
 	 * @return
 	 */
-	MusicGroup openPay(String musicGroupId, String expireDate);
+	MusicGroup openPay(String musicGroupId, String expireDate) throws Exception;
 
 	/**
 	 * 获取乐团详情
@@ -209,4 +209,10 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param musicGroupId
 	 */
 	void musicGroupAction(String musicGroupId) throws Exception;
+
+	/**
+	 * 提交审核(草稿 -> 审核中)
+	 * @param musicGroupId
+	 */
+	void musicGroupAudit(String musicGroupId) throws Exception;
 }

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

@@ -208,4 +208,11 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @return
 	 */
 	List<StudentRegistration> queryStudentByMusicGroupId(String musicGroupId);
+
+	/**
+	 * 根据家长的手机号列表,获取用户编号
+	 * @param parentPhones
+	 * @return
+	 */
+	List<Map<Integer,String>> findParentId(String parentPhones);
 }

+ 53 - 28
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -104,6 +104,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 	@Autowired
 	private SysMessageService sysMessageService;
 
+	@Autowired
+	private SysMessageConfigDao sysMessageConfigDao;
+
     @Override
     public BaseDAO<String, MusicGroup> getDAO() {
         return musicGroupDao;
@@ -111,14 +114,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public String createGroup(SubFeeSettingDto subFeeSettingDto, Integer userId) {
+    public String createGroup(SubFeeSettingDto subFeeSettingDto) throws Exception {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new Exception("用户信息获取失败");
+        }
         MusicGroup musicGroup = subFeeSettingDto.getMusicGroup();
         List<MusicGroupSubjectGoodsGroup> musicGroupSubjectGoodsGroups = subFeeSettingDto.getMusicGroupSubjectGoodsGroups();
         List<MusicGroupSubjectPlan> musicGroupSubjectPlans = subFeeSettingDto.getMusicGroupSubjectPlans();
         List<SubjectRegisterDto> subjectRegisters = subFeeSettingDto.getSubjectRegisters();
         String musicGroupId = idGeneratorService.generatorId() + "";
         musicGroup.setId(musicGroupId);
-        musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
+        musicGroup.setStatus(MusicGroupStatusEnum.DRAFT);
         // 保存乐团基本信息
         musicGroupDao.insert(musicGroup);
         // 保存乐团付费主体列表
@@ -166,7 +173,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             musicGroupSubjectGoodsGroupDao.batchInsert(musicGroupSubjectGoodsGroups,musicGroupId);
         }
         // 记录创建日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "提交建团申请", userId, ""));
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "保存乐团草稿", sysUser.getId(), ""));
         return musicGroupId;
     }
 
@@ -185,7 +192,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             if(musicGroup.getStatus() != MusicGroupStatusEnum.AUDIT || musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT){
                 throw new Exception("乐团状态异常");
             }
-
             //记录日志信息
             musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"修改乐团计划声部、乐器",sysUser.getId(), JSONObject.toJSONString(subFeeSettingDto)));
             //删除原有的乐团声部规划
@@ -213,13 +219,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if(musicGroup == null){
-            throw new Exception("乐团信息不存在");
-        }
-        if(musicGroup.getStatus() != MusicGroupStatusEnum.PREPARE){
-            throw new Exception("乐团状态异常");
-        }
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.PREPARE);
         //乐器采购清单是否确认
         Map<String,Object> param = new HashMap<>();
         param.put("musicGroupId",musicGroupId);
@@ -229,11 +229,35 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         //课酬是否确认
 //        courseScheduleTeacherSalaryDao.queryCount();
-        Date date = new Date();
         //记录操作日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"确认开团(筹备中 -> 进行中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.PROGRESS);
+        musicGroupDao.update(musicGroup);
+    }
+
+    private MusicGroup saveLog(String musicGroupId,MusicGroupStatusEnum statusEnum) throws Exception {
+        Date date = new Date();
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        if(musicGroup == null){
+            throw new Exception("乐团信息不存在");
+        }
+        if(musicGroup.getStatus() != statusEnum){
+            throw new Exception("乐团状态异常");
+        }
         musicGroup.setUpdateTime(date);
+        return musicGroup;
+    }
+
+    @Override
+    public void musicGroupAudit(String musicGroupId) throws Exception {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new Exception("用户信息获取失败");
+        }
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.DRAFT);
+        //记录操作日志
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"提交审核(草稿 -> 审核中)",sysUser.getId(),""));
+        musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
         musicGroupDao.update(musicGroup);
     }
 
@@ -746,10 +770,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
-    public MusicGroup openPay(String musicGroupId, String expireDate) {
-        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        musicGroup.setStatus(MusicGroupStatusEnum.PAY);
+    public MusicGroup openPay(String musicGroupId, String expireDate) throws Exception {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new Exception("用户信息获取失败");
+        }
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.APPLY);
+        //记录操作日志
+        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"开启缴费(报名中 -->  缴费中)",sysUser.getId(),""));
         musicGroup.setApplyExpireDate(DateUtil.toDate(expireDate));
+        musicGroup.setStatus(MusicGroupStatusEnum.PAY);
         musicGroupDao.update(musicGroup);
         return musicGroup;
     }
@@ -798,25 +828,20 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if(sysUser == null){
             throw new Exception("用户信息获取失败");
         }
-        Date date = new Date();
-        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if(musicGroup == null){
-            throw new Exception("乐团信息不存在");
-        }
-        if(musicGroup.getStatus() != MusicGroupStatusEnum.PAY){
-            throw new Exception("乐团状态异常");
-        }
+        MusicGroup musicGroup = saveLog(musicGroupId,MusicGroupStatusEnum.PAY);
         //记录操作日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"确认开团(缴费中 -> 筹备中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.PREPARE);
-        musicGroup.setUpdateTime(date);
         musicGroupDao.update(musicGroup);
+
         //给家长发送乐团基础训练课短信
         //获取所有乐团学员列表
-//        List<StudentRegistration> students = studentRegistrationService.queryStudentByMusicGroupId(musicGroupId);
+        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,parentsPhones,date,0,"");
+        Set<String> parentsPhones = students.stream().map(StudentRegistration::getParentsPhone).collect(Collectors.toSet());
+        //获取对应家长的用户编号
+//        Map<Integer,String> userIds = MapUtil.convertMybatisMap(studentRegistrationService.findParentId(StringUtils.join(parentsPhones,",")));
+//        String content = sysMessageConfigDao.findContent(MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE.getCode());
+//        sysMessageService.batchSendMessage(MessageSender.YIMEI,"",content,userIds,date,0,"");
     }
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -582,4 +582,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public List<StudentRegistration> queryStudentByMusicGroupId(String musicGroupId) {
         return studentRegistrationDao.queryStudentByMusicGroupId(musicGroupId);
     }
+
+    @Override
+    public List<Map<Integer, String>> findParentId(String parentPhones) {
+        return studentRegistrationDao.findParentId(parentPhones);
+    }
 }

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

@@ -107,7 +107,7 @@
         <foreach collection="updateExpectedNumDtos" item="item" index="index" open="" close="" separator=";">
             UPDATE music_group_subject_plan
             <set>
-                expected_student_num_ = #{item.expectedNum}
+                expected_student_num_ = #{item.expectedStudentNum}
             </set>
             where id_ = #{item.musicGroupSubjectPlanId}
         </foreach>

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

@@ -429,6 +429,17 @@
         GROUP BY actual_subject_id_
     </select>
 
+    <select id="findParentId" resultType="java.util.Map">
+        SELECT MAX(sr.user_id_) `key`,sr.parents_phone_ `value`
+        FROM student_registration sr
+        WHERE FIND_IN_SET(sr.parents_phone_,#{parentPhones})
+        GROUP BY sr.parents_phone_
+    </select>
+    <select id="queryStudentByMusicGroupId" resultMap="StudentRegistration">
+        SELECT * FROM student_registration sr
+        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.payment_status_ = 2
+    </select>
+
     <!-- 批量开启缴费 -->
     <update id="batchOpenPay">
         UPDATE student_registration

+ 13 - 4
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -98,12 +98,12 @@ public class MusicGroupController extends BaseController {
 	@ApiOperation(value = "新增乐团  建团申请数据提交")
 	@PostMapping("/createGroup")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/createGroup')")
-	public Object createGroup(@RequestBody SubFeeSettingDto subFeeSettingDto) {
+	public Object createGroup(@RequestBody SubFeeSettingDto subFeeSettingDto) throws Exception {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null || sysUser.getId() == null) {
 			return failed("获取用户信息失败");
 		}
-		return succeed(musicGroupService.createGroup(subFeeSettingDto, sysUser.getId()));
+		return succeed(musicGroupService.createGroup(subFeeSettingDto));
 	}
 
 	@ApiOperation(value = "根据乐团ids获取乐团列表")
@@ -116,12 +116,12 @@ public class MusicGroupController extends BaseController {
 		return succeed(musicGroupService.queryListByIds(musicGroupIds));
 	}
 
-	@ApiOperation(value = "开启乐团缴费功能")
+	@ApiOperation(value = "开启缴费(报名中 -->  缴费中)")
 	@PostMapping("/openPay")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/openPay')")
 	@ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "expireDate", value = "截止缴费日期", required = true, dataType = "String") })
-	public Object openPay(String musicGroupId, String expireDate) {
+	public Object openPay(String musicGroupId, String expireDate) throws Exception {
 		return succeed(musicGroupService.openPay(musicGroupId, expireDate));
 	}
 
@@ -134,6 +134,15 @@ public class MusicGroupController extends BaseController {
 		return succeed();
 	}
 
+	@ApiOperation(value = "提交审核(草稿 -> 审核中)")
+	@PostMapping("/audit")
+	@PreAuthorize("@pcs.hasPermissions('musicGroup/audit')")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
+	public Object audit(String musicGroupId) throws Exception {
+		musicGroupService.musicGroupAudit(musicGroupId);
+		return succeed();
+	}
+
 	@ApiOperation(value = "开启乐团(筹备中 -->  进行中)")
 	@PostMapping("/action")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/action')")