Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 4 years ago
parent
commit
847daf08bb

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

@@ -18,7 +18,8 @@ public interface SysUserContractsDao extends BaseDAO<Long, SysUserContracts> {
      * @return java.util.List<com.ym.mec.biz.dal.entity.SysUserContracts>
      */
     List<SysUserContracts> getUserContractWithType(@Param("userId") Integer userId,
-                                                   @Param("contractType") SysUserContracts.ContractType contractType);
+                                                   @Param("contractType") SysUserContracts.ContractType contractType,
+                                                   @Param("version") Integer version);
 	
     /**
      * 获取最近一次的协议

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

@@ -52,9 +52,19 @@ public class SysUserContracts {
 	/** 备注 */
 	private String memo;
 
+	private Integer version;
+
 	/** 创建时间 */
 	private java.util.Date createTime;
 
+	public Integer getVersion() {
+		return version;
+	}
+
+	public void setVersion(Integer version) {
+		this.version = version;
+	}
+
 	public void setId(Long id) {
 		this.id = id;
 	}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java

@@ -9,6 +9,9 @@ import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 
 public interface ContractService {
 
+	//协议版本
+	Integer CONTRACT_VERSION=2;
+
 	/**
 	 * 用户注册
 	 * @param userId

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -1062,6 +1062,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		sysUserContracts.setType(ContractType.PRODUCT);
 		sysUserContracts.setUrl(pdfFilePath);
 		sysUserContracts.setUserId(userId);
+		sysUserContracts.setVersion(CONTRACT_VERSION);
 
 		sysUserContractsService.insert(sysUserContracts);
 

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

@@ -1439,6 +1439,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		List<CourseScheduleModifyLog> modifyLogs = getModifyLogs(courseIds,existCourses,sysUser.getId(),now);
 
 		for (CourseSchedule existCours : existCourses) {
+			if(now.compareTo(existCours.getStartClassTime())>0){
+				throw new BizException("进行中或已结束课程不可调整");
+			}
 			CourseSchedule ac = idCourseMap.get(existCours.getId());
 
 			if(now.compareTo(ac.getStartClassTime())>0){
@@ -1447,6 +1450,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 			int singleClassMinutes = DateUtil.minutesBetween(existCours.getStartClassTime(), existCours.getEndClassTime());
 
+			existCours.setStatus(CourseStatusEnum.NOT_START);
 			existCours.setClassDate(ac.getClassDate());
 			existCours.setUpdateTime(now);
 			existCours.setStartClassTime(ac.getStartClassTime());
@@ -3125,7 +3129,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					if (DateUtil.minutesBetween(newCourseSchedule.getStartClassTime(), practiceGroup.getCoursesStartDate()) > 0) {
 						throw new BizException("调整失败: 调整时间不得早于开课时间");
 					}
-					if (DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(), newCourseSchedule.getEndClassTime()) > 0) {
+					if (DateUtil.isSameDay(practiceGroup.getCoursesExpireDate(), newCourseSchedule.getEndClassTime())&&DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(), newCourseSchedule.getEndClassTime()) > 0) {
 						throw new BizException("调整失败: 截止时间超过课程有效期");
 					}
 				}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserContractsServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.service.ContractService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -24,7 +25,7 @@ public class SysUserContractsServiceImpl extends BaseServiceImpl<Long, SysUserCo
 
 	@Override
 	public List<SysUserContracts> getUserContractWithType(Integer userId, SysUserContracts.ContractType contractType) {
-		return sysUserContractsDao.getUserContractWithType(userId, contractType);
+		return sysUserContractsDao.getUserContractWithType(userId, contractType, ContractService.CONTRACT_VERSION);
 	}
 
 	@Override

+ 4 - 4
mec-biz/src/main/resources/config/contracts/product.ftl

@@ -135,10 +135,10 @@
         4、未经授课老师同意,乙方家长不得进入课堂,以免影响老师和学员上课;为保证训练质量及进度,乙方学员应保证按照指导老师或教务老师所提出的要求在家练习,遇到专业问题应及时向指导老师请教,非专业问题可随时向教务老师反映。<br />
         5、乙方家长应教育及监督乙方学员务必注意个人安全,妥善保管个人财物,对于非甲方原因造成的人身安全事故或财物损失,由乙方自行承担。<br />
         6、对于乐团学员出现以下情形时,甲方有权对乙方学员作出警告,如甲方作出警告后,乙方学员仍然不遵守甲方的管理制度的,甲方有权对其作出退团等处分。<br />
-        &nbsp;&nbsp;6.1上课、排练时不服从管理和指导,不遵守纪律,影响其他团员的正常上课、排练;<br />
-        &nbsp;&nbsp;6.2一个学期内发生两次及以上旷课行为;<br />
-        &nbsp;&nbsp;6.3一个学期内发生两次及以上未按老师要求回传视频作业的情形;<br />
-        &nbsp;&nbsp;6.4无特殊原因连续七天不练习,影响团员和乐团的整体水平的。<br />
+        &#160;&#160;6.1上课、排练时不服从管理和指导,不遵守纪律,影响其他团员的正常上课、排练;<br />
+        &#160;&#160;6.2一个学期内发生两次及以上旷课行为;<br />
+        &#160;&#160;6.3一个学期内发生两次及以上未按老师要求回传视频作业的情形;<br />
+        &#160;&#160;6.4无特殊原因连续七天不练习,影响团员和乐团的整体水平的。<br />
 
         <h2>三、请假</h2>
         1、基于教学进度和质量保证,甲方对于课程延续性有严格要求,因此乙方学员应尽量参加课程,无特殊情况则应避免请假。

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

@@ -12,6 +12,7 @@
 		<result column="url_" property="url" />
 		<result column="memo_" property="memo" />
 		<result column="create_time_" property="createTime" />
+		<result column="version_" property="version" />
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
@@ -32,8 +33,8 @@
 		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
 			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO sys_user_contracts
-		(id_,user_id_,contract_no_,type_,url_,memo_,create_time_)
-		VALUES(#{id},#{userId},#{contractNo},#{type},#{url},#{memo},#{createTime})
+		(id_,user_id_,contract_no_,type_,url_,memo_,create_time_,version_)
+		VALUES(#{id},#{userId},#{contractNo},#{type},#{url},#{memo},#{createTime},#{version})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -85,7 +86,7 @@
 	</select>
 
 	<select id="getUserContractWithType" resultMap="SysUserContracts">
-		SELECT * FROM sys_user_contracts WHERE user_id_=#{userId} AND type_=#{contractType}
+		SELECT * FROM sys_user_contracts WHERE user_id_=#{userId} AND type_=#{contractType} AND version_=#{version}
 	</select>
 
 	<select id="getLatestUserContract" resultMap="SysUserContracts">

+ 6 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -24,6 +24,7 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -178,6 +179,7 @@ public class TeacherCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "课时调整")
     @PostMapping(value = "/classStartDateAdjust",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    @AuditLogAnnotation(operateName = "课时调整")
     public Object classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto){
         if(Objects.isNull(classDateAdjustDto.getId())){
             return failed("请指定课程!");
@@ -193,6 +195,9 @@ public class TeacherCourseScheduleController extends BaseController {
         	return failed("客户端只能调整VIP课");
         }
         Date now = new Date();
+        if(now.compareTo(oldCourseSchedule.getStartClassTime())>0){
+            throw new BizException("进行中或已结束课程不可调整");
+        }
         
         //默认开课前4小时内,可调整,如果全员请假,可在当天24小时前调整
         SysConfig advanceLeaveHoursConfig = sysConfigService.findByParamName(SysConfigService.ENABLE_TEACHER_COURSE_ADJUST_DEFAULT_HOURS);
@@ -331,6 +336,7 @@ public class TeacherCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "课程批量调整")
     @PostMapping("/courseAdjustOnlyWithClassDate")
+    @AuditLogAnnotation(operateName = "课程批量调整")
     public HttpResponseResult courseAdjustOnlyWithClassDate(@RequestBody List<CourseSchedule> courseSchedules){
         SysUser user = sysUserFeignService.queryUserInfo();
         if(null==user){