yonge 4 years ago
parent
commit
a320e72cef

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPreRegistrationDao.java

@@ -1,9 +1,11 @@
 package com.ym.mec.biz.dal.dao;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 
+import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.common.dal.BaseDAO;
 
@@ -14,4 +16,6 @@ public interface StudentPreRegistrationDao extends BaseDAO<Long, StudentPreRegis
 	StudentPreRegistration queryByMusicGroupIdAndPhone(@Param("phone") String phone, @Param("musicGroupId") String musicGroupId);
 	
 	List<StudentPreRegistration> queryByMusicGroupId(String musicGroupId);
+	
+	List<StudentPreRegistrationDto> queryListForPage(Map<String,Object> params);
 }

+ 36 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPreRegistrationDto.java

@@ -0,0 +1,36 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.StudentPreRegistration;
+
+public class StudentPreRegistrationDto extends StudentPreRegistration {
+	
+	private boolean isRegistered;
+	
+	private String subjectFirstName;
+	
+	private String subjectSecondName;
+
+	public boolean getIsRegistered() {
+		return isRegistered;
+	}
+
+	public void setIsRegistered(boolean isRegistered) {
+		this.isRegistered = isRegistered;
+	}
+
+	public String getSubjectFirstName() {
+		return subjectFirstName;
+	}
+
+	public void setSubjectFirstName(String subjectFirstName) {
+		this.subjectFirstName = subjectFirstName;
+	}
+
+	public String getSubjectSecondName() {
+		return subjectSecondName;
+	}
+
+	public void setSubjectSecondName(String subjectSecondName) {
+		this.subjectSecondName = subjectSecondName;
+	}
+}

+ 0 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPreRegistration.java

