소스 검색

乐团档案

zouxuan 4 년 전
부모
커밋
ad8489afd0
23개의 변경된 파일992개의 추가작업 그리고 17개의 파일을 삭제
  1. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  2. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupTrainPlanDao.java
  3. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PhotoAlbumDao.java
  4. 17 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PhotoDao.java
  5. 115 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Photo.java
  6. 137 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/PhotoAlbum.java
  7. 56 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/PhotoQueryInfo.java
  8. 5 1
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupTrainPlanService.java
  9. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/PhotoAlbumService.java
  10. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/PhotoService.java
  11. 35 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupTrainPlanServiceImpl.java
  12. 53 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PhotoAlbumServiceImpl.java
  13. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PhotoServiceImpl.java
  14. 30 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  15. 27 9
      mec-biz/src/main/resources/config/mybatis/MusicGroupTrainPlanMapper.xml
  16. 108 0
      mec-biz/src/main/resources/config/mybatis/PhotoAlbumMapper.xml
  17. 103 0
      mec-biz/src/main/resources/config/mybatis/PhotoMapper.xml
  18. 0 1
      mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  19. 23 1
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupTrainPlanController.java
  20. 45 0
      mec-web/src/main/java/com/ym/mec/web/controller/PhotoAlbumController.java
  21. 48 0
      mec-web/src/main/java/com/ym/mec/web/controller/PhotoController.java
  22. 45 0
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduPhotoAlbumController.java
  23. 48 0
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduPhotoController.java

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

