AppController.java 12.7 KB
package com.sincere.student.controller;

import com.sincere.student.dto.*;
import com.sincere.student.dto.app.AppConsult;
import com.sincere.student.dto.app.ConsultPageDto;
import com.sincere.student.dto.submit.SubmitLine;
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.Page;
import io.swagger.annotations.ApiOperation;
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("app")
public class AppController {


    @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;


    /**
     * 广告相关接口
     */
    @ApiOperation("获取开屏图片")
    @RequestMapping(value = "/advert/getScreen" , method = RequestMethod.POST)
    public BaseDto<Advert> getScreen(){
        BaseDto<Advert> result = new BaseDto<>() ;
        result.setData(advertService.getScreen());
        return result ;
    }

    @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 ;
    }

    @ApiOperation("获取首页学校 咨询列表")
    @RequestMapping(value = "/consult/getConsultList" , method = RequestMethod.POST)
    public BaseDto<List<AppConsult>> getConsultList(){
        BaseDto<List<AppConsult>> result = new BaseDto<>();
        List<AppConsult> data = new ArrayList<>();
        ColumnDto columnDto = new ColumnDto();
        columnDto.setType(ColumnEnums.university.getType());
        List<ColumnType> columnTypes = columnService.getList(columnDto);
        if(columnTypes != null && columnTypes.size() > 0){
            for(ColumnType columnType : columnTypes){
                AppConsult appConsult = new AppConsult();
                appConsult.setColumnTypeId(columnType.getId());
                appConsult.setName(columnType.getName());
                appConsult.setList(consultService.getColumnList(columnType.getId(),1,3).getList());
                if(appConsult.getList() != null && appConsult.getList().size() > 0){
                    data.add(appConsult);
                    if(data.size() == 2){
                        break;
                    }
                }else {
                    continue;
                }
            }
            result.setData(data);
        }else {
            result.setSuccess(false);
            result.setMessage("后台暂未分配招生咨询会栏目");
        }
        return result ;
    }

    @ApiOperation("首页 搜索 按钮  咨询列表")
    @RequestMapping(value = "/consult/getConsultListSearch" , method = RequestMethod.POST)
    public BaseDto<List<AppConsult>> getConsultListSearch(@RequestBody ConsultSearchDto consultSearchDto){
        consultSearchDto.setStatus(1);
        consultSearchDto.setPage(1);
        consultSearchDto.setPageSize(3);
        BaseDto<List<AppConsult>> result = new BaseDto<>();
        List<AppConsult> data = new ArrayList<>();
        ColumnDto columnDto = new ColumnDto();
        columnDto.setType(ColumnEnums.university.getType());
        List<ColumnType> columnTypes = columnService.getList(columnDto);
        if(columnTypes != null && columnTypes.size() > 0){
            for(ColumnType columnType : columnTypes){
                consultSearchDto.setColumnType(columnType.getId());
                Page<Consult> page = consultService.getList(consultSearchDto);
                AppConsult appConsult = new AppConsult();
                appConsult.setColumnTypeId(columnType.getId());
                appConsult.setName(columnType.getName());
                appConsult.setList(page.getList());
                if(appConsult.getList() != null && appConsult.getList().size() > 0){
                    data.add(appConsult);
                }
            }
            result.setData(data);
        }else {
            result.setSuccess(false);
            result.setMessage("后台暂未分配招生咨询会栏目");
        }
        return result ;
    }

    @ApiOperation("获取首页学校 咨询列表 more")
    @RequestMapping(value = "/consult/getConsultPage" , method = RequestMethod.POST)
    public BaseDto<Page<Consult>> getConsultTypeList(@RequestBody ConsultPageDto consultPageDto){
        BaseDto<Page<Consult>> result = new BaseDto<>();
        result.setData(consultService.getColumnList(consultPageDto.getColumnTypeId(),consultPageDto.getPage(),consultPageDto.getPageSize()));
        return result ;
    }

    /**
     * 招生咨询会
     */
    @ApiOperation("获取招生咨询会相关接口")
    @RequestMapping(value = "/consult/getList" , method = RequestMethod.POST)
    public BaseDto<Page<Consult>> getConsultList(@RequestBody ConsultSearchDto consultSearchDto){
        BaseDto<Page<Consult>> result = new BaseDto<>() ;
        consultSearchDto.setStatus(1);
        Page<Consult> page = consultService.getList(consultSearchDto);
        result.setData(page);
        return result ;
    }

    @ApiOperation("获取招生咨询会详情相关接口")
    @RequestMapping(value = "/consult/getDetail" , method = RequestMethod.POST)
    public BaseDto<Consult> getConsultDetail(@RequestBody IdDto id){
        BaseDto<Consult> result = new BaseDto<>() ;
        result.setData(consultService.getDetail(id.getId()));
        return result ;
    }

    /**
     * 栏目相关接口
     */
    @ApiOperation("获取栏目列表(1 文章 2学校 3视频)")
    @RequestMapping(value = "/column/getList" , method = RequestMethod.POST)
    public BaseDto<List<ColumnType>> getColumnList(@RequestBody IdDto idDto){
        BaseDto<List<ColumnType>> result = new BaseDto<>();
        int type = idDto.getId();
        ColumnEnums columnEnums = ColumnEnums.getByType(type);
        if(columnEnums != null){
            ColumnDto columnDto = new ColumnDto() ;
            columnDto.setType(type);
            List<ColumnType> data = columnService.getList(columnDto);
            result.setData(data);
        }else {
            result.setSuccess(false);
            result.setMessage("类型不匹配");
        }
        return result ;
    }

    /**
     *权威解读(文章广告)相关接口
     */
    @ApiOperation("获取权威解读(文章广告)相关接口")
    @RequestMapping(value = "/article/getList" , method = RequestMethod.POST)
    public BaseDto<Page<Article>> getArticleList(@RequestBody ArticleSearchDto articleSearchDto){
        BaseDto<Page<Article>> result = new BaseDto<>() ;
        articleSearchDto.setStatus(1);
        Page<Article> page = articleService.getList(articleSearchDto);
        result.setData(page);
        return result ;
    }

    @ApiOperation("获取权威解读(文章广告)详情相关接口")
    @RequestMapping(value = "/article/getDetail" , method = RequestMethod.POST)
    public BaseDto<Article> getDetail(@RequestBody IdDto idDto){
        BaseDto<Article> result = new BaseDto<>() ;
        Article article = articleService.selectById(idDto.getId()) ;
        result.setData(article);
        Article temp = new Article();
        temp.setId(idDto.getId());
        temp.setLookNumber(article.getLookNumber()+1);
        temp.setStatus(-1);
        articleService.update(temp);
        return result ;
    }


    @ApiOperation(" 点赞 权威解读(文章广告)相关接口")
    @RequestMapping(value = "/article/good" , method = RequestMethod.POST)
    public BaseDto good(@RequestBody IdDto idDto){
        BaseDto result = new BaseDto<>() ;
        Article article = articleService.selectById(idDto.getId()) ;
        Article temp = new Article();
        temp.setId(idDto.getId());
        temp.setGoodNumber(article.getGoodNumber()+1);
        temp.setStatus(-1);
        articleService.update(temp);
        return result ;
    }

    @ApiOperation("获取权威解读(文章广告) 相关咨询 相关接口 传学校id")
    @RequestMapping(value = "/article/getRelation" , method = RequestMethod.POST)
    public BaseDto<List<Article>> getRelation(@RequestBody IdDto idDto){
        BaseDto<List<Article>> result = new BaseDto<>() ;
        result.setData(articleService.getRelationList(idDto.getId()));
        return result ;
    }

    @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 ;
    }

    @ApiOperation("留言板,只传page,pageSize")
    @RequestMapping(value = "/message/getList" , method = RequestMethod.POST)
    public BaseDto<Page<Message>> insertMessage(@RequestBody MessageSearchDto messageSearchDto){
        BaseDto<Page<Message>> result = new BaseDto<>();
        result.setData(messageService.getList(messageSearchDto));
        return result ;
    }

    @ApiOperation("留言")
    @RequestMapping(value = "/message/create" , method = RequestMethod.POST)
    public BaseDto insertMessage(@RequestBody Message message){
        messageService.create(message);
        return new BaseDto();
    }

    @ApiOperation("留言详情")
    @RequestMapping(value = "/message/detail" , method = RequestMethod.POST)
    public BaseDto<Message> insertMessage(@RequestBody IdDto idDto){
        BaseDto<Message> result = new BaseDto<>();
        result.setData(messageService.getDetail(idDto.getId()));
        return result;
    }


    @ApiOperation("获取视频相关接口")
    @RequestMapping(value = "/video/getList" , method = RequestMethod.POST)
    public BaseDto<Page<Video>> getVideoList(@RequestBody VideoSearchDto videoSearchDto){
        BaseDto<Page<Video>> result = new BaseDto<>() ;
        videoSearchDto.setStatus(1);
        Page<Video> page = videoService.getUniversityList(videoSearchDto);
        result.setData(page);
        return result ;
    }

    @ApiOperation("获取视频相关接口")
    @RequestMapping(value = "/video/getDetail" , method = RequestMethod.POST)
    public BaseDto<Page<Video>> getVideoDetail(@RequestBody VideoSearchDto videoSearchDto){
        BaseDto<Page<Video>> result = new BaseDto<>() ;
        Page<Video> page = videoService.getList(videoSearchDto);
        result.setData(page);
        return result ;
    }

    /**
     * 投档线
     */
    @ApiOperation("投档线列表接口")
    @RequestMapping(value = "/submit/getList" , method = RequestMethod.POST)
    public BaseDto<Page<SubmitLine>> getFileList(@RequestBody PointSearchDto pointSearchDto){
        BaseDto<Page<SubmitLine>> result = new BaseDto<>();
        result.setData(submitService.getAppList(pointSearchDto));
        return result ;
    }

    @ApiOperation("投档线首页列表接口")
    @RequestMapping(value = "/submit/getSubmitList" , method = RequestMethod.POST)
    public BaseDto<Page<SubmitFile>> getSubmitList(@RequestBody PageDto pageDto){
        BaseDto<Page<SubmitFile>> result = new BaseDto<>();
        MessageSearchDto pointSearchDto = new MessageSearchDto();
        pointSearchDto.setPage(pageDto.getPage());
        pointSearchDto.setPageSize(pageDto.getPageSize());
        result.setData(submitService.getAdminList(pointSearchDto));
        return result ;
    }

    @ApiOperation("具体某个投档线详情接口")
    @RequestMapping(value = "/submit/getDetail" , method = RequestMethod.POST)
    public BaseDto<SubmitLine> getSubmitDetail(@RequestBody IdDto idDto){
        BaseDto<SubmitLine> result = new BaseDto<>();
        PointSearchDto pointSearchDto = new PointSearchDto();
        pointSearchDto.setPage(1);
        pointSearchDto.setPageSize(9999);
        pointSearchDto.setSubmitId(idDto.getId());
        result.setData(submitService.getAppList(pointSearchDto).getList().get(0));
        return result ;
    }
}