Explorar o código

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
yonge %!s(int64=5) %!d(string=hai) anos
pai
achega
d7be48cf8f

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

@@ -154,4 +154,11 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     String queryEducationalMusicGroupId(Integer userIds);
+
+    /**
+     * 获取乐团信息
+     * @param list
+     * @return
+     */
+    MusicGroup findMusicGroup(List<Long> list);
 }

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

@@ -293,7 +293,7 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @param vipGroupList
 	 * @return
 	 */
-	int batchUpdate(List<VipGroup> vipGroupList);
+	int batchUpdate(@Param("vipGroupList") List<VipGroup> vipGroupList);
 
 	/**
 	 * @describe

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

@@ -80,6 +80,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     BACKSTAGE_CREATE_MUSIC_GROUP_APPLY("BACKSTAGE_CREATE_MUSIC_GROUP_APPLY", "建团申请"),
     BACKSTAGE_ACTION_APPLY("BACKSTAGE_ACTION_APPLY", "开启报名"),
     BACKSTAGE_ACTION_PAYMENT("BACKSTAGE_ACTION_PAYMENT", "开启缴费"),
+    SMS_STUDENT_OPEN_PAYMENT("SMS_STUDENT_OPEN_PAYMENT", "开启缴费"),
     BACKSTAGE_LENGTHEN_PAYMENT("BACKSTAGE_LENGTHEN_PAYMENT", "延长缴费"),
     BACKSTAGE_ACTION_GROUP("BACKSTAGE_ACTION_GROUP", "开团"),
     BACKSTAGE_STUDENT_SUBJECT_CHANGE("BACKSTAGE_STUDENT_SUBJECT_CHANGE", "学员声部调整"),

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

@@ -200,7 +200,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @param ids
 	 * @return
 	 */
