diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..bd8efca
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,211 @@
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.6.RELEASE
+
+ 4.0.0
+
+ EnrollStudent_independent
+
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.3
+
+
+ org.apache.httpcomponents
+ httpmime
+ 4.5.3
+
+
+ org.thymeleaf
+ thymeleaf
+ 3.0.9.RELEASE
+
+
+ org.thymeleaf
+ thymeleaf-spring4
+ 3.0.9.RELEASE
+
+
+ org.springframework.boot
+ spring-boot-starter-thymeleaf
+
+
+ org.mybatis.generator
+ mybatis-generator-core
+ 1.3.5
+
+
+ org.apache.poi
+ poi
+ 4.1.0
+
+
+ org.apache.poi
+ poi-ooxml
+ 4.1.0
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.13
+
+
+ com.github.pagehelper
+ pagehelper-spring-boot-starter
+ 1.2.12
+
+
+ com.alibaba
+ fastjson
+ 1.2.16
+
+
+ com.nimbusds
+ nimbus-jose-jwt
+ 6.0
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.apache.commons
+ commons-lang3
+ 3.3.2
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 1.3.0
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ 6.4.0.jre8
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.apache.commons
+ commons-lang3
+ 3.3.2
+
+
+ io.springfox
+ springfox-swagger2
+ 2.6.1
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.6.1
+
+
+
+
+
+ student
+
+
+
+
+
+ org.mybatis.generator
+ mybatis-generator-maven-plugin
+ 1.3.5
+
+ true
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.8
+ 1.8
+ UTF-8
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ com.sincere.student.StudentApplication
+ true
+ lib/
+
+
+ ./config/
+
+
+
+ config/**
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy
+ package
+
+ copy-dependencies
+
+
+
+ ${project.build.directory}/lib
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.5
+
+ UTF-8
+
+
+
+
+ maven-source-plugin
+ 2.2
+
+ true
+
+
+
+ compile
+
+ jar
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/sincere/student/StudentApplication.java b/src/main/java/com/sincere/student/StudentApplication.java
new file mode 100644
index 0000000..ca4e9da
--- /dev/null
+++ b/src/main/java/com/sincere/student/StudentApplication.java
@@ -0,0 +1,16 @@
+package com.sincere.student;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+
+@EnableCaching
+@SpringBootApplication
+@MapperScan("com.sincere.student.mapper")
+public class StudentApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(StudentApplication.class, args);
+ }
+}
diff --git a/src/main/java/com/sincere/student/Swagger2.java b/src/main/java/com/sincere/student/Swagger2.java
new file mode 100644
index 0000000..971f00d
--- /dev/null
+++ b/src/main/java/com/sincere/student/Swagger2.java
@@ -0,0 +1,51 @@
+package com.sincere.student;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@EnableSwagger2
+@Configuration //让Spring来加载该类配置
+public class Swagger2 {
+
+ @Bean
+ public Docket createRestApi() {
+ ParameterBuilder ticketPar = new ParameterBuilder();
+ List pars = new ArrayList();
+ ticketPar.name("X-Authorization").description("user token")
+ .modelRef(new ModelRef("string")).parameterType("header")
+ .required(false).build(); //header中的ticket参数非必填,传空也可以
+ pars.add(ticketPar.build());
+
+
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(apiInfo())
+ .enableUrlTemplating(true)
+ .select()
+ // 扫描所有有注解的api,用这种方式更灵活
+ .apis(RequestHandlerSelectors.basePackage("com.sincere.student.controller"))
+ .paths(PathSelectors.any())
+ .build().globalOperationParameters(pars);
+
+ }
+ private ApiInfo apiInfo() {
+ return new ApiInfoBuilder()
+ .title("Spring Boot中使用Swagger2构建RESTful APIs")
+ .description("接口文档")
+ .termsOfServiceUrl("")
+ .version("1.0")
+ .build();
+ }
+}
diff --git a/src/main/java/com/sincere/student/access/MemberAccess.java b/src/main/java/com/sincere/student/access/MemberAccess.java
new file mode 100644
index 0000000..ff81227
--- /dev/null
+++ b/src/main/java/com/sincere/student/access/MemberAccess.java
@@ -0,0 +1,12 @@
+package com.sincere.student.access;
+
+import java.lang.annotation.*;
+/**
+ * 方法上有这个注解就表示需要登录
+ */
+@Documented
+@Retention(RetentionPolicy.RUNTIME)//
+@Target({ElementType.METHOD, ElementType.TYPE})//该注解修饰类中的方法
+@Inherited
+public @interface MemberAccess {
+}
diff --git a/src/main/java/com/sincere/student/access/MemberInterceptor.java b/src/main/java/com/sincere/student/access/MemberInterceptor.java
new file mode 100644
index 0000000..ef06d42
--- /dev/null
+++ b/src/main/java/com/sincere/student/access/MemberInterceptor.java
@@ -0,0 +1,62 @@
+package com.sincere.student.access;
+
+import com.alibaba.fastjson.JSON;
+import com.sincere.student.dto.BaseDto;
+import com.sincere.student.utils.ResultException;
+import com.sincere.student.utils.TokenUtils;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.OutputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+
+
+public class MemberInterceptor extends HandlerInterceptorAdapter {
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+ if (handler instanceof HandlerMethod) {
+
+ HandlerMethod myHandlerMethod = (HandlerMethod) handler;
+ Method method= myHandlerMethod.getMethod();
+ Annotation methodAnnotation=method.getAnnotation(MemberAccess.class);//方法上有该标记
+ if(methodAnnotation != null){
+ boolean isLogin = isLogin(request) ;
+ if(isLogin){
+ return true;
+ }else{//未登录
+ //Ajax请求返回JSON
+ BaseDto repVo = new BaseDto();
+ repVo.setSuccess(false);
+ repVo.setMessage("请先登录");
+ String data = JSON.toJSONString(repVo);
+ response.setHeader("content-type", "text/html;charset=UTF-8");
+ OutputStream out = response.getOutputStream();
+ out.write(data.getBytes("UTF-8"));
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ private boolean isLogin(HttpServletRequest request) throws Exception{
+ try {
+ String token = request.getHeader("X-Authorization");
+ if( token != null){
+ try{
+ TokenUtils.validToken(token);
+ return true;
+ }catch (ResultException e){
+
+ }
+ }
+ }catch (Exception e){
+ return false;
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/com/sincere/student/access/StaticAdapter.java b/src/main/java/com/sincere/student/access/StaticAdapter.java
new file mode 100644
index 0000000..5c2ba40
--- /dev/null
+++ b/src/main/java/com/sincere/student/access/StaticAdapter.java
@@ -0,0 +1,22 @@
+package com.sincere.student.access;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+@Configuration
+public class StaticAdapter extends WebMvcConfigurerAdapter {
+
+ @Bean
+ public MemberInterceptor getMemberInterceptor() {
+ return new MemberInterceptor();
+ }
+
+ //添加拦截器
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(getMemberInterceptor());
+ super.addInterceptors(registry);
+ }
+}
diff --git a/src/main/java/com/sincere/student/controller/AdminController.java b/src/main/java/com/sincere/student/controller/AdminController.java
new file mode 100644
index 0000000..24bfa6f
--- /dev/null
+++ b/src/main/java/com/sincere/student/controller/AdminController.java
@@ -0,0 +1,593 @@
+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.springframework.beans.factory.annotation.Autowired;
+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> getFileList(@RequestBody MessageSearchDto messageSearchDto){
+ BaseDto> result = new BaseDto<>();
+ result.setData(submitService.getAdminList(messageSearchDto));
+ return result ;
+ }
+
+ @MemberAccess
+ @ApiOperation("投档线创建接口")
+ @RequestMapping(value = "/submit/createFile" , method = RequestMethod.POST)
+ public BaseDto createFile(@RequestBody SubmitFile submitFile){
+ BaseDto result = new BaseDto();
+ try{
+ List list = ExcelUtils.analysisExcel(submitFile.getFileUrl());
+ List 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){
+ result.setSuccess(false);
+ result.setMessage(e.getMessage());
+ }
+ return result ;
+ }
+
+
+ /**
+ * 留言板
+ */
+ @MemberAccess
+ @ApiOperation("留言板列表接口")
+ @RequestMapping(value = "/message/getList" , method = RequestMethod.POST)
+ public BaseDto> getMessageList(@RequestBody MessageSearchDto messageSearchDto){
+ BaseDto> result = new BaseDto<>();
+ result.setData(messageService.getList(messageSearchDto));
+ return result ;
+ }
+
+ @MemberAccess
+ @ApiOperation("留言板详情,管理回复 接口")
+ @RequestMapping(value = "/message/getDetail" , method = RequestMethod.POST)
+ public BaseDto getMessageDetail(@RequestBody IdDto idDto){
+ BaseDto 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 deleteReply(@RequestBody IdDto idDto){
+ messageService.deleteReply(idDto.getId());
+ return new BaseDto<>() ;
+ }
+
+ @MemberAccess
+ @ApiOperation("删除留言 接口")
+ @RequestMapping(value = "/message/deleteMessage" , method = RequestMethod.POST)
+ public BaseDto deleteMessage(@RequestBody IdDto idDto){
+ messageService.deleteMessage(idDto.getId());
+ return new BaseDto<>() ;
+ }
+
+ /**
+ * 登录 修改密码
+ */
+ @ApiOperation("登录")
+ @RequestMapping(value = "/login" , method = RequestMethod.POST)
+ public BaseDto login(@RequestBody SysUser sysUser){
+ BaseDto 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> getConsultList(@RequestBody ConsultSearchDto consultSearchDto){
+ BaseDto> result = new BaseDto<>() ;
+ Page page = consultService.getList(consultSearchDto);
+ result.setData(page);
+ return result ;
+ }
+
+ @MemberAccess
+ @ApiOperation("获取招生咨询会详情相关接口")
+ @RequestMapping(value = "/consult/getDetail" , method = RequestMethod.POST)
+ public BaseDto getConsultDetail(@RequestBody IdDto idDto){
+ BaseDto 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> getVideoList(@RequestBody VideoSearchDto videoSearchDto){
+ BaseDto> result = new BaseDto<>() ;
+ Page
+
+
+
+
+
\ No newline at end of file
--
libgit2 0.21.0