package com.sincere.student.controller; import com.sincere.student.access.MemberAccess; import com.sincere.student.dto.*; import com.sincere.student.enums.AdvertEnums; import com.sincere.student.enums.ColumnEnums; import com.sincere.student.enums.ParameterUtils; import com.sincere.student.model.*; import com.sincere.student.service.*; import com.sincere.student.utils.ExcelUtils; import com.sincere.student.utils.Page; import com.sincere.student.utils.ResultException; import com.sincere.student.utils.TokenUtils; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("admin") public class AdminController { @Autowired ColumnService columnService ; @Autowired AdvertService advertService ; @Autowired ArticleService articleService ; @Autowired MajorService majorService ; @Autowired UniversityService universityService ; @Autowired ParameterService parameterService; @Autowired VideoService videoService ; @Autowired ConsultService consultService ; @Autowired UserService userService ; @Autowired MessageService messageService ; @Autowired SubmitService submitService; /** * 投档线 */ @MemberAccess @ApiOperation("投档线列表接口") @RequestMapping(value = "/submit/getList" , method = RequestMethod.POST) public BaseDto<Page<SubmitFile>> getFileList(@RequestBody MessageSearchDto messageSearchDto){ BaseDto<Page<SubmitFile>> result = new BaseDto<>(); result.setData(submitService.getAdminList(messageSearchDto)); return result ; } @MemberAccess @ApiOperation("投档线删除接口") @RequestMapping(value = "/submit/delete" , method = RequestMethod.POST) public BaseDto deleteFile(@RequestBody IdDto idDto){ BaseDto result = new BaseDto<>(); submitService.delete(idDto.getId()); return result ; } @MemberAccess @ApiOperation("投档线更新接口 ,如果文件没更新,fileUrl不用传") @RequestMapping(value = "/submit/update" , method = RequestMethod.POST) public BaseDto updateFile(@RequestBody SubmitFile submitFile){ BaseDto result = new BaseDto<>(); try{ SubmitFile beforeFile = submitService.getById(submitFile.getId()); if(beforeFile.getFileUrl().equals(submitFile.getFileUrl())){ submitFile.setFileUrl(null); }else { List<Point> list = ExcelUtils.analysisExcel(submitFile.getFileUrl()); List<Point> points = new ArrayList<>(); for(Point point : list){ Integer universityId = universityService.selectByName(point.getUniversityName()); if(universityId == null){ throw new ResultException(902,point.getUniversityName()+"不存在"); } point.setUniversityId(universityId); Integer majorId = universityService.selectIdByMajor(point.getMajor(),universityId); if(majorId == null){ throw new ResultException(902,point.getUniversityName()+"-"+point.getMajor()+"关系不存在"); } point.setMajorId(majorId); points.add(point); } submitFile.setList(points); } submitService.update(submitFile); }catch (ResultException e){ result.setSuccess(false); result.setMessage(e.getMessage()); } return result ; } @MemberAccess @ApiOperation("投档线创建接口") @RequestMapping(value = "/submit/createFile" , method = RequestMethod.POST) public BaseDto createFile(@RequestBody SubmitFile submitFile){ BaseDto result = new BaseDto(); try{ List<Point> list = ExcelUtils.analysisExcel(submitFile.getFileUrl()); List<Point> points = new ArrayList<>(); for(Point point : list){ Integer universityId = universityService.selectByName(point.getUniversityName()); if(universityId == null){ throw new ResultException(902,point.getUniversityName()+"不存在"); } point.setUniversityId(universityId); Integer majorId = universityService.selectIdByMajor(point.getMajor(),universityId); if(majorId == null){ throw new ResultException(902,point.getUniversityName()+"-"+point.getMajor()+"关系不存在"); } point.setMajorId(majorId); points.add(point); } submitFile.setList(points); submitService.create(submitFile); }catch (ResultException e){ e.printStackTrace(); result.setSuccess(false); result.setMessage(e.getMessage()); } return result ; } /** * 留言板 */ @MemberAccess @ApiOperation("留言板列表接口") @RequestMapping(value = "/message/getList" , method = RequestMethod.POST) public BaseDto<Page<Message>> getMessageList(@RequestBody MessageSearchDto messageSearchDto){ BaseDto<Page<Message>> result = new BaseDto<>(); result.setData(messageService.getList(messageSearchDto)); return result ; } @MemberAccess @ApiOperation("留言板详情,管理回复 接口") @RequestMapping(value = "/message/getDetail" , method = RequestMethod.POST) public BaseDto<Message> getMessageDetail(@RequestBody IdDto idDto){ BaseDto<Message> result = new BaseDto<>(); result.setData(messageService.getDetail(idDto.getId())); return result ; } @MemberAccess @ApiOperation("回复接口") @RequestMapping(value = "/message/reply" , method = RequestMethod.POST) public BaseDto getMessageDetail(@RequestBody Reply reply){ messageService.reply(reply); return new BaseDto() ; } @MemberAccess @ApiOperation("删除某个回复 接口") @RequestMapping(value = "/message/deleteReply" , method = RequestMethod.POST) public BaseDto<Message> deleteReply(@RequestBody IdDto idDto){ messageService.deleteReply(idDto.getId()); return new BaseDto<>() ; } @MemberAccess @ApiOperation("删除留言 接口") @RequestMapping(value = "/message/deleteMessage" , method = RequestMethod.POST) public BaseDto<Message> deleteMessage(@RequestBody IdDto idDto){ messageService.deleteMessage(idDto.getId()); return new BaseDto<>() ; } /** * 登录 修改密码 */ @ApiOperation("登录") @RequestMapping(value = "/login" , method = RequestMethod.POST) public BaseDto<String> login(@RequestBody SysUser sysUser){ BaseDto<String> result = new BaseDto<>() ; SysUser user = userService.getByUser(); if(user.getUserName().equals(sysUser.getUserName()) && user.getPassword().equals(sysUser.getPassword())){ String token = TokenUtils.buildToken(user.getUserName()); result.setData(token); }else { result.setSuccess(false); result.setMessage("账号密码错误"); } return result ; } @MemberAccess @ApiOperation("修改密码") @RequestMapping(value = "/updatePassword" , method = RequestMethod.POST) public BaseDto updatePassword(@RequestBody SysUser sysUser){ BaseDto result = new BaseDto() ; SysUser user = userService.getByUser(); user.setPassword(sysUser.getPassword()); userService.update(sysUser); return result ; } /** * 招生咨询会 */ @MemberAccess @ApiOperation("获取招生咨询会相关接口") @RequestMapping(value = "/consult/getList" , method = RequestMethod.POST) public BaseDto<Page<Consult>> getConsultList(@RequestBody ConsultSearchDto consultSearchDto){ BaseDto<Page<Consult>> result = new BaseDto<>() ; consultSearchDto.setStatus(0); consultSearchDto.setColumnType(-1); Page<Consult> page = consultService.getList(consultSearchDto); result.setData(page); return result ; } @MemberAccess @ApiOperation("获取招生咨询会详情相关接口") @RequestMapping(value = "/consult/getDetail" , method = RequestMethod.POST) public BaseDto<Consult> getConsultDetail(@RequestBody IdDto idDto){ BaseDto<Consult> result = new BaseDto<>() ; result.setData(consultService.getDetail(idDto.getId())); return result ; } @MemberAccess @ApiOperation("新建招生咨询会相关接口") @RequestMapping(value = "/consult/createConsult" , method = RequestMethod.POST) public BaseDto createConsult(@RequestBody UniversityConsult universityConsult){ BaseDto result = new BaseDto() ; consultService.create(universityConsult); return result ; } @MemberAccess @ApiOperation("修改招生咨询会相关接口") @RequestMapping(value = "/consult/updateConsult" , method = RequestMethod.POST) public BaseDto updateConsult(@RequestBody UniversityConsult universityConsult){ BaseDto result = new BaseDto() ; consultService.update(universityConsult); return result ; } @MemberAccess @ApiOperation("删除招生咨询会(传主键)") @RequestMapping(value = "/consult/delete" , method = RequestMethod.POST) public BaseDto deleteConsult(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; consultService.delete(idDto.getId()); return result ; } /** * 视频 */ @MemberAccess @ApiOperation("获取视频相关接口") @RequestMapping(value = "/video/getList" , method = RequestMethod.POST) public BaseDto<Page<Video>> getVideoList(@RequestBody VideoSearchDto videoSearchDto){ BaseDto<Page<Video>> result = new BaseDto<>() ; videoSearchDto.setStatus(0); Page<Video> page = videoService.getList(videoSearchDto); result.setData(page); return result ; } @MemberAccess @ApiOperation("新建视频相关接口") @RequestMapping(value = "/video/createVideo" , method = RequestMethod.POST) public BaseDto createVideo(@RequestBody Video video){ BaseDto result = new BaseDto() ; videoService.create(video); return result ; } @MemberAccess @ApiOperation("修改视频相关接口") @RequestMapping(value = "/video/updateVideo" , method = RequestMethod.POST) public BaseDto updateVideo(@RequestBody Video video){ BaseDto result = new BaseDto() ; videoService.update(video); return result ; } @MemberAccess @ApiOperation("删除视频(传主键)") @RequestMapping(value = "/video/delete" , method = RequestMethod.POST) public BaseDto deleteVideo(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; videoService.delete(idDto.getId()); return result ; } /** * 联系我们 */ @MemberAccess @ApiOperation("联系我们") @RequestMapping(value = "/linkUs/getLinkUs" , method = RequestMethod.POST) public BaseDto<String> getLinkUs(){ BaseDto<String> result = new BaseDto<>(); Parameter parameter = parameterService.getByCode(ParameterUtils.link_us) ; if(parameter != null){ result.setData(parameter.getMessage()); }else { result.setSuccess(false); result.setMessage("还未设置联系我们的图片"); } return result ; } @MemberAccess @ApiOperation("更新联系我们") @RequestMapping(value = "/linkUs/updateLinkUs" , method = RequestMethod.POST) public BaseDto updateLinkUs(@RequestBody LinkUsDto dto){ BaseDto result = new BaseDto<>(); Parameter parameter = parameterService.getByCode(ParameterUtils.link_us) ; if(parameter == null){ parameter = new Parameter(); parameter.setCode(ParameterUtils.link_us); parameter.setMessage(dto.getUrl()); parameterService.create(parameter); }else { parameter.setMessage(dto.getUrl()); parameterService.update(parameter); } return result ; } /** * 高校相关接口 */ @MemberAccess @ApiOperation("获取高校相关接口") @RequestMapping(value = "/university/getUniversityList" , method = RequestMethod.POST) public BaseDto<Page<University>> getUniversityList(@RequestBody UniversitySearchDto universitySearchDto){ BaseDto<Page<University>> result = new BaseDto<>() ; Page<University> page = universityService.getList(universitySearchDto); result.setData(page); return result ; } @MemberAccess @ApiOperation("创建高校相关接口") @RequestMapping(value = "/university/createUniversity" , method = RequestMethod.POST) public BaseDto createUniversity(@RequestBody University university){ universityService.create(university); return new BaseDto() ; } @MemberAccess @ApiOperation("更新高校相关接口") @RequestMapping(value = "/university/updateUniversity" , method = RequestMethod.POST) public BaseDto updateUniversity(@RequestBody University university){ universityService.update(university); return new BaseDto() ; } @MemberAccess @ApiOperation("删除高校相关接口") @RequestMapping(value = "/university/delete" , method = RequestMethod.POST) public BaseDto deleteUniversity(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; universityService.delete(idDto.getId()); return result ; } @MemberAccess @ApiOperation("高校添加专业相关接口") @RequestMapping(value = "/university/addMajor" , method = RequestMethod.POST) public BaseDto addMajor(@RequestBody List<UniversityMajor> list){ universityService.addMajor(list); return new BaseDto(); } /** * 专业相关接口 */ @MemberAccess @ApiOperation("获取专业相关接口") @RequestMapping(value = "/major/getMajorList" , method = RequestMethod.POST) public BaseDto<Page<Major>> getMajorList(@RequestBody MajorSearchDto majorSearchDto){ BaseDto<Page<Major>> result = new BaseDto<>(); Page<Major> page = majorService.getList(majorSearchDto); result.setData(page); return result ; } @MemberAccess @ApiOperation("获取专业列表 一级二级关系列表") @RequestMapping(value = "/major/getList" , method = RequestMethod.POST) public BaseDto<List<Major>> majorGetList(){ BaseDto<List<Major>> result = new BaseDto<>(); result.setData(majorService.selectMajor()); return result ; } @MemberAccess @ApiOperation("新增专业相关接口") @RequestMapping(value = "/major/createMajor" , method = RequestMethod.POST) public BaseDto createMajor(@RequestBody Major major){ majorService.create(major); return new BaseDto() ; } @MemberAccess @ApiOperation("修改专业相关接口") @RequestMapping(value = "/major/updateMajor" , method = RequestMethod.POST) public BaseDto updateMajor(@RequestBody Major major){ majorService.update(major); return new BaseDto() ; } @MemberAccess @ApiOperation("删除专业相关接口") @RequestMapping(value = "/major/delete" , method = RequestMethod.POST) public BaseDto deleteMajor(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; MajorSearchDto majorSearchDto = new MajorSearchDto() ; majorSearchDto.setPid(idDto.getId()); Page<Major> page = majorService.getList(majorSearchDto); if(page.getCount() == 0){ majorService.delete(idDto.getId()); }else { result.setSuccess(false); result.setMessage("还有下级专业,删除失败"); } return result ; } /** *权威解读(文章广告)相关接口 */ @MemberAccess @ApiOperation("获取权威解读(文章广告)相关接口") @RequestMapping(value = "/article/getList" , method = RequestMethod.POST) public BaseDto<Page<Article>> getArticleList(@RequestBody ArticleSearchDto articleSearchDto){ BaseDto<Page<Article>> result = new BaseDto<>() ; articleSearchDto.setStatus(0); Page<Article> page = articleService.getList(articleSearchDto); result.setData(page); return result ; } @MemberAccess @ApiOperation("新建权威解读(文章广告)相关接口") @RequestMapping(value = "/article/createArticle" , method = RequestMethod.POST) public BaseDto createArticle(@RequestBody Article article){ BaseDto result = new BaseDto() ; if(StringUtils.isBlank(article.getImageUrl())){ result.setSuccess(false); result.setMessage("请上传封面图片"); }else { articleService.create(article); } return result ; } @MemberAccess @ApiOperation("修改权威解读(文章广告)相关接口") @RequestMapping(value = "/article/updateArticle" , method = RequestMethod.POST) public BaseDto updateArticle(@RequestBody Article article){ BaseDto result = new BaseDto() ; articleService.update(article); return result ; } @MemberAccess @ApiOperation("删除权威解读(文章广告)(传主键)") @RequestMapping(value = "/article/delete" , method = RequestMethod.POST) public BaseDto deleteArticle(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; articleService.delete(idDto.getId()); return result ; } /** * 广告相关接口 */ @MemberAccess @ApiOperation("获取开屏图片") @RequestMapping(value = "/advert/getScreen" , method = RequestMethod.POST) public BaseDto<Advert> getScreen(){ BaseDto<Advert> result = new BaseDto<>() ; result.setData(advertService.getScreen()); return result ; } @MemberAccess @ApiOperation("更新上传开屏图片") @RequestMapping(value = "/advert/updateScreen" , method = RequestMethod.POST) public BaseDto updateScreen(@RequestBody LinkUsDto dto){ Advert advert = advertService.getScreen() ; if(advert == null){ Advert temp =new Advert(); temp.setSort(1); temp.setType(AdvertEnums.screen.getType()); temp.setImgUrl(dto.getUrl()); temp.setUrlLink(dto.getUrlLink()); advertService.create(temp); }else { advert.setImgUrl(dto.getUrl()); advert.setUrlLink(dto.getUrlLink()); advertService.update(advert); } return new BaseDto() ; } @MemberAccess @ApiOperation("获取banner") @RequestMapping(value = "/advert/getBanner" , method = RequestMethod.POST) public BaseDto<List<Advert>> getBanner(){ BaseDto<List<Advert>> result = new BaseDto<>() ; result.setData(advertService.getBanner()); return result ; } @MemberAccess @ApiOperation("上传banner") @RequestMapping(value = "/advert/createBanner" , method = RequestMethod.POST) public BaseDto createBanner(@RequestBody Advert advert){ BaseDto result = new BaseDto(); if(StringUtils.isBlank(advert.getImgUrl())){ result.setSuccess(false); result.setMessage("图片地址不能为空"); }else { advert.setType(AdvertEnums.banner.getType()); advertService.create(advert); } return result ; } @MemberAccess @ApiOperation("更新banner") @RequestMapping(value = "/advert/updateBanner" , method = RequestMethod.POST) public BaseDto updateBanner(@RequestBody Advert advert){ BaseDto result = new BaseDto(); advert.setType(AdvertEnums.banner.getType()); advertService.update(advert); return result ; } @MemberAccess @ApiOperation("删除banner(传主键)") @RequestMapping(value = "/advert/delete" , method = RequestMethod.POST) public BaseDto deleteBanner(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; advertService.delete(idDto.getId()); return result ; } /** * 栏目相关接口 */ @MemberAccess @ApiOperation("获取栏目列表(1 文章 2学校 3视频)") @RequestMapping(value = "/column/getList" , method = RequestMethod.POST) public BaseDto<List<ColumnType>> getColumnList(@RequestBody ColumnDto columnDto){ BaseDto<List<ColumnType>> result = new BaseDto<>(); ColumnEnums columnEnums = ColumnEnums.getByType(columnDto.getType()); if(columnEnums != null){ List<ColumnType> data = columnService.getList(columnDto); result.setData(data); }else { result.setSuccess(false); result.setMessage("类型不匹配"); } return result ; } @MemberAccess @ApiOperation("创建栏目(type : 1 文章 2学校 3视频)") @RequestMapping(value = "/column/create" , method = RequestMethod.POST) public BaseDto createColumn(@RequestBody ColumnType columnType){ BaseDto result = new BaseDto() ; columnService.create(columnType); return result ; } @MemberAccess @ApiOperation("获取详情 栏目") @RequestMapping(value = "/column/getDetail" , method = RequestMethod.POST) public BaseDto createColumn(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; ColumnType c = columnService.selectDetail(idDto.getId()); return result ; } @MemberAccess @ApiOperation("更新栏目(type : 1 文章 2学校 3视频)") @RequestMapping(value = "/column/update" , method = RequestMethod.POST) public BaseDto updateColumn(@RequestBody ColumnType columnType){ BaseDto result = new BaseDto() ; if(columnType.getId() > 0){ columnService.update(columnType); }else { result.setSuccess(false); result.setMessage("id没传"); } return result ; } @MemberAccess @ApiOperation("删除栏目(传主键)") @RequestMapping(value = "/column/delete" , method = RequestMethod.POST) public BaseDto deleteColumn(@RequestBody IdDto idDto){ BaseDto result = new BaseDto() ; int id = idDto.getId() ; ColumnType columnType = columnService.selectDetail(id); if(columnType.getType() == ColumnEnums.article.getType()){ ArticleSearchDto articleSearchDto = new ArticleSearchDto(); articleSearchDto.setColumnType(columnType.getId()); articleSearchDto.setPage(1); articleSearchDto.setPageSize(10); Page<Article> articlePage = articleService.getList(articleSearchDto); if(articlePage.getCount() > 0){ result.setSuccess(false); result.setMessage("还有关联的权威解读,无法删除"); }else { columnService.delete(id); } }else if(columnType.getType() == ColumnEnums.university.getType()){ Page<Consult> consultPage =consultService.getColumnList(columnType.getId(),1,10); if(consultPage.getCount() > 0){ result.setSuccess(false); result.setMessage("还有关联的招生咨询会信息,无法删除"); }else { columnService.delete(id); } }else if(columnType.getType() == ColumnEnums.video.getType()){ VideoSearchDto videoSearchDto = new VideoSearchDto(); videoSearchDto.setColumnType(columnType.getId()); videoSearchDto.setPage(1); videoSearchDto.setPageSize(10); Page<Video> videoPage = videoService.getList(videoSearchDto); if(videoPage.getCount() > 0){ result.setSuccess(false); result.setMessage("还有关联的视频,无法删除"); }else { columnService.delete(id); } }else { columnService.delete(id); } return result ; } }