@@ -45,8 +45,6 @@ public class StudentPreRegistration {
 	/** 创建时间 */
 	private java.util.Date createTime;
 	
-	private boolean isRegistered;
-	
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -151,14 +149,6 @@ public class StudentPreRegistration {
 		return this.createTime;
 	}
 			
-	public boolean isRegistered() {
-		return isRegistered;
-	}
-
-	public void setRegistered(boolean isRegistered) {
-		this.isRegistered = isRegistered;
-	}
-
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -161,7 +161,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_PAYMENT_DETAIL("SMS_PAYMENT_DETAIL","缴费项目缴费详情提醒"),
     SMS_PAYMENT_CREATE("SMS_PAYMENT_CREATE","缴费项目创建提醒"),
     SMS_GOODS_REPERTORY_WARN("SMS_GOODS_REPERTORY_WARN","商品库存预警"),
-    SMS_REPAIR_SEND_COMPLETED("SMS_REPAIR_SEND_COMPLETED","乐器维修完成邮寄");
+    SMS_REPAIR_SEND_COMPLETED("SMS_REPAIR_SEND_COMPLETED","乐器维修完成邮寄"),
+    SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知");
 
 
 

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

@@ -40,6 +40,13 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @return
 	 */
 	boolean finishPreApply(String musicGroupId,boolean isCheckStudentNum);
+	
+	/**
+	 * 发送家长会通知
+	 * @param musicGroupId
+	 * @return
+	 */
+	boolean sendParentMeetingNotice(String musicGroupId);
 
 	/**
 	 * 零星缴费

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

@@ -1,8 +1,12 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface StudentPreRegistrationService extends BaseService<Long, StudentPreRegistration> {
-
+	
+	public PageInfo<StudentPreRegistrationDto> queryListForPage(QueryInfo queryInfo);
 }

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

@@ -498,6 +498,22 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 	}
 
 	@Override
+	public boolean sendParentMeetingNotice(String musicGroupId) {
+		MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+		if (musicGroup == null) {
+			throw new BizException("乐团信息查询失败");
+		}
+		if (musicGroup.getStatus() != MusicGroupStatusEnum.PRE_APPLY) {
+			throw new BizException("操作失败:只有乐团在[{}]状态才能操作", MusicGroupStatusEnum.PRE_APPLY.getMsg());
+		}
+		List<StudentPreRegistration> studentPreRegistrationList = studentPreRegistrationDao.queryByMusicGroupId(musicGroupId);
+		Map<Integer,String> receiverList = studentPreRegistrationList.stream().collect(Collectors.toMap(StudentPreRegistration :: getUserId, StudentPreRegistration :: getPhone));
+		
+		sysMessageService.batchSendMessage(MessageSender.AWSMS, MessageTypeEnum.SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE, receiverList, null, 1, null, null);
+		return true;
+	}
+
+	@Override
     @Transactional(rollbackFor = Exception.class)
     public Map sporadicPay(SporadicPayDto sporadicPayDto) throws Exception {
         //获取收费项价格

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPreRegistrationServiceImpl.java

@@ -1,13 +1,22 @@
 package com.ym.mec.biz.service.impl;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.ym.mec.biz.dal.dao.StudentPreRegistrationDao;
+import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.biz.service.StudentPreRegistrationService;
 import com.ym.mec.common.dal.BaseDAO;
+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.util.collection.MapUtil;
 
 @Service
 public class StudentPreRegistrationServiceImpl extends BaseServiceImpl<Long, StudentPreRegistration>  implements StudentPreRegistrationService {
@@ -19,5 +28,25 @@ public class StudentPreRegistrationServiceImpl extends BaseServiceImpl<Long, Stu
 	public BaseDAO<Long, StudentPreRegistration> getDAO() {
 		return studentPreRegistrationDao;
 	}
+
+	@Override
+	public PageInfo<StudentPreRegistrationDto> queryListForPage(QueryInfo queryInfo) {
+		PageInfo<StudentPreRegistrationDto> pageInfo = new PageInfo<StudentPreRegistrationDto>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+		
+		List<StudentPreRegistrationDto> dataList = null;
+		int count = this.findCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = studentPreRegistrationDao.queryListForPage(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<StudentPreRegistrationDto>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
 	
 }

+ 21 - 12
mec-biz/src/main/resources/config/mybatis/StudentPreRegistrationMapper.xml

@@ -23,6 +23,12 @@
 		<result column="is_registered_" property="isRegistered" />
 	</resultMap>
 	
+	<resultMap type="com.ym.mec.biz.dal.dto.StudentPreRegistrationDto" id="StudentPreRegistrationDto" extends="StudentPreRegistration">
+		<result column="subject_first_name_" property="subjectFirstName" />
+		<result column="subject_second_name_" property="subjectSecondName" />
+		<result column="is_registered_" property="isRegistered" />
+	</resultMap>
+	
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="StudentPreRegistration" >
 		SELECT * FROM student_pre_registration WHERE id_ = #{id} 
@@ -94,23 +100,26 @@
 	</delete>
 	
 	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="StudentPreRegistration" parameterType="map">
-		SELECT spr.*,case when sr.id_ is null then false else true end is_registered_ FROM student_pre_registration spr left join student_registration sr on spr.music_group_id_ = sr.music_group_id_ and spr.user_id_ = sr.user_id_
+	<select id="queryListForPage" resultMap="StudentPreRegistrationDto" parameterType="map">
+		SELECT spr.*,case when sr.id_ is null then false else true end is_registered_,s1.name_ subject_first_name_,s2.name_ subject_second_name_ FROM student_pre_registration spr 
+		left join subject s1 on s1.id_ = spr.subject_first_
+		left join subject s2 on s2.id_ = spr.subject_second_
+		left join student_registration sr on spr.music_group_id_ = sr.music_group_id_ and spr.user_id_ = sr.user_id_
 		<where>
 			<if test="musicGroupId != null">
-				and spr.music_group_id_ = #{musicGroupId},
+				and spr.music_group_id_ = #{musicGroupId}
 			</if>
 			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust},
+				and spr.is_allow_adjust_ = #{isAllowAdjust}
 			</if>
 			<if test="subjectId != null">
-				and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId}),
+				and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId})
 			</if>
 			<if test="name != null">
-				and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or spr.user_id_ like concat('%',#{name},'%')),
+				and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or spr.user_id_ like concat('%',#{name},'%'))
 			</if>
 			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust},
+				and spr.is_allow_adjust_ = #{isAllowAdjust}
 			</if>
 		</where>
 		ORDER BY spr.id_ <include refid="global.limit"/>
@@ -121,19 +130,19 @@
 		SELECT COUNT(spr.id_) FROM student_pre_registration spr
 		<where>
 			<if test="musicGroupId != null">
-				and spr.music_group_id_ = #{musicGroupId},
+				and spr.music_group_id_ = #{musicGroupId}
 			</if>
 			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust},
+				and spr.is_allow_adjust_ = #{isAllowAdjust}
 			</if>
 			<if test="subjectId != null">
-				and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId}),
+				and (spr.subject_first_ = #{subjectId} or spr.subject_second_ = #{subjectId})
 			</if>
 			<if test="name != null">
-				and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or spr.user_id_ like concat('%',#{name},'%')),
+				and (spr.phone_ like concat('%',#{name},'%') or spr.user_name_ like concat('%',#{name},'%') or spr.user_id_ like concat('%',#{name},'%'))
 			</if>
 			<if test="isAllowAdjust != null">
-				and spr.is_allow_adjust_ = #{isAllowAdjust},
+				and spr.is_allow_adjust_ = #{isAllowAdjust}
 			</if>
 		</where>
 	</select>

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

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.CloseMusicGroupDto;
 import com.ym.mec.biz.dal.dto.MusicGroupRegsDto;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.common.entity.HttpResponseResult;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -308,4 +309,18 @@ public class MusicGroupController extends BaseController {
 		return succeed(musicGroupService.closeMusicGroup(closeMusicGroupDto));
 	}
 
+	@ApiOperation(value = "完成预报名")
+	@PostMapping("/finishPreApply")
+	@PreAuthorize("@pcs.hasPermissions('musicGroup/finishPreApply')")
+	public HttpResponseResult<Boolean> finishPreApply(String musicGroupId,boolean isCheckStudentNum) {
+		return musicGroupService.finishPreApply(musicGroupId, isCheckStudentNum) ? succeed() : failed();
+	}
+
+	@ApiOperation(value = "发送家长会通知")
+	@PostMapping("/finishPreApply")
+	@PreAuthorize("@pcs.hasPermissions('musicGroup/sendParentMeetingNotice')")
+	public HttpResponseResult<Boolean> sendParentMeetingNotice(String musicGroupId) {
+		return musicGroupService.sendParentMeetingNotice(musicGroupId) ? succeed() : failed();
+	}
+
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -56,7 +56,7 @@ public class StudentRegistrationController extends BaseController {
     @GetMapping("/queryPreApplyList")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/queryPreApplyList')")
     public Object queryPreApplyList(StudentPreRegistrationQueryInfo queryInfo) {
-        return succeed(studentPreRegistrationService.queryPage(queryInfo));
+        return succeed(studentPreRegistrationService.queryListForPage(queryInfo));
     }
 
     @ApiOperation(value = "乐团添加学员")