@@ -1110,6 +1110,16 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Map<Integer, Long>> countTotalNumByClassGroupId(@Param("classGroupIds") List<Integer> classGroupIds, @Param("classDate") Date classDate);
 
     /**
+     * 根据班级编号count总课时
+     *
+     * @param classGroupIds
+     * @return
+     */
+    List<Map<Integer, Long>> countTotalNumByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds,
+                                                         @Param("startClassDate") Date startClassDate,
+                                                         @Param("endClassDate") Date endClassDate);
+
+    /**
      * 根据班级编号count当前课时(已上总数)
      *
      * @param classGroupIds
@@ -1118,6 +1128,16 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<Map<Integer, Long>> countExpendNumByClassGroupId(@Param("classGroupIds") List<Integer> classGroupIds);
 
     /**
+     * 根据班级编号count当前课时(已上总数)
+     *
+     * @param classGroupIds
+     * @return
+     */
+    List<Map<Integer, Long>> countExpendNumByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds,
+                                                           @Param("startClassDate") Date startClassDate,
+                                                           @Param("endClassDate") Date endClassDate);
+
+    /**
      * 根据班级编号count剩余课时(未上)
      *
      * @param classGroupIds

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupTrainPlanDao.java

@@ -7,6 +7,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface MusicGroupTrainPlanDao extends BaseDAO<Integer, MusicGroupTrainPlan> {
 
@@ -14,4 +15,6 @@ public interface MusicGroupTrainPlanDao extends BaseDAO<Integer, MusicGroupTrain
     int add(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
 
     List<WaitCourseTrainPlanDto> queryWaitCourseTrainPlan(String musicGroupId);
+
+    List<String> findAllPlan(Map<String, Object> paramMap);
 }

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PhotoAlbumDao.java

@@ -0,0 +1,15 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.PhotoAlbum;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface PhotoAlbumDao extends BaseDAO<Integer, PhotoAlbum> {
+
+
+    List<Map<Integer,Long>> countTotalNumByAlbumIds(@Param("albumIds") List<Integer> albumIds, @Param("clientShow") YesOrNoEnum clientShow);
+}

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PhotoDao.java

@@ -0,0 +1,17 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.Photo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface PhotoDao extends BaseDAO<Integer, Photo> {
+
+
+    void deleteByAlbumId(Integer albumId);
+
+    int deleteByIds(@Param("ids") String ids);
+
+    int batchInsert(@Param("photoList") List<Photo> photoList);
+}

+ 115 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Photo.java

@@ -0,0 +1,115 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(photo_):
+ */
+public class Photo {
+
+	/**  */
+	private Integer id;
+	
+	/** 相册编号 */
+	private Integer photoAlbumId;
+	
+	/** 名称 */
+	private String name;
+	
+	/** 学生端是否展示 */
+	private YesOrNoEnum clientShow = YesOrNoEnum.NO;
+	
+	/** 地址 */
+	private String url;
+	
+	/** 缩略图地址 */
+	private String thumbnailUrl;
+
+	/** 排序 */
+	private Integer order;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	public Integer getOrder() {
+		return order;
+	}
+
+	public void setOrder(Integer order) {
+		this.order = order;
+	}
+
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setPhotoAlbumId(Integer photoAlbumId){
+		this.photoAlbumId = photoAlbumId;
+	}
+	
+	public Integer getPhotoAlbumId(){
+		return this.photoAlbumId;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setClientShow(YesOrNoEnum clientShow){
+		this.clientShow = clientShow;
+	}
+	
+	public YesOrNoEnum getClientShow(){
+		return this.clientShow;
+	}
+			
+	public void setUrl(String url){
+		this.url = url;
+	}
+	
+	public String getUrl(){
+		return this.url;
+	}
+			
+	public void setThumbnailUrl(String thumbnailUrl){
+		this.thumbnailUrl = thumbnailUrl;
+	}
+	
+	public String getThumbnailUrl(){
+		return this.thumbnailUrl;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 137 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/PhotoAlbum.java

@@ -0,0 +1,137 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(photo_album_):
+ */
+public class PhotoAlbum {
+
+	/**  */
+	private Integer id;
+
+	/**  */
+	private Long photoNum;
+	
+	/** 乐团编号 */
+	private String musicGroupId;
+	
+	/** 名称 */
+	private String name;
+	
+	/** 学生端是否展示 */
+	private YesOrNoEnum clientShow = YesOrNoEnum.YES;
+	
+	/** 相册类型DEFAULT,SHOW */
+	private String type = "DEFAULT";
+	
+	/** 封面 */
+	private String coverUrl;
+	
+	/** 封面缩略图 */
+	private String coverThumbnailUrl;
+
+	//排序
+	private Integer order;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+
+	public Long getPhotoNum() {
+		return photoNum;
+	}
+
+	public void setPhotoNum(Long photoNum) {
+		this.photoNum = photoNum;
+	}
+
+	public Integer getOrder() {
+		return order;
+	}
+
+	public void setOrder(Integer order) {
+		this.order = order;
+	}
+
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupId(String musicGroupId){
+		this.musicGroupId = musicGroupId;
+	}
+	
+	public String getMusicGroupId(){
+		return this.musicGroupId;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+
+	public YesOrNoEnum getClientShow() {
+		return clientShow;
+	}
+
+	public void setClientShow(YesOrNoEnum clientShow) {
+		this.clientShow = clientShow;
+	}
+
+	public void setType(String type){
+		this.type = type;
+	}
+	
+	public String getType(){
+		return this.type;
+	}
+			
+	public void setCoverUrl(String coverUrl){
+		this.coverUrl = coverUrl;
+	}
+	
+	public String getCoverUrl(){
+		return this.coverUrl;
+	}
+			
+	public void setCoverThumbnailUrl(String coverThumbnailUrl){
+		this.coverThumbnailUrl = coverThumbnailUrl;
+	}
+	
+	public String getCoverThumbnailUrl(){
+		return this.coverThumbnailUrl;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 56 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/PhotoQueryInfo.java

@@ -0,0 +1,56 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.common.page.QueryInfo;
+
+public class PhotoQueryInfo extends QueryInfo {
+	private String type;
+
+	private YesOrNoEnum clientShow;
+
+	private Integer photoAlbumId;
+
+	private String musicGroupId;
+
+	private Integer photoId;
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public YesOrNoEnum getClientShow() {
+		return clientShow;
+	}
+
+	public void setClientShow(YesOrNoEnum clientShow) {
+		this.clientShow = clientShow;
+	}
+
+	public Integer getPhotoAlbumId() {
+		return photoAlbumId;
+	}
+
+	public void setPhotoAlbumId(Integer photoAlbumId) {
+		this.photoAlbumId = photoAlbumId;
+	}
+
+	public String getMusicGroupId() {
+		return musicGroupId;
+	}
+
+	public void setMusicGroupId(String musicGroupId) {
+		this.musicGroupId = musicGroupId;
+	}
+
+	public Integer getPhotoId() {
+		return photoId;
+	}
+
+	public void setPhotoId(Integer photoId) {
+		this.photoId = photoId;
+	}
+}

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

@@ -1,14 +1,18 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
 import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
+import java.util.Map;
 
 public interface MusicGroupTrainPlanService extends BaseService<Integer, MusicGroupTrainPlan> {
 
     int add(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
 
-    Object queryPlanPage(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
+    Map<String,Object> queryPlanPage(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
+
+    List<ClassGroup> queryPlanCourseNum(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);
 }

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PhotoAlbumService.java

@@ -0,0 +1,13 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.PhotoAlbum;
+import com.ym.mec.biz.dal.page.PhotoQueryInfo;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.service.BaseService;
+
+public interface PhotoAlbumService extends BaseService<Integer, PhotoAlbum> {
+
+    int del(Integer id);
+
+    PageInfo<PhotoAlbum> queryAlbumPage(PhotoQueryInfo queryInfo);
+}

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PhotoService.java

@@ -0,0 +1,13 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.Photo;
+import com.ym.mec.common.service.BaseService;
+
+import java.util.List;
+
+public interface PhotoService extends BaseService<Integer, Photo> {
+
+    int del(String ids);
+
+    int batchAdd(List<Photo> photoList);
+}

+ 35 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupTrainPlanServiceImpl.java

@@ -1,22 +1,24 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.MusicGroupTrainPlanDao;
 import com.ym.mec.biz.dal.dto.WaitCourseTrainPlanDto;
+import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
 import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
 import com.ym.mec.biz.service.MusicGroupTrainPlanService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class MusicGroupTrainPlanServiceImpl extends BaseServiceImpl<Integer, MusicGroupTrainPlan>  implements MusicGroupTrainPlanService {
@@ -25,6 +27,8 @@ public class MusicGroupTrainPlanServiceImpl extends BaseServiceImpl<Integer, Mus
 	private MusicGroupTrainPlanDao musicGroupTrainPlanDao;
 	@Autowired
 	private CourseScheduleDao courseScheduleDao;
+	@Autowired
+	private ClassGroupDao classGroupDao;
 
 	@Override
 	public BaseDAO<Integer, MusicGroupTrainPlan> getDAO() {
@@ -40,7 +44,7 @@ public class MusicGroupTrainPlanServiceImpl extends BaseServiceImpl<Integer, Mus
 	}
 
 	@Override
-	public Object queryPlanPage(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
+	public Map<String,Object> queryPlanPage(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
 		getCourseDetail(musicGroupTrainPlanSaveDto);
 		//课程时间列表
 		List<String> classDates = courseScheduleDao.queryClassDateList(musicGroupTrainPlanSaveDto);
@@ -57,9 +61,35 @@ public class MusicGroupTrainPlanServiceImpl extends BaseServiceImpl<Integer, Mus
 		//未规划的课程明细
 		//获取乐团当前学期每个班级不同课程类型数量
 		List<WaitCourseTrainPlanDto> waitCourseTrainPlanDtos = musicGroupTrainPlanDao.queryWaitCourseTrainPlan(musicGroupTrainPlanSaveDto.getMusicGroupId());
+		resultMap.put("waitCourseTrainPlanDtos",waitCourseTrainPlanDtos);
 		return resultMap;
 	}
 
+	@Override
+	public List<ClassGroup> queryPlanCourseNum(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
+		List<ClassGroup> classGroups = classGroupDao.findClassGroups(musicGroupTrainPlanSaveDto.getMusicGroupId());
+		if(classGroups.size() == 0){
+			return null;
+		}
+		List<Integer> classGroupIdList = classGroups.stream().map(e -> e.getId()).collect(Collectors.toList());
+		getCourseDetail(musicGroupTrainPlanSaveDto);
+		Map<Integer, Long> totalNumMap = MapUtil.convertIntegerMap(courseScheduleDao.countTotalNumByClassGroupIds(classGroupIdList, musicGroupTrainPlanSaveDto.getStartSchoolTerm(),musicGroupTrainPlanSaveDto.getEndSchoolTerm()));
+		Map<Integer, Long> currentNumMap = MapUtil.convertIntegerMap(courseScheduleDao.countExpendNumByClassGroupIds(classGroupIdList, musicGroupTrainPlanSaveDto.getStartSchoolTerm(),musicGroupTrainPlanSaveDto.getEndSchoolTerm()));
+		for (ClassGroup classGroup : classGroups) {
+			int totalClassTimes = 0;
+			int currentClassTimes = 0;
+			if (totalNumMap.containsKey(classGroup.getId())) {
+				totalClassTimes = totalNumMap.get(classGroup.getId()).intValue();
+			}
+			if (currentNumMap.containsKey(classGroup.getId())) {
+				currentClassTimes = currentNumMap.get(classGroup.getId()).intValue();
+			}
+			classGroup.setTotalClassTimes(totalClassTimes);
+			classGroup.setCurrentClassTimes(currentClassTimes);
+		}
+		return classGroups;
+	}
+
 	private MusicGroupTrainPlanSaveDto getCourseDetail(MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto){
 		String year = musicGroupTrainPlanSaveDto.getYear();
 		if(musicGroupTrainPlanSaveDto.getTerm() == 0){

+ 53 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PhotoAlbumServiceImpl.java

@@ -0,0 +1,53 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.dao.PhotoAlbumDao;
+import com.ym.mec.biz.dal.dao.PhotoDao;
+import com.ym.mec.biz.dal.entity.PhotoAlbum;
+import com.ym.mec.biz.dal.page.PhotoQueryInfo;
+import com.ym.mec.biz.service.PhotoAlbumService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class PhotoAlbumServiceImpl extends BaseServiceImpl<Integer, PhotoAlbum>  implements PhotoAlbumService {
+	
+	@Autowired
+	private PhotoAlbumDao photoAlbumDao;
+	@Autowired
+	private PhotoDao photoDao;
+
+	@Override
+	public BaseDAO<Integer, PhotoAlbum> getDAO() {
+		return photoAlbumDao;
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public int del(Integer id) {
+		photoDao.deleteByAlbumId(id);
+		return photoAlbumDao.delete(id);
+	}
+
+    @Override
+    public PageInfo<PhotoAlbum> queryAlbumPage(PhotoQueryInfo queryInfo) {
+		PageInfo<PhotoAlbum> photoAlbumPageInfo = queryPage(queryInfo);
+		List<PhotoAlbum> rows = photoAlbumPageInfo.getRows();
+		if(rows.size() > 0){
+			List<Integer> albumIds = rows.stream().map(e -> e.getId()).collect(Collectors.toList());
+			Map<Integer, Long> totalNumMap = MapUtil.convertIntegerMap(photoAlbumDao.countTotalNumByAlbumIds(albumIds,queryInfo.getClientShow()));
+			for (PhotoAlbum photoAlbum : rows) {
+				photoAlbum.setPhotoNum(totalNumMap.get(photoAlbum.getId()));
+			}
+		}
+		return photoAlbumPageInfo;
+    }
+}

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PhotoServiceImpl.java

@@ -0,0 +1,33 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.dao.PhotoDao;
+import com.ym.mec.biz.dal.entity.Photo;
+import com.ym.mec.biz.service.PhotoService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PhotoServiceImpl extends BaseServiceImpl<Integer, Photo>  implements PhotoService {
+	
+	@Autowired
+	private PhotoDao photoDao;
+
+	@Override
+	public BaseDAO<Integer, Photo> getDAO() {
+		return photoDao;
+	}
+
+    @Override
+    public int del(String ids) {
+		return photoDao.deleteByIds(ids);
+    }
+
+	@Override
+	public int batchAdd(List<Photo> photoList) {
+		return photoDao.batchInsert(photoList);
+	}
+}

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

@@ -2306,6 +2306,21 @@
         AND cs.del_flag_ = 0
         GROUP BY cs.class_group_id_
     </select>
+    <select id="countTotalNumByClassGroupIds" resultType="java.util.Map">
+        SELECT cs.class_group_id_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
+        WHERE cs.class_group_id_ IN
+        <foreach collection="classGroupIds" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        <if test="startClassDate != null">
+            AND cs.class_date_ >= DATE_FORMAT(#{startClassDate}, '%Y%m%d')
+        </if>
+        <if test="endClassDate != null">
+            AND cs.class_date_ &lt;= DATE_FORMAT(#{endClassDate}, '%Y%m%d')
+        </if>
+        AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
+        GROUP BY cs.class_group_id_
+    </select>
     <select id="countCurrentNumByClassGroupId" resultType="java.util.Map">
         SELECT cs.class_group_id_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
         WHERE cs.class_group_id_ IN
@@ -2328,6 +2343,21 @@
         AND cs.status_ != 'NOT_START' AND cs.del_flag_ = 0
         GROUP BY cs.class_group_id_
     </select>
+    <select id="countExpendNumByClassGroupIds" resultType="java.util.Map">
+        SELECT cs.class_group_id_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
+        WHERE cs.class_group_id_ IN
+        <foreach collection="classGroupIds" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+        <if test="startClassDate != null">
+            AND cs.class_date_ >= DATE_FORMAT(#{startClassDate}, '%Y%m%d')
+        </if>
+        <if test="endClassDate != null">
+            AND cs.class_date_ &lt;= DATE_FORMAT(#{endClassDate}, '%Y%m%d')
+        </if>
+        AND cs.status_ != 'NOT_START' AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.is_lock_ = 0
+        GROUP BY cs.class_group_id_
+    </select>
 
     <select id="findUserSurplusCourseInfoByGroup" resultMap="StudentCourseInfoDto">
         SELECT cs.id_,

+ 27 - 9
mec-biz/src/main/resources/config/mybatis/MusicGroupTrainPlanMapper.xml

@@ -27,17 +27,35 @@
 	<select id="findAll" resultMap="MusicGroupTrainPlan">
 		SELECT * FROM music_group_train_plan
 		<where>
-			<if test="dto.classGroupId != null">
-				class_group_id_ = #{dto.classGroupId}
+			<if test="classGroupId != null">
+				AND class_group_id_ = #{classGroupId}
 			</if>
-			<if test="dto.courseScheduleType != null and dto.courseScheduleType != ''">
-				course_type_ = #{dto.courseScheduleType}
+			<if test="courseScheduleType != null and courseScheduleType != ''">
+				AND course_type_ = #{courseScheduleType}
 			</if>
-			<if test="dto.endSchoolTerm != null">
-				end_school_term_ = #{dto.endSchoolTerm}
+			<if test="endSchoolTerm != null">
+				AND end_school_term_ = #{endSchoolTerm}
 			</if>
-			<if test="dto.startSchoolTerm != null">
-				start_school_term_ = #{dto.startSchoolTerm}
+			<if test="startSchoolTerm != null">
+				AND start_school_term_ = #{startSchoolTerm}
+			</if>
+		</where>
+		ORDER BY id_
+	</select>
+	<select id="findAllPlan" resultType="java.lang.String">
+		SELECT plan_ FROM music_group_train_plan
+		<where>
+			<if test="classGroupId != null">
+				AND class_group_id_ = #{classGroupId}
+			</if>
+			<if test="courseScheduleType != null and courseScheduleType != ''">
+				AND course_type_ = #{courseScheduleType}
+			</if>
+			<if test="endSchoolTerm != null">
+				AND end_school_term_ = #{endSchoolTerm}
+			</if>
+			<if test="startSchoolTerm != null">
+				AND start_school_term_ = #{startSchoolTerm}
 			</if>
 		</where>
 		ORDER BY id_
@@ -101,7 +119,7 @@
 		<result property="num" column="num_"/>
 		<result property="scheduleType" column="type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
-    <select id="queryWaitCourseTrainPlan" resultType="com.ym.mec.biz.dal.dto.WaitCourseTrainPlanDto">
+    <select id="queryWaitCourseTrainPlan" resultMap="WaitCourseTrainPlanDto">
 		SELECT c.class_group_id_,c.type_,c.course_num_ - t.course_num_ num_,c.name_ FROM (
 		SELECT cs.class_group_id_,cs.type_,COUNT(cs.id_) course_num_,cg.name_ FROM course_schedule cs
 																					   LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_

+ 108 - 0
mec-biz/src/main/resources/config/mybatis/PhotoAlbumMapper.xml

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.biz.dal.dao.PhotoAlbumDao">
+	
+	<resultMap type="com.ym.mec.biz.dal.entity.PhotoAlbum" id="PhotoAlbum">
+		<result column="id_" property="id" />
+		<result column="music_group_id_" property="musicGroupId" />
+		<result column="name_" property="name" />
+		<result column="client_show_" property="clientShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="type_" property="type" />
+		<result column="cover_url_" property="coverUrl" />
+		<result column="cover_thumbnail_url_" property="coverThumbnailUrl" />
+		<result column="order_" property="order" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="PhotoAlbum" >
+		SELECT * FROM photo_album_ WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="PhotoAlbum">
+		SELECT * FROM photo_album_ ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.PhotoAlbum" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO photo_album_ (music_group_id_,name_,client_show_,type_,cover_url_,cover_thumbnail_url_,create_time_,update_time_,order_)
+		VALUES(#{musicGroupId},#{name},#{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{type},#{coverUrl},#{coverThumbnailUrl},NOW(),NOW(),#{order})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.PhotoAlbum">
+		UPDATE photo_album_ <set>
+		<if test="coverUrl != null">
+		cover_url_ = #{coverUrl},
+		</if>
+		<if test="order != null">
+			order_ = #{order},
+		</if>
+		<if test="coverThumbnailUrl != null">
+		cover_thumbnail_url_ = #{coverThumbnailUrl},
+		</if>
+		<if test="clientShow != null">
+		client_show_ = #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		</if>
+		<if test="musicGroupId != null">
+		music_group_id_ = #{musicGroupId},
+		</if>
+		<if test="type != null">
+		type_ = #{type},
+		</if>
+		<if test="name != null">
+		name_ = #{name},
+		</if>
+		update_time_ = NOW()
+		</set> WHERE id_ = #{id}
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM photo_album_ WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="PhotoAlbum" parameterType="map">
+		SELECT * FROM photo_album_
+		<include refid="queryPageSql"/>
+		ORDER BY order_ ASC,id_ DESC
+		<include refid="global.limit"/>
+	</select>
+	<sql id="queryPageSql">
+		<where>
+			<if test="type != null and type != ''">
+				AND type_ = #{type}
+			</if>
+			<if test="musicGroupId != null and musicGroupId != ''">
+				AND music_group_id_ = #{musicGroupId}
+			</if>
+			<if test="clientShow != null">
+				AND client_show_ = #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
+		</where>
+	</sql>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(id_) FROM photo_album_
+		<include refid="queryPageSql"/>
+	</select>
+	<select id="countTotalNumByAlbumIds" resultType="java.util.Map">
+		SELECT photo_album_id_ 'key',COUNT(id_) 'value' FROM photo_
+		WHERE photo_album_id_ IN
+		<foreach collection="albumIds" separator="," item="albumId" close=")" open="(">
+			#{albumId}
+		</foreach>
+		<if test="clientShow != null">
+			AND client_show_ = #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+		</if>
+		GROUP BY photo_album_id_
+	</select>
+</mapper>

+ 103 - 0
mec-biz/src/main/resources/config/mybatis/PhotoMapper.xml

@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.biz.dal.dao.PhotoDao">
+	
+	<resultMap type="com.ym.mec.biz.dal.entity.Photo" id="Photo">
+		<result column="id_" property="id" />
+		<result column="photo_album_id_" property="photoAlbumId" />
+		<result column="name_" property="name" />
+		<result column="client_show_" property="clientShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="url_" property="url" />
+		<result column="thumbnail_url_" property="thumbnailUrl" />
+		<result column="order_" property="order" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="Photo" >
+		SELECT * FROM photo_ WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="Photo">
+		SELECT * FROM photo_ ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Photo" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO photo_ (photo_album_id_,name_,client_show_,url_,thumbnail_url_,create_time_,update_time_,order_)
+		VALUES(#{photoAlbumId},#{name},#{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{url},#{thumbnailUrl},NOW(),NOW(),#{order})
+	</insert>
+	<insert id="batchInsert">
+		INSERT INTO photo_ (photo_album_id_,name_,client_show_,url_,thumbnail_url_,create_time_,update_time_,order_)
+		VALUES
+		<foreach collection="photoList" item="photo" separator=",">
+			(#{photo.photoAlbumId},#{photo.name},#{photo.clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			 #{photo.url},#{photo.thumbnailUrl},NOW(),NOW(),#{photo.order})
+		</foreach>
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.Photo">
+		UPDATE photo_ <set>
+		<if test="order != null">
+			order_ = #{order},
+		</if>
+		<if test="photoAlbumId != null">
+		photo_album_id_ = #{photoAlbumId},
+		</if>
+		<if test="url != null">
+		url_ = #{url},
+		</if>
+		<if test="clientShow != null">
+		client_show_ = #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		</if>
+		<if test="thumbnailUrl != null">
+		thumbnail_url_ = #{thumbnailUrl},
+		</if>
+		<if test="name != null">
+		name_ = #{name},
+		</if>
+		update_time_ = NOW()
+		</set> WHERE id_ = #{id}
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM photo_ WHERE id_ = #{id} 
+	</delete>
+	<delete id="deleteByAlbumId">
+		DELETE FROM photo_ WHERE photo_album_id_ = #{albumId}
+	</delete>
+	<delete id="deleteByIds">
+		DELETE FROM photo_ WHERE FIND_IN_SET(id_,#{id})
+	</delete>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="Photo" parameterType="map">
+		SELECT * FROM photo_
+		<include refid="queryPageSql"/>
+		ORDER BY order_ ASC,id_ DESC
+		<include refid="global.limit"/>
+	</select>
+	<sql id="queryPageSql">
+		<where>
+			<if test="photoAlbumId != null">
+				AND photo_album_id_ = #{photoAlbumId}
+			</if>
+			<if test="clientShow != null">
+				AND client_show_ = #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+			</if>
+		</where>
+	</sql>
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(id_) FROM photo_
+		<include refid="queryPageSql"/>
+	</select>
+</mapper>

+ 0 - 1
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -227,5 +227,4 @@ public class StudentManageController extends BaseController {
         }
         return succeed(organizationService.getGradeList(sysUser.getOrganId()));
     }
-
 }

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

@@ -1,12 +1,17 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
 import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
 import com.ym.mec.biz.service.MusicGroupTrainPlanService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+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;
 
 @RequestMapping("musicGroupTrainPlan")
 @Api(tags = "乐团训练规划")
@@ -22,9 +27,26 @@ public class MusicGroupTrainPlanController extends BaseController {
 		return succeed(musicGroupTrainPlanService.add(musicGroupTrainPlanSaveDto));
 	}
 
+	@ApiOperation("修改乐团训练规划")
+	@PostMapping(value = "update")
+	public Object add(String plan,Integer planId) {
+		MusicGroupTrainPlan musicGroupTrainPlan = musicGroupTrainPlanService.get(planId);
+		if(musicGroupTrainPlan == null){
+			throw new BizException("课程规划不存在");
+		}
+		musicGroupTrainPlan.setPlan(plan);
+		return succeed(musicGroupTrainPlanService.update(musicGroupTrainPlan));
+	}
+
 	@ApiOperation("获取乐团训练规划")
 	@PostMapping(value = "queryPlanPage")
 	public Object queryPlanPage(@RequestBody MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
 		return succeed(musicGroupTrainPlanService.queryPlanPage(musicGroupTrainPlanSaveDto));
 	}
+
+	@ApiOperation("获取乐团训练规划课时")
+	@PostMapping(value = "queryPlanCourseNum")
+	public Object queryPlanCourseNum(@RequestBody MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto) {
+		return succeed(musicGroupTrainPlanService.queryPlanCourseNum(musicGroupTrainPlanSaveDto));
+	}
 }

+ 45 - 0
mec-web/src/main/java/com/ym/mec/web/controller/PhotoAlbumController.java

@@ -0,0 +1,45 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.entity.PhotoAlbum;
+import com.ym.mec.biz.dal.page.PhotoQueryInfo;
+import com.ym.mec.biz.service.PhotoAlbumService;
+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.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("photoAlbum")
+@Api(tags = "相册")
+@RestController
+public class PhotoAlbumController extends BaseController {
+
+	@Autowired
+	private PhotoAlbumService photoAlbumService;
+
+	@ApiOperation("新增")
+	@PostMapping(value = "add")
+	public Object add(PhotoAlbum photoAlbum) {
+		return succeed(photoAlbumService.insert(photoAlbum));
+	}
+
+	@ApiOperation("修改")
+	@PostMapping(value = "update")
+	public Object update(PhotoAlbum photoAlbum) {
+		return succeed(photoAlbumService.update(photoAlbum));
+	}
+
+	@ApiOperation("删除")
+	@PostMapping(value = "del")
+	public Object del(Integer id) {
+		return succeed(photoAlbumService.del(id));
+	}
+
+	@ApiOperation("分页查询")
+	@PostMapping(value = "queryPage")
+	public Object queryPage(PhotoQueryInfo queryInfo) {
+		return succeed(photoAlbumService.queryAlbumPage(queryInfo));
+	}
+}

+ 48 - 0
mec-web/src/main/java/com/ym/mec/web/controller/PhotoController.java

@@ -0,0 +1,48 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.entity.Photo;
+import com.ym.mec.biz.dal.page.PhotoQueryInfo;
+import com.ym.mec.biz.service.PhotoService;
+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.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 java.util.List;
+
+@RequestMapping("photo")
+@Api(tags = "相片")
+@RestController
+public class PhotoController extends BaseController {
+
+	@Autowired
+	private PhotoService photoService;
+
+	@ApiOperation("新增")
+	@PostMapping(value = "add")
+	public Object add(@RequestBody List<Photo> photoList) {
+		return succeed(photoService.batchAdd(photoList));
+	}
+
+	@ApiOperation("修改")
+	@PostMapping(value = "update")
+	public Object update(Photo photo) {
+		return succeed(photoService.update(photo));
+	}
+
+	@ApiOperation("删除")
+	@PostMapping(value = "del")
+	public Object del(String ids) {
+		return succeed(photoService.del(ids));
+	}
+
+	@ApiOperation("分页查询")
+	@PostMapping(value = "queryPage")
+	public Object queryPage(PhotoQueryInfo queryInfo) {
+		return succeed(photoService.queryPage(queryInfo));
+	}
+}

+ 45 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EduPhotoAlbumController.java

@@ -0,0 +1,45 @@
+package com.ym.mec.web.controller.education;
+
+import com.ym.mec.biz.dal.entity.PhotoAlbum;
+import com.ym.mec.biz.dal.page.PhotoQueryInfo;
+import com.ym.mec.biz.service.PhotoAlbumService;
+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.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("eduPhotoAlbum")
+@Api(tags = "相册")
+@RestController
+public class EduPhotoAlbumController extends BaseController {
+
+	@Autowired
+	private PhotoAlbumService photoAlbumService;
+
+	@ApiOperation("新增")
+	@PostMapping(value = "add")
+	public Object add(PhotoAlbum photoAlbum) {
+		return succeed(photoAlbumService.insert(photoAlbum));
+	}
+
+	@ApiOperation("修改")
+	@PostMapping(value = "update")
+	public Object update(PhotoAlbum photoAlbum) {
+		return succeed(photoAlbumService.update(photoAlbum));
+	}
+
+	@ApiOperation("删除")
+	@PostMapping(value = "del")
+	public Object del(Integer id) {
+		return succeed(photoAlbumService.del(id));
+	}
+
+	@ApiOperation("分页查询")
+	@PostMapping(value = "queryPage")
+	public Object queryPage(PhotoQueryInfo queryInfo) {
+		return succeed(photoAlbumService.queryPage(queryInfo));
+	}
+}

+ 48 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EduPhotoController.java

@@ -0,0 +1,48 @@
+package com.ym.mec.web.controller.education;
+
+import com.ym.mec.biz.dal.entity.Photo;
+import com.ym.mec.biz.dal.page.PhotoQueryInfo;
+import com.ym.mec.biz.service.PhotoService;
+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.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 java.util.List;
+
+@RequestMapping("eduPhoto")
+@Api(tags = "相片")
+@RestController
+public class EduPhotoController extends BaseController {
+
+	@Autowired
+	private PhotoService photoService;
+
+	@ApiOperation("新增")
+	@PostMapping(value = "add")
+	public Object add(@RequestBody List<Photo> photoList) {
+		return succeed(photoService.batchAdd(photoList));
+	}
+
+	@ApiOperation("修改")
+	@PostMapping(value = "update")
+	public Object update(Photo photo) {
+		return succeed(photoService.update(photo));
+	}
+
+	@ApiOperation("删除")
+	@PostMapping(value = "del")
+	public Object del(String ids) {
+		return succeed(photoService.del(ids));
+	}
+
+	@ApiOperation("分页查询")
+	@PostMapping(value = "queryPage")
+	public Object queryPage(PhotoQueryInfo queryInfo) {
+		return succeed(photoService.queryPage(queryInfo));
+	}
+}