Commit e7c840d4 by 涂亚平

加密解密加盐工具类

1 parent b4f82344
Showing with 25 additions and 3046 deletions
......@@ -113,12 +113,6 @@
</dependency>
<dependency>
<groupId>com.amdelamar</groupId>
<artifactId>jhash</artifactId>
<version>${jhash.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi-ooxml.version}</version>
......@@ -198,7 +192,7 @@
</repositories>
<build>
<finalName>zhongzhi</finalName>
<finalName>template</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
......
package com.zhongzhi.common.utils;
package com.zhongzhi.common;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
......
package com.zhongzhi.common.utils;
package com.zhongzhi.common.annotate;
import java.lang.annotation.*;
......
package com.zhongzhi.common.utils;
package com.zhongzhi.common.annotate;
import java.lang.annotation.*;
......
package com.zhongzhi.common.utils;
package com.zhongzhi.common.annotate;
import java.lang.annotation.*;
......
......@@ -30,7 +30,7 @@ public class SwaggerConfig {
.paths(PathSelectors.any())
.build()
.apiInfo(new ApiInfoBuilder()
.title("中职双创系统")
.title("国泰君安")
.description("接口文档")
.version("1.0")
.build());
......
package com.zhongzhi.common.constant;
/**
* <p>
* 团队成员类型
* </p>
*
* @author DengMin
* @since 2021/6/9
*/
public class MemberType {
/*
团队负责人只能有一个且是项目申请人
*/
public static final String PRINCIPAL = "团队负责人";
public static final String TEAM_MEMBER = "团队成员";
public static final String MENTOR = "指导教师";
}
package com.zhongzhi.common.constant;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class PDFCheckBox {
public static String getType(String type, String projectGroup) {
if (StringUtils.isBlank(type) &&
projectGroup.equals(ProjectType.TECHNOLOGY_INNOVATION_GROUP)) {
return "□方案设计类 □模型创意类 □虚拟演示类";
} else if (StringUtils.isBlank(type) &&
projectGroup.equals(ProjectType.CULTURAL_CREATIVE_GROUP)) {
return "□服装与服饰类设计 □视觉传达类 □产品设计类";
}
String[] typeT = {"方案设计类", "模型创意类", "虚拟演示类"};
String typeValue = "";
if (projectGroup.equals(ProjectType.TECHNOLOGY_INNOVATION_GROUP)) {
List<String> typeList = Arrays.stream(typeT).collect(Collectors.toList());
List<String> str = Arrays.stream(type.split(",")).collect(Collectors.toList());
for (String s : typeList) {
if (str.contains(s)) {
typeValue += "■" + s + " ";
} else {
typeValue += "□" + s + " ";
}
}
return typeValue;
} else if (projectGroup.equals(ProjectType.CULTURAL_CREATIVE_GROUP)) {
if (type.equals("服装与服饰类设计")) {
return "■服装与服饰类设计 □视觉传达类 □产品设计类";
} else if (type.equals("视觉传达类")) {
return "□服装与服饰类设计 ■视觉传达类 □产品设计类";
} else if (type.equals("产品设计类")) {
return "□服装与服饰类设计 □视觉传达类 ■产品设计类";
} else {
return "□服装与服饰类设计 □视觉传达类 □产品设计类";
}
}
return "";
}
public static String getRoadshow( String projectGroup) {
if (projectGroup.equals(ProjectType.TECHNOLOGY_INNOVATION_GROUP)) {
return "□模型展示 □数字化演示" +
" □PPT演示 □其他";
} else if (projectGroup.equals(ProjectType.CULTURAL_CREATIVE_GROUP)) {
return "□物化产品展示 □作品模型展示" +
" □数字化演示 □PPT演示 □其他";
}
String[] roadshowT = {"模型展示", "数字化演示", "PPT演示", "其他"};
String[] roadshowC = {"物化产品展示", "作品模型展示", "数字化演示", "PPT演示", "其他"};
// List<String> str = Arrays.stream(roadshow.split(",")).collect(Collectors.toList());
String roadshowValue = "";
if (projectGroup.equals(ProjectType.TECHNOLOGY_INNOVATION_GROUP)) {
List<String> roadshowTList = Arrays.stream(roadshowT).collect(Collectors.toList());
for (String s : roadshowTList) {
// if (str.contains(s)) {
// roadshowValue += "■" + s + " ";
// } else {
// roadshowValue += "□" + s + " ";
// }
}
return roadshowValue;
} else if (projectGroup.equals(ProjectType.CULTURAL_CREATIVE_GROUP)) {
List<String> roadshowCList = Arrays.stream(roadshowC).collect(Collectors.toList());
for (String s : roadshowCList) {
// if (str.contains(s)) {
// roadshowValue += "■" + s + " ";
// } else {
// roadshowValue += "□" + s + " ";
// }
}
return roadshowValue;
}
return "";
}
}
package com.zhongzhi.common.constant;
public class ProjectProgress {
public static final String REGISTERED = "已注册公司";
public static final String UNREGISTERED = "创意设计阶段";
}
package com.zhongzhi.common.constant;
/**
* <p>
* 项目评审状态
* </p>
*
* @author DengMin
* @since 2021/6/9
*/
public class ProjectReview {
/**
* 评分状态(对于评分)
*/
public static final String SUBMITTED = "已评审";
public static final String TO_SCORE = "待评审";
/**
* 评审状态(对于项目)
*/
public static final String TO_REVIEWED = "待评审";
public static final String ASSIGNED = "已分配";
public static final String UNASSIGNED = "未分配";
public static final String REVIEW = "已评审";
}
package com.zhongzhi.common.constant;
/**
* <p>
* 项目进度
* </p>
*
* @author DengMin
* @since 2021/6/9
*/
public class ProjectSchedule {
//报名阶段
public static final String REGISTER = "报名阶段";
// 校内赛
public static final String SCHOOL_REVIEW = "校级申请项目";
// public static final String PRELIMINARY_REVIEW = "市级初赛项目";
public static final String SEMI_FINAL_REVIEW = "市级复赛项目";
public static final String FINAL_REVIEW = "市级决赛项目";
}
package com.zhongzhi.common.constant;
/**
* <p>
* 项目状态
* </p>
*
* @author DengMin
* @since 2021/6/9
*/
public class ProjectStatus {
// public static final String TO_REVIEW = "";
public static final String UN_SUBMITTED = "填写中";
public static final String WITHDRAWN = "已撤回";
public static final String SCHOOL_NOT_PASSED = "不予提交市级复赛";
public static final String REGISTER_NOT_PASSED = "报名不通过";
public static final String PRELIMINARY_NOT_PASSED = "不予提交市级初赛";
public static final String REMATCH_WINNING_AWARD = "市级优胜奖";
public static final String REMATCH_SILVER_AWARD = "市级银奖";
public static final String REMATCH_BRONZE_AWARD = "市级铜奖";
public static final String REMATCH_FINALS_GOLD_AWARD = "市级金奖";
}
package com.zhongzhi.common.constant;
/**
* <p>
* 项目组别
* </p>
*
* @author DengMin
* @since 2021/6/9
*/
public class ProjectType {
/**
* 赛道
*/
public static final String MAIN_TRACK = "主赛道";
public static final String SEED_TRACK = "种子赛道";
public static final String VOCATIONAL = "职教赛道";
/**
* 组别
*/
public static final String TECHNOLOGY_INNOVATION_GROUP = "科技创新";
public static final String CULTURAL_CREATIVE_GROUP = "文化创意";
public static final String VOCATIONAL_GROUP = "高职";
public static final String SECONDARY_GROUP = "中职";
}
package com.zhongzhi.common.constant;
public class SMSTemplate {
/*
项目进度通知
*/
public static final String PROJECT_PROGRESS = "2760175";
/*
项目提交通知
*/
public static final String PROJECT_SUBMIT = "270159";
/*
评审邀请通知 old
*/
public static final String REVIEW_INVITATION_OLD = "2765806";
/**
*
*/
public static final String REVIEW_INVITATION_NEW = "2939771";
/*
撤销评审项目通知
*/
public static final String CANCEL_REVIEW = "229303";
}
package com.zhongzhi.common.constant;
/**
* <p>
* 短信标识
* </p>
*
* @author DengMin
* @since 2021/6/9
*/
public class SmsCode {
/**
* 平台:student(学生端)、school(院校端)、center(中心端)、review(评审端)
*/
public static final String student = "student";
public static final String school = "school";
public static final String center = "center";
public static final String review = "review";
/**
* 行为标识:register(注册标识)、login(登录标识)
*/
public static final String register = "register";
public static final String login = "login";
}
......@@ -3,7 +3,7 @@ package com.zhongzhi.common.exception;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.zhongzhi.common.configure.RemoteProperties;
import com.zhongzhi.common.constant.Code;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.vo.ResponseData;
import com.zhongzhi.vo.ResponseVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
......
......@@ -17,11 +17,11 @@ public class MetaHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);
this.setFieldValByName("createDate", LocalDateTime.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
this.setFieldValByName("updateDate", LocalDateTime.now(), metaObject);
}
}
......@@ -2,21 +2,9 @@ package com.zhongzhi.common.interceptor;
import com.auth0.jwt.interfaces.Claim;
import com.zhongzhi.common.constant.Code;
import com.zhongzhi.common.constant.SmsCode;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.JwtUtil;
import com.zhongzhi.common.utils.Localstorage;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.CollegesDictDO;
import com.zhongzhi.model.ProjectJudgeDO;
import com.zhongzhi.model.StudentDO;
import com.zhongzhi.service.AdministerService;
import com.zhongzhi.service.CollegesDictService;
import com.zhongzhi.service.ProjectJudgeService;
import com.zhongzhi.service.StudentService;
import com.zhongzhi.common.annotate.LoginRequired;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
......@@ -26,6 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Map;
import com.zhongzhi.common.JwtUtil;
/**
* <p>
......@@ -38,17 +27,6 @@ import java.util.Map;
@Component
public class AuthenticationInterceptor implements HandlerInterceptor {
@Autowired
private StudentService studentService;
@Autowired
private AdministerService administerService;
@Autowired
private CollegesDictService collegesDictService;
@Autowired
private ProjectJudgeService projectJudgeService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
......@@ -80,43 +58,16 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
String type = claimMap.get("type").asString();
if (role.length > 0) {
if (Arrays.asList(role).contains(type)) {
if (SmsCode.student.equals(type)) {
StudentDO studentDO = studentService.getById(claimMap.get("id").asLong());
if (studentDO != null) {
Localstorage.setUser(studentDO, type);
return true;
} else {
Localstorage.remove();
throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
}
} else if (SmsCode.center.equals(type)) {
AdministerDO administerDO = administerService.getById(claimMap.get("id").asLong());
if (administerDO != null) {
Localstorage.setUser(administerDO, type);
return true;
} else {
Localstorage.remove();
throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
}
} else if (SmsCode.school.equals(type)) {
CollegesDictDO collegesDictDO = collegesDictService.getById(claimMap.get("id").asLong());
if (collegesDictDO != null) {
Localstorage.setUser(collegesDictDO, type);
return true;
} else {
Localstorage.remove();
throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
}
} else if (SmsCode.review.equals(type)) {
ProjectJudgeDO projectJudgeDO = projectJudgeService.getById(claimMap.get("id").asLong());
if (projectJudgeDO != null) {
Localstorage.setUser(projectJudgeDO, type);
return true;
} else {
Localstorage.remove();
throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
}
}
// if (SmsCode.student.equals(type)) {
// StudentDO studentDO = studentService.getById(claimMap.get("id").asLong());
// if (studentDO != null) {
// Localstorage.setUser(studentDO, type);
// return true;
// } else {
// Localstorage.remove();
// throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
// }
// }
}
throw new HttpException(Code.ACCESSDENIED.getCode(), Code.ACCESSDENIED.getMessage());
}
......
package com.zhongzhi.common.utils;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.HmacAlgorithms;
import org.apache.commons.codec.digest.HmacUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
import springfox.documentation.service.ApiKey;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
/***
* 短信发送工具类
*/
@Slf4j
public class SMSSendUtils {
/**
* 短信平台接口配置中申请,替换为企业自己的API_KEY
*/
private static String API_KEY = "01b0312e7d016d2af41a47e5ba2c2748";
/**
* 短信平台接口配置中申请,替换为企业自己的SECRET_KEY
*/
private static String SECRET_KEY = "bd985a3772ca3b362f8b049a3017b6edac604815e34be96631513e29afbcac47";
private static final String DOMAIN = "https://opassapi.infocloud.cc/";
private static final String MESSAGE_SEND="message/send";
private static final String MESSAGE_SEND_BATCH = "message/sendBatch";
public static String SMS_API_KEY = "sms.api.key";
public static String SMS_SECRET_KEY = "sms.secret.key";
public static final int CONNECT_TIMEOUT= 30_000;
public static final int SOCKET_TIMEOUT = 15_000;
private static ReentrantLock lock = new ReentrantLock(true);
private static AtomicBoolean init = new AtomicBoolean(false);
static void init(){
// String apiKey = API_KEY;
// String secretKey = SECRET_KEY;
// System.setProperty(SMSSendUtils.SMS_API_KEY,API_KEY);
// System.setProperty(SMSSendUtils.SMS_SECRET_KEY,SECRET_KEY);
// if(StringUtils.isAnyEmpty(apiKey,secretKey)){
// throw new NullPointerException("短信发送apiKey、secretKey不能为空。\n解决方式:\n1.代码设置。" +
// "System.setProperty(SMSSendUtils.SMS_API_KEY,\"从短信平台接口配置中获取\");" +
// "System.setProperty(SMSSendUtils.SMS_SECRET_KEY,\"从短信平台接口配置中获取\");\n" +
// "2.启动配置。java -Dsms.api.key=xx -Dsms.secret.key=xxx");
// }
// API_KEY = apiKey;
// SECRET_KEY = secretKey;
}
private SMSSendUtils(){}
/**
* 短信发送。无参短信模板内容发送,即所有手机号接收到的短信内容一样
* @param templateCode
* @param phones 手机号。手机号最大个数限制1000
* @return
*/
public static HttpResponse send(String templateCode, String ...phones) throws IOException {
return send(templateCode,null,phones);
}
/**
* 短信发送。不同手机号对应相同的短信模板变量值,即所有手机号接收到的短信内容一样
* @param templateCode
* @param params 模板参数变量值
* @param phones 手机号。手机号最大个数限制1000
* @return
*/
public static HttpResponse send(String templateCode, LinkedList<String> params, String ... phones) throws IOException {
//手机号先去重,然后再转换
return sendBatch(templateCode,params!=null&&!params.isEmpty()?JSON.toJSONString(params):null,Arrays.stream(phones).collect(Collectors.toSet()).stream().collect(Collectors.joining(",")), false);
}
/**
* 短信发送
* @param templateCode 模板ID
* @param paramsJson 模板参数
* @param phonesJson 手机号
* @param batch true:使用MESSAGE_SEND_BATCH接口发送;false:使用MESSAGE_SEND接口发送
* @return HttpResponse
* @throws IOException
*/
private static HttpResponse sendBatch(String templateCode,String paramsJson,String phonesJson,boolean batch) throws IOException {
if(StringUtils.isAnyEmpty(templateCode)){
throw new NullPointerException("模板id或手机号不能为空");
}
Map<String, Object> headers = getHeaders();
Map<String, Object> bodyParams = new HashMap<>(4);
if(batch){
if(StringUtils.isAnyEmpty(paramsJson)){
throw new NullPointerException("短信发送所有手机号接收到的短信内容不一样时,模板参数值不能为空");
}
bodyParams.put("phonesJson", phonesJson);
//模板变量内容
bodyParams.put("templateParamJson", paramsJson);
}else{
bodyParams.put("phones", phonesJson);
//模板变量内容
if(StringUtils.isNotEmpty(paramsJson)) {
bodyParams.put("templateParam", paramsJson);
}
}
bodyParams.put("templateCode", templateCode);
//排序
// bd985a3772ca3b362f8b049a3017b6edac604815e34be96631513e29afbcac47
SortedMap<String, Object> sortedMap = new TreeMap<>(bodyParams);
headers.forEach((k, v) -> sortedMap.put(k, v));
//生成签名
headers.put("x-sign", getSignature(SECRET_KEY, sortedMap, HmacAlgorithms.HMAC_SHA_224));
Request request = Request.Post(DOMAIN+(batch?MESSAGE_SEND_BATCH:MESSAGE_SEND))
.version(HttpVersion.HTTP_1_1)
//设置连接超时
.connectTimeout(CONNECT_TIMEOUT)
//设置文本读取超时
.socketTimeout(SOCKET_TIMEOUT);
headers.forEach((k,v)->request.addHeader(k,String.valueOf(v)));
return request.bodyString(JSON.toJSONString(bodyParams), ContentType.APPLICATION_JSON)
.execute()
.returnResponse();
}
private static Map<String, Object> getHeaders(){
if(init.get()==false){
lock.lock();
try {
if(init.get()==false) {
init.set(true);
init();
}
}catch (Exception e){
throw e;
}finally {
lock.unlock();
}
}
Map<String, Object> headers = new HashMap<>();
headers.put("x-api-key", API_KEY);
headers.put("x-sign-method", HmacAlgorithms.HMAC_SHA_224.getName());
headers.put("x-nonce", getRandomNickname(10));
headers.put("x-timestamp", String.valueOf(System.currentTimeMillis()));
return headers;
}
/**
* 签名生成
* @param secret
* @param sortedMap
* @param hmacAlgorithms
* @return
*/
private static String getSignature(String secret, SortedMap<String, Object> sortedMap, HmacAlgorithms hmacAlgorithms) {
// 将参数拼接为字符串
// e.g. "key1=value1&key2=value2"
StringBuffer plainText = new StringBuffer();
for (Map.Entry<String, Object> entry : sortedMap.entrySet()) {
plainText.append(entry.getKey() + "=" + entry.getValue());
plainText.append("&");
}
if(StringUtils.isNotEmpty(plainText)) {
plainText.deleteCharAt(plainText.length() - 1);
}
log.info("\n加密方式:{} \n排序后的请求参数:{}",hmacAlgorithms.getName(),plainText);
return new HmacUtils(hmacAlgorithms, secret).hmacHex(plainText.toString());
}
/**
* 随机数生成
* @param length
* @return
*/
private static String getRandomNickname(int length) {
String val = "";
Random random = new Random();
for (int i = 0; i < length; i++) {
// 输出字母还是数字
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
// 字符串
if ("char".equalsIgnoreCase(charOrNum)) {
// 取得大写字母还是小写字母
int choice = random.nextInt(2) % 2 == 0 ? 65 : 97;
val += (char) (choice + random.nextInt(26));
} else if ("num".equalsIgnoreCase(charOrNum)) { // 数字
val += String.valueOf(random.nextInt(10));
}
}
return val;
}
}
package com.zhongzhi.common.utils;
import sun.misc.BASE64Encoder;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
/**
* @author: tuyp
* @create: 2020-07-29 12:42
*/
public class Signature {
private String secretId;
private String secretKey;
private long currentTime;
private int random;
private int signValidDuration;
private int classId;
private static final String HMAC_ALGORITHM = "HmacSHA1";
private static final String CONTENT_CHARSET = "UTF-8";
public static byte[] byteMerger(byte[] byte1, byte[] byte2) {
byte[] byte3 = new byte[byte1.length + byte2.length];
System.arraycopy(byte1, 0, byte3, 0, byte1.length);
System.arraycopy(byte2, 0, byte3, byte1.length, byte2.length);
return byte3;
}
public String getUploadSignature() throws Exception {
String strSign = "";
String contextStr = "";
long endTime = (currentTime + signValidDuration);
contextStr += "secretId=" + java.net.URLEncoder.encode(secretId, "utf8");
contextStr += "&currentTimeStamp=" + currentTime;
contextStr += "&expireTime=" + endTime;
contextStr += "&random=" + random;
contextStr += "&classId=" + classId;
try {
Mac mac = Mac.getInstance(HMAC_ALGORITHM);
SecretKeySpec secretKey = new SecretKeySpec(this.secretKey.getBytes(CONTENT_CHARSET), mac.getAlgorithm());
mac.init(secretKey);
byte[] hash = mac.doFinal(contextStr.getBytes(CONTENT_CHARSET));
byte[] sigBuf = byteMerger(hash, contextStr.getBytes(StandardCharsets.UTF_8));
strSign = base64Encode(sigBuf);
strSign = strSign.replace(" ", "").replace("\n", "").replace("\r", "");
} catch (Exception e) {
throw e;
}
return strSign;
}
private String base64Encode(byte[] buffer) {
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(buffer);
}
public void setSecretId(String secretId) {
this.secretId = secretId;
}
public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}
public void setCurrentTime(long currentTime) {
this.currentTime = currentTime;
}
public void setRandom(int random) {
this.random = random;
}
public void setSignValidDuration(int signValidDuration) {
this.signValidDuration = signValidDuration;
}
public void setClassId(int classId){this.classId = classId;}
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.administer.AdministerPageDTO;
import com.zhongzhi.dto.administer.LoginDTO;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.service.AdministerService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 中心管理账户表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "中心管理账户")
@RequestMapping("/administer")
public class AdministerController {
@Autowired
private AdministerService administerService;
@PostMapping(value = "/login")
@ApiOperation("中心端 --- 登录:手机号/telephone, code/验证码")
public ResponseVO login(@RequestBody LoginDTO loginDTO) {
return ResponseData.generateCreatedResponse(0, administerService.login(loginDTO));
}
@PostMapping(value = "/getAdministerPage")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 成员管理分页查询:listItem/角色、 username/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
public ResponseVO getAdministerPage(@RequestBody AdministerPageDTO administerPageDTO) {
return ResponseData.generateCreatedResponse(0, administerService.getAdministerPage(administerPageDTO));
}
@PostMapping(value = "/createAdminister")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 新增成员:username/名称、telephone/手机号、avatar/头像、role/角色")
public ResponseVO createAdminister(@RequestBody AdministerDO administerDO) {
administerService.save(administerDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/updateAdminister")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 编辑成员:id/成员ID、username/名称、telephone/手机号、avatar/头像、role/角色")
public ResponseVO updateAdminister(@RequestBody AdministerDO administerDO) {
administerService.updateById(administerDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/deleteById")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 删除成员:id/成员ID")
public ResponseVO delete(@RequestBody AdministerDO administerDO) {
administerService.removeById(administerDO.getId());
return ResponseData.generateCreatedResponse(0);
}
}
package com.zhongzhi.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 系统用户权限表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "用户权限")
@RequestMapping("/administerPermission")
public class AdministerPermissionController {
}
package com.zhongzhi.controller;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.course.CoursesDTO;
import com.zhongzhi.model.CourseDictDO;
import com.zhongzhi.service.CourseDictService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author DengMin
* @since 2022-11-14
*/
@RestController
@RequestMapping("/courseDict")
@Api(tags = "课程字典表")
public class CourseDictController {
@Autowired
private CourseDictService courseDictService;
@PostMapping("addCourse")
@ApiOperation("添加课程 courseName")
public ResponseVO addCourse(@RequestBody CourseDictDO courseDictDO) {
courseDictService.addCourse(courseDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("updateCourse")
@ApiOperation("编辑课程 id courseName")
public ResponseVO updateCourse(@RequestBody CourseDictDO courseDictDO){
courseDictService.updateCourse(courseDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("courses")
@ApiOperation("查询所有课程(+视频数量) pageSize pageNo courseName")
public ResponseVO courses(@RequestBody CoursesDTO coursesDTO){
return ResponseData.generateCreatedResponse(0,courseDictService.courses(coursesDTO));
}
@PostMapping("deleteCourse")
@ApiOperation("删除某个课程 id 课程id")
public ResponseVO deleteCourse(@RequestBody CourseDictDO courseDictDO){
courseDictService.deleteCourse(courseDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("courseVods")
@ApiOperation("课程+视频")
public ResponseVO courseVods(@RequestBody CourseDictDO courseDictDO){
return ResponseData.generateCreatedResponse(0,courseDictService.courseVods(courseDictDO));
}
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author DengMin
* @since 2024-07-12
*/
@RestController
@RequestMapping("/final-match-member-do")
public class FinalMatchMemberController {
}
package com.zhongzhi.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 届数表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "赛事届数")
@RequestMapping("/fundDict")
public class FundDictController {
}
package com.zhongzhi.controller;
import com.zhongzhi.service.ItemFieldDictService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 行业领域字典表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "行业领域")
@RequestMapping("/itemFieldDict")
public class ItemFieldDictController {
@Autowired
public ItemFieldDictService itemFieldDictService;
}
package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.model.MajorDictDO;
import com.zhongzhi.service.MajorDictService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 专业字典表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "就读专业")
@RequestMapping("/majorDict")
public class MajorDictController {
@Autowired
private MajorDictService majorDictService;
@PostMapping(value = "/getMajorList")
@ApiOperation("查询全部就读专业: major/专业名称、education/学历、code/院校代码")
public ResponseVO getMajorList(@RequestBody MajorDictDO majorDictDO) {
return ResponseData.generateCreatedResponse(0, majorDictService.list(new QueryWrapper<MajorDictDO>()
.lambda()
.eq(StringUtils.isNotBlank(majorDictDO.getEducation()), MajorDictDO::getEducation, majorDictDO.getEducation())
.eq(StringUtils.isNotBlank(majorDictDO.getCode()), MajorDictDO::getCode, majorDictDO.getCode())
.like(StringUtils.isNotBlank(majorDictDO.getMajor()), MajorDictDO::getMajor, majorDictDO.getMajor())));
}
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.project.ProjectListPageDTO;
import com.zhongzhi.model.MatchCollegePdfDO;
import com.zhongzhi.service.MatchCollegePdfService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author DengMin
* @since 2024-06-25
*/
@RestController
@RequestMapping("/matchCollegePdf")
@Api(tags = "pdf")
public class MatchCollegePdfController {
@Autowired
private MatchCollegePdfService matchCollegePdfService;
@PostMapping("uploadPdf")
@ApiOperation("上传盖章pdf attachment matchId fileName")
@LoginRequired(Platform.school)
public ResponseVO uploadPdf(@RequestBody MatchCollegePdfDO matchCollegePdfDO) {
matchCollegePdfService.uploadPdf(matchCollegePdfDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("dropPdf")
@ApiOperation("删除盖章pdf matchId")
@LoginRequired(Platform.school)
public ResponseVO dropPdf(@RequestBody MatchCollegePdfDO matchCollegePdfDO) {
matchCollegePdfService.dropPdf (matchCollegePdfDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("queryPdfStatus")
@ApiOperation("查看pdf matchId")
@LoginRequired(Platform.school)
public ResponseVO queryPdfStatus(@RequestBody MatchCollegePdfDO matchCollegePdfDO) {
return ResponseData.generateCreatedResponse(0, matchCollegePdfService.queryPdfStatus (matchCollegePdfDO));
}
}
package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.constant.ProjectType;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.match.MatchDictDTO;
import com.zhongzhi.dto.match.SelectListPageDTO;
import com.zhongzhi.model.MatchDictDO;
import com.zhongzhi.service.MatchDictService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 赛事年份管理 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-17
*/
@RestController
@Api(tags = "赛事年份管理")
@RequestMapping("/match")
public class MatchDictController {
@Autowired
private MatchDictService matchDictService;
@PostMapping(value = "/getMainTrackMatch")
@LoginRequired({Platform.school, Platform.center, Platform.student})
@ApiOperation("查询主赛道启用赛事年份")
public ResponseVO getMainTrackMatch() {
return ResponseData.generateCreatedResponse(0, matchDictService.getMainTrackMatch());
}
@PostMapping(value = "/getSeedTrackMatch")
@LoginRequired({Platform.school, Platform.center, Platform.student})
@ApiOperation("查询种子赛道启用赛事年份")
public ResponseVO getSeedTrackMatch() {
return ResponseData.generateCreatedResponse(0, matchDictService.getSeedTrackMatch());
}
@PostMapping(value = "/getMatch")
@ApiOperation("查询启用种子赛事年份")
public ResponseVO getMatch() {
return ResponseData.generateCreatedResponse(0, matchDictService.getMatch());
}
@PostMapping(value = "/getVocationalMatch")
@ApiOperation("查询启用职教赛事年份")
public ResponseVO getVocationalMatch() {
return ResponseData.generateCreatedResponse(0, matchDictService.getVocationalMatch());
}
@PostMapping("updateMatchDate")
@ApiOperation("修改届数 id registrationStart registrationDeadline")
public ResponseVO updateMatch(@RequestBody MatchDictDO matchDictDO){
matchDictService.updateMatchDate(matchDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("getMatchInfo")
@ApiOperation("查看某届数详情 id")
public ResponseVO getMatch(@RequestBody MatchDictDO matchDictDO){
return ResponseData.generateCreatedResponse(0,matchDictService.getMatch(matchDictDO));
}
@PostMapping(value = "/getMainTrackMatchPage")
@LoginRequired({Platform.center, Platform.school})
@ApiOperation("中心端/院校端 ---分页查询主赛道赛事年份:pageNo、pageSize")
public ResponseVO getMainTrackMatchPage(@RequestBody SelectListPageDTO selectListPageDTO) {
Page page = new Page(selectListPageDTO.getPageNo(), selectListPageDTO.getPageSize());
return ResponseData.generateCreatedResponse(0, matchDictService.page(page, new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getMatchType, ProjectType.MAIN_TRACK)));
}
@PostMapping(value = "/getSeedTrackMatchPage")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("中心端/院校端 ---分页查询种子赛道赛事年份:pageNo、pageSize")
public ResponseVO getSeedTrackMatchPage(@RequestBody SelectListPageDTO selectListPageDTO) {
return ResponseData.generateCreatedResponse(0, matchDictService.getSeedTrackMatchPage(selectListPageDTO));
}
@PostMapping(value = "/createMainTrackMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---创建主赛道赛事年份:matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、" +
"schedule:[{ scheduleTime/时间安排、explain/说明 }]")
public ResponseVO createMainTrackMatch(@RequestBody MatchDictDTO matchDictDTO) {
matchDictDTO.setMatchType(ProjectType.MAIN_TRACK);
matchDictService.createMatch(matchDictDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/createSeedTrackMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---创建种子赛道赛事年份:matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、" +
"schedule:[{ scheduleTime/时间安排、explains/说明 }]")
public ResponseVO createSeedTrackMatch(@RequestBody MatchDictDTO matchDictDTO) {
matchDictDTO.setMatchType(ProjectType.SEED_TRACK);
matchDictService.createMatch(matchDictDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/createVocationalMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---创建职教赛道赛事年份:matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、" +
"schedule:[{ scheduleTime/时间安排、explains/说明 }]")
public ResponseVO createVocationalMatch(@RequestBody MatchDictDTO matchDictDTO) {
matchDictDTO.setMatchType(ProjectType.VOCATIONAL);
matchDictService.createMatch(matchDictDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/updateMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---编辑赛事年份:id/ID、matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、status/状态(1:启动,0:暂停)" +
"schedule:[{ id/时间安排ID、scheduleTime/时间安排、explains/说明 }]")
public ResponseVO updateMatch(@RequestBody MatchDictDTO matchDictDTO) {
matchDictService.updateMatch(matchDictDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/delete")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---删除赛事年份:id/ID")
public ResponseVO delete(@RequestBody MatchDictDO matchDictDO) {
matchDictService.removeById(matchDictDO.getId());
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/getMainTrackMatchAll")
@LoginRequired({Platform.center, Platform.school, Platform.student, Platform.review})
@ApiOperation("中心端/学生端/院校端/审批端 ---查询全部主赛道赛事年份")
public ResponseVO getMainTrackMatchAll() {
return ResponseData.generateCreatedResponse(0, matchDictService.list(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getMatchType, ProjectType.MAIN_TRACK)));
}
@PostMapping(value = "/getSeedTrackMatchAll")
@LoginRequired({Platform.center, Platform.school, Platform.student, Platform.review})
@ApiOperation("中心端/学生端/院校端/审批端 ---查询全部种子赛道赛事年份")
public ResponseVO getSeedTrackMatchAll() {
return ResponseData.generateCreatedResponse(0, matchDictService.list(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getMatchType, ProjectType.SEED_TRACK)));
}
@PostMapping(value = "/getVocationalMatchAll")
@LoginRequired({Platform.center, Platform.school, Platform.student, Platform.review})
@ApiOperation("中心端/学生端/院校端/审批端 ---查询全部职教赛道赛事年份")
public ResponseVO getVocationalMatchAll() {
return ResponseData.generateCreatedResponse(0, matchDictService.list(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getMatchType, ProjectType.VOCATIONAL)));
}
/* 职教管理端 */
@PostMapping(value = "/getVocationalPage")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("中心端/院校端 ---分页查询职教赛道赛事年份:pageNo、pageSize")
public ResponseVO getVocationalPage(@RequestBody SelectListPageDTO selectListPageDTO) {
return ResponseData.generateCreatedResponse(0, matchDictService.getVocationalPage(selectListPageDTO));
}
}
\ No newline at end of file
package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.constant.ProjectType;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.model.MatchDictDO;
import com.zhongzhi.model.MatchScheduleDO;
import com.zhongzhi.service.MatchDictService;
import com.zhongzhi.service.MatchScheduleService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 时间安排 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-27
*/
@RestController
@RequestMapping("/matchSchedule")
@Api(tags = "时间安排")
public class MatchScheduleController {
@Autowired
private MatchScheduleService matchScheduleService;
@Autowired
private MatchDictService matchDictService;
@PostMapping(value = "/getMatchSchedule")
@LoginRequired({Platform.student})
@ApiOperation("学生端 ---种子赛道查看时间安排:matchId/赛事年份ID")
public ResponseVO getMatchSchedule(@RequestBody MatchScheduleDO matchScheduleDO) {
MatchDictDO matchDictDO = matchDictService.getOne(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getId, matchScheduleDO.getMatchId())
.eq(MatchDictDO::getMatchType, ProjectType.SEED_TRACK)
.eq(MatchDictDO::getStatus, 1));
List<MatchScheduleDO> list = new ArrayList<>();
if (matchDictDO != null) {
list = matchScheduleService.list(new QueryWrapper<MatchScheduleDO>()
.lambda()
.eq(MatchScheduleDO::getMatchId, matchDictDO.getId()));
}
return ResponseData.generateCreatedResponse(0, list);
}
@PostMapping(value = "getVocationalMatchSchedule")
@LoginRequired({Platform.student})
@ApiOperation("学生端 ---职教赛道查看时间安排:matchId/赛事年份ID")
public ResponseVO getVocationalMatchSchedule(@RequestBody MatchScheduleDO matchScheduleDO) {
MatchDictDO matchDictDO = matchDictService.getOne(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getId, matchScheduleDO.getMatchId())
.eq(MatchDictDO::getMatchType, ProjectType.VOCATIONAL)
.eq(MatchDictDO::getStatus, 1));
List<MatchScheduleDO> list = new ArrayList<>();
if (matchDictDO != null) {
list = matchScheduleService.list(new QueryWrapper<MatchScheduleDO>()
.lambda()
.eq(MatchScheduleDO::getMatchId, matchDictDO.getId()));
}
return ResponseData.generateCreatedResponse(0, list);
}
}
package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.DateFormatUtil;
import com.zhongzhi.common.utils.Localstorage;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.message.MessagePageDTO;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.MessageDO;
import com.zhongzhi.service.MessageService;
import com.zhongzhi.vo.ResponseVO;
import com.zhongzhi.vo.message.MessageVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
* 通知消息表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-17
*/
@RestController
@Api(tags = "通知消息")
@RequestMapping("/message")
public class MessageController {
@Autowired
private MessageService messageService;
@PostMapping(value = "/getMessage")
@ApiOperation("查询通知")
public ResponseVO getMessage() {
List<MessageVO> messages = new ArrayList();
List<MessageDO> list = messageService.list(new QueryWrapper<MessageDO>()
.lambda()
.orderByDesc(MessageDO::getCreateTime));
for (MessageDO messageDO : list) {
MessageVO messageVO = new MessageVO();
BeanUtils.copyProperties(messageDO, messageVO);
messageVO.setReleaseTime(DateFormatUtil.format(messageDO.getReleaseTime(), DateFormatUtil.FMT_sdf_yMd));
messages.add(messageVO);
}
return ResponseData.generateCreatedResponse(0, messages);
}
@PostMapping(value = "/getMessageById")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 根据ID查询详情:id/ID")
public ResponseVO getMessageById(@RequestBody MessageDO messageDO) {
return ResponseData.generateCreatedResponse(0, messageService.getById(messageDO.getId()));
}
@PostMapping(value = "/getMessagePage")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---分页查询通知: pageNo/当前页数, pageSize/每页显示条数")
public ResponseVO getMessagePage(@RequestBody MessagePageDTO messagePageDTO) {
return ResponseData.generateCreatedResponse(0, messageService.getMessagePage(messagePageDTO));
}
@PostMapping(value = "/createMessage")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---创建通知: title/标题, content/内容, attachmentUrl/附件地址, releaseTime/发布时间, attachmentName/附件名称, attachmentType/附件类型")
public ResponseVO createMessage(@RequestBody MessageDO messageDO) {
messageService.createMessage(messageDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/updateMessage")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---编辑通知: id/ID, title/标题, content/内容, attachmentUrl/附件地址, attachmentName/附件名称, attachmentType/附件类型")
public ResponseVO updateMessage(@RequestBody MessageDO messageDO) {
messageService.updateById(messageDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/delete")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---删除通知: id/ID, ")
public ResponseVO delete(@RequestBody MessageDO messageDO) {
messageService.removeById(messageDO.getId());
return ResponseData.generateCreatedResponse(0);
}
}
......@@ -6,13 +6,12 @@ import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.*;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.vo.ResponseData;
import com.zhongzhi.vo.ResponseVO;
import com.zhongzhi.vo.oss.GetSecretVO;
import com.zhongzhi.vo.oss.UploadFileVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
......@@ -181,6 +180,7 @@ public class OssController {
// 完成分片上传。
CompleteMultipartUploadResult completeMultipartUploadResult = ossClient.completeMultipartUpload(completeMultipartUploadRequest);
uploadFileVO.setUrl(completeMultipartUploadResult.getLocation().replace("http","https"));
uploadFileVO.setRequestId(completeMultipartUploadResult.getRequestId());
System.out.println(completeMultipartUploadResult.getLocation());
} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
......@@ -189,11 +189,13 @@ public class OssController {
System.out.println("Error Code:" + oe.getErrorCode());
System.out.println("Request ID:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
oe.printStackTrace();
} catch (ClientException ce) {
System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
System.out.println("Error Message:" + ce.getMessage());
ce.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
......
package com.zhongzhi.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 权限表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "权限")
@RequestMapping("/permissions")
public class PermissionsController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目奖项 前端控制器
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@RestController
@RequestMapping("/project-award-do")
public class ProjectAwardController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目软件著作权 前端控制器
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@RestController
@RequestMapping("/project-copyright-do")
public class ProjectCopyrightController {
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.administer.LoginDTO;
import com.zhongzhi.dto.judge.ProjectJudgePageDTO;
import com.zhongzhi.model.ProjectJudgeDO;
import com.zhongzhi.service.ProjectJudgeService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
/**
* <p>
* 项目评审员 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-28
*/
@RestController
@Api(tags = "评委")
@RequestMapping("/projectJudge")
public class ProjectJudgeController {
@Autowired
private ProjectJudgeService projectJudgeService;
@PostMapping(value = "/login")
@ApiOperation("评审端 --- 登录:telephone/手机号、code/验证码")
public ResponseVO login(@RequestBody LoginDTO loginDTO) {
return ResponseData.generateCreatedResponse(0, projectJudgeService.login(loginDTO));
}
@PostMapping(value = "/getProjectJudgePage")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---评委列表:username/姓名、status/状态、pageNo/当前页数、 pageSize/每页显示条数")
public ResponseVO getProjectJudgePage(@RequestBody ProjectJudgePageDTO projectJudgePageDTO) {
return ResponseData.generateCreatedResponse(0, projectJudgeService.getProjectJudgePage(projectJudgePageDTO));
}
@PostMapping(value = "/createProjectJudge")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---添加评委:username/姓名、telephone/手机号、 position/职位、unit/单位")
public ResponseVO createProjectJudge(@RequestBody ProjectJudgeDO projectJudgeDO) {
projectJudgeService.createProjectJudge(projectJudgeDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/updateProjectJudge")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---编辑评委:id/ID、username/姓名、telephone/手机号、 position/职位、unit/单位, status/状态(1:启用,0:禁用)")
public ResponseVO updateProjectJudge(@RequestBody ProjectJudgeDO projectJudgeDO) {
projectJudgeService.updateProjectJudge(projectJudgeDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/delete")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---删除评委:id/ID")
public ResponseVO delete(@RequestBody ProjectJudgeDO projectJudgeDO) {
projectJudgeService.removeById(projectJudgeDO.getId());
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/projectJudgesAssigned")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---已分配项目评委列表: matchId/赛事ID、projectGroup/组别、projectSchedule/进度")
public ResponseVO projectJudgesAssigned(@RequestBody ProjectJudgePageDTO projectJudgePageDTO) {
return ResponseData.generateCreatedResponse(0, projectJudgeService.projectJudgesAssigned(projectJudgePageDTO));
}
@PostMapping(value = "/downloadJudgeTemplate")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---下载导入评委模板")
public ResponseVO downloadJudgeTemplate() {
projectJudgeService.downloadTemplate();
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/importJudge")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---导入评委:file/文件(数据格式:Form-Data)")
public ResponseVO importJudge(MultipartFile file) {
projectJudgeService.importJudge(file);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/exportProjectJudge")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---导出评委")
public void exportProjectJudge() {
projectJudgeService.exportProjectJudge();
}
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目材料 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-11
*/
@RestController
@RequestMapping("/projectMaterials")
public class ProjectMaterialsController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目团队信息表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-11
*/
@RestController
@RequestMapping("/projectMember")
public class ProjectMemberController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 股权结构表 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-11
*/
@RestController
@RequestMapping("/projectOwnershipStructure")
public class ProjectOwnershipStructureController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目论文 前端控制器
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@RestController
@RequestMapping("/project-paper-do")
public class ProjectPaperController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目专利 前端控制器
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@RestController
@RequestMapping("/project-patent-do")
public class ProjectPatentController {
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.review.CancelReviewDTO;
import com.zhongzhi.dto.review.ProjectReviewDTO;
import com.zhongzhi.dto.review.SetReviewDTO;
import com.zhongzhi.service.ProjectReviewService;
import com.zhongzhi.vo.ResponseVO;
import com.zhongzhi.vo.review.SendNoticeVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目评审 前端控制器
* </p>
*
* @author DengMin
* @since 2021-05-18
*/
@RestController
@Api(tags = "项目评审")
@RequestMapping("/projectReview")
public class ProjectReviewController {
@Autowired
private ProjectReviewService projectReviewService;
@PostMapping(value = "/setReview")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---分配评审:[{projectId}]/项目ID、[{judgeId}]/评委ID、smsMessage/是否发送短信通知(0:不发送,1:发送)")
public ResponseVO setReview(@RequestBody SetReviewDTO setReviewDTO) {
projectReviewService.setReview(setReviewDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/sendNotice")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 发送通知评审:id/评委ID, matchId/赛事ID")
public ResponseVO sendNotice(@RequestBody SendNoticeVO sendNoticeVO) {
projectReviewService.sendNotice(sendNoticeVO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/cancelReview")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 撤销分配:projectId/项目ID、[{judgeId}]/评委ID、smsMessage/是否发送短信通知(0:不发送,1:发送)")
public ResponseVO cancelReview(@RequestBody CancelReviewDTO cancelReviewVO) {
projectReviewService.cancelReview(cancelReviewVO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/getProjectReview")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 已分配项目评审员:projectId/项目ID")
public ResponseVO getProjectReview(@RequestBody ProjectReviewDTO projectReviewDTO) {
return ResponseData.generateCreatedResponse(0, projectReviewService.getProjectReview(projectReviewDTO));
}
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.period.ProjectReviewPeriodDTO;
import com.zhongzhi.model.ProjectReviewPeriodDO;
import com.zhongzhi.service.ProjectReviewPeriodService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 评审时段 前端控制器
* </p>
*
* @author DengMin
* @since 2021-06-10
*/
@RestController
@Api(tags = "评审时段")
@RequestMapping("/projectReviewPeriod")
public class ProjectReviewPeriodController {
@Autowired
private ProjectReviewPeriodService projectReviewPeriodService;
@PostMapping(value = "/getProjectReviewPeriod")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("中心端(种子赛道、职教赛道) --- 查询评审时间:matchId/赛事年份ID、projectGroup/项目组别(科技创新组、红色文创组、高职、中职)、projectSchedule/项目进度(市级初赛、市级复赛、市级决赛)")
public ResponseVO getProjectReviewPeriod(@RequestBody ProjectReviewPeriodDTO projectReviewPeriodDTO) {
return ResponseData.generateCreatedResponse(0, projectReviewPeriodService.getProjectReviewPeriod(projectReviewPeriodDTO));
}
@PostMapping(value = "/updateProjectReviewPeriod")
@LoginRequired(Platform.center)
@ApiOperation("中心端 --- 修改评审时间:id/ID、matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、startTime/开始时间、endTime/结束时间")
public ResponseVO updateProjectReviewPeriod(@RequestBody ProjectReviewPeriodDO projectReviewPeriodDO) {
projectReviewPeriodService.updateProjectReviewPeriod(projectReviewPeriodDO);
return ResponseData.generateCreatedResponse(0);
}
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.scheduleRecord.ProjectScheduleRecordDTO;
import com.zhongzhi.service.ProjectScheduleRecordService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目进度记录 前端控制器
* </p>
*
* @author DengMin
* @since 2021-06-02
*/
@RestController
@Api(tags = "项目进度记录")
@RequestMapping("/projectScheduleRecord")
public class ProjectScheduleRecordController {
@Autowired
private ProjectScheduleRecordService projectScheduleRecordService;
@PostMapping(value = "/getProjectScheduleRecord")
@ApiOperation("中心端 ---获奖情况")
@LoginRequired({Platform.center})
public ResponseVO getProjectScheduleRecord(@RequestBody ProjectScheduleRecordDTO projectScheduleRecordDTO) {
return ResponseData.generateCreatedResponse(0, projectScheduleRecordService.getProjectScheduleRecord(projectScheduleRecordDTO));
}
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目作品 前端控制器
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@RestController
@RequestMapping("/project-trademark-do")
public class ProjectTrademarkController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目作品 前端控制器
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@RestController
@RequestMapping("/project-works-do")
public class ProjectWorksController {
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.SmsCodeDO;
import com.zhongzhi.service.SmsCodeService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 短信验证码 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "短信验证码")
@RequestMapping("/smsCode")
public class SmsCodeController {
@Autowired
private SmsCodeService smsCodeService;
@PostMapping(value = "/sendRegisterCode")
@ApiOperation("学生端 ---注册验证码:telephone/手机号")
public ResponseVO sendRegisterCode(@RequestBody SmsCodeDO smsCodeDO) {
smsCodeService.sendRegisterCode(smsCodeDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/sendStudentLoginCode")
@ApiOperation("学生端 ---登陆验证码:telephone/手机号")
public ResponseVO sendStudentLoginCode(@RequestBody SmsCodeDO smsCodeDO) {
smsCodeService.sendStudentLoginCode(smsCodeDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/sendAdministerLoginCode")
@ApiOperation("中心端 --- 中心端登陆验证码:telephone/手机号")
public ResponseVO sendAdministerLoginCode(@RequestBody AdministerDO administerDO) {
smsCodeService.sendAdministerLoginCode(administerDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/sendJudgeLoginCode")
@ApiOperation("评审端 ---登陆验证码:telephone/手机号")
public ResponseVO sendJudgeLoginCode(@RequestBody SmsCodeDO smsCodeDO) {
smsCodeService.sendJudgeLoginCode(smsCodeDO);
return ResponseData.generateCreatedResponse(0);
}
}
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.notice.SmsNoticeDTO;
import com.zhongzhi.dto.notice.SmsNoticePageDTO;
import com.zhongzhi.service.SmsNoticeService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 短信通知记录 前端控制器
* </p>
*
* @author DengMin
* @since 2022-04-15
*/
@RestController
@Api(tags = "短信通知")
@RequestMapping("/smsNotice")
public class SmsNoticeController {
@Autowired
private SmsNoticeService smsNoticeService;
@PostMapping(value = "batchSend")
@LoginRequired({Platform.center})
@ApiOperation("管理端 -- 批量发送短信:matchId/赛事年份ID、projectGroup/组别、projectSchedule/阶段、projectStatus/状态、name/搜索名称")
public ResponseVO batchSend(@RequestBody SmsNoticeDTO smsNoticeDTO) {
smsNoticeService.batchSend(smsNoticeDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "send")
@LoginRequired({Platform.center})
@ApiOperation("管理端 -- 发送短信:ids/项目ID(数组)")
public ResponseVO send(@RequestBody SmsNoticeDTO smsNoticeDTO) {
smsNoticeService.send(smsNoticeDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "getListByPage")
@LoginRequired({Platform.center})
@ApiOperation("管理端 -- 发送短信记录:date/日期、name/搜索名称、pageNo、pageSize")
public ResponseVO getListByPage(@RequestBody SmsNoticePageDTO smsNoticePageDTO) {
return ResponseData.generateCreatedResponse(0, smsNoticeService.getListByPage(smsNoticePageDTO));
}
}
\ No newline at end of file
package com.zhongzhi.controller;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.student.LoginDTO;
import com.zhongzhi.dto.student.RegisterDTO;
import com.zhongzhi.model.StudentDO;
import com.zhongzhi.service.StudentService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@RestController
@Api(tags = "学生")
@RequestMapping("/student")
public class StudentController {
@Autowired
private StudentService studentService;
@PostMapping(value = "/register")
@ApiOperation("注册:name/真实姓名, idCard/身份证, telephone/手机号, code/验证码, " +
"education/学历层次, school/就读院校, major/就读专业, enrollmentDate/入学年份, graduateDate/毕业年份")
public ResponseVO register(@RequestBody RegisterDTO registerDTO) {
return ResponseData.generateCreatedResponse(0, studentService.register(registerDTO));
}
@PostMapping(value = "/login")
@ApiOperation("登陆:telephone/手机号, code/验证码")
public ResponseVO login(@RequestBody LoginDTO loginDTO) {
return ResponseData.generateCreatedResponse(0, studentService.login(loginDTO));
}
@PostMapping(value = "updateStudentInfo")
@LoginRequired({ Platform.student })
@ApiOperation("登陆:id/ID, education/学历, college/就读院校, major/专业, enrollmentDate/入学年份, graduateDate/毕业年份")
public ResponseVO updateStudentInfo(@RequestBody StudentDO studentDO) {
studentService.updateStudentInfo(studentDO);
return ResponseData.generateCreatedResponse(0);
}
}
package com.zhongzhi.controller;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.course.ChangeOrdersDTO;
import com.zhongzhi.dto.course.VodsDTO;
import com.zhongzhi.model.CourseDictDO;
import com.zhongzhi.model.VodDictDO;
import com.zhongzhi.service.VodDictService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author DengMin
* @since 2022-11-14
*/
@RestController
@RequestMapping("/vodDict")
@Api(tags = "视频字典表")
public class VodDictController {
@Autowired
private VodDictService vodDictService;
@PostMapping("/signature")
@ApiOperation("获取签名")
public ResponseVO signature()throws Exception{
return ResponseData.generateCreatedResponse(0,vodDictService.signature());
}
@PostMapping("deleteVod")
@ApiOperation("删除视频 id")
public ResponseVO deleteVod(@RequestBody VodDictDO vodDictDO){
vodDictService.deleteVod(vodDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("addVod")
@ApiOperation("新增视频 courseId vodName vodUrl vodCode vodLength vodSize vodFormat coverPage")
public ResponseVO orderNo(@RequestBody VodDictDO vodDictDO){
vodDictService.addVod(vodDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("updateVod")
@ApiOperation("修改视频 id vodName vodName vodUrl vodCode vodLength vodSize vodFormat coverPage ")
public ResponseVO updateVod(@RequestBody VodDictDO vodDictDO){
vodDictService.updateVod(vodDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("changeOrders")
@ApiOperation("排序 ids[]")
public ResponseVO changeOrders(@RequestBody ChangeOrdersDTO changeOrdersDTO){
vodDictService.changeOrders(changeOrdersDTO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("vods")
@ApiOperation("查询课程下的视频 courseId vodName")
public ResponseVO vods(@RequestBody VodsDTO vodsDTO){
return ResponseData.generateCreatedResponse(0, vodDictService.vods(vodsDTO));
}
@PostMapping("fourVods")
@ApiOperation("首页只查询4个视频 yearId ")
public ResponseVO fourVods(@RequestBody CourseDictDO courseDictDO){
return ResponseData.generateCreatedResponse(0,vodDictService.fourVods(courseDictDO));
}
}
package com.zhongzhi.controller;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.model.YearDictDO;
import com.zhongzhi.service.YearDictService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 年份字典表 前端控制器
* </p>
*
* @author DengMin
* @since 2023-04-11
*/
@RestController
@RequestMapping("/yearDict")
@Api(tags = "年份管理")
public class YearDictController {
@Autowired
private YearDictService yearDictService;
@PostMapping("queryYears")
@ApiOperation("查询年份")
public ResponseVO queryYears(){
return ResponseData.generateCreatedResponse(0,yearDictService.queryYears());
}
@PostMapping("updateYear")
@ApiOperation("编辑年份 id year status")
public ResponseVO updateYear(@RequestBody YearDictDO yearDictDO){
yearDictService.updateYear(yearDictDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping("addYear")
@ApiOperation("添加年份 year status ")
public ResponseVO addYear(@RequestBody YearDictDO yearDictDO){
yearDictService.addYear(yearDictDO);
return ResponseData.generateCreatedResponse(0);
}
}
package com.zhongzhi.dao;
import com.zhongzhi.model.AdministerDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 中心管理账户表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface AdministerDAO extends BaseMapper<AdministerDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.AdministerPermissionDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 系统用户权限表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface AdministerPermissionDAO extends BaseMapper<AdministerPermissionDO> {
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.dto.college.ExportCollegeDTO;
import com.zhongzhi.model.CollegesDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.college.AwardedListVO;
import com.zhongzhi.vo.college.CollegePageVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 院校字典表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface CollegesDictDAO extends BaseMapper<CollegesDictDO> {
IPage<CollegePageVO> listPage(Page page, String name);
IPage<AwardedListVO> getAwardedList(Page page, String name);
List<AwardedListVO> getAwardedListAll();
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhongzhi.model.CourseDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.course.CoursesVO;
import org.springframework.stereotype.Repository;
/**
* <p>
* Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-11-14
*/
@Repository
public interface CourseDictDAO extends BaseMapper<CourseDictDO> {
IPage<CoursesVO> courses(IPage page, String courseName,Long yearId);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.FinalMatchMemberDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.college.ExportListVO;
import com.zhongzhi.vo.college.RegisterMembersVO;
import com.zhongzhi.vo.college.SchoolsVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author DengMin
* @since 2024-07-12
*/
@Repository
public interface FinalMatchMemberDAO extends BaseMapper<FinalMatchMemberDO> {
List<RegisterMembersVO> registerMembers(Long collegeId,Long matchId);
List<RegisterMembersVO> otherMembers(Long collegeId,Long matchId);
List<RegisterMembersVO> cars(Long collegeId,Long matchId);
String latestUpdateTime(Long collegeId);
List<SchoolsVO> schools(Long matchId,String name);
/**
* 导出名单
*/
List<ExportListVO> exportList(Long matchId,Long collegeId);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.FundDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 届数表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface FundDictDAO extends BaseMapper<FundDictDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ItemFieldDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 行业领域字典表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface ItemFieldDictDAO extends BaseMapper<ItemFieldDictDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.MajorDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 专业字典表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface MajorDictDAO extends BaseMapper<MajorDictDO> {
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.model.MatchCollegePdfDO;
import org.springframework.stereotype.Repository;
@Repository
public interface MatchCollegePdfMapper extends BaseMapper<MatchCollegePdfDO> {
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.model.MatchDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.match.MatchDictVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 赛事年份管理 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-17
*/
@Repository
public interface MatchDictDAO extends BaseMapper<MatchDictDO> {
IPage<MatchDictVO> getSeedTrackMatchPage(Page page, String matchType);
List<MatchDictDO> getList(@Param("projectType") String projectType, @Param("projectGroup") String projectGroup);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.MatchScheduleDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 时间安排 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-27
*/
@Repository
public interface MatchScheduleDAO extends BaseMapper<MatchScheduleDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.MessageDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 通知消息表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-17
*/
@Repository
public interface MessageDAO extends BaseMapper<MessageDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.PermissionsDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.permission.PermissionVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 权限表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface PermissionsDAO extends BaseMapper<PermissionsDO> {
List<PermissionVO> getPermissionById(Long id);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectAwardDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目奖项 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@Repository
public interface ProjectAwardMapper extends BaseMapper<ProjectAwardDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectCopyrightDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目软件著作权 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@Repository
public interface ProjectCopyrightMapper extends BaseMapper<ProjectCopyrightDO> {
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.model.ProjectDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.project.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 项目表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-11
*/
@Repository
public interface ProjectDAO extends BaseMapper<ProjectDO> {
IPage<ProjectPageVO> getListPage(Page page, Long matchId, Long proposerId, String projectType);
IPage<MainTrackProjectPageVO> getMainTrackProjectPage(Page page, Long matchId, String projectGroup, @Param("type") String type, @Param("projectType") String projectType,
String projectSchedule,
String projectStatus, String itemField, @Param("name") String name);
IPage<SeedTrackProjectPageVO> getSeedTrackProjectPage(Page page, Long matchId, String projectGroup, @Param("type") String type, @Param("projectType") String projectType,
@Param("school") String school, String projectSchedule,
String projectStatus, String itemField, @Param("name") String name,@Param("projectProgress") String projectProgress);
IPage<ReviewListVO> getReviewList(Page page, String projectName, String projectGroup, String projectReview, Long matchId, String projectStatus, String projectAssigned,String projectProgress);
IPage<ProjectPageVO> getProjectReviewPage(Page page, Long judgeId, Long matchId, String projectName, String projectSchedule, String projectReview, String projectGroup,String projectProgress);
List<ProjectDO> getProjectReviewList(Long id, Long matchId,String projectProgress);
List<ProjectDO> getProjectByCollege(Long matchId, @Param("name") String name, String projectProgress);
List<ProjectDO> getSeedTrackProjectList(Long matchId, String projectGroup, @Param("name") String name,@Param("projectProgress")String projectProgress);
List<ProjectDO> selectListByCollege(String projectType, String projectGroup, @Param("name") String name);
List<ProjectDO> getList(Long matchId, @Param("name") String name, String projectGroup);
List<SeedTrackProjectPageVO> getProjectList(Long matchId, String projectGroup, String projectSchedule, String projectStatus, @Param("name") String name);
List<ProjectDO> getListByJudgeId(Long matchId, String projectGroup, @Param("judgeId") Long judgeId);
List<ProjectDO> getProjectById(@Param("ids") Long[] ids);
List<ProjectDO> projects(Long matchId,Long collegeId,String college);
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.model.ProjectJudgeDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.judge.ProjectJudgePageVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目评审员 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-28
*/
@Repository
public interface ProjectJudgeDAO extends BaseMapper<ProjectJudgeDO> {
IPage<ProjectJudgePageVO> getProjectJudgePage(Page page, String username, Integer status);
IPage<ProjectJudgePageVO> projectJudgesAssigned(Page page, @Param("matchId") Long matchId, @Param("projectGroup") String projectGroup, @Param("projectSchedule") String projectSchedule);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectMaterialsDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目材料 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-11
*/
@Repository
public interface ProjectMaterialsDAO extends BaseMapper<ProjectMaterialsDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectMemberDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 项目团队信息表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-11
*/
@Repository
public interface ProjectMemberDAO extends BaseMapper<ProjectMemberDO> {
/**
* 团队成员
*/
List<ProjectMemberDO> projectMembers(Long projectId);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectOwnershipStructureDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 股权结构表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-11
*/
@Repository
public interface ProjectOwnershipStructureDAO extends BaseMapper<ProjectOwnershipStructureDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectPaperDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目论文 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@Repository
public interface ProjectPaperMapper extends BaseMapper<ProjectPaperDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectPatentDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目专利 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@Repository
public interface ProjectPatentMapper extends BaseMapper<ProjectPatentDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectReviewDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.judge.ProjectReviewVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 项目评审 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-05-18
*/
@Repository
public interface ProjectReviewDAO extends BaseMapper<ProjectReviewDO> {
List<ProjectReviewVO> getList(String projectSchedule, Long projectId);
Integer selectCountByMatchId(Long judgeId, Long matchId);
Integer selectNotReviewCount(Long judgeId, Long matchId);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectReviewPeriodDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 评审时段 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-06-10
*/
@Repository
public interface ProjectReviewPeriodMapper extends BaseMapper<ProjectReviewPeriodDO> {
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.model.ProjectScheduleRecordDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 项目进度记录 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-06-02
*/
@Repository
public interface ProjectScheduleRecordDAO extends BaseMapper<ProjectScheduleRecordDO> {
IPage<ProjectScheduleRecordVO> getProjectScheduleRecord(Page page, Long matchId, @Param("name") String name);
List<ProjectScheduleRecordDO> getList(Long matchId, String college, @Param("projectGroup") String projectGroup);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectTrademarkDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目作品 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@Repository
public interface ProjectTrademarkMapper extends BaseMapper<ProjectTrademarkDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectWorksDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 项目作品 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-04-25
*/
@Repository
public interface ProjectWorksMapper extends BaseMapper<ProjectWorksDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.SmsCodeDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 短信验证码 Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface SmsCodeDAO extends BaseMapper<SmsCodeDO> {
SmsCodeDO getOneByTelePhone(String telephone, String type, String platform);
}
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.model.SmsNoticeDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.notice.SmsNoticeVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* <p>
* 短信通知记录 Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-04-15
*/
@Repository
public interface SmsNoticeMapper extends BaseMapper<SmsNoticeDO> {
IPage<SmsNoticeVO> getListByPage(Page page, @Param("date") String date, String name);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.StudentDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* Mapper 接口
* </p>
*
* @author DengMin
* @since 2021-04-28
*/
@Repository
public interface StudentDAO extends BaseMapper<StudentDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.CourseDictDO;
import com.zhongzhi.model.VodDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.course.VodsVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author DengMin
* @since 2022-11-14
*/
@Repository
public interface VodDictDAO extends BaseMapper<VodDictDO> {
List<VodsVO> vods(Long courseId,String vodName,Long yearId);
List<VodsVO> fourVods(CourseDictDO courseDictDO);
}
package com.zhongzhi.dao;
import com.zhongzhi.model.YearDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 年份字典表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2023-04-11
*/
@Repository
public interface YearDictDAO extends BaseMapper<YearDictDO> {
}
package com.zhongzhi.dto.administer;
import lombok.Data;
@Data
public class AdministerPageDTO {
private String listItem;
private String username;
private Integer pageNo;
private Integer pageSize;
}
package com.zhongzhi.dto.administer;
import lombok.Data;
@Data
public class LoginDTO {
private String telephone;
private String code;
}
package com.zhongzhi.dto.college;
import lombok.Data;
import java.util.List;
@Data
public class AddProjectMemberDTO {
private List<Long> studentIds;
private Long projectId;
private Long matchId;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class AwardedListDTO {
private Long matchId;
private String name;
private String projectGroup;
private Integer pageNo;
private Integer pageSize;
}
package com.zhongzhi.dto.college;
import com.zhongzhi.common.utils.ExcelColumn;
import lombok.Data;
@Data
public class CollegesDOT {
@ExcelColumn(col = 1, value = "学校代码")
private String code;
@ExcelColumn(col = 2, value = "院校名称")
private String name;
@ExcelColumn(col = 3, value = "联系方式")
private String phone;
@ExcelColumn(col = 4, value = "导入失败原因")
private String failReason;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class CollegesDictDTO {
private String name;
private String education;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class CollegesPageDTO {
private String name;
private Integer pageNo;
private Integer pageSize;
}
package com.zhongzhi.dto.college;
import lombok.Data;
import java.util.List;
@Data
public class DownloadErrorDataDTO {
private List<CollegesDOT> errorData;
}
package com.zhongzhi.dto.college;
import com.zhongzhi.common.utils.ExcelColumn;
import lombok.Data;
@Data
public class ExportCollegeDTO {
@ExcelColumn(col = 1, value = "学校代码")
private String code;
@ExcelColumn(col = 2, value = "学校名称")
private String name;
@ExcelColumn(col = 3 , value = "分管领导")
private String leaderName;
@ExcelColumn(col = 4 , value = "职务")
private String leaderPost;
@ExcelColumn(col = 5 , value = "手机号")
private String leaderPhone;
@ExcelColumn(col = 6 , value = "联系人姓名")
private String contactName;
@ExcelColumn(col = 7 , value = "职务")
private String contactPost;
@ExcelColumn(col = 8 , value = "手机号")
private String contactPhone;
@ExcelColumn(col = 9, value = "账户")
private String account;
@ExcelColumn(col = 10, value = "密码")
private String password;
@ExcelColumn(col = 11, value = "联系地址")
private String address;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class LoginDTO {
private String account;
private String password;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class LoginStatusDTO {
private Long[] ids;
private Long id;
private Integer loginStatus;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class RegisterMembersDTO {
private Long id;
private Long matchId;
private Long collegeId;
private String name;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class UpdatePwdDTO {
private String password;
}
package com.zhongzhi.dto.course;
import lombok.Data;
import java.util.List;
@Data
public class ChangeOrdersDTO {
private List<Long> ids;
}
This diff could not be displayed because it is too large.
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!