Commit 657be00d by 涂亚平

20260717

1 parent aa064409
Showing with 1054 additions and 254 deletions
...@@ -183,6 +183,12 @@ ...@@ -183,6 +183,12 @@
<version>4.5.13</version> <version>4.5.13</version>
</dependency> </dependency>
<!-- ZIP打包 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.24.0</version>
</dependency>
</dependencies> </dependencies>
<repositories> <repositories>
......
package com.zhongzhi.common.configure; package com.zhongzhi.common.configure;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ApiInfoBuilder;
...@@ -21,9 +22,17 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -21,9 +22,17 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2 @EnableSwagger2
public class SwaggerConfig { public class SwaggerConfig {
@Value("${spring.profiles.active:}")
private String activeProfile;
@Bean @Bean
public Docket createRestApi() { public Docket createRestApi() {
// 判断是否为生产环境
boolean isProd = "prod".equals(activeProfile);
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.enable(!isProd)
.pathMapping("/") .pathMapping("/")
.select() .select()
.apis(RequestHandlerSelectors.basePackage("com.zhongzhi.controller")) .apis(RequestHandlerSelectors.basePackage("com.zhongzhi.controller"))
......
package com.zhongzhi.common.constant;
import lombok.Data;
@Data
public class ProjectAssigned {
public static final String ASSIGN_ED = "已分配";
public static final String UN_ASSIGN = "未分配";
}
...@@ -16,8 +16,6 @@ public class ProjectSchedule { ...@@ -16,8 +16,6 @@ public class ProjectSchedule {
// 校内赛 // 校内赛
public static final String SCHOOL_REVIEW = "市级初赛项目"; public static final String SCHOOL_REVIEW = "市级初赛项目";
// public static final String PRELIMINARY_REVIEW = "市级初赛项目";
public static final String SEMI_FINAL_REVIEW = "市级复赛项目"; public static final String SEMI_FINAL_REVIEW = "市级复赛项目";
public static final String FINAL_REVIEW = "市级决赛项目"; public static final String FINAL_REVIEW = "市级决赛项目";
......
...@@ -10,10 +10,10 @@ package com.zhongzhi.common.constant; ...@@ -10,10 +10,10 @@ package com.zhongzhi.common.constant;
*/ */
public class ProjectStatus { public class ProjectStatus {
// public static final String TO_REVIEW = "";
public static final String UN_SUBMITTED = "填写中"; public static final String UN_SUBMITTED = "填写中";
public static final String TO_CHECK = "待评审";
public static final String WITHDRAWN = "已撤回"; public static final String WITHDRAWN = "已撤回";
public static final String SCHOOL_NOT_PASSED = "不予提交市级复赛"; public static final String SCHOOL_NOT_PASSED = "不予提交市级复赛";
......
...@@ -63,9 +63,9 @@ public class AliyunSmsUtil { ...@@ -63,9 +63,9 @@ public class AliyunSmsUtil {
//必填:待发送手机号 //必填:待发送手机号
request.setPhoneNumbers(phone); request.setPhoneNumbers(phone);
//必填:短信签名-可在短信控制台中找到 //必填:短信签名-可在短信控制台中找到
request.setSignName("双创平台"); request.setSignName("有课互联");
//必填:短信模板-可在短信控制台中找到 //必填:短信模板-可在短信控制台中找到
request.setTemplateCode("SMS_229640297"); request.setTemplateCode("SMS_190945394");
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
request.setTemplateParam("{\"code\":\"" + code + "\"}"); request.setTemplateParam("{\"code\":\"" + code + "\"}");
...@@ -82,11 +82,49 @@ public class AliyunSmsUtil { ...@@ -82,11 +82,49 @@ public class AliyunSmsUtil {
} }
} }
public static void main(String[] args) { /**
// AliyunSmsUtil.sendNew("15201936167",000123); * 阿里云短信 -- 验证码
* @param phone
* @param code
* @return
*/
public SendSmsResponse sendNotice(String phone) {
try {
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//初始化acsClient,暂不支持region化
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyunSmsProperties.getAccessKeyId(), aliyunSmsProperties.getAccessKeySecret());
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", aliyunSmsProperties.getProduct(), aliyunSmsProperties.getDomain());
IAcsClient acsClient = new DefaultAcsClient(profile);
//组装请求对象-具体描述见控制台-文档部分内容
SendSmsRequest request = new SendSmsRequest();
//必填:待发送手机号
request.setPhoneNumbers(phone);
//必填:短信签名-可在短信控制台中找到
request.setSignName("有课互联");
//必填:短信模板-可在短信控制台中找到
request.setTemplateCode("SMS_504780294");
// //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
// request.setTemplateParam("{\"code\":\"" + code + "\"}");
//hint 此处可能会抛出异常,注意catch
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
if (sendSmsResponse != null && sendSmsResponse.getCode().equals("OK")) {
return sendSmsResponse;
}
throw new Exception(sendSmsResponse.getMessage());
} catch (Exception e) {
log.error("---短信发送失败:" + e);
throw new HttpException(10011);
}
} }
/** /**
* 三网平台短信 * 三网平台短信
* @param msg * @param msg
......
package com.zhongzhi.common.utils;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.OSSObject;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ZipUtils {
// ====================== 工具方法:打包ZIP ======================
private static void zipPackage(String sourceDir, String zipPath) throws Exception {
try (FileOutputStream fos = new FileOutputStream(zipPath);
ZipArchiveOutputStream zos = new ZipArchiveOutputStream(fos)) {
File root = new File(sourceDir);
compressFile(root, root.getName(), zos);
zos.finish();
}
}
private static void compressFile(File file, String basePath, ZipArchiveOutputStream zos) throws Exception {
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
compressFile(f, basePath + "/" + f.getName(), zos);
}
}
} else {
try (FileInputStream fis = new FileInputStream(file)) {
zos.putArchiveEntry(new ZipArchiveEntry(basePath));
byte[] buffer = new byte[1024 * 1024];
int len;
while ((len = fis.read(buffer)) != -1) {
zos.write(buffer, 0, len);
}
zos.closeArchiveEntry();
}
}
}
/**
* 你只需要调用这一个方法!
*
* @param studentImageMap 你本地查询好的数据: key=学生名, value=图片URL列表
*/
public static void downloadAndZip(HashMap<String, HashMap<String,List<String>>> studentImageMap) {
OSS ossClient = new OSSClientBuilder().build("http://oss-cn-beijing.aliyuncs.com", "LTAI5tLUBG4B6QxhHrhddc7p", "eber38QGHZixTQ6bFfrd80kbg67jIP");
try {
// 1. 创建根目录
Files.createDirectories(new File("D:/student_images_temp/").toPath());
// 2. 遍历学生 → 创建文件夹 → 下载所有图片
for (Map.Entry<String, HashMap<String, List<String>>> entry : studentImageMap.entrySet()) {
String studentName = entry.getKey(); // 学生名
System.out.println("学生姓名===============>" + entry);
HashMap<String, List<String>> imageUrls = entry.getValue(); // 该学生所有图片
// 创建学生文件夹
String studentFolder = "D:/student_images_temp/" + studentName + "/";
Files.createDirectories(new File(studentFolder).toPath());
// 下载该学生所有图片
List<String> projectAttachment = imageUrls.get("projectAttachment");
if (projectAttachment.size() > 0){
downloadImage(studentName, ossClient, projectAttachment.get(0), studentFolder, "项目计划书");
}
List<String> projectPptUrl = imageUrls.get("projectPptUrl");
if (projectPptUrl.size() > 0){
downloadImage(studentName, ossClient, projectPptUrl.get(0), studentFolder, "项目PPT");
}
List<String> identityCertificate = imageUrls.get("identityCertificate");
if (identityCertificate.size() > 0){
downloadImage(studentName, ossClient, identityCertificate.get(0), studentFolder, "身份证明书");
}
List<String> commitmentLetter = imageUrls.get("commitmentLetter");
if (commitmentLetter.size() > 0){
downloadImage(studentName, ossClient, commitmentLetter.get(0), studentFolder, "承诺书");
}
List<String> participationCertificate = imageUrls.get("participationCertificate");
if (participationCertificate.size() > 0){
downloadImage(studentName, ossClient, participationCertificate.get(0), studentFolder, "参赛证明书");
}
System.out.println("✅ 学生:" + studentName + " 图片下载完成");
}
// 3. 打包成ZIP
// zipPackage("D:/student_images_temp/", "D:/student_images_temp/学生图片打包.zip");
// System.out.println("\n🎉 全部完成!ZIP路径:" + new File("D:/student_images_temp/学生图片打包.zip").getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
} finally {
ossClient.shutdown();
}
}
// ====================== 工具方法:下载单张图片 ======================
private static void downloadImage(String studentName, OSS ossClient, String imageUrl, String studentFolder, String name) throws Exception {
// 从URL截取OSS文件路径
String ossPath = extractOssPath(imageUrl);
// 文件名
String fileName = studentName + "_" + name + "." + getFormat(ossPath);
// 本地保存路径
String localPath = studentFolder + fileName;
// 下载OSS文件
try {
} catch (Exception e) {
}
try (OSSObject ossObject = ossClient.getObject("mass-entrepreneurship", ossPath);
InputStream in = ossObject.getObjectContent();
FileOutputStream out = new FileOutputStream(localPath)) {
byte[] buffer = new byte[1024 * 1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
}
}
/**
* 【终极修复】自动清理URL,只保留OSS文件路径
*/
private static String extractOssPath(String imageUrl) throws Exception {
// 1. 移除 ? 参数
if (imageUrl.contains("?")) {
imageUrl = imageUrl.substring(0, imageUrl.indexOf("?"));
}
// 2. 移除协议头
imageUrl = imageUrl.replace("https://", "").replace("http://", "");
// 3. 移除域名部分
String removeDomain = "mass-entrepreneurship" + "." + "oss-cn-beijing.aliyuncs.com" + "/";
if (imageUrl.startsWith(removeDomain)) {
imageUrl = imageUrl.substring(removeDomain.length());
}
imageUrl = java.net.URLDecoder.decode(imageUrl, "UTF-8");
return imageUrl;
}
public static String getFormat(String imageUrl) {
// 获取文件后缀(不带点,直接返回 png / jpg)
String suffix = imageUrl.substring(imageUrl.lastIndexOf(".") + 1);
// 如果有?参数,再截一次
if (suffix.contains("?")) {
suffix = suffix.substring(0, suffix.indexOf("?"));
}
return suffix;
}
}
package com.zhongzhi.controller; package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.constant.Platform; import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired; import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData; import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.administer.AdministerPageDTO; import com.zhongzhi.dto.administer.AdministerPageDTO;
import com.zhongzhi.dto.administer.CreateAdministerDTO;
import com.zhongzhi.dto.administer.LoginDTO; import com.zhongzhi.dto.administer.LoginDTO;
import com.zhongzhi.model.AdministerDO; import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.AdministerPermissionDO;
import com.zhongzhi.model.AdministerTrackMappingDO;
import com.zhongzhi.service.AdministerPermissionService;
import com.zhongzhi.service.AdministerService; import com.zhongzhi.service.AdministerService;
import com.zhongzhi.service.AdministerTrackMappingService;
import com.zhongzhi.vo.ResponseVO; import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -16,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -16,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* <p> * <p>
* 中心管理账户表 前端控制器 * 中心管理账户表 前端控制器
...@@ -32,6 +40,12 @@ public class AdministerController { ...@@ -32,6 +40,12 @@ public class AdministerController {
@Autowired @Autowired
private AdministerService administerService; private AdministerService administerService;
@Autowired
private AdministerTrackMappingService administerTrackMappingService;
@Autowired
private AdministerPermissionService administerPermissionService;
@PostMapping(value = "/login") @PostMapping(value = "/login")
@ApiOperation("中心端 --- 登录:手机号/telephone, code/验证码") @ApiOperation("中心端 --- 登录:手机号/telephone, code/验证码")
public ResponseVO login(@RequestBody LoginDTO loginDTO) { public ResponseVO login(@RequestBody LoginDTO loginDTO) {
...@@ -39,33 +53,80 @@ public class AdministerController { ...@@ -39,33 +53,80 @@ public class AdministerController {
} }
@PostMapping(value = "/getAdministerPage") @PostMapping(value = "/getAdministerPage")
@LoginRequired({Platform.center})
@ApiOperation("####中心端 --- 成员管理分页查询:listItem/角色、 username/搜索名称、pageNo/当前页数、pageSize/每页显示条数") @ApiOperation("####中心端 --- 成员管理分页查询:listItem/角色、 username/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
public ResponseVO getAdministerPage(@RequestBody AdministerPageDTO administerPageDTO) { public ResponseVO getAdministerPage(@RequestBody AdministerPageDTO administerPageDTO) {
return ResponseData.generateCreatedResponse(0, administerService.getAdministerPage(administerPageDTO)); return ResponseData.generateCreatedResponse(0, administerService.getAdministerPage(administerPageDTO));
} }
@PostMapping(value = "/createAdminister") @PostMapping(value = "/createAdminister")
@LoginRequired({Platform.center}) @ApiOperation("####中心端 --- 新增成员:username/名称、telephone/手机号、avatar/头像、role/角色 trackIds[] 赛道ids permissionIds[] 权限ids")
@ApiOperation("####中心端 --- 新增成员:username/名称、telephone/手机号、avatar/头像、role/角色") public ResponseVO createAdminister(@RequestBody CreateAdministerDTO createAdministerDTO) {
public ResponseVO createAdminister(@RequestBody AdministerDO administerDO) { administerService.save(createAdministerDTO);
administerService.save(administerDO); List<Long> trackIds = createAdministerDTO.getTrackIds();
if (null != trackIds){
for (Long id : trackIds){
AdministerTrackMappingDO administerTrackMappingDO = new AdministerTrackMappingDO();
administerTrackMappingDO.setAdministerId(createAdministerDTO.getId());
administerTrackMappingDO.setTrackId(id);
administerTrackMappingService.save(administerTrackMappingDO);
}
}
List<Long> permissionIds = createAdministerDTO.getPermissionIds();
if (null != permissionIds){
for (Long id : permissionIds){
AdministerPermissionDO administerPermissionDO = new AdministerPermissionDO();
administerPermissionDO.setAdministerId(createAdministerDTO.getId());
administerPermissionDO.setPermissionId(id);
administerPermissionService.save(administerPermissionDO);
}
}
return ResponseData.generateCreatedResponse(0); return ResponseData.generateCreatedResponse(0);
} }
@PostMapping(value = "/updateAdminister") @PostMapping(value = "/updateAdminister")
@LoginRequired({Platform.center}) @ApiOperation("####中心端 --- 编辑成员:id/成员ID、username/名称、telephone/手机号、avatar/头像、role/角色 trackIds[] 赛道ids permissionIds[] 权限ids")
@ApiOperation("####中心端 --- 编辑成员:id/成员ID、username/名称、telephone/手机号、avatar/头像、role/角色") public ResponseVO updateAdminister(@RequestBody CreateAdministerDTO createAdministerDTO) {
public ResponseVO updateAdminister(@RequestBody AdministerDO administerDO) {
administerService.updateById(administerDO); administerService.updateAdminister(createAdministerDTO);
List<Long> trackIds = createAdministerDTO.getTrackIds();
if (null != trackIds){
administerTrackMappingService.remove(new QueryWrapper<AdministerTrackMappingDO>()
.lambda()
.eq(AdministerTrackMappingDO::getAdministerId,createAdministerDTO.getId()));
for (Long id : trackIds){
AdministerTrackMappingDO administerTrackMappingDO = new AdministerTrackMappingDO();
administerTrackMappingDO.setAdministerId(createAdministerDTO.getId());
administerTrackMappingDO.setTrackId(id);
administerTrackMappingService.save(administerTrackMappingDO);
}
}
List<Long> permissionIds = createAdministerDTO.getPermissionIds();
if (null != permissionIds) {
administerPermissionService.remove(new QueryWrapper<AdministerPermissionDO>()
.lambda()
.eq(AdministerPermissionDO::getAdministerId,createAdministerDTO.getId()));
for (Long id : permissionIds){
AdministerPermissionDO administerPermissionDO = new AdministerPermissionDO();
administerPermissionDO.setAdministerId(createAdministerDTO.getId());
administerPermissionDO.setPermissionId(id);
administerPermissionService.save(administerPermissionDO);
}
}
return ResponseData.generateCreatedResponse(0); return ResponseData.generateCreatedResponse(0);
} }
@PostMapping(value = "/deleteById") @PostMapping(value = "/deleteById")
@LoginRequired({Platform.center})
@ApiOperation("####中心端 --- 删除成员:id/成员ID") @ApiOperation("####中心端 --- 删除成员:id/成员ID")
public ResponseVO delete(@RequestBody AdministerDO administerDO) { public ResponseVO delete(@RequestBody AdministerDO administerDO) {
administerService.removeById(administerDO.getId()); administerService.removeById(administerDO.getId());
administerTrackMappingService.remove(new QueryWrapper<AdministerTrackMappingDO>()
.lambda()
.eq(AdministerTrackMappingDO::getAdministerId,administerDO.getId()));
return ResponseData.generateCreatedResponse(0); return ResponseData.generateCreatedResponse(0);
} }
} }
package com.zhongzhi.controller; package com.zhongzhi.controller;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
......
package com.zhongzhi.controller;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.administer.AdministerTracksDTO;
import com.zhongzhi.service.AdministerTrackMappingService;
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.List;
/**
* <p>
* 赛道管理员映射表 前端控制器
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
@RestController
@RequestMapping("/administerTrackMapping")
@Api("管理员赛道")
public class AdministerTrackMappingController {
@Autowired
private AdministerTrackMappingService administerTrackMappingService;
@PostMapping("administerTracks")
@ApiOperation("管理员的赛道 userId")
public ResponseVO administerTracks(@RequestBody AdministerTracksDTO administerTracksDTO){
return ResponseData.generateCreatedResponse(0,administerTrackMappingService.administerTracks(administerTracksDTO));
}
}
...@@ -39,7 +39,7 @@ public class CollegesDictController { ...@@ -39,7 +39,7 @@ public class CollegesDictController {
@Autowired @Autowired
public CollegesDictService collegesDictService; public CollegesDictService collegesDictService;
@PostMapping(value = "/getCollegesList") @PostMapping(value = "/getCollegesListNew")
@ApiOperation("####查询所有就读院校: name/院校名称, education/学历") @ApiOperation("####查询所有就读院校: name/院校名称, education/学历")
public ResponseVO getCollegesList(@RequestBody CollegesDictDTO collegesDictDTO) { public ResponseVO getCollegesList(@RequestBody CollegesDictDTO collegesDictDTO) {
QueryWrapper<CollegesDictDO> queryWrapper = new QueryWrapper(); QueryWrapper<CollegesDictDO> queryWrapper = new QueryWrapper();
...@@ -58,6 +58,12 @@ public class CollegesDictController { ...@@ -58,6 +58,12 @@ public class CollegesDictController {
return ResponseData.generateCreatedResponse(0, collegesDictService.list(queryWrapper)); return ResponseData.generateCreatedResponse(0, collegesDictService.list(queryWrapper));
} }
@PostMapping("getCollegeInfo")
@ApiOperation("返回院校基本信息 name")
public ResponseVO getCollegeInfo(@RequestBody GetCollegesListDTO getCollegesListDTO){
return ResponseData.generateCreatedResponse(0,collegesDictService.getCollegeInfo(getCollegesListDTO));
}
@PostMapping(value = "/login") @PostMapping(value = "/login")
@ApiOperation("院校端 --- 登录: account/账户, password/密码") @ApiOperation("院校端 --- 登录: account/账户, password/密码")
public ResponseVO login(@RequestBody LoginDTO loginDTO) { public ResponseVO login(@RequestBody LoginDTO loginDTO) {
......
...@@ -30,10 +30,10 @@ import java.util.List; ...@@ -30,10 +30,10 @@ import java.util.List;
@RequestMapping("/oss") @RequestMapping("/oss")
public class OssController { public class OssController {
public static final String keyId = "LTAI5tPAH7P7WQVeowo517BE"; public static final String keyId = "LTAI5tLUBG4B6QxhHrhddc7p";
public static final String secret = "0ueqhIfdAZyw5lWlBVSLpAxTtx37RY"; public static final String secret = "eber38QGHZixTQ6bFfrd80kbg67jIP";
// @Value("${spring.profiles.active}") // @Value("${spring.profiles.active}")
...@@ -48,41 +48,6 @@ public class OssController { ...@@ -48,41 +48,6 @@ public class OssController {
return ResponseData.generateCreatedResponse(0, getSecretVO); return ResponseData.generateCreatedResponse(0, getSecretVO);
} }
// @PostMapping("uploadFile")
// @ApiOperation("上传文件 file")
// public ResponseVO uploadFile(@RequestParam("file") MultipartFile file) {
// // 创建OSSClient实例。
// OSS ossClient = new OSSClientBuilder().build("http://oss-cn-shanghai.aliyuncs.com", keyId, secret);
// UploadFileVO uploadFileVO = new UploadFileVO();
// try {
////
//// if (env.equals("test")) {
//// env = "ykhl-bigger-test";
//// }
//// if (env.equals("prod")) {
//// env = "ykhl-bigger";
//// }
//
//
// // 创建PutObjectRequest对象。
// PutObjectRequest putObjectRequest = new PutObjectRequest("zhongzhi-cms", System.currentTimeMillis() + "_" + file.getOriginalFilename(), file.getInputStream());
// // 设置该属性可以返回response。如果不设置,则返回的response为空。
// putObjectRequest.setProcess("true");
// // 创建PutObject请求。
// PutObjectResult result = ossClient.putObject(putObjectRequest);
// // 如果上传成功,则返回200。
//// System.out.println(result.getResponse().getUri());
// uploadFileVO.setUrl(result.getResponse().getUri());
// } catch (Exception oe) {
// oe.printStackTrace();
// } finally {
// if (ossClient != null) {
// ossClient.shutdown();
// }
// }
// return ResponseData.generateCreatedResponse(0, uploadFileVO);
// }
@PostMapping("uploadFile") @PostMapping("uploadFile")
@ApiOperation("分片上传") @ApiOperation("分片上传")
public ResponseVO fenpian(@RequestParam("file") MultipartFile file) { public ResponseVO fenpian(@RequestParam("file") MultipartFile file) {
...@@ -181,6 +146,7 @@ public class OssController { ...@@ -181,6 +146,7 @@ public class OssController {
// 完成分片上传。 // 完成分片上传。
CompleteMultipartUploadResult completeMultipartUploadResult = ossClient.completeMultipartUpload(completeMultipartUploadRequest); CompleteMultipartUploadResult completeMultipartUploadResult = ossClient.completeMultipartUpload(completeMultipartUploadRequest);
uploadFileVO.setUrl(completeMultipartUploadResult.getLocation().replace("http","https")); uploadFileVO.setUrl(completeMultipartUploadResult.getLocation().replace("http","https"));
uploadFileVO.setRequestId(completeMultipartUploadResult.getRequestId());
System.out.println(completeMultipartUploadResult.getLocation()); System.out.println(completeMultipartUploadResult.getLocation());
} catch (OSSException oe) { } catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, " System.out.println("Caught an OSSException, which means your request made it to OSS, "
...@@ -189,11 +155,13 @@ public class OssController { ...@@ -189,11 +155,13 @@ public class OssController {
System.out.println("Error Code:" + oe.getErrorCode()); System.out.println("Error Code:" + oe.getErrorCode());
System.out.println("Request ID:" + oe.getRequestId()); System.out.println("Request ID:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId()); System.out.println("Host ID:" + oe.getHostId());
oe.printStackTrace();
} catch (ClientException ce) { } catch (ClientException ce) {
System.out.println("Caught an ClientException, which means the client encountered " System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, " + "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network."); + "such as not being able to access the network.");
System.out.println("Error Message:" + ce.getMessage()); System.out.println("Error Message:" + ce.getMessage());
ce.printStackTrace();
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
......
package com.zhongzhi.controller; package com.zhongzhi.controller;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.service.PermissionsService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api; 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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -17,4 +23,14 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -17,4 +23,14 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/permissions") @RequestMapping("/permissions")
public class PermissionsController { public class PermissionsController {
@Autowired
private PermissionsService permissionsService;
@PostMapping("allPermissions")
@ApiOperation("所有权限")
public ResponseVO allPermissions(){
return ResponseData.generateCreatedResponse(0,permissionsService.allPermissions());
}
} }
...@@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/** /**
* <p> * <p>
* 项目表 前端控制器 * 项目表 前端控制器
...@@ -350,7 +352,6 @@ public class ProjectController { ...@@ -350,7 +352,6 @@ public class ProjectController {
projectService.exportProjectAllProgress(projectCollegeListDTO); projectService.exportProjectAllProgress(projectCollegeListDTO);
} }
@PostMapping(value = "/getExportProjectField") @PostMapping(value = "/getExportProjectField")
@LoginRequired({Platform.center}) @LoginRequired({Platform.center})
@ApiOperation("中心端 --- 评审项目字段") @ApiOperation("中心端 --- 评审项目字段")
...@@ -360,7 +361,7 @@ public class ProjectController { ...@@ -360,7 +361,7 @@ public class ProjectController {
@PostMapping(value = "/exportProject") @PostMapping(value = "/exportProject")
@LoginRequired({Platform.center}) @LoginRequired({Platform.center})
@ApiOperation("####中心端 --- 评审项目导出:matchId/赛事ID") @ApiOperation("####中心端 --- 评审项目导出:matchId/赛事ID userId")
public ResponseVO exportProject(@RequestBody ReviewListDTO reviewListDTO) { public ResponseVO exportProject(@RequestBody ReviewListDTO reviewListDTO) {
projectService.exportProjectReview(reviewListDTO); projectService.exportProjectReview(reviewListDTO);
return ResponseData.generateCreatedResponse(0); return ResponseData.generateCreatedResponse(0);
...@@ -422,8 +423,8 @@ public class ProjectController { ...@@ -422,8 +423,8 @@ public class ProjectController {
// } // }
@PostMapping(value = "getDataOverview") @PostMapping(value = "getDataOverview")
@LoginRequired({Platform.center}) // @LoginRequired({Platform.center})
@ApiOperation("####中心端 --- 数据概览 matchId") @ApiOperation("[立信]中心端 --- 数据概览 matchId")
public ResponseVO getDataOverview(@RequestBody DataOverviewDTO dataOverviewDTO) { public ResponseVO getDataOverview(@RequestBody DataOverviewDTO dataOverviewDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalDataOverview(dataOverviewDTO)); return ResponseData.generateCreatedResponse(0, projectService.getVocationalDataOverview(dataOverviewDTO));
} }
...@@ -537,7 +538,6 @@ public class ProjectController { ...@@ -537,7 +538,6 @@ public class ProjectController {
/* -- 管理端 -- */ /* -- 管理端 -- */
@PostMapping(value = "/getVocationalProjectPage") @PostMapping(value = "/getVocationalProjectPage")
@LoginRequired(Platform.center)
@ApiOperation("####中心端 --- 分页查询职教赛道项目管理:matchId/赛事ID,projectGroup/项目组别、赛道 projectTrack、projectSchedule/项目进度(全部项目传空字符串、校内赛、市级初赛、市级复赛、市级决赛), " + @ApiOperation("####中心端 --- 分页查询职教赛道项目管理:matchId/赛事ID,projectGroup/项目组别、赛道 projectTrack、projectSchedule/项目进度(全部项目传空字符串、校内赛、市级初赛、市级复赛、市级决赛), " +
"projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数") "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
public ResponseVO getVocationalProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) { public ResponseVO getVocationalProjectPage(@RequestBody ProjectListPageDTO projectListPageDTO) {
...@@ -545,7 +545,6 @@ public class ProjectController { ...@@ -545,7 +545,6 @@ public class ProjectController {
} }
@PostMapping(value = "updateAllEditStatus") @PostMapping(value = "updateAllEditStatus")
@LoginRequired(Platform.center)
@ApiOperation("中心端 --- 更新所有编辑状态:matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、editStatus/状态(0:关闭,1:开启)") @ApiOperation("中心端 --- 更新所有编辑状态:matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、editStatus/状态(0:关闭,1:开启)")
public ResponseVO updateAllEditStatus(@RequestBody EditStatusDTO editStatusDTO) { public ResponseVO updateAllEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
projectService.updateAllEditStatus(editStatusDTO); projectService.updateAllEditStatus(editStatusDTO);
...@@ -553,7 +552,6 @@ public class ProjectController { ...@@ -553,7 +552,6 @@ public class ProjectController {
} }
@PostMapping(value = "batchUpdateEditStatus") @PostMapping(value = "batchUpdateEditStatus")
@LoginRequired(Platform.center)
@ApiOperation("中心端 --- 批量更新编辑状态:ids/项目ID(数组)、editStatus/状态(0:关闭,1:开启)") @ApiOperation("中心端 --- 批量更新编辑状态:ids/项目ID(数组)、editStatus/状态(0:关闭,1:开启)")
public ResponseVO batchUpdateEditStatus(@RequestBody EditStatusDTO editStatusDTO) { public ResponseVO batchUpdateEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
projectService.batchUpdateEditStatus(editStatusDTO); projectService.batchUpdateEditStatus(editStatusDTO);
...@@ -561,7 +559,6 @@ public class ProjectController { ...@@ -561,7 +559,6 @@ public class ProjectController {
} }
@PostMapping(value = "updateEditStatus") @PostMapping(value = "updateEditStatus")
@LoginRequired(Platform.center)
@ApiOperation("中心端 --- 更新编辑状态:id/项目ID、editStatus/状态(0:关闭,1:开启)") @ApiOperation("中心端 --- 更新编辑状态:id/项目ID、editStatus/状态(0:关闭,1:开启)")
public ResponseVO updateEditStatus(@RequestBody EditStatusDTO editStatusDTO) { public ResponseVO updateEditStatus(@RequestBody EditStatusDTO editStatusDTO) {
projectService.updateEditStatus(editStatusDTO); projectService.updateEditStatus(editStatusDTO);
...@@ -569,31 +566,29 @@ public class ProjectController { ...@@ -569,31 +566,29 @@ public class ProjectController {
} }
@PostMapping(value = "/getVocationalReviewList") @PostMapping(value = "/getVocationalReviewList")
@LoginRequired({Platform.center}) @ApiOperation("####中心端 --- 职教评审列表:projectGroup/组别、projectName/搜索项目或院校、 projectSchedule/项目状态(市级初赛、市级复赛、市级决赛)、projectReview/评审分配状态(已分配/未分配)、" +
@ApiOperation("####中心端 --- 职教评审列表:projectGroup/组别、projectName/搜索项目或院校、 projectStatus/项目状态(市级初赛、市级复赛、市级决赛)、projectReview/评审分配状态(已分配/未分配)、" +
"pageNo/当前页数、pageSize/每页显示条数") "pageNo/当前页数、pageSize/每页显示条数")
public ResponseVO getVocationalReviewList(@RequestBody ReviewListDTO reviewListDTO) { public ResponseVO getVocationalReviewList(@RequestBody ReviewListDTO reviewListDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewList(reviewListDTO)); return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewList(reviewListDTO));
} }
@PostMapping(value = "/getVocationalProjectDetail") @PostMapping(value = "/getVocationalProjectDetail")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("####中心端/院校端 --- 职教赛道项目详情:id/项目ID") @ApiOperation("####中心端/院校端 --- 职教赛道项目详情:id/项目ID")
@LoginRequired({Platform.center,Platform.school,Platform.review})
public ResponseVO getVocationalProjectDetail(@RequestBody ProjectDO projectDO) { public ResponseVO getVocationalProjectDetail(@RequestBody ProjectDO projectDO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectDetail(projectDO.getId())); return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectDetail(projectDO.getId()));
} }
/* -- 院校端 -- */ /* -- 院校端 -- */
@PostMapping(value = "/getVocationalProjectList") @PostMapping(value = "/getVocationalProjectList")
@LoginRequired(Platform.school)
@ApiOperation("院校端 --- 分页查询职教赛道项目:matchId/赛事ID,projectGroup/项目组别、projectSchedule/项目进度(全部项目传空字符串、校内赛、初赛、复赛、决赛), " + @ApiOperation("院校端 --- 分页查询职教赛道项目:matchId/赛事ID,projectGroup/项目组别、projectSchedule/项目进度(全部项目传空字符串、校内赛、初赛、复赛、决赛), " +
"projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数") "projectStatus/项目状态, itemField/领域, name/搜名称, pageNo/当前页数 、pageSize/每页显示条数")
@LoginRequired({Platform.center,Platform.school})
public ResponseVO getVocationalProjectList(@RequestBody ProjectListPageDTO projectListPageDTO) { public ResponseVO getVocationalProjectList(@RequestBody ProjectListPageDTO projectListPageDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectList(projectListPageDTO)); return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectList(projectListPageDTO));
} }
@PostMapping(value = "getReviewVocationalNum") @PostMapping(value = "getReviewVocationalNum")
@LoginRequired(Platform.review)
@ApiOperation("评审端 --- (职教)项目数量: matchId/赛事ID、projectGroup/项目组别、 projectSchedule/赛事状态 projectJudgeId") @ApiOperation("评审端 --- (职教)项目数量: matchId/赛事ID、projectGroup/项目组别、 projectSchedule/赛事状态 projectJudgeId")
public ResponseVO getReviewVocationalNum(@RequestBody ReviewVocationalNumDTO reviewVocationalNumDTO) { public ResponseVO getReviewVocationalNum(@RequestBody ReviewVocationalNumDTO reviewVocationalNumDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getReviewVocationalNum(reviewVocationalNumDTO)); return ResponseData.generateCreatedResponse(0, projectService.getReviewVocationalNum(reviewVocationalNumDTO));
...@@ -601,28 +596,26 @@ public class ProjectController { ...@@ -601,28 +596,26 @@ public class ProjectController {
/* -- 评审端 -- */ /* -- 评审端 -- */
@PostMapping(value = "/getVocationalProjectReviewPage") @PostMapping(value = "/getVocationalProjectReviewPage")
@LoginRequired({Platform.review})
@ApiOperation("评审端 ---职教评审项目分页查询:matchId/赛事年份ID、projectSchedule/项目进度(初赛、复赛、决赛)、status/状态(待评审, 已评审)、projectGroup/项目组别、projectName/搜索名称、pageNo/当前页数、pageSize/每页显示条数") @ApiOperation("评审端 ---职教评审项目分页查询:matchId/赛事年份ID、projectSchedule/项目进度(初赛、复赛、决赛)、status/状态(待评审, 已评审)、projectGroup/项目组别、projectName/搜索名称、pageNo/当前页数、pageSize/每页显示条数")
@LoginRequired({Platform.center,Platform.school,Platform.review})
public ResponseVO getVocationalProjectReviewPage(@RequestBody ProjectReviewPageDTO projectReviewPageDTO) { public ResponseVO getVocationalProjectReviewPage(@RequestBody ProjectReviewPageDTO projectReviewPageDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectReviewPage(projectReviewPageDTO)); return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectReviewPage(projectReviewPageDTO));
} }
@PostMapping(value = "getVocationalProjectNum") @PostMapping(value = "getVocationalProjectNum")
@LoginRequired({Platform.center, Platform.school, Platform.review}) @LoginRequired({Platform.school, Platform.center, Platform.student})
@ApiOperation("####中心端/院校端 --- (职教)项目管理数量: matchId/赛事ID、projectGroup/项目组别") @ApiOperation("####中心端/院校端 --- (职教)项目管理数量: matchId/赛事ID、projectGroup/项目组别")
public ResponseVO getVocationalProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) { public ResponseVO getVocationalProjectNum(@RequestBody SeedTrackProjectNumDTO seedTrackProjectNumDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectNum(seedTrackProjectNumDTO)); return ResponseData.generateCreatedResponse(0, projectService.getVocationalProjectNum(seedTrackProjectNumDTO));
} }
@PostMapping(value = "/getVocationalReviewNum") @PostMapping(value = "/getVocationalReviewNum")
@LoginRequired({Platform.center}) @ApiOperation("####中心端 --- 职教评审列表(已评审 + 待评审)项目数量统计:matchId/赛事年份ID、, projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
@ApiOperation("####中心端 --- 职教评审列表(已评审 + 待评审)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
public ResponseVO getVocationalReviewNum(@RequestBody ReviewListDTO reviewListDTO) { public ResponseVO getVocationalReviewNum(@RequestBody ReviewListDTO reviewListDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewNum(reviewListDTO)); return ResponseData.generateCreatedResponse(0, projectService.getVocationalReviewNum(reviewListDTO));
} }
@PostMapping(value = "/getVocationalAssignNum") @PostMapping(value = "/getVocationalAssignNum")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 职教评审分配(已分配 + 未分配)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)") @ApiOperation("中心端 --- 职教评审分配(已分配 + 未分配)项目数量统计:matchId/赛事年份ID、projectGroup/组别(高职、中职), projectStatus/项目进度(校级申请项目、市级初赛项目、市级复赛项目、市级 决赛项目)")
public ResponseVO getVocationalAssignNum(@RequestBody ReviewListDTO reviewListDTO) { public ResponseVO getVocationalAssignNum(@RequestBody ReviewListDTO reviewListDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getVocationalAssignNum(reviewListDTO)); return ResponseData.generateCreatedResponse(0, projectService.getVocationalAssignNum(reviewListDTO));
...@@ -637,20 +630,21 @@ public class ProjectController { ...@@ -637,20 +630,21 @@ public class ProjectController {
@PostMapping(value = "importProjectByGroup") @PostMapping(value = "importProjectByGroup")
@ApiOperation("中心端/院校端 ---excel 数据预览导出市级初赛/市级复赛项目: projectGroup/项目组别") @ApiOperation("中心端/院校端 ---excel 数据预览导出市级初赛/市级复赛项目: projectGroup/项目组别")
@LoginRequired({ Platform.center, Platform.school })
public void importProjectByGroup(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) { public void importProjectByGroup(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) {
projectService.importProjectByGroup(importVocationalProjectDTO); projectService.importProjectByGroup(importVocationalProjectDTO);
} }
@PostMapping("exportProjectByGroup") @PostMapping("exportProjectByGroup")
@ApiOperation("中心端/院校端 ---pdf 数据预览导出市级初赛/市级复赛项目: projectGroup/项目组别 matchId") @ApiOperation("中心端/院校端 ---pdf 数据预览导出市级初赛/市级复赛项目: projectGroup/项目组别 matchId")
// @LoginRequired({ Platform.center, Platform.school })
public void exportProjectByGroup(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) { public void exportProjectByGroup(@RequestBody ImportVocationalProjectDTO importVocationalProjectDTO) {
projectService.exportProjectByGroup(importVocationalProjectDTO); projectService.exportProjectByGroup(importVocationalProjectDTO);
} }
@PostMapping("exportPlanMemberImages")
@ApiOperation("导出这个计划学生的所有图片 ")
public void exportPlanMemberImages(@RequestBody ProjectDO projectDO, HttpServletResponse response){
projectService.exportFiles(projectDO,response);
}
} }
\ No newline at end of file
...@@ -32,14 +32,12 @@ public class ProjectReviewPeriodController { ...@@ -32,14 +32,12 @@ public class ProjectReviewPeriodController {
private ProjectReviewPeriodService projectReviewPeriodService; private ProjectReviewPeriodService projectReviewPeriodService;
@PostMapping(value = "/getProjectReviewPeriod") @PostMapping(value = "/getProjectReviewPeriod")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("####中心端(种子赛道、职教赛道) --- 查询评审时间:matchId/赛事年份ID、projectGroup/项目组别(科技创新组、红色文创组、高职、中职)、projectSchedule/项目进度(市级初赛、市级复赛、市级决赛)") @ApiOperation("####中心端(种子赛道、职教赛道) --- 查询评审时间:matchId/赛事年份ID、projectGroup/项目组别(科技创新组、红色文创组、高职、中职)、projectSchedule/项目进度(市级初赛、市级复赛、市级决赛)")
public ResponseVO getProjectReviewPeriod(@RequestBody ProjectReviewPeriodDTO projectReviewPeriodDTO) { public ResponseVO getProjectReviewPeriod(@RequestBody ProjectReviewPeriodDTO projectReviewPeriodDTO) {
return ResponseData.generateCreatedResponse(0, projectReviewPeriodService.getProjectReviewPeriod(projectReviewPeriodDTO)); return ResponseData.generateCreatedResponse(0, projectReviewPeriodService.getProjectReviewPeriod(projectReviewPeriodDTO));
} }
@PostMapping(value = "/updateProjectReviewPeriod") @PostMapping(value = "/updateProjectReviewPeriod")
@LoginRequired(Platform.center)
@ApiOperation("中心端 --- 修改评审时间:id/ID、matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、startTime/开始时间、endTime/结束时间") @ApiOperation("中心端 --- 修改评审时间:id/ID、matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、startTime/开始时间、endTime/结束时间")
public ResponseVO updateProjectReviewPeriod(@RequestBody ProjectReviewPeriodDO projectReviewPeriodDO) { public ResponseVO updateProjectReviewPeriod(@RequestBody ProjectReviewPeriodDO projectReviewPeriodDO) {
projectReviewPeriodService.updateProjectReviewPeriod(projectReviewPeriodDO); projectReviewPeriodService.updateProjectReviewPeriod(projectReviewPeriodDO);
......
package com.zhongzhi.controller;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.service.ProjectTrackService;
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 2025-03-28
*/
@RestController
@RequestMapping("/projectTrack")
@Api(tags = "赛道")
public class ProjectTrackController {
@Autowired
private ProjectTrackService projectTrackService;
@PostMapping("allTracks")
@ApiOperation("查询所有赛道 ")
public ResponseVO allTracks(){
return ResponseData.generateCreatedResponse(0,projectTrackService.list());
}
}
package com.zhongzhi.dao; package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhongzhi.model.AdministerDO; import com.zhongzhi.model.AdministerDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.administer.GetAdministerPageVO;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
...@@ -15,4 +17,8 @@ import org.springframework.stereotype.Repository; ...@@ -15,4 +17,8 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface AdministerDAO extends BaseMapper<AdministerDO> { public interface AdministerDAO extends BaseMapper<AdministerDO> {
IPage<GetAdministerPageVO> getAdministerPage(IPage iPage, String listItem, String username);
void updateAdminister(AdministerDO administerDO);
} }
package com.zhongzhi.dao;
import com.zhongzhi.model.AdministerTrackMappingDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.model.ProjectTrackDO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 赛道管理员映射表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
@Repository
public interface AdministerTrackMappingDAO extends BaseMapper<AdministerTrackMappingDO> {
List<ProjectTrackDO> administerTracks(Long userId);
}
...@@ -7,6 +7,7 @@ import com.zhongzhi.model.CollegesDictDO; ...@@ -7,6 +7,7 @@ import com.zhongzhi.model.CollegesDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.college.AwardedListVO; import com.zhongzhi.vo.college.AwardedListVO;
import com.zhongzhi.vo.college.CollegePageVO; import com.zhongzhi.vo.college.CollegePageVO;
import com.zhongzhi.vo.college.GetCollegeInfoVO;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
...@@ -27,4 +28,7 @@ public interface CollegesDictDAO extends BaseMapper<CollegesDictDO> { ...@@ -27,4 +28,7 @@ public interface CollegesDictDAO extends BaseMapper<CollegesDictDO> {
IPage<AwardedListVO> getAwardedList(Page page, String name); IPage<AwardedListVO> getAwardedList(Page page, String name);
List<AwardedListVO> getAwardedListAll(); List<AwardedListVO> getAwardedListAll();
List<GetCollegeInfoVO> getCollegeInfo(String name);
} }
...@@ -23,5 +23,5 @@ public interface MatchDictDAO extends BaseMapper<MatchDictDO> { ...@@ -23,5 +23,5 @@ public interface MatchDictDAO extends BaseMapper<MatchDictDO> {
IPage<MatchDictVO> getSeedTrackMatchPage(Page page); IPage<MatchDictVO> getSeedTrackMatchPage(Page page);
List<MatchDictDO> getList(@Param("projectType") String projectType, @Param("projectGroup") String projectGroup); // List<MatchDictDO> getList(@Param("projectType") String projectType, @Param("projectGroup") String projectGroup);
} }
...@@ -29,9 +29,9 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> { ...@@ -29,9 +29,9 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> {
IPage<SeedTrackProjectPageVO> getSeedTrackProjectPage(Page page, Long matchId, String projectGroup,String projectTrack, @Param("type") String type, IPage<SeedTrackProjectPageVO> getSeedTrackProjectPage(Page page, Long matchId, String projectGroup,String projectTrack, @Param("type") String type,
@Param("school") String school, String projectSchedule, @Param("school") String school, String projectSchedule,
String projectStatus, String itemField, @Param("name") String name,@Param("projectProgress") String projectProgress); String projectStatus, String itemField, @Param("name") String name,@Param("projectProgress") String projectProgress,Long userId,String college);
IPage<ReviewListVO> getReviewList(Page page, String projectName, String projectGroup, String projectReview, Long matchId, String projectStatus, String projectAssigned,String projectProgress); IPage<ReviewListVO> getReviewList(Page page, String projectName, String projectGroup, String projectReview, Long matchId, String projectSchedule, String projectAssigned,String projectProgress,String projectTrack,Long userId,String college);
IPage<ProjectPageVO> getProjectReviewPage(Page page, Long judgeId, Long matchId, String projectName, String projectSchedule, String projectReview, String projectGroup,String projectProgress); IPage<ProjectPageVO> getProjectReviewPage(Page page, Long judgeId, Long matchId, String projectName, String projectSchedule, String projectReview, String projectGroup,String projectProgress);
...@@ -39,7 +39,7 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> { ...@@ -39,7 +39,7 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> {
List<ProjectDO> getProjectByCollege(Long matchId, @Param("name") String name, 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> getSeedTrackProjectList(Long matchId, String projectGroup, @Param("name") String name,@Param("projectProgress")String projectProgress,Long userId,String college);
List<ProjectDO> selectListByCollege(String projectType, String projectGroup, @Param("name") String name); List<ProjectDO> selectListByCollege(String projectType, String projectGroup, @Param("name") String name);
...@@ -54,4 +54,10 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> { ...@@ -54,4 +54,10 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> {
List<ProjectDO> projects(Long matchId,Long collegeId,String college); List<ProjectDO> projects(Long matchId,Long collegeId,String college);
Integer collegeNum(); Integer collegeNum();
List<ProjectDO> getVocationalReviewNum(Long userId,Long matchId,String college);
List<ProjectDO> getVocationalAssignNum(Long userId,Long matchId,String college);
List<ProjectDO> exportProjectReview(Long userId,Long matchId,String projectSchedule,String college);
} }
...@@ -19,7 +19,7 @@ import org.springframework.stereotype.Repository; ...@@ -19,7 +19,7 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public interface ProjectJudgeDAO extends BaseMapper<ProjectJudgeDO> { public interface ProjectJudgeDAO extends BaseMapper<ProjectJudgeDO> {
IPage<ProjectJudgePageVO> getProjectJudgePage(Page page, String username, Integer status); IPage<ProjectJudgePageVO> getProjectJudgePage(Page page, String username, Integer status,String projectTrack);
IPage<ProjectJudgePageVO> projectJudgesAssigned(Page page, @Param("matchId") Long matchId, @Param("projectGroup") String projectGroup, @Param("projectSchedule") String projectSchedule); 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.ProjectTrackDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 赛道字典表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
public interface ProjectTrackDAO extends BaseMapper<ProjectTrackDO> {
}
package com.zhongzhi.dto.administer;
import lombok.Data;
@Data
public class AdministerTracksDTO {
private Long userId;
}
package com.zhongzhi.dto.administer;
import com.zhongzhi.model.AdministerDO;
import lombok.Data;
import java.util.List;
@Data
public class CreateAdministerDTO extends AdministerDO {
private List<Long> trackIds;
private List<Long> permissionIds;
}
package com.zhongzhi.dto.college;
import lombok.Data;
@Data
public class GetCollegesListDTO {
private Integer pageSize;
private Integer pageNum;
private String name;
}
...@@ -9,6 +9,8 @@ public class ProjectJudgePageDTO { ...@@ -9,6 +9,8 @@ public class ProjectJudgePageDTO {
private String projectGroup; private String projectGroup;
private String projectTrack;
private String projectSchedule; private String projectSchedule;
private String username; private String username;
......
...@@ -13,32 +13,35 @@ public class ExportProjectDTO { ...@@ -13,32 +13,35 @@ public class ExportProjectDTO {
private String projectName; private String projectName;
@ExcelColumn(col = 3, value = "组别") @ExcelColumn(col = 3, value = "组别")
private String projectProgress; private String projectGroup;
@ExcelColumn(col = 4, value = "负责人") @ExcelColumn(col = 4, value = "赛道")
private String projectTrack;
@ExcelColumn(col = 5, value = "单元赛道")
private String unitTrack;
@ExcelColumn(col = 6, value = "负责人")
private String name; private String name;
@ExcelColumn(col = 5, value = "院校") @ExcelColumn(col = 7, value = "院校")
private String college; private String college;
@ExcelColumn(col = 6, value = "学籍号") @ExcelColumn(col = 8, value = "专业")
private String studentNo;
@ExcelColumn(col = 7, value = "专业")
private String major; private String major;
@ExcelColumn(col = 8, value = "手机号") @ExcelColumn(col = 9, value = "手机号")
private String telephone; private String telephone;
@ExcelColumn(col = 9, value = "团队成员") @ExcelColumn(col = 10, value = "团队成员")
private String teamMembers; private String teamMembers;
@ExcelColumn(col = 10, value = "指导老师") @ExcelColumn(col = 11, value = "指导老师")
private String teachers; private String teachers;
@ExcelColumn(col = 11, value = "项目阶段") @ExcelColumn(col = 12, value = "项目阶段")
private String projectSchedule; private String projectSchedule;
@ExcelColumn(col = 12, value = "项目状态") @ExcelColumn(col = 13, value = "项目状态")
private String projectStatus; private String projectStatus;
} }
...@@ -15,5 +15,7 @@ public class ProjectCollegeListDTO { ...@@ -15,5 +15,7 @@ public class ProjectCollegeListDTO {
private Long matchId; private Long matchId;
private Long userId;
private String projectProgress; private String projectProgress;
} }
...@@ -24,4 +24,6 @@ public class ProjectListPageDTO { ...@@ -24,4 +24,6 @@ public class ProjectListPageDTO {
private Integer pageNo; private Integer pageNo;
private Integer pageSize; private Integer pageSize;
private Long userId;
} }
...@@ -30,7 +30,11 @@ public class ReviewListDTO { ...@@ -30,7 +30,11 @@ public class ReviewListDTO {
private String projectAssigned; private String projectAssigned;
private String projectTrack;
private String projectSchedule; private String projectSchedule;
private String projectProgress; private String projectProgress;
private Long userId;
} }
...@@ -12,4 +12,6 @@ public class ReviewVocationalNumDTO { ...@@ -12,4 +12,6 @@ public class ReviewVocationalNumDTO {
private String projectStatus; private String projectStatus;
private Long projectJudgeId; private Long projectJudgeId;
private String projectSchedule;
} }
...@@ -10,4 +10,6 @@ public class SeedTrackProjectNumDTO { ...@@ -10,4 +10,6 @@ public class SeedTrackProjectNumDTO {
private String projectGroup; private String projectGroup;
private String projectProgress; private String projectProgress;
private Long userId;
} }
...@@ -50,4 +50,6 @@ public class AdministerDO extends BaseModel { ...@@ -50,4 +50,6 @@ public class AdministerDO extends BaseModel {
* 角色 * 角色
*/ */
private String role; private String role;
private String college;
} }
package com.zhongzhi.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.zhongzhi.model.base.BaseModel;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 赛道管理员映射表
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("administer_track_mapping")
public class AdministerTrackMappingDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private Long administerId;
private Long trackId;
}
...@@ -158,5 +158,8 @@ public class ProjectDO extends BaseModel { ...@@ -158,5 +158,8 @@ public class ProjectDO extends BaseModel {
private Integer editStatus; private Integer editStatus;
private String aboveProvinceReward;
private String rewardUrl;
} }
...@@ -70,4 +70,6 @@ public class ProjectJudgeDO extends BaseModel { ...@@ -70,4 +70,6 @@ public class ProjectJudgeDO extends BaseModel {
private Integer passwordFree; private Integer passwordFree;
private String projectTrack;
} }
package com.zhongzhi.model;
import com.zhongzhi.model.base.BaseModel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 赛道字典表
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("project_track")
public class ProjectTrackDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String projectTrack;
}
...@@ -20,4 +20,6 @@ public interface AdministerService extends IService<AdministerDO> { ...@@ -20,4 +20,6 @@ public interface AdministerService extends IService<AdministerDO> {
AdministerVO login(LoginDTO loginDTO); AdministerVO login(LoginDTO loginDTO);
IPage getAdministerPage(AdministerPageDTO administerPageDTO); IPage getAdministerPage(AdministerPageDTO administerPageDTO);
void updateAdminister(AdministerDO administerDO);
} }
package com.zhongzhi.service;
import com.zhongzhi.dto.administer.AdministerTracksDTO;
import com.zhongzhi.model.AdministerTrackMappingDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhongzhi.model.ProjectTrackDO;
import java.util.List;
/**
* <p>
* 赛道管理员映射表 服务类
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
public interface AdministerTrackMappingService extends IService<AdministerTrackMappingDO> {
List<ProjectTrackDO> administerTracks(AdministerTracksDTO administerTracksDTO);
}
...@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhongzhi.dto.college.*; import com.zhongzhi.dto.college.*;
import com.zhongzhi.model.*; import com.zhongzhi.model.*;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhongzhi.vo.college.CollegesVO; import com.zhongzhi.vo.college.*;
import com.zhongzhi.vo.college.DetailVO;
import com.zhongzhi.vo.college.RegisterMembersVO;
import com.zhongzhi.vo.college.SchoolsVO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
...@@ -23,6 +20,8 @@ import java.util.Map; ...@@ -23,6 +20,8 @@ import java.util.Map;
*/ */
public interface CollegesDictService extends IService<CollegesDictDO> { public interface CollegesDictService extends IService<CollegesDictDO> {
List<GetCollegeInfoVO> getCollegeInfo(GetCollegesListDTO getCollegesListDTO);
CollegesVO login(LoginDTO loginDTO); CollegesVO login(LoginDTO loginDTO);
IPage getCollegesPage(CollegesPageDTO collegesPageDTO); IPage getCollegesPage(CollegesPageDTO collegesPageDTO);
......
...@@ -30,7 +30,7 @@ public interface MatchDictService extends IService<MatchDictDO> { ...@@ -30,7 +30,7 @@ public interface MatchDictService extends IService<MatchDictDO> {
List<MatchDictDO> getMatch(); List<MatchDictDO> getMatch();
List<MatchDictDO> getList(String projectType, String projectGroup); // List<MatchDictDO> getList(String projectType, String projectGroup);
IPage getVocationalPage(SelectListPageDTO selectListPageDTO); IPage getVocationalPage(SelectListPageDTO selectListPageDTO);
......
...@@ -17,4 +17,7 @@ import java.util.List; ...@@ -17,4 +17,7 @@ import java.util.List;
public interface PermissionsService extends IService<PermissionsDO> { public interface PermissionsService extends IService<PermissionsDO> {
List<PermissionVO> getPermissionById(Long id); List<PermissionVO> getPermissionById(Long id);
List<PermissionVO> allPermissions();
} }
...@@ -13,6 +13,7 @@ import com.zhongzhi.vo.ExcelFieldVO; ...@@ -13,6 +13,7 @@ import com.zhongzhi.vo.ExcelFieldVO;
import com.zhongzhi.vo.member.ProjectMemberVO; import com.zhongzhi.vo.member.ProjectMemberVO;
import com.zhongzhi.vo.project.*; import com.zhongzhi.vo.project.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
/** /**
...@@ -165,5 +166,7 @@ public interface ProjectService extends IService<ProjectDO> { ...@@ -165,5 +166,7 @@ public interface ProjectService extends IService<ProjectDO> {
void exportProjectByGroup(ImportVocationalProjectDTO importVocationalProjectDTO); void exportProjectByGroup(ImportVocationalProjectDTO importVocationalProjectDTO);
void exportFiles(ProjectDO projectDO, HttpServletResponse response);
// ProjectDataOverview getCollegeVocationalDataOverview(); // ProjectDataOverview getCollegeVocationalDataOverview();
} }
package com.zhongzhi.service;
import com.zhongzhi.model.ProjectTrackDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 赛道字典表 服务类
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
public interface ProjectTrackService extends IService<ProjectTrackDO> {
}
...@@ -7,16 +7,18 @@ import com.zhongzhi.common.constant.Platform; ...@@ -7,16 +7,18 @@ import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.constant.SmsCode; import com.zhongzhi.common.constant.SmsCode;
import com.zhongzhi.common.exception.HttpException; import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.JwtUtil; import com.zhongzhi.common.utils.JwtUtil;
import com.zhongzhi.dao.AdministerPermissionDAO;
import com.zhongzhi.dao.AdministerTrackMappingDAO;
import com.zhongzhi.dto.administer.AdministerPageDTO; import com.zhongzhi.dto.administer.AdministerPageDTO;
import com.zhongzhi.dto.administer.LoginDTO; import com.zhongzhi.dto.administer.LoginDTO;
import com.zhongzhi.model.AdministerDO; import com.zhongzhi.model.*;
import com.zhongzhi.dao.AdministerDAO; import com.zhongzhi.dao.AdministerDAO;
import com.zhongzhi.model.SmsCodeDO;
import com.zhongzhi.service.AdministerService; import com.zhongzhi.service.AdministerService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.service.PermissionsService; import com.zhongzhi.service.PermissionsService;
import com.zhongzhi.service.SmsCodeService; import com.zhongzhi.service.SmsCodeService;
import com.zhongzhi.vo.administer.AdministerVO; import com.zhongzhi.vo.administer.AdministerVO;
import com.zhongzhi.vo.administer.GetAdministerPageVO;
import com.zhongzhi.vo.permission.PermissionVO; import com.zhongzhi.vo.permission.PermissionVO;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -42,6 +44,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer ...@@ -42,6 +44,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer
@Autowired @Autowired
private PermissionsService permissionsService; private PermissionsService permissionsService;
@Autowired
private AdministerTrackMappingDAO administerTrackMappingDAO;
@Autowired
private AdministerPermissionDAO administerPermissionDAO;
@Override @Override
public AdministerVO login(LoginDTO loginDTO) { public AdministerVO login(LoginDTO loginDTO) {
AdministerVO administerVO = new AdministerVO(); AdministerVO administerVO = new AdministerVO();
...@@ -66,6 +74,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer ...@@ -66,6 +74,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer
BeanUtils.copyProperties(administerDO, administerVO); BeanUtils.copyProperties(administerDO, administerVO);
String token = JwtUtil.generateToken(administerDO.getId(), Platform.center); String token = JwtUtil.generateToken(administerDO.getId(), Platform.center);
administerVO.setToken(token); administerVO.setToken(token);
administerVO.setId(administerDO.getId());
List<PermissionVO> list = permissionsService.getPermissionById(administerDO.getId()); List<PermissionVO> list = permissionsService.getPermissionById(administerDO.getId());
List<PermissionVO> treeList = new ArrayList(); List<PermissionVO> treeList = new ArrayList();
...@@ -92,9 +101,41 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer ...@@ -92,9 +101,41 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer
@Override @Override
public IPage getAdministerPage(AdministerPageDTO administerPageDTO) { public IPage getAdministerPage(AdministerPageDTO administerPageDTO) {
Page page = new Page(administerPageDTO.getPageNo(), administerPageDTO.getPageSize()); Page page = new Page(administerPageDTO.getPageNo(), administerPageDTO.getPageSize());
return this.baseMapper.selectPage(page, new QueryWrapper<AdministerDO>()
.lambda() IPage<GetAdministerPageVO> page1 = this.baseMapper.getAdministerPage(page,administerPageDTO.getListItem(),administerPageDTO.getUsername());
.eq(AdministerDO::getRole, administerPageDTO.getListItem()) List<GetAdministerPageVO> records = page1.getRecords();
.like(AdministerDO::getUsername, administerPageDTO.getUsername())); for (GetAdministerPageVO getAdministerPageVO : records){
List<AdministerTrackMappingDO> administerTrackMappingDOS = administerTrackMappingDAO.selectList(new QueryWrapper<AdministerTrackMappingDO>()
.lambda()
.eq(AdministerTrackMappingDO::getAdministerId,getAdministerPageVO.getId()));
getAdministerPageVO.setAdministerTrackMappingDOS(administerTrackMappingDOS);
List<PermissionVO> list = permissionsService.getPermissionById(getAdministerPageVO.getId());
List<PermissionVO> treeList = new ArrayList();
list.forEach(permissions -> {
if (permissions.getParentId() == null) {
treeList.add(permissions);
}
list.forEach(p -> {
if (p.getParentId() != null) {
if (p.getParentId().equals(permissions.getId())) {
if (permissions.getChildNodeList() == null) {
permissions.setChildNodeList(new ArrayList<>());
}
permissions.getChildNodeList().add(p);
}
}
});
});
getAdministerPageVO.setAdministerPermissionDOS(treeList);
}
return page1;
}
@Override
public void updateAdminister(AdministerDO administerDO){
this.baseMapper.updateAdminister(administerDO);
} }
} }
package com.zhongzhi.service.impl;
import com.zhongzhi.dto.administer.AdministerTracksDTO;
import com.zhongzhi.model.AdministerTrackMappingDO;
import com.zhongzhi.dao.AdministerTrackMappingDAO;
import com.zhongzhi.model.ProjectTrackDO;
import com.zhongzhi.service.AdministerTrackMappingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 赛道管理员映射表 服务实现类
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
@Service
public class AdministerTrackMappingServiceImpl extends ServiceImpl<AdministerTrackMappingDAO, AdministerTrackMappingDO> implements AdministerTrackMappingService {
@Override
public List<ProjectTrackDO> administerTracks(AdministerTracksDTO administerTracksDTO){
return this.baseMapper.administerTracks(administerTracksDTO.getUserId());
}
}
...@@ -65,6 +65,10 @@ public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, Colleg ...@@ -65,6 +65,10 @@ public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, Colleg
@Autowired @Autowired
private CollegesDictDAO collegesDictDAO; private CollegesDictDAO collegesDictDAO;
public List<GetCollegeInfoVO> getCollegeInfo(GetCollegesListDTO getCollegesListDTO){
return this.baseMapper.getCollegeInfo(getCollegesListDTO.getName());
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CollegesVO login(LoginDTO loginDTO) { public CollegesVO login(LoginDTO loginDTO) {
......
...@@ -156,10 +156,10 @@ public class MatchDictServiceImpl extends ServiceImpl<MatchDictDAO, MatchDictDO> ...@@ -156,10 +156,10 @@ public class MatchDictServiceImpl extends ServiceImpl<MatchDictDAO, MatchDictDO>
return this.baseMapper.selectById(matchDictDO.getId()); return this.baseMapper.selectById(matchDictDO.getId());
} }
@Override // @Override
public List<MatchDictDO> getList(String projectType, String projectGroup) { // public List<MatchDictDO> getList(String projectType, String projectGroup) {
return this.baseMapper.getList(projectType, projectGroup); // return this.baseMapper.getList(projectType, projectGroup);
} // }
@Override @Override
public IPage getVocationalPage(SelectListPageDTO selectListPageDTO) { public IPage getVocationalPage(SelectListPageDTO selectListPageDTO) {
......
...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.vo.permission.PermissionVO; import com.zhongzhi.vo.permission.PermissionVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -24,4 +25,28 @@ public class PermissionsServiceImpl extends ServiceImpl<PermissionsDAO, Permissi ...@@ -24,4 +25,28 @@ public class PermissionsServiceImpl extends ServiceImpl<PermissionsDAO, Permissi
public List<PermissionVO> getPermissionById(Long id) { public List<PermissionVO> getPermissionById(Long id) {
return this.baseMapper.getPermissionById(id); return this.baseMapper.getPermissionById(id);
} }
@Override
public List<PermissionVO> allPermissions(){
List<PermissionVO> list = this.getPermissionById(null);
List<PermissionVO> treeList = new ArrayList();
list.forEach(permissions -> {
if (permissions.getParentId() == null) {
treeList.add(permissions);
}
list.forEach(p -> {
if (p.getParentId() != null) {
if (p.getParentId().equals(permissions.getId())) {
if (permissions.getChildNodeList() == null) {
permissions.setChildNodeList(new ArrayList<>());
}
permissions.getChildNodeList().add(p);
}
}
});
});
return treeList;
}
} }
...@@ -50,7 +50,7 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -50,7 +50,7 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
@Override @Override
public IPage<ProjectJudgePageVO> getProjectJudgePage(ProjectJudgePageDTO projectJudgePageDTO) { public IPage<ProjectJudgePageVO> getProjectJudgePage(ProjectJudgePageDTO projectJudgePageDTO) {
IPage<ProjectJudgePageVO> iPage = this.baseMapper.getProjectJudgePage(new Page(projectJudgePageDTO.getPageNo(), projectJudgePageDTO.getPageSize()), projectJudgePageDTO.getUsername(), projectJudgePageDTO.getStatus()); IPage<ProjectJudgePageVO> iPage = this.baseMapper.getProjectJudgePage(new Page(projectJudgePageDTO.getPageNo(), projectJudgePageDTO.getPageSize()), projectJudgePageDTO.getUsername(), projectJudgePageDTO.getStatus(),projectJudgePageDTO.getProjectTrack());
for (ProjectJudgePageVO record : iPage.getRecords()) { for (ProjectJudgePageVO record : iPage.getRecords()) {
Integer count = projectReviewService.count(new QueryWrapper<ProjectReviewDO>() Integer count = projectReviewService.count(new QueryWrapper<ProjectReviewDO>()
.lambda() .lambda()
...@@ -179,4 +179,5 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -179,4 +179,5 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
} }
ExcelUtil.writeExcel(field, data); ExcelUtil.writeExcel(field, data);
} }
} }
...@@ -27,7 +27,6 @@ public class ProjectReviewPeriodServiceImpl extends ServiceImpl<ProjectReviewPer ...@@ -27,7 +27,6 @@ public class ProjectReviewPeriodServiceImpl extends ServiceImpl<ProjectReviewPer
ProjectReviewPeriodDO projectReviewPeriodDO = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewPeriodDO>() ProjectReviewPeriodDO projectReviewPeriodDO = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda() .lambda()
.eq(ProjectReviewPeriodDO::getMatchId, projectReviewPeriodDTO.getMatchId()) .eq(ProjectReviewPeriodDO::getMatchId, projectReviewPeriodDTO.getMatchId())
.eq(ProjectReviewPeriodDO::getProjectGroup, projectReviewPeriodDTO.getProjectGroup())
.eq(ProjectReviewPeriodDO::getProjectSchedule, projectReviewPeriodDTO.getProjectSchedule())); .eq(ProjectReviewPeriodDO::getProjectSchedule, projectReviewPeriodDTO.getProjectSchedule()));
if (projectReviewPeriodDO != null) { if (projectReviewPeriodDO != null) {
projectReviewPeriodVO.setId(projectReviewPeriodDO.getId()); projectReviewPeriodVO.setId(projectReviewPeriodDO.getId());
...@@ -43,8 +42,7 @@ public class ProjectReviewPeriodServiceImpl extends ServiceImpl<ProjectReviewPer ...@@ -43,8 +42,7 @@ public class ProjectReviewPeriodServiceImpl extends ServiceImpl<ProjectReviewPer
ProjectReviewPeriodDO projectReviewPeriod = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewPeriodDO>() ProjectReviewPeriodDO projectReviewPeriod = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda() .lambda()
.eq(ProjectReviewPeriodDO::getMatchId, projectReviewPeriodDO.getMatchId()) .eq(ProjectReviewPeriodDO::getMatchId, projectReviewPeriodDO.getMatchId())
.eq(ProjectReviewPeriodDO::getProjectSchedule, projectReviewPeriodDO.getProjectSchedule()) .eq(ProjectReviewPeriodDO::getProjectSchedule, projectReviewPeriodDO.getProjectSchedule()));
.eq(ProjectReviewPeriodDO::getProjectGroup, projectReviewPeriodDO.getProjectGroup()));
if (projectReviewPeriod != null) { if (projectReviewPeriod != null) {
projectReviewPeriodDO.setId(projectReviewPeriod.getId()); projectReviewPeriodDO.setId(projectReviewPeriod.getId());
this.baseMapper.updateById(projectReviewPeriodDO); this.baseMapper.updateById(projectReviewPeriodDO);
......
...@@ -76,7 +76,6 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -76,7 +76,6 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
ProjectReviewPeriodDO projectReviewPeriodDO = projectReviewPeriodService.getOne(new QueryWrapper<ProjectReviewPeriodDO>() ProjectReviewPeriodDO projectReviewPeriodDO = projectReviewPeriodService.getOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda() .lambda()
.eq(ProjectReviewPeriodDO::getMatchId, projectDO.getMatchId()) .eq(ProjectReviewPeriodDO::getMatchId, projectDO.getMatchId())
.eq(ProjectReviewPeriodDO::getProjectGroup, projectDO.getProjectProgress())
.eq(ProjectReviewPeriodDO::getProjectSchedule, projectDO.getProjectSchedule())); .eq(ProjectReviewPeriodDO::getProjectSchedule, projectDO.getProjectSchedule()));
// startTime = projectReviewPeriodDO.getStartTime(); // startTime = projectReviewPeriodDO.getStartTime();
// endTime = projectReviewPeriodDO.getEndTime(); // endTime = projectReviewPeriodDO.getEndTime();
...@@ -116,7 +115,6 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -116,7 +115,6 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
ProjectReviewPeriodDO projectReviewPeriodDO = projectReviewPeriodService.getOne(new QueryWrapper<ProjectReviewPeriodDO>() ProjectReviewPeriodDO projectReviewPeriodDO = projectReviewPeriodService.getOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda() .lambda()
.eq(ProjectReviewPeriodDO::getMatchId, projectDO.getMatchId()) .eq(ProjectReviewPeriodDO::getMatchId, projectDO.getMatchId())
.eq(ProjectReviewPeriodDO::getProjectGroup, projectDO.getProjectGroup())
.eq(ProjectReviewPeriodDO::getProjectSchedule, projectDO.getProjectSchedule())); .eq(ProjectReviewPeriodDO::getProjectSchedule, projectDO.getProjectSchedule()));
// startTime = projectReviewPeriodDO.getStartTime(); // startTime = projectReviewPeriodDO.getStartTime();
// endTime = projectReviewPeriodDO.getEndTime(); // endTime = projectReviewPeriodDO.getEndTime();
...@@ -239,7 +237,6 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -239,7 +237,6 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
ProjectReviewPeriodDO projectReviewPeriodDO = projectReviewPeriodService.getOne(new QueryWrapper<ProjectReviewPeriodDO>() ProjectReviewPeriodDO projectReviewPeriodDO = projectReviewPeriodService.getOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda() .lambda()
.eq(ProjectReviewPeriodDO::getMatchId, projectDO.getMatchId()) .eq(ProjectReviewPeriodDO::getMatchId, projectDO.getMatchId())
.eq(ProjectReviewPeriodDO::getProjectGroup, projectDO.getProjectGroup())
.eq(ProjectReviewPeriodDO::getProjectSchedule, projectDO.getProjectSchedule())); .eq(ProjectReviewPeriodDO::getProjectSchedule, projectDO.getProjectSchedule()));
if (projectReviewPeriodDO.getStartTime().before(new Date())) { if (projectReviewPeriodDO.getStartTime().before(new Date())) {
throw new HttpException(10075); throw new HttpException(10075);
......
package com.zhongzhi.service.impl;
import com.zhongzhi.model.ProjectTrackDO;
import com.zhongzhi.dao.ProjectTrackDAO;
import com.zhongzhi.service.ProjectTrackService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 赛道字典表 服务实现类
* </p>
*
* @author DengMin
* @since 2025-03-28
*/
@Service
public class ProjectTrackServiceImpl extends ServiceImpl<ProjectTrackDAO, ProjectTrackDO> implements ProjectTrackService {
}
...@@ -103,12 +103,12 @@ public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> imple ...@@ -103,12 +103,12 @@ public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> imple
throw new HttpException(10024); throw new HttpException(10024);
} }
CollegesDictDO collegesDictDO = collegesDictService.getOne(new QueryWrapper<CollegesDictDO>() // CollegesDictDO collegesDictDO = collegesDictService.getOne(new QueryWrapper<CollegesDictDO>()
.lambda() // .lambda()
.eq(CollegesDictDO::getName, studentDO.getCollege())); // .eq(CollegesDictDO::getName, studentDO.getCollege()));
if(collegesDictDO.getLoginStatus() == 0) { // if(collegesDictDO.getLoginStatus() == 0) {
throw new HttpException(10067); // throw new HttpException(10067);
} // }
String token = JwtUtil.generateToken(studentDO.getId(), SmsCode.student); String token = JwtUtil.generateToken(studentDO.getId(), SmsCode.student);
BeanUtils.copyProperties(studentDO, studentInfoVO); BeanUtils.copyProperties(studentDO, studentInfoVO);
......
...@@ -8,6 +8,8 @@ import java.util.List; ...@@ -8,6 +8,8 @@ import java.util.List;
@Data @Data
public class AdministerVO { public class AdministerVO {
private Long id;
private String token; private String token;
private String username; private String username;
......
package com.zhongzhi.vo.administer;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.AdministerPermissionDO;
import com.zhongzhi.model.AdministerTrackMappingDO;
import com.zhongzhi.vo.permission.PermissionVO;
import lombok.Data;
import java.util.List;
@Data
public class GetAdministerPageVO extends AdministerDO {
private List<AdministerTrackMappingDO> administerTrackMappingDOS;
private List<PermissionVO> administerPermissionDOS;
}
package com.zhongzhi.vo.college;
import lombok.Data;
@Data
public class GetCollegeInfoVO {
private Long id;
private String name;
private String code;
}
...@@ -56,4 +56,6 @@ public class ProjectJudgePageVO { ...@@ -56,4 +56,6 @@ public class ProjectJudgePageVO {
* 待评审数量 * 待评审数量
*/ */
private Integer notReviewedNum; private Integer notReviewedNum;
private String projectTrack;
} }
...@@ -7,4 +7,6 @@ public class UploadFileVO { ...@@ -7,4 +7,6 @@ public class UploadFileVO {
private String url; private String url;
private String requestId;
} }
...@@ -5,27 +5,27 @@ import lombok.Data; ...@@ -5,27 +5,27 @@ import lombok.Data;
@Data @Data
public class ProjectAssignNumVO { public class ProjectAssignNumVO {
// /**
// * 中职复赛项目数量
// */
// private Long vocRematchNum;
// /**
// * 中职决赛项目数量
// */
// private Long vocFinalNum;
/** /**
* 中职复赛项目数量 * 复赛项目数量
*/
private Long vocRematchNum;
/**
* 中职决赛项目数量
*/
private Long vocFinalNum;
/**
* 高职复赛项目数量
*/ */
private Long secRematchNum; private Long secRematchNum;
/** /**
* 高职决赛项目数量 * 决赛项目数量
*/ */
private Long secFinalNum; private Long secFinalNum;
/** /**
* 高职初赛项目数量 * 初赛项目数量
*/ */
// private Long secPreliminaryNUm; private Long secPreliminaryNUm;
/** /**
* 已分配 * 已分配
......
...@@ -16,11 +16,17 @@ public class ProjectJudgeVO { ...@@ -16,11 +16,17 @@ public class ProjectJudgeVO {
private String leader; private String leader;
@ExcelColumn(col = 4, value = "组别") @ExcelColumn(col = 4, value = "组别")
private String projectProgress; private String projectGroup;
@ExcelColumn(col = 5, value = "院校") @ExcelColumn(col = 5, value = "赛道")
private String projectTrack;
@ExcelColumn(col = 6, value = "单元赛道")
private String unitTrack;
@ExcelColumn(col = 7, value = "院校")
private String college; private String college;
@ExcelColumn(col = 6, value = "阶段") @ExcelColumn(col = 8, value = "阶段")
private String projectSchedule; private String projectSchedule;
} }
...@@ -26,8 +26,14 @@ public class ProjectPageVO { ...@@ -26,8 +26,14 @@ public class ProjectPageVO {
private String projectTrack; private String projectTrack;
private String school;
private String college; private String college;
private String major;
private String telephone;
private String name; private String name;
private Double score; private Double score;
......
...@@ -15,8 +15,18 @@ public class ReviewListVO { ...@@ -15,8 +15,18 @@ public class ReviewListVO {
private String projectGroup; private String projectGroup;
private String college;
private String school; private String school;
private String major;
private String telephone;
private String projectTrack;
private String unitTrack;
private String projectSchedule; private String projectSchedule;
private String reviewResult; private String reviewResult;
......
...@@ -11,6 +11,7 @@ import com.zhongzhi.model.ProjectWorksDO; ...@@ -11,6 +11,7 @@ import com.zhongzhi.model.ProjectWorksDO;
import com.zhongzhi.vo.member.ProjectMemberVO; import com.zhongzhi.vo.member.ProjectMemberVO;
import com.zhongzhi.vo.review.FinalsReviewVO; import com.zhongzhi.vo.review.FinalsReviewVO;
import com.zhongzhi.vo.review.ReMatchReviewVO; import com.zhongzhi.vo.review.ReMatchReviewVO;
import com.zhongzhi.vo.review.SchoolReviewVO;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -284,6 +285,11 @@ public class SeedTrackProjectDetailVO extends ProjectMemberVO { ...@@ -284,6 +285,11 @@ public class SeedTrackProjectDetailVO extends ProjectMemberVO {
/** /**
* 复赛评分 * 复赛评分
*/ */
private List<SchoolReviewVO> schools;
/**
* 复赛评分
*/
private List<ReMatchReviewVO> rematch; private List<ReMatchReviewVO> rematch;
/** /**
...@@ -329,4 +335,8 @@ public class SeedTrackProjectDetailVO extends ProjectMemberVO { ...@@ -329,4 +335,8 @@ public class SeedTrackProjectDetailVO extends ProjectMemberVO {
private Integer editStatus; private Integer editStatus;
private String vodUrl; private String vodUrl;
private String aboveProvinceReward;
private String rewardUrl;
} }
...@@ -6,32 +6,21 @@ import lombok.Data; ...@@ -6,32 +6,21 @@ import lombok.Data;
public class VocationalProjectNum { public class VocationalProjectNum {
/** /**
* 中职复赛项目数量 * 赛项目数量
*/ */
private Long vocRematchNum; private Long secPreliminaryNUm;
/** /**
* 中职决赛项目数量 * 复赛项目数量
*/
private Long vocFinalNum;
/**
* 高职复赛项目数量
*/ */
private Long secRematchNum; private Long secRematchNum;
/** /**
* 高职决赛项目数量 * 决赛项目数量
*/ */
private Long secFinalNum; private Long secFinalNum;
/**
* 高职初赛项目数量
*/
// private Long secPreliminaryNUm;
/** /**
* 已评审项目数量 * 已评审项目数量
*/ */
private Long reviewedNum; private Long reviewedNum;
/** /**
* 待评审项目数量 * 待评审项目数量
*/ */
......
...@@ -5,28 +5,29 @@ import lombok.Data; ...@@ -5,28 +5,29 @@ import lombok.Data;
@Data @Data
public class VocationalReviewNumVO { public class VocationalReviewNumVO {
// /**
// * 中职复赛项目数量
// */
// private Long vocRematchNum;
// /**
// * 中职决赛项目数量
// */
// private Long vocFinalNum;
/** /**
* 中职复赛项目数量 * 初赛项目数量
*/
private Long vocRematchNum;
/**
* 中职决赛项目数量
*/ */
private Long vocFinalNum; private Long secPreliminaryNUm;
/** /**
* 高职复赛项目数量 * 复赛项目数量
*/ */
private Long secRematchNum; private Long secRematchNum;
/** /**
* 高职决赛项目数量 * 决赛项目数量
*/ */
private Long secFinalNum; private Long secFinalNum;
/**
* 高职初赛项目数量
*/
private Long secPreliminaryNUm;
private Long review; private Long review;
private Long notReview; private Long notReview;
......
...@@ -26,4 +26,6 @@ public class SchoolReviewVO { ...@@ -26,4 +26,6 @@ public class SchoolReviewVO {
* 评审时间 * 评审时间
*/ */
private String schoolTime; private String schoolTime;
private String schoolJudgeName;
} }
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
server.port=23503 server.port=23503
# 数据源配置 # 数据源配置
# 数据源配置 # 数据源配置
spring.datasource.url=jdbc:mysql://139.224.253.21:3306/gtja?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 spring.datasource.url=jdbc:mysql://116.62.57.92:3306/gtja?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root spring.datasource.username=devloper
spring.datasource.password=ykhladmin302 spring.datasource.password=dev@1553$
spring.datasource.druid.initialSize=5 spring.datasource.druid.initialSize=5
spring.datasource.druid.minIdle=5 spring.datasource.druid.minIdle=5
spring.datasource.druid.maxActive=20 spring.datasource.druid.maxActive=20
......
# 预生产环境配置
# 端口号
server.port=11210
# 数据源配置
spring.datasource.url=jdbc:mysql://116.62.57.92:3306/zhongzhi?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=devloper
spring.datasource.password=dev@1553$
spring.datasource.druid.initialSize=5
spring.datasource.druid.minIdle=5
spring.datasource.druid.maxActive=20
spring.datasource.druid.maxWait=60000
spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
spring.datasource.druid.minEvictableIdleTimeMillis=300000
spring.datasource.druid.validationQuery=SELECT 1 FROM DUAL
spring.datasource.druid.testWhileIdle=true
spring.datasource.druid.testOnBorrow=false
spring.datasource.druid.testOnReturn=false
spring.datasource.druid.poolPreparedStatements=true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.druid.useGlobalDataSourceStat=true
# 控制台日志打印
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
# 生产环境配置 # 生产环境配置
# 端口号 # 端口号
server.port=23503 server.port=23503
server.tomcat.connection-timeout=600000
# 数据源配置 # 数据源配置
spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/gtja?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai #spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/gtja?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.url=jdbc:mysql://rm-uf62202s176hufw8x0o.mysql.rds.aliyuncs.com:3306/gtja?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=ykadmin_new spring.datasource.username=ykadmin_new
...@@ -10,8 +12,8 @@ spring.datasource.password=youkedb608@good ...@@ -10,8 +12,8 @@ spring.datasource.password=youkedb608@good
spring.datasource.druid.initialSize=5 spring.datasource.druid.initialSize=5
spring.datasource.druid.minIdle=5 spring.datasource.druid.minIdle=5
spring.datasource.druid.maxActive=20 spring.datasource.druid.maxActive=20
spring.datasource.druid.maxWait=60000 spring.datasource.druid.maxWait=600000
spring.datasource.druid.timeBetweenEvictionRunsMillis=60000 spring.datasource.druid.timeBetweenEvictionRunsMillis=600000
spring.datasource.druid.minEvictableIdleTimeMillis=300000 spring.datasource.druid.minEvictableIdleTimeMillis=300000
spring.datasource.druid.validationQuery=SELECT 1 FROM DUAL spring.datasource.druid.validationQuery=SELECT 1 FROM DUAL
spring.datasource.druid.testWhileIdle=true spring.datasource.druid.testWhileIdle=true
......
# 环境配置 # 环境配置
spring.profiles.active=dev spring.profiles.active=prod
# 文件编码 UTF8 # 文件编码 UTF8
spring.mandatory-file-encoding=UTF-8 spring.mandatory-file-encoding=UTF-8
spring.jackson.time-zone=GMT+8 spring.jackson.time-zone=GMT+8
...@@ -25,8 +25,8 @@ logging.config=classpath:logback-spring.xml ...@@ -25,8 +25,8 @@ logging.config=classpath:logback-spring.xml
# 阿里云短信 # 阿里云短信
sms.product=Dysmsapi sms.product=Dysmsapi
sms.domain=dysmsapi.aliyuncs.com sms.domain=dysmsapi.aliyuncs.com
sms.accessKeyId=LTAI5tPAH7P7WQVeowo517BE sms.accessKeyId=LTAI5tLUBG4B6QxhHrhddc7p
sms.accessKeySecret=0ueqhIfdAZyw5lWlBVSLpAxTtx37RY sms.accessKeySecret=eber38QGHZixTQ6bFfrd80kbg67jIP
sms.rcsapi=http://rcsapi.wo.cn:8000/umcinterface/sendtempletmsg sms.rcsapi=http://rcsapi.wo.cn:8000/umcinterface/sendtempletmsg
sms.cpcode=AABNUV sms.cpcode=AABNUV
sms.excode=210120 sms.excode=210120
......
...@@ -2,21 +2,26 @@ ...@@ -2,21 +2,26 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongzhi.dao.AdministerDAO"> <mapper namespace="com.zhongzhi.dao.AdministerDAO">
<!-- 通用查询映射结果 --> <select id="getAdministerPage" resultType="com.zhongzhi.vo.administer.GetAdministerPageVO">
<resultMap id="BaseResultMap" type="com.zhongzhi.model.AdministerDO"> SELECT
<id column="id" property="id"/> *
<result column="telephone" property="telephone"/> FROM
<result column="username" property="username"/> administer t
<result column="avatar" property="avatar"/> WHERE
<result column="role" property="role"/> t.delete_time IS NULL
<result column="create_time" property="createTime"/> AND t.role = #{listItem}
<result column="update_time" property="updateTime"/> <if test="username != null and username != ''">
<result column="delete_time" property="deleteTime"/> AND t.username LIKE concat('%', #{username}, '%')
</resultMap> </if>
</select>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, telephone, username, avatar, role, create_time, update_time, delete_time
</sql>
<update id="updateAdminister">
update administer t
set t.telephone = #{telephone},
t.username = #{username},
t.avatar = #{avatar},
t.role = #{role},
t.college = #{college}
where id = #{id}
</update>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongzhi.dao.AdministerTrackMappingDAO">
<select id="administerTracks" parameterType="long" resultType="com.zhongzhi.model.ProjectTrackDO">
SELECT
t2.*
FROM
administer_track_mapping t
left join project_track t2 on t.track_id = t2.id
WHERE
t.delete_time IS NULL
and t2.delete_time is null
AND t.administer_id = #{userId}
</select>
</mapper>
...@@ -60,4 +60,17 @@ ...@@ -60,4 +60,17 @@
where delete_time is null where delete_time is null
</select> </select>
<select id="getCollegeInfo" resultType="com.zhongzhi.vo.college.GetCollegeInfoVO">
SELECT
t.id,
t.NAME,
t.CODE
FROM
colleges_dict t
WHERE
t.delete_time IS NULL
<if test="name != null and name != ''">
AND t.`name` LIKE concat('%',#{name} ,'%')
</if>
</select>
</mapper> </mapper>
...@@ -113,7 +113,7 @@ FROM ...@@ -113,7 +113,7 @@ FROM
</if> </if>
and t.member_type != '车' and t.member_type != '车'
GROUP BY GROUP BY
t.college_id t3.NAME,t.college_id
</select> </select>
<select id="exportList" resultType="com.zhongzhi.vo.college.ExportListVO"> <select id="exportList" resultType="com.zhongzhi.vo.college.ExportListVO">
......
...@@ -29,26 +29,26 @@ ...@@ -29,26 +29,26 @@
where delete_time is null where delete_time is null
</select> </select>
<select id="getList" resultType="com.zhongzhi.model.MatchDictDO"> <!-- <select id="getList" resultType="com.zhongzhi.model.MatchDictDO">-->
SELECT <!-- SELECT-->
p.* <!-- p.*-->
FROM project p <!-- FROM project p-->
LEFT JOIN student s ON s.id = p.proposer_id <!-- LEFT JOIN student s ON s.id = p.proposer_id-->
LEFT JOIN colleges_dict c ON c.`name` = s.college <!-- LEFT JOIN colleges_dict c ON c.`name` = s.college-->
<where> <!-- <where>-->
AND p.project_status != '填写中' <!-- AND p.project_status != '填写中'-->
<if test="projectType != null and projectType != ''"> <!-- <if test="projectType != null and projectType != ''">-->
AND p.project_type = #{projectType} <!-- AND p.project_type = #{projectType}-->
</if> <!-- </if>-->
<if test="projectGroup != null and projectGroup != ''"> <!-- <if test="projectGroup != null and projectGroup != ''">-->
AND p.project_group = #{projectGroup} <!-- AND p.project_group = #{projectGroup}-->
</if> <!-- </if>-->
AND p.delete_time IS NULL <!-- AND p.delete_time IS NULL-->
AND s.delete_time IS NULL <!-- AND s.delete_time IS NULL-->
AND c.delete_time IS NULL <!-- AND c.delete_time IS NULL-->
</where> <!-- </where>-->
GROUP BY <!-- GROUP BY-->
c.id <!-- c.id-->
</select> <!-- </select>-->
</mapper> </mapper>
...@@ -18,13 +18,17 @@ ...@@ -18,13 +18,17 @@
</sql> </sql>
<select id="getPermissionById" resultType="com.zhongzhi.vo.permission.PermissionVO"> <select id="getPermissionById" resultType="com.zhongzhi.vo.permission.PermissionVO">
select SELECT distinct
p.* t2.*
from permissions p FROM
left join administer_permission ap on ap.permission_id = p.id administer_permission t
where ap.administer_id = #{id} left join permissions t2 on t.permission_id = t2.id
and p.delete_time is null WHERE
and p.delete_time is null t.delete_time IS NULL
and t2.delete_time is null
<if test="id != null and id != ''">
and t.administer_id = #{id}
</if>
</select> </select>
</mapper> </mapper>
...@@ -35,12 +35,15 @@ ...@@ -35,12 +35,15 @@
and status = #{status} and status = #{status}
</if> </if>
and delete_time is null and delete_time is null
<if test="projectTrack != null and projectTrack != ''">
and project_track like concat('%', #{projectTrack}, '%')
</if>
</where> </where>
</select> </select>
<select id="projectJudgesAssigned" resultType="com.zhongzhi.vo.judge.ProjectJudgePageVO"> <select id="projectJudgesAssigned" resultType="com.zhongzhi.vo.judge.ProjectJudgePageVO">
select select
pj.* distinct pj.*
from project_judge pj from project_judge pj
left join project_review pr on pr.judge_id = pj.id left join project_review pr on pr.judge_id = pj.id
left join project p on p.id = pr.project_id left join project p on p.id = pr.project_id
...@@ -57,7 +60,6 @@ ...@@ -57,7 +60,6 @@
and pj.delete_time is null and pj.delete_time is null
and pr.delete_time is null and pr.delete_time is null
</where> </where>
group by pj.id
</select> </select>
</mapper> </mapper>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<select id="getProjectScheduleRecord" resultType="com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO"> <select id="getProjectScheduleRecord" resultType="com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO">
select select
p.id, min(p.id) id,
s.college as collegeName s.college as collegeName
from project p from project p
left join student s on s.id = p.proposer_id left join student s on s.id = p.proposer_id
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongzhi.dao.ProjectTrackDAO">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.zhongzhi.model.ProjectTrackDO">
<id column="id" property="id"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="delete_time" property="deleteTime"/>
<result column="project_track" property="projectTrack"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_time,
update_time,
delete_time,
id, project_track
</sql>
</mapper>
...@@ -6,7 +6,7 @@ setParent=com.zhongzhi ...@@ -6,7 +6,7 @@ setParent=com.zhongzhi
# mapper.xml文件生成路径 # mapper.xml文件生成路径
mapperPath=/src/main/resources/mapper/ mapperPath=/src/main/resources/mapper/
# 数据库地址 # 数据库地址
url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/zhongzhi?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai url=jdbc:mysql://139.224.253.21:3306/gtja?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
driverName=com.mysql.cj.jdbc.Driver driverName=com.mysql.cj.jdbc.Driver
userName=ykadmin userName=root
password=youkedb608@good password=ykhladmin302
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!