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