Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
7ccb6ee0a7
29 changed files with 555 additions and 114 deletions
  1. 2 7
      cms/src/main/java/com/ym/mec/cms/controller/NewsController.java
  2. 33 0
      cms/src/main/java/com/ym/mec/cms/dal/entity/SysNewsInformation.java
  3. 11 7
      cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml
  4. 4 4
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java
  5. 2 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  6. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  7. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java
  8. 0 11
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java
  9. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Employee.java
  10. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/School.java
  11. 8 1
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  12. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java
  13. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  14. 105 11
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  15. 39 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  16. 10 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  17. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  18. 68 20
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  19. 7 9
      mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml
  20. 4 0
      mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml
  21. 54 0
      mec-common/common-core/src/main/java/com/ym/mec/common/enums/TransTypeEnum.java
  22. 41 0
      mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseScheduleController.java
  23. 16 0
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  24. 7 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java
  25. 2 5
      mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkController.java
  26. 9 17
      mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkTemplateController.java
  27. 32 6
      mec-web/src/main/java/com/ym/mec/web/controller/education/EmployeeController.java
  28. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCourseHomeworkController.java
  29. 28 0
      mec-web/src/test/java/com/ym/Test.java

+ 2 - 7
cms/src/main/java/com/ym/mec/cms/controller/NewsController.java