-	int openPayment(String ids);
+	int openPayment(String ids) throws IOException;
 
 	/**
 	 * 根据乐团编号获取已缴费学员列表

+ 11 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -737,6 +737,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 throw new BizException("不能调整今天及以前的课程");
             }
 
+            boolean courseTimeIsChange = false;
+			int newCourseTime = DateUtil.minutesBetween(newCourseSchedule.getStartClassTime(), newCourseSchedule.getEndClassTime());
+			int oldCourseTime = DateUtil.minutesBetween(oldCourseSchedule.getStartClassTime(), oldCourseSchedule.getEndClassTime());
+
+			if(newCourseTime!=oldCourseTime){
+				courseTimeIsChange = true;
+			}
+
 			oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
 			oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
 			oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
@@ -786,8 +794,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					}
 				}
 			}else{
-				if(Objects.nonNull(newCourseSchedule.getActualTeacherId())&&(Objects.isNull(oldCourseSchedule.getActualTeacherId())
-						||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId()))){
+				if(courseTimeIsChange||(Objects.nonNull(newCourseSchedule.getActualTeacherId())
+						&&(Objects.isNull(oldCourseSchedule.getActualTeacherId())
+						||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())))){
 					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
 						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
 					}

+ 17 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1,7 +1,9 @@
 package com.ym.mec.biz.service.impl;
 
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
@@ -19,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
@@ -926,7 +929,20 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public int openPayment(String ids) {
+    public int openPayment(String ids) throws IOException {
+        if(StringUtils.isNotEmpty(ids)){
+            //发送短信通知
+            List<Long> list = JSONObject.parseArray(JSONObject.toJSONString(Arrays.asList(ids.split(","))),Long.class);
+            List<StudentRegistration> registrations = studentRegistrationDao.findStudentListByIdList(list);
+            MusicGroup musicGroup = musicGroupDao.findMusicGroup(list);
+            String configValue = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL);
+            HashMap<Integer,String> receivers = new HashMap<>(registrations.size());
+            registrations.forEach(e->{
+                receivers.put(e.getUserId(),e.getParentsPhone());
+            });
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
+                    MessageTypeEnum.SMS_STUDENT_OPEN_PAYMENT,receivers,null,0,null,musicGroup.getName(),HttpUtil.getSortUrl(configValue + musicGroup.getId()));
+        }
         return studentRegistrationDao.batchOpenPay(ids, PaymentStatusEnum.OPEN);
     }
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1658,6 +1658,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		//用户账户资金变动信息列表
 		List<SysUserCashAccountDetail> userCashAccountDetails = new ArrayList<>();
 		for (VipGroup noCreateSuccessVipGroup : noCreateSuccessVipGroups) {
+			noCreateSuccessVipGroup.setStatus(VipGroupStatusEnum.CANCEL);
 			List<StudentPaymentOrder> studentPaymentOrders = studentPaymentOrderDao.queryByDealStatus(noCreateSuccessVipGroup.getId().toString(),
 					OrderTypeEnum.SMALL_CLASS_TO_BUY, DealStatusEnum.SUCCESS);
 
@@ -1689,6 +1690,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 		}
 		sysUserCashAccountDetailDao.batchInsert(userCashAccountDetails);
+		vipGroupDao.batchUpdate(noCreateSuccessVipGroups);
 	}
 
 	@Override

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

@@ -1303,7 +1303,7 @@
         FROM
             course_schedule cs
         WHERE cs.class_date_=DATE_FORMAT(#{date},'%Y-%m-%d')
-        AND cs.type_!='VIP'
+        AND cs.group_type_='MUSIC'
     </select>
     <select id="findByClassGroup" resultMap="CourseSchedule">
       select

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

@@ -379,4 +379,13 @@
 	<select id="queryEducationalMusicGroupId" resultType="java.lang.String">
 		SELECT GROUP_CONCAT(mg.id_) FROM music_group mg WHERE mg.educational_teacher_id_ = #{userIds}
 	</select>
+    <select id="findMusicGroup" resultMap="MusicGroup">
+		SELECT mg.* FROM student_registration sr
+		LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+		WHERE sr.id_ IN
+		<foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+		AND mg.id_ IS NOT NULL LIMIT 1
+	</select>
 </mapper>

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

@@ -792,7 +792,7 @@
     </select>
 
     <update id="batchUpdate" parameterType="java.util.List">
-    	<foreach collection="list" item="item" index="index" open="" close="" separator=";">
+    	<foreach collection="vipGroupList" item="item" index="index" open="" close="" separator=";">
 	        UPDATE vip_group
 	        <set>
 	            <if test="item.paymentExpireDate != null">

+ 3 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -29,6 +29,9 @@ public interface TaskRemoteService {
 	// vip课课酬结算
 	public void vipGroupTeacherSalarySettlement();
 
+	@GetMapping("task/musicGroupTeacherSalarySettlement")
+	void MusicGroupTeacherSalarySettlement();
+
 	@GetMapping("task/studentCoursesScheduleRemind")
 	// 学生有课提醒
 	public void studentCoursesScheduleRemind();

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -37,6 +37,11 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	}
 
 	@Override
+	public void MusicGroupTeacherSalarySettlement() {
+		logger.info("乐团课课酬结算的服务调用失败");
+	}
+
+	@Override
 	public void studentCoursesScheduleRemind() {
 		logger.info("有课提醒的服务调用失败");
 	}

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/MusicGroupTeacherSalarySettlementTaskTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MusicGroupTeacherSalarySettlementTaskTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.MusicGroupTeacherSalarySettlement();
+	}
+}

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

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
+import java.io.IOException;
 import java.util.Date;
 
 import org.apache.commons.lang3.StringUtils;
@@ -120,7 +121,7 @@ public class StudentRegistrationController extends BaseController {
     @PostMapping("/openPayment")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/openPayment')")
     @ApiImplicitParams({@ApiImplicitParam(name = "ids", value = "报名id(不是userId),逗号分隔", required = true, dataType = "String")})
-    public HttpResponseResult openPayment(String ids) {
+    public HttpResponseResult openPayment(String ids) throws IOException {
         return succeed(studentRegistrationService.openPayment(ids));
     }
 

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -54,6 +54,12 @@ public class TaskController extends BaseController {
 		courseScheduleTeacherSalaryService.teacherSalarySettlement();
 	}
 
+	// 乐团课课酬结算
+	@GetMapping("/musicGroupTeacherSalarySettlement")
+	public void musicGroupTeacherSalarySettlement() {
+		courseScheduleTeacherSalaryService.musicGroupTeacherSalarySettlement();
+	}
+
 	@GetMapping("/updateCourseScheduleToOverStatus")
 	// 更新课程状态至已结束
 	public void updateCourseScheduleToOverStatus() {