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 io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; 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<>(); if (!submitFile.getFileUrl().contains("xls")) { result.setSuccess(false); result.setMessage("请上传excel"); return result; } try { SubmitFile beforeFile = submitService.getById(submitFile.getId()); if (beforeFile.getFileUrl().equals(submitFile.getFileUrl())) { submitFile.setFileUrl(null); } else { List<Point> list = ExcelUtils.analysisExcel(submitFile.getFileUrl()); submitFile.setList(list); } 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(); if (!submitFile.getFileUrl().contains("xls")) { result.setSuccess(false); result.setMessage("请上传excel"); return result; } try { List<Point> list = ExcelUtils.analysisExcel(submitFile.getFileUrl()); submitFile.setList(list); 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<ReturnDto> createConsult(@RequestBody UniversityConsult universityConsult) { BaseDto<ReturnDto> result = new BaseDto(); ReturnDto dto = new ReturnDto(); List<Consult> list = consultService.selectByUniversityIdAndColumnType(universityConsult.getUniversityId(), universityConsult.getColumnType()); if (list != null && list.size() > 0) { result.setSuccess(false); result.setMessage("同一栏目下,已有该学校招生咨询"); } else { int id = consultService.create(universityConsult); try { String name = universityService.getById(universityConsult.getUniversityId()).getName(); dto.setName(name); } catch (Exception e) { } dto.setId(id); result.setData(dto); } 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<>(); Page<Video> page = videoService.getList(videoSearchDto); result.setData(page); System.out.println("result:" + result.toString() + "----------page:" + page.toString()); return result; } @MemberAccess @ApiOperation("新建视频相关接口") @RequestMapping(value = "/video/createVideo", method = RequestMethod.POST) public BaseDto<ReturnDto> createVideo(@RequestBody Video video) { BaseDto<ReturnDto> result = new BaseDto(); ReturnDto dto = new ReturnDto(); int id = videoService.create(video); try { String name = universityService.getById(video.getUniversityId()).getName(); dto.setName(name); dto.setId(video.getUniversityId()); } catch (Exception e) { } result.setData(dto); 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) { BaseDto result = new BaseDto(); Major before = majorService.getById(major.getId()); if (before.getPid() == -1 && major.getPid() != -1) { result.setSuccess(false); result.setMessage("一级专业不能被设置成二级"); } else { majorService.update(major); } return result; } @MemberAccess @ApiOperation("删除专业相关接口") @RequestMapping(value = "/major/delete", method = RequestMethod.POST) public BaseDto deleteMajor(@RequestBody IdDto idDto) { BaseDto result = new BaseDto(); majorService.delete(idDto.getId()); 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.getAdminList(articleSearchDto); result.setData(page); return result; } @MemberAccess @ApiOperation("新建权威解读(文章广告)相关接口") @RequestMapping(value = "/article/createArticle", method = RequestMethod.POST) public BaseDto<Integer> createArticle(@RequestBody Article article) { BaseDto<Integer> result = new BaseDto(); if (StringUtils.isBlank(article.getImageUrl())) { result.setSuccess(false); result.setMessage("请上传封面图片"); } else { int id = articleService.create(article); result.setData(id); } 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 { if (StringUtils.isNotBlank(dto.getUrl())) { 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; } }