@@ -22,15 +22,14 @@ public class NewsController extends BaseController {
 	private SysNewsInformationService sysNewsInformationService;
 
 	@ApiOperation("资讯列表分页查询")
-	@GetMapping(value = "/list", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@GetMapping(value = "/list")
 	public Object getList(NewsInformationQueryInfo queryInfo) {
 		return succeed(sysNewsInformationService.queryPage(queryInfo));
 	}
 
 	@ApiOperation("查询资讯详情")
 	@ApiImplicitParam(name = "id", value = "资讯ID编号", required = true, dataType = "Long", paramType = "path")
-	@GetMapping(value = "/query/{id}",
-			consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+	@GetMapping(value = "/query/{id}")
 	public Object query(@PathVariable("id") Long id) {
 
 		return succeed(sysNewsInformationService.get(id));
@@ -39,10 +38,6 @@ public class NewsController extends BaseController {
 	@ApiOperation("新增资讯")
 	@PostMapping(value = "/add", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
 	public Object add(SysNewsInformation newsInfo) {
-		Date date = new Date();
-		newsInfo.setCreateTime(date);
-		newsInfo.setUpdateTime(date);
-
 		return succeed(sysNewsInformationService.insert(newsInfo));
 	}
 

+ 33 - 0
cms/src/main/java/com/ym/mec/cms/dal/entity/SysNewsInformation.java

@@ -31,12 +31,45 @@ public class SysNewsInformation {
 	@ApiModelProperty(value = "状态(1-可见 0-不可见)", required = true)
 	private NewsStatusEnum status;
 
+	@ApiModelProperty(value = "链接地址", required = true)
+	private String linkUrl;
+
+	@ApiModelProperty(value = "跳转类型_bank,_slef", required = true)
+	private String hrefTarget;
+
+	@ApiModelProperty(value = "顺序号", required = true)
+	private Integer order;
+
 	/**  */
 	private java.util.Date createTime;
 
 	/**  */
 	private java.util.Date updateTime;
 
+	public String getLinkUrl() {
+		return linkUrl;
+	}
+
+	public void setLinkUrl(String linkUrl) {
+		this.linkUrl = linkUrl;
+	}
+
+	public String getHrefTarget() {
+		return hrefTarget;
+	}
+
+	public void setHrefTarget(String hrefTarget) {
+		this.hrefTarget = hrefTarget;
+	}
+
+	public Integer getOrder() {
+		return order;
+	}
+
+	public void setOrder(Integer order) {
+		this.order = order;
+	}
+
 	public void setId(Long id) {
 		this.id = id;
 	}

+ 11 - 7
cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml

@@ -43,13 +43,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.cms.dal.entity.SysNewsInformation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,type_,status_,create_time_,update_time_)
-		VALUES(#{id},#{title},#{content},#{coverImage},#{type},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now)
+		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,type_,status_,create_time_,update_time_,link_url_,href_target_,order_)
+		VALUES(#{id},#{title},#{content},#{coverImage},#{type},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now,#{linkUrl},#{hrefTarget},#{order})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -74,6 +69,15 @@
 			<if test="type != null">
 				type_ = #{type},
 			</if>
+			<if test="linkUrl != null">
+				link_url_ = #{linkUrl},
+			</if>
+			<if test="hrefTarget != null">
+				href_target_ = #{hrefTarget},
+			</if>
+			<if test="order != null">
+				order_ = #{order},
+			</if>
 		</set>
 		WHERE id_ = #{id}
 	</update>

+ 4 - 4
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java

@@ -28,13 +28,13 @@ public class RoleController extends BaseController {
     private SysMenuService sysMenuService;
 
     @ApiOperation("根据权限id查询角色")
-    @GetMapping(value = "/{id}",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @GetMapping(value = "/{id}")
     public Object getRole(@ApiParam(value = "权限编号", required = true) @PathVariable("id") Integer id) {
         return succeed(sysRoleService.get(id));
     }
 
     @ApiOperation("删除角色")
-    @PostMapping(value = "/del/{id}",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @PostMapping(value = "/del/{id}")
     public Object delRole(@ApiParam(value = "权限编号", required = true) @PathVariable("id") Integer id) {
         return succeed(sysRoleService.delete(id));
     }
@@ -63,7 +63,7 @@ public class RoleController extends BaseController {
     }
 
     @ApiOperation("分页查询角色列表")
-    @GetMapping(value = "/queryPage",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @GetMapping(value = "/queryPage")
     public Object queryPage(QueryInfo queryInfo) {
         return succeed(sysRoleService.queryPage(queryInfo));
     }
@@ -94,7 +94,7 @@ public class RoleController extends BaseController {
 
     @ApiOperation("根据角色编号查询拥有的菜单列表")
     @ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer")})
-    @GetMapping(value = "/getMenus",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+    @GetMapping(value = "/getMenus")
     public Object getMenus(Integer roleId) {
         if(roleId == null){
             return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);

+ 2 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -43,7 +43,7 @@ public class UserController extends BaseController {
 	@ApiImplicitParams({ @ApiImplicitParam(name = "userType", value = "用户类型", required = false, dataType = "String"),
 			@ApiImplicitParam(name = "createStartDate", value = "开始注册时间", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "createEndDate", value = "结束注册时间", required = true, dataType = "String") })
-	@GetMapping(value = "/queryPage",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+	@GetMapping(value = "/queryPage")
 	public Object queryPage(SysUserQueryInfo queryInfo) {
 		return succeed(sysUserService.queryPage(queryInfo));
 	}
@@ -58,7 +58,7 @@ public class UserController extends BaseController {
 		return failed();
 	}
 
-	@GetMapping(value = "/queryUserByPhone",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+	@GetMapping(value = "/queryUserByPhone")
 	public SysUser queryUserByPhone(String mobile) {
 		return sysUserService.queryByPhone(mobile);
 	}

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -71,4 +71,27 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      */
     List<CourseSchedule> findTeacherCoursesInDates(@Param("dates") List<Date> dates,
                                                    @Param("teacherId") Long teacherId);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 根据日期获取课程
+     */
+    List<CourseSchedule> findCoursesByDates(@Param("dates") List<Date> dates);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 获取在指定时间段内存在重复的课程
+     */
+    List<CourseSchedule> findOverLapCoursesInDay(@Param("dates") List<Date> dates,
+                                                 @Param("startClassTime") Date startClassTime,
+                                                 @Param("endClassTime") Date endClassTime);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 根据id批量获取课程
+     */
+    List<CourseSchedule> findCourseSchedulesByIds(@Param("ids") Long[] ids);
 }

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

@@ -22,5 +22,12 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
      * @return
      */
     int getTeacherPersonalAttendancesCount(Map<String,Object> params);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 统计课次
+     */
+    int countClassTime(Long classGroupId);
 	
 }

+ 0 - 11
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -57,17 +57,6 @@ public class CourseSchedule {
 
 	private boolean complaintStatus;
 
-	@ApiModelProperty(value = "当前课次",required = false)
-	private Integer currentClassTimes;
-
-	public Integer getCurrentClassTimes() {
-		return currentClassTimes;
-	}
-
-	public void setCurrentClassTimes(Integer currentClassTimes) {
-		this.currentClassTimes = currentClassTimes;
-	}
-
 	public void setId(Long id) {
 		this.id = id;
 	}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Employee.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.enums.JobNatureEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 
@@ -10,7 +11,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 /**
  * 对应数据库表(employee):
  */
-public class Employee {
+public class Employee extends SysUser {
 
 	/**  */
 	private Integer userId;

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/School.java

@@ -39,8 +39,8 @@ public class School {
 	private java.util.Date updateTime;
 
 	/**  */
-	@ApiModelProperty(value = "是否删除1是,0否", required = false)
-	private YesOrNoEnum delFlag;
+	@ApiModelProperty(value = "是否删除1是,0否,2停用", required = false)
+	private Integer delFlag;
 
 	/** 联系人 */
 	@ApiModelProperty(value = "联系人", required = false)
@@ -114,11 +114,11 @@ public class School {
 		return this.updateTime;
 	}
 
-	public YesOrNoEnum getDelFlag() {
+	public Integer getDelFlag() {
 		return delFlag;
 	}
 
-	public void setDelFlag(YesOrNoEnum delFlag) {
+	public void setDelFlag(Integer delFlag) {
 		this.delFlag = delFlag;
 	}
 

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

@@ -51,5 +51,12 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
      * @Date: 2019/9/23
      * 课时调整
      */
-    int classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto);
+    void classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 课程交换
+     */
+    void courseSwap(Long courseScheduleId1,Long courseScheduleId2);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
 import com.ym.mec.common.page.PageInfo;
@@ -24,4 +25,23 @@ public interface EmployeeService extends BaseService<Integer, Employee> {
      */
     void employeeOperate(Long employeeId, EmployeeOperateEnum operate);
 
+    /**
+     * 新增员工
+     * @param employee
+     */
+    void add(Employee employee) throws Exception;
+
+    /**
+     * 修改员工信息
+     * @param employee
+     */
+    void updateEmployee(Employee employee);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 删除员工
+     */
+    void deleteEmployee(Long userId);
+
 }

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

@@ -40,4 +40,11 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @return
      */
     Teacher getDetail(Integer id);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 删除教师
+     */
+    void deleteTeacher(Long userId);
 }

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

@@ -13,9 +13,12 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 
 import com.ym.mec.common.utils.DateUtils;
 import io.swagger.models.auth.In;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -117,7 +120,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		for (Integer key:classGroupByID.keySet()){
 			Integer maxClassTime = null == maxClassTimes.get(key) ? 0 : maxClassTimes.get(key);
 			for(CourseSchedule courseSchedule:classGroupByID.get(key)){
-				courseSchedule.setCurrentClassTimes(++maxClassTime);
 				courseSchedules.add(courseSchedule);
 			}
 		}
@@ -132,26 +134,118 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		return map;
 	}
 
+	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public int classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto) {
+	public void classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto) {
 		//单次调整课时
 		if(null==classDateAdjustDto.getAdjustStartTime()&&null==classDateAdjustDto.getAdjustEndTime()){
-			if(courseScheduleDao.countTeacherCourseInOnDayRepeats(classDateAdjustDto)<=0){
+			ArrayList<Date> dates = new ArrayList<>();
+			dates.add(classDateAdjustDto.getClassDate());
+			List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,classDateAdjustDto.getStartClassTime(),classDateAdjustDto.getEndClassTime());
+			//判断是否存在同时间上课的班级
+			if(null==coursesByDates||coursesByDates.size()<=0){
 				courseScheduleDao.update(classDateAdjustDto);
 			}else{
-				//存在时间重叠,需要前端重新调整
-				throw new BizException("所选教师在当天课程安排上存在重叠!");
+				coursesByDates.forEach(courseSchedule -> {
+					if(courseSchedule.getTeacherId().equals(classDateAdjustDto.getTeacherId())){
+						//存在时间重叠,需要前端重新调整
+						throw new BizException("所选教师在当天课程安排上存在重叠!");
+					}
+				});
+				List<Integer> repeatClassGroupIds = coursesByDates.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
+				checkStudentIsRepeat(repeatClassGroupIds);
+				courseScheduleDao.update(classDateAdjustDto);
 			}
 		}else{
 			//根据时间段调整课时
 			List<Date> dates= DateUtils.getWeekDays(classDateAdjustDto.getAdjustStartTime(),classDateAdjustDto.getAdjustEndTime(),classDateAdjustDto.getWeekNum());
-			List<CourseSchedule> teacherCoursesInDates = courseScheduleDao.findTeacherCoursesInDates(dates, classDateAdjustDto.getTeacherId());
-			teacherCoursesInDates.forEach(courseSchedule -> {
-//				if(courseSchedule.getStartClassTime()>classDateAdjustDto.getEndClassTime()
-//						||)
-			});
+			List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,classDateAdjustDto.getStartClassTime(),classDateAdjustDto.getEndClassTime());
+			//判断是否存在同时间上课的班级
+			if(null==coursesByDates||coursesByDates.size()<=0){
+				createNewCourseByAdjust(dates,classDateAdjustDto);
+			}else{
+				//判断教师是否在时间安排上存在冲突
+				SimpleDateFormat s1=new SimpleDateFormat("yyyy-MM-dd"),
+						s2=new SimpleDateFormat("HH:mm:ss"),
+						s3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+				List<CourseSchedule> teacherCoursesInDates = courseScheduleDao.findTeacherCoursesInDates(dates, classDateAdjustDto.getTeacherId());
+				teacherCoursesInDates.forEach(courseSchedule -> {
+					Date updateStartClassTime = null,updateEndClassTime=null;
+					try {
+						updateStartClassTime=s3.parse(s1.format(courseSchedule.getClassDate())+" "+s2.format(classDateAdjustDto.getStartClassTime()));
+						updateEndClassTime=s3.parse(s1.format(courseSchedule.getClassDate())+" "+s2.format(classDateAdjustDto.getEndClassTime()));
+					} catch (ParseException e) {
+						e.printStackTrace();
+					}
+					boolean isDuplication=(courseSchedule.getStartClassTime().after(updateStartClassTime)
+							&&courseSchedule.getStartClassTime().before(updateEndClassTime))
+							||(updateStartClassTime.after(courseSchedule.getStartClassTime())
+							&&updateStartClassTime.before(courseSchedule.getEndClassTime()));
+					if(isDuplication){
+						throw new BizException("在所选时段内教师上课时间存在重复!");
+					}
+
+				});
+				//判断学生在时间安排上是否存在冲突
+				Map<Date, List<CourseSchedule>> collect = coursesByDates.stream().collect(Collectors.groupingBy(CourseSchedule::getClassDate));
+				for(Date keyDate:collect.keySet()){
+					List<Integer> repeatClassGroupIds = collect.get(keyDate).stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
+					checkStudentIsRepeat(repeatClassGroupIds);
+				}
+				createNewCourseByAdjust(dates,classDateAdjustDto);
+			}
+		}
+	}
+
+	@Transactional(rollbackFor = Exception.class)
+	@Override
+	public void courseSwap(Long courseScheduleId1, Long courseScheduleId2) {
+		List<CourseSchedule> courseSchedules = courseScheduleDao.findCourseSchedulesByIds(new Long[]{courseScheduleId1, courseScheduleId2});
+		CourseSchedule temp=new CourseSchedule();
+		BeanUtils.copyProperties(courseSchedules.get(0),temp);
+		courseSchedules.get(0).setClassDate(courseSchedules.get(1).getClassDate());
+		courseSchedules.get(0).setStartClassTime(courseSchedules.get(1).getStartClassTime());
+		courseSchedules.get(0).setEndClassTime(courseSchedules.get(1).getEndClassTime());
+		courseSchedules.get(1).setClassDate(temp.getClassDate());
+		courseSchedules.get(1).setStartClassTime(temp.getStartClassTime());
+		courseSchedules.get(1).setEndClassTime(temp.getEndClassTime());
+		courseScheduleDao.update(courseSchedules.get(0));
+		courseScheduleDao.update(courseSchedules.get(1));
+	}
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/24
+	 * 检测学生是否存在重复
+	 */
+	private void checkStudentIsRepeat(List<Integer> studentIds){
+		Integer[] counts=courseScheduleDao.countStudentInClass(studentIds);
+		for (Integer i:counts){
+			if (i>ParamEnum.ONE.getCode()){
+				throw new BizException("所选课程安排日期有学生重复!");
+			}
+		}
+	}
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/24
+	 * 根据课时调整信息增加新课程
+	 */
+	private void createNewCourseByAdjust(List<Date> dates,ClassDateAdjustDto classDateAdjustDto){
+		CourseSchedule schedule=courseScheduleDao.get(classDateAdjustDto.getId());
+		List<CourseSchedule> courseSchedules=new ArrayList<>();
+		courseScheduleDao.delete(classDateAdjustDto.getId());
+		for (Date date:dates){
+			CourseSchedule courseSchedule=new CourseSchedule();
+			BeanUtils.copyProperties(schedule,courseSchedule);
+			courseSchedule.setClassDate(date);
+			courseSchedule.setStartClassTime(classDateAdjustDto.getStartClassTime());
+			courseSchedule.setEndClassTime(classDateAdjustDto.getEndClassTime());
+			courseSchedule.setTeacherId(classDateAdjustDto.getTeacherId());
+			courseSchedules.add(courseSchedule);
 		}
-		return 0;
+		courseScheduleDao.batchAddCourseSchedules(courseSchedules);
 	}
 
 }

+ 39 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -8,6 +8,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.entity.Teacher;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -16,6 +21,7 @@ import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
@@ -44,6 +50,10 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 
 	@Autowired
 	private ObjectMapper objectMapper;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private TeacherDao teacherDao;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -51,6 +61,35 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	}
 
 	@Override
+	public void add(Employee employee) throws Exception {
+		SysUser user = sysUserFeignService.getUserByMobile(employee.getPhone());
+		if(user != null){
+			throw new Exception("系统已存在该手机号的老师,请核查");
+		}
+		//保存用户表信息
+		sysUserFeignService.addUser(employee);
+		//注册到融云
+
+		//保存教师表数据
+		employeeDao.insert(employee);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateEmployee(Employee employee) {
+		employeeDao.update(employee);
+		teacherDao.updateUser(employee);
+	}
+
+	@Override
+	public void deleteEmployee(Long userId) {
+		SysUser sysUser=new SysUser();
+		sysUser.setId(userId.intValue());
+		sysUser.setDelFlag(YesOrNoEnum.YES);
+		teacherDao.updateUser(sysUser);
+	}
+
+	@Override
 	public PageInfo queryEmployByOrganId(EmployeeQueryInfo queryInfo) throws IOException {
 		String url = "http://auth-server/queryUserInfo";
 

+ 10 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -2,17 +2,11 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
-import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.dto.TeacherPersonalAttendanceDto;
 import com.ym.mec.biz.dal.dto.TeacherSignOutDto;
-import com.ym.mec.biz.dal.entity.CourseHomework;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.StudentCourseHomework;
-import com.ym.mec.biz.dal.entity.TeacherAttendance;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.enums.SignStatusEnum;
@@ -45,6 +39,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	private StudentCourseHomeworkDao studentCourseHomeworkDao;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private ClassGroupDao classGroupDao;
 
 	@Override
 	public BaseDAO<Long, TeacherAttendance> getDAO() {
@@ -79,6 +75,12 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		teacherAttendance.setCreateTime(date);
 		teacherAttendanceDao.insert(teacherAttendance);
 		if(teacherAttendance.getStatus()==SignStatusEnum.YES_QUIT){
+			//更新课次
+			ClassGroup classGroup=new ClassGroup();
+			classGroup.setId(currentCourseDetail.getClassId().intValue());
+			classGroup.setCurrentClassTimes(teacherAttendanceDao.countClassTime(currentCourseDetail.getClassId()));
+			classGroupDao.update(classGroup);
+			//新增课堂作业
 			CourseHomework courseHomework=teacherSignOutDto.getCourseHomeworkInfo();
 			courseHomework.setCourseScheduleId(teacherAttendance.getCourseScheduleId());
 			courseHomework.setMusicGroupId(currentCourseDetail.getMusicGroupId().intValue());

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.dao.OrganizationDao;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
@@ -67,6 +68,14 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
+	public void deleteTeacher(Long userId) {
+		SysUser sysUser=new SysUser();
+		sysUser.setId(userId.intValue());
+		sysUser.setDelFlag(YesOrNoEnum.YES);
+		teacherDao.updateUser(sysUser);
+	}
+
+	@Override
 	public PageInfo<Teacher> queryPageDetail(TeacherQueryInfo queryInfo) {
 		PageInfo<Teacher> pageInfo = queryPage(queryInfo);
 		List<Teacher> teachers = pageInfo.getRows();

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

@@ -47,16 +47,16 @@
         </selectKey>
         -->
         INSERT INTO course_schedule
-        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,current_class_times_)
-        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},now(),now(),#{currentClassTimes})
+        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_)
+        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},now(),now())
     </insert>
 
     <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
         INSERT INTO course_schedule
-        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,current_class_times_)
+        (class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_)
         VALUE
         <foreach collection="list" item="course" separator=",">
-            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.actualTeacherId},now(),now(),#{course.currentClassTimes})
+            (#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.actualTeacherId},now(),now())
         </foreach>
     </insert>
 
@@ -100,7 +100,7 @@
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM course_schedule WHERE id_ = #{id} 
+		DELETE FROM course_schedule WHERE id_ = #{id}
 	</delete>
 
     <delete id="deleteCourseSchedulesByMusicGroupID">
@@ -193,9 +193,9 @@
 
     <select id="countStudentInClass" resultType="java.lang.Integer">
         SELECT
-            COUNT(class_group_id_)
+        COUNT(class_group_id_)
         FROM
-            class_group_student_mapper cgsm
+        class_group_student_mapper cgsm
         WHERE class_group_id_ IN
         <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
             #{item}
@@ -229,14 +229,14 @@
         SELECT
         concat(class_group_id_,",",IF(MAX( current_class_times_ ) IS NULL,0,MAX( current_class_times_ )))
         FROM
-            course_schedule
+        course_schedule
         WHERE
-            class_group_id_ IN
-            <foreach collection="list" item="id" open="(" close=")" separator=",">
-                #{id}
-            </foreach>
+        class_group_id_ IN
+        <foreach collection="list" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
         GROUP BY
-            class_group_id_
+        class_group_id_
     </select>
 
     <select id="countTeacherCourseInOnDayRepeats" parameterType="com.ym.mec.biz.dal.entity.CourseSchedule" resultType="int">
@@ -254,14 +254,62 @@
     </select>
     <select id="findTeacherCoursesInDates" resultMap="CourseSchedule">
         SELECT
-            *
+        id_,
+        class_group_id_,
+        status_,
+        subsidy_,
+        class_date_,
+        concat(class_date_,' ',start_class_time_) start_class_time_,
+        concat(class_date_,' ',end_class_time_) end_class_time_,
+        teacher_id_,
+        actual_teacher_id_,
+        create_time_,
+        update_time_
         FROM
-            course_schedule cs
+        course_schedule cs
+        WHERE
+        cs.teacher_id_ = #{teacherId}
+        AND cs.class_date_ IN
+        <foreach collection="dates" item="date" open="(" close=")" separator=",">
+            #{date}
+        </foreach>
+    </select>
+    <select id="findCoursesByDates" resultMap="CourseSchedule">
+        SELECT
+        *
+        FROM
+        course_schedule cs
+        WHERE
+        cs.class_date_ IN
+        <foreach collection="dates" item="date" open="(" close=")" separator=",">
+            DATE_FORMAT(#{date},'%Y-%m-%d')
+        </foreach>
+    </select>
+
+    <select id="findOverLapCoursesInDay" resultMap="CourseSchedule">
+        SELECT
+        *
+        FROM
+        course_schedule cs
         WHERE
-            cs.teacher_id_ = #{teacherId}
-            AND cs.class_date_ IN
-            <foreach collection="dates" item="date" open="(" close=")" separator=",">
-                #{date}
-            </foreach>
+        cs.class_date_ IN
+        <foreach collection="dates" item="date" open="(" close=")" separator=",">
+            DATE_FORMAT(#{date},'%Y-%m-%d')
+        </foreach>
+        AND (
+        DATE_FORMAT(cs.start_class_time_,"%H:%i:%s") &gt; DATE_FORMAT(#{endClassTime}, '%H:%i:%s' ) OR DATE_FORMAT(cs.end_class_time_,"%H:%i:%s") &lt; DATE_FORMAT( #{endClassTime}, '%H:%i:%s' )
+        )=0
+    </select>
+
+    <select id="findCourseSchedulesByIds" resultMap="CourseSchedule">
+        SELECT
+        *
+        FROM
+        course_schedule cs
+        WHERE
+        cs.id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
     </select>
 </mapper>

+ 7 - 9
mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml

@@ -14,7 +14,7 @@
         <result column="contact_phone_" property="contactPhone"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
-        <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="del_flag_" property="delFlag"/>
         <result column="contact_name_" property="contactName"/>
         <result column="longitude_latitude_" property="longitudeLatitude"/>
         <result column="subsidy_" property="subsidy"/>
@@ -35,11 +35,6 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.School" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
         INSERT INTO school
         (id_,name_,organ_id_,address_,contact_phone_,create_time_,update_time_,contact_name_,longitude_latitude_,subsidy_,cooperation_organ_id_,remark_)
         VALUES(#{id},#{name},#{organId},#{address},#{contactPhone},now(),now(),#{contactName},#{longitudeLatitude},#{subsidy},#{cooperationOrganId},#{remark})
@@ -50,7 +45,7 @@
         UPDATE school
         <set>
             <if test="delFlag != null">
-                del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                del_flag_ = #{delFlag},
             </if>
             <if test="organId != null">
                 organ_id_ = #{organId},
@@ -93,13 +88,16 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="School" parameterType="map">
-        SELECT * FROM school ORDER BY id_
+        SELECT * FROM school
+        where del_flag_ != 1
+        ORDER BY id_
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM school
+		where del_flag_ != 1
 	</select>
     <select id="queryByOrganId" resultMap="School">
         SELECT * FROM school
@@ -108,7 +106,7 @@
                 organ_id_ = #{organId}
             </if>
             <if test="delFlag != null">
-                AND del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+                AND del_flag_ = #{delFlag}
             </if>
         </where>
     </select>

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

@@ -145,5 +145,9 @@
         <include refid="queryCondition"/>
     </select>
 
+    <select id="countClassTime" resultType="java.lang.Integer">
+        select count(*) from teacher_attendance where class_group_id_=#{classGroupId} for update
+    </select>
+
 
 </mapper>

+ 54 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/enums/TransTypeEnum.java

@@ -0,0 +1,54 @@
+package com.ym.mec.common.enums;
+
+import java.util.Arrays;
+
+/**
+ * @program: mec
+ * @description: 提现/充值交易类型
+ * @author: xw
+ * @create: 2019-09-24 16:00
+ */
+public enum TransTypeEnum {
+
+    WECHAT(1, "微信"),
+    ALIPAY(2, "支付宝"),
+    FAST_PAYMENT(3, "快捷支付");
+
+    private Integer code;
+
+    private String description;
+
+    TransTypeEnum(Integer code, String description) {
+        this.code = code;
+        this.description = description;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * 根据枚举值获取枚举信息
+     *
+     * @param code 枚举值
+     * @return 枚举信息
+     */
+    public static String getDescriptionByCode(Integer code) {
+        return Arrays.stream(TransTypeEnum.values())
+                .filter(billStatusEnum -> billStatusEnum.getCode().equals(code))
+                .findFirst()
+                .map(TransTypeEnum::getDescription).orElse(null);
+    }
+}

+ 41 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseScheduleController.java

@@ -0,0 +1,41 @@
+package com.ym.mec.student.controller;
+
+import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.StudentAttendanceService;
+import com.ym.mec.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/24
+ */
+@RequestMapping("studentCourseSchedule")
+@Api(tags = "课程计划服务")
+@RestController
+public class StudentCourseScheduleController extends BaseController {
+
+    @Autowired
+    private CourseScheduleService scheduleService;
+    @Autowired
+    private StudentAttendanceService studentAttendanceService;
+
+    @ApiOperation(value = "课时调整")
+    @PostMapping(value = "/classStartDateAdjust",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto){
+        scheduleService.classStartDateAdjust(classDateAdjustDto);
+        return succeed();
+    }
+
+    @ApiOperation(value = "课时交换")
+    @GetMapping(value = "/courseSwap",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object courseSwap(Long courseScheduleId1,Long courseScheduleId2){
+        scheduleService.courseSwap(courseScheduleId1,courseScheduleId2);
+        return succeed();
+    }
+
+}

+ 16 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -8,6 +9,7 @@ import java.util.Date;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -85,4 +87,18 @@ public class CourseScheduleController extends BaseController {
         return succeed(studentAttendanceService.getCurrentCourseStudents(queryInfo));
     }
 
+    @ApiOperation(value = "课时调整")
+    @PostMapping(value = "/classStartDateAdjust",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object classStartDateAdjust(ClassDateAdjustDto classDateAdjustDto){
+        scheduleService.classStartDateAdjust(classDateAdjustDto);
+        return succeed();
+    }
+
+    @ApiOperation(value = "课时交换")
+    @GetMapping(value = "/courseSwap",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object courseSwap(Long courseScheduleId1,Long courseScheduleId2){
+        scheduleService.courseSwap(courseScheduleId1,courseScheduleId2);
+        return succeed();
+    }
+
 }

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -51,6 +51,13 @@ public class TeacherController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "删除教师")
+    @PostMapping("/delete/{userId}")
+    public Object update(@PathVariable("userId") Long userId) {
+        teacherService.deleteTeacher(userId);
+        return succeed();
+    }
+
     @ApiOperation(value = "根据教师编号查询教师基本信息")
     @GetMapping("/get/{id}")
     @ApiParam(value = "教师编号", required = true)

+ 2 - 5
mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkController.java

@@ -27,11 +27,8 @@ public class CourseHomeworkController extends BaseController {
     private CourseHomeworkService courseHomeworkService;
 
     @ApiOperation(value = "分页查询作业列表")
-    @GetMapping(value = "/queryPage",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public Object queryPage(@RequestBody(required = false) CourseHomeworkQueryInfo queryInfo){
-        if(queryInfo == null){
-            queryInfo = new CourseHomeworkQueryInfo();
-        }
+    @GetMapping(value = "/queryPage")
+    public Object queryPage(CourseHomeworkQueryInfo queryInfo){
         return succeed(courseHomeworkService.queryPage(queryInfo));
     }
 

+ 9 - 17
mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkTemplateController.java

@@ -1,23 +1,15 @@
 package com.ym.mec.web.controller.education;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 import com.ym.mec.biz.dal.entity.CourseHomeworkTemplate;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseHomeWorkTemplateQueryInfo;
 import com.ym.mec.biz.service.CourseHomeworkTemplateService;
 import com.ym.mec.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @Author Joburgess
@@ -34,22 +26,22 @@ public class CourseHomeworkTemplateController extends BaseController {
 
     @ApiOperation(value = "新增作业模板")
     @PostMapping("/add")
-    public Object add(@RequestBody CourseHomeworkTemplate courseHomeworkTemplate){
+    public Object add(CourseHomeworkTemplate courseHomeworkTemplate){
         courseHomeworkTemplate.setDelFlag(YesOrNoEnum.NO);
         courseHomeworkTemplateService.insert(courseHomeworkTemplate);
         return succeed();
     }
 
     @ApiOperation(value = "删除作业模板")
-    @DeleteMapping("/del/{id}")
+    @PostMapping("/del/{id}")
     public Object del(@ApiParam(value = "科目编号", required = true) @PathVariable("id") Integer id){
         courseHomeworkTemplateService.delete(id);
         return succeed();
     }
 
     @ApiOperation(value = "修改作业模板")
-    @PutMapping("/update")
-    public Object update(@RequestBody CourseHomeworkTemplate courseHomeworkTemplate){
+    @PostMapping("/update")
+    public Object update(CourseHomeworkTemplate courseHomeworkTemplate){
         courseHomeworkTemplateService.update(courseHomeworkTemplate);
         return succeed();
     }

+ 32 - 6
mec-web/src/main/java/com/ym/mec/web/controller/education/EmployeeController.java

@@ -1,16 +1,15 @@
 package com.ym.mec.web.controller.education;
 
+import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.Teacher;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
 import java.io.IOException;
+import java.util.Date;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
@@ -31,7 +30,7 @@ public class EmployeeController extends BaseController {
 
     @ApiOperation(value = "根据部门获取下面的员工")
     @GetMapping("/queryEmployByOrganId")
-    public Object queryEmployByOrganId(@RequestBody EmployeeQueryInfo queryInfo) throws IOException {
+    public Object queryEmployByOrganId(EmployeeQueryInfo queryInfo) throws IOException {
         return employeeService.queryEmployByOrganId(queryInfo);
     }
 
@@ -41,4 +40,31 @@ public class EmployeeController extends BaseController {
         employeeService.employeeOperate(employeeId,operate);
         return succeed();
     }
+
+    @ApiOperation(value = "新增员工")
+    @PostMapping("/add")
+    public Object add(Employee employee) {
+        try {
+            employeeService.add(employee);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return failed(e.getMessage());
+        }
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改员工")
+    @PostMapping("/update")
+    public Object update(Employee employee) {
+        employee.setUpdateTime(new Date());
+        employeeService.updateEmployee(employee);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除员工")
+    @PostMapping("/delete/{userId}")
+    public Object update(@PathVariable("userId") Long userId) {
+        employeeService.deleteEmployee(userId);
+        return succeed();
+    }
 }

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

@@ -56,7 +56,7 @@ public class StudentCourseHomeworkController extends BaseController {
     }
 
     @ApiOperation(value = "分页查询作业列表")
-    @GetMapping(value = "/queryPage",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    @GetMapping(value = "/queryPage")
     public Object queryPage(@RequestBody(required = false) CourseHomeworkQueryInfo queryInfo){
         if(queryInfo == null){
             queryInfo = new CourseHomeworkQueryInfo();

+ 28 - 0
mec-web/src/test/java/com/ym/Test.java

@@ -0,0 +1,28 @@
+package com.ym;
+
+import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import org.springframework.beans.BeanUtils;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/24
+ */
+public class Test {
+
+    @org.junit.Test
+    public void test1(){
+        ClassDateAdjustDto temp=new ClassDateAdjustDto();
+        temp.setClassDate(new Date());
+        temp.setWeekNum(1);
+        temp.setId(1L);
+        CourseSchedule courseSchedule=new CourseSchedule();
+//        courseSchedule=temp;
+        BeanUtils.copyProperties(temp,courseSchedule);
+        courseSchedule.setId(2L);
+        System.out.println(courseSchedule.getId());
+    }
+
+}