Commit a1470730 by 涂亚平

电子信息第一次上线

1 parent a3981955
Showing with 701 additions and 623 deletions
<component name="libraryTable">
<library name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.6.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/baomidou/dynamic-datasource-spring-boot-starter/3.6.1/dynamic-datasource-spring-boot-starter-3.6.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/baomidou/dynamic-datasource-spring-boot-starter/3.6.1/dynamic-datasource-spring-boot-starter-3.6.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/baomidou/dynamic-datasource-spring-boot-starter/3.6.1/dynamic-datasource-spring-boot-starter-3.6.1-sources.jar!/" />
</SOURCES>
</library>
</component>
\ No newline at end of file
This diff could not be displayed because it is too large.
......@@ -70,6 +70,7 @@
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:3.1" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.4" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.6.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.58" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
......
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
2025-07-08 18:01:46,586 [http-nio-11210-exec-8] ERROR com.zhongzhi.common.exception.GlobalExceptionHandler:89 - JSON parse error: Cannot construct instance of `com.zhongzhi.model.DrawLotsGroupItemsDO` (although at least one Creator exists): no int/Int-argument constructor/factory method to deserialize from Number value (84); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.zhongzhi.model.DrawLotsGroupItemsDO` (although at least one Creator exists): no int/Int-argument constructor/factory method to deserialize from Number value (84)
at [Source: (PushbackInputStream); line: 1, column: 202] (through reference chain: com.zhongzhi.vo.drawlots.RankVO["rankListVOS"]->java.util.ArrayList[0])
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
......@@ -95,6 +95,12 @@
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
......@@ -198,7 +204,7 @@
</repositories>
<build>
<finalName>zhongzhi</finalName>
<finalName>electron</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
......
package com.zhongzhi.common.configure;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
@Aspect
@Order(-10) // 保证该 AOP 在 @Transactional 之前执行
@Component
public class DataSourceAspect {
@Before("@annotation(com.zhongzhi.common.configure.DataSourceSwitch) || @within(com.zhongzhi.common.configure.DataSourceSwitch)")
public void before(JoinPoint point) {
Class<?> targetClass = point.getTarget().getClass();
DataSourceSwitch classDataSource = targetClass.getAnnotation(DataSourceSwitch.class);
// 默认使用类上的数据源配置
String dsName = "master";
if (classDataSource != null) {
dsName = classDataSource.value();
}
// 方法上的数据源配置会覆盖类上的配置
MethodSignature signature = (MethodSignature) point.getSignature();
Method method = signature.getMethod();
DataSourceSwitch methodDataSource = method.getAnnotation(DataSourceSwitch.class);
if (methodDataSource != null) {
dsName = methodDataSource.value();
}
// 切换数据源
DynamicDataSourceContextHolder.push(dsName);
}
@After("@annotation(com.zhongzhi.common.configure.DataSourceSwitch) || @within(com.zhongzhi.common.configure.DataSourceSwitch)")
public void after(JoinPoint point) {
// 清除数据源,避免线程复用导致的问题
DynamicDataSourceContextHolder.poll();
}
}
\ No newline at end of file
package com.zhongzhi.common.configure;
import java.lang.annotation.*;
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataSourceSwitch {
String value() default "db2"; // 默认使用主数据源
}
\ No newline at end of file
package com.zhongzhi.common.configure;
import com.zhongzhi.common.constant.DBTypeEnum;
public class DbContextHolder {
private static final ThreadLocal contextHolder = new ThreadLocal<>();
/**
* 设置数据源
* @param dbTypeEnum
*/
public static void setDbType(DBTypeEnum dbTypeEnum) {
contextHolder.set(dbTypeEnum.getValue());
}
/**
* 取得当前数据源
* @return
*/
public static String getDbType() {
return (String) contextHolder.get();
}
/**
* 清除上下文数据
*/
public static void clearDbType() {
contextHolder.remove();
}
}
package com.zhongzhi.common.configure;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
public class DynamicDataSource extends AbstractRoutingDataSource {
@Override
protected Object determineCurrentLookupKey() {
return DbContextHolder.getDbType();
}
}
package com.zhongzhi.common.configure;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.handler.MetaHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.JdbcType;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class MybatisPlusConfig {
......@@ -18,20 +33,85 @@ public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor page = new PaginationInterceptor();
page.setLimit(-1);
page.setDialectType(DbType.MYSQL.getDb());
return page;
}
/**
* 自动填充功能
* ConfigurationProperties 设置多数据源下逻辑删除等全局配置失效
*
* @return
*/
@Bean
@ConfigurationProperties(prefix = "mybatis-plus.global-config")
public GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setSqlInjector(new DefaultSqlInjector());
globalConfig.setMetaObjectHandler(new MetaHandler());
return globalConfig;
}
/**
* 配置多数据源
*/
@Bean(name = "db1")
@ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db1")
public DataSource db1() {
return DruidDataSourceBuilder.create().build();
}
@Bean(name = "db2")
@ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.db2")
public DataSource db2() {
return DruidDataSourceBuilder.create().build();
}
@Bean
@Primary
public DataSource multipleDataSource(@Qualifier("db1") DataSource db1, @Qualifier("db2") DataSource db2) {
DynamicDataSource dynamicDataSource = new DynamicDataSource();
Map<Object, Object> dataSource = new HashMap<>();
dataSource.put(DBTypeEnum.db1.getValue(), db1);
dataSource.put(DBTypeEnum.db2.getValue(), db2);
dynamicDataSource.setTargetDataSources(dataSource);
dynamicDataSource.setDefaultTargetDataSource(db2);
return dynamicDataSource;
}
@Bean("sqlSessionFactory")
public SqlSessionFactory sqlSessionFactory() throws Exception {
MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
sqlSessionFactory.setDataSource(multipleDataSource(db1(), db2()));
sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources("classpath:mapper/*.xml"));
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.setJdbcTypeForNull(JdbcType.NULL);
configuration.setMapUnderscoreToCamelCase(true);
configuration.setCacheEnabled(false);
sqlSessionFactory.setConfiguration(configuration);
sqlSessionFactory.setPlugins(paginationInterceptor());
sqlSessionFactory.setGlobalConfig(globalConfig());
return sqlSessionFactory.getObject();
}
// @Bean(name = "sqlSessionFactory1")
// public SqlSessionFactory sqlSessionFactory1(@Qualifier("db1") DataSource dataSource) throws Exception {
// MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
// bean.setDataSource(dataSource);
// bean.setMapperLocations(new PathMatchingResourcePatternResolver()
// .getResources("classpath:mapper/*.xml"));
// MybatisConfiguration configuration = new MybatisConfiguration();
// configuration.setJdbcTypeForNull(JdbcType.NULL);
// configuration.setMapUnderscoreToCamelCase(true);
// configuration.setCacheEnabled(false);
// bean.setConfiguration(configuration);
// bean.setPlugins(paginationInterceptor());
// bean.setGlobalConfig(globalConfig());
// return bean.getObject();
// }
}
\ No newline at end of file
package com.zhongzhi.common.constant;
public enum DBTypeEnum {
db1("db1"), //自己库
db2("db2"); //中间库
private String value;
DBTypeEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
\ No newline at end of file
package com.zhongzhi.common.constant;
public class ProjectAssignStatus {
public static final String NO_ASSIGNED = "未分配";
public static final String ASSIGNED = "已分配";
}
......@@ -85,7 +85,7 @@ public class CodeGenerator {
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setEntity("model");
pc.setMapper("mapper");
pc.setMapper("com/zhongzhi/dao/mapper");
mpg.setPackageInfo(pc);
// 自定义配置
......
package com.zhongzhi.common.interceptor;
import com.auth0.jwt.interfaces.Claim;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.Code;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.SmsCode;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.JwtUtil;
import com.zhongzhi.common.utils.Localstorage;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.CollegesDictDO;
import com.zhongzhi.model.ProjectJudgeDO;
import com.zhongzhi.model.StudentDO;
import com.zhongzhi.service.AdministerService;
import com.zhongzhi.service.CollegesDictService;
import com.zhongzhi.service.ProjectJudgeService;
import com.zhongzhi.service.StudentService;
import com.zhongzhi.model.*;
import com.zhongzhi.service.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -81,6 +77,9 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
if (role.length > 0) {
if (Arrays.asList(role).contains(type)) {
if (SmsCode.student.equals(type)) {
DbContextHolder.setDbType(DBTypeEnum.db2);
StudentDO studentDO = studentService.getById(claimMap.get("id").asLong());
if (studentDO != null) {
Localstorage.setUser(studentDO, type);
......@@ -90,6 +89,9 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
}
} else if (SmsCode.center.equals(type)) {
DbContextHolder.setDbType(DBTypeEnum.db2);
AdministerDO administerDO = administerService.getById(claimMap.get("id").asLong());
if (administerDO != null) {
Localstorage.setUser(administerDO, type);
......@@ -99,6 +101,8 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
}
} else if (SmsCode.school.equals(type)) {
DbContextHolder.setDbType(DBTypeEnum.db2);
CollegesDictDO collegesDictDO = collegesDictService.getById(claimMap.get("id").asLong());
if (collegesDictDO != null) {
Localstorage.setUser(collegesDictDO, type);
......@@ -108,6 +112,8 @@ public class AuthenticationInterceptor implements HandlerInterceptor {
throw new HttpException(Code.USERNAMENOTFOUND.getCode(), Code.USERNAMENOTFOUND.getMessage());
}
} else if (SmsCode.review.equals(type)) {
DbContextHolder.setDbType(DBTypeEnum.db2);
ProjectJudgeDO projectJudgeDO = projectJudgeService.getById(claimMap.get("id").asLong());
if (projectJudgeDO != null) {
Localstorage.setUser(projectJudgeDO, type);
......
......@@ -66,12 +66,12 @@ public class ConstantUtils {
/**
* 短信 RAM账号AccessKey ID
*/
public static final String ACCESS_KEY_ID = "LTAI5tPAH7P7WQVeowo517BE";
public static final String ACCESS_KEY_ID = "LTAI5tLUBG4B6QxhHrhddc7p";
/**
* 短信 RAM账号AccessKey Secret
*/
public static final String SECRET = "0ueqhIfdAZyw5lWlBVSLpAxTtx37RY";
public static final String SECRET = "eber38QGHZixTQ6bFfrd80kbg67jIP";
/**
* 腾讯云点播视频转码模板
......
......@@ -3,6 +3,8 @@ package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData;
......@@ -42,6 +44,7 @@ public class CollegesDictController {
@PostMapping(value = "/getCollegesListNew")
@ApiOperation("查询所有就读院校: name/院校名称, education/学历")
public ResponseVO getCollegesList(@RequestBody CollegesDictDTO collegesDictDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
QueryWrapper<CollegesDictDO> queryWrapper = new QueryWrapper();
if (StringUtils.isNotBlank(collegesDictDTO.getEducation())) {
if ("中职".equals(collegesDictDTO.getEducation())){
......
package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.model.MajorDictDO;
import com.zhongzhi.service.MajorDictService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -35,11 +31,7 @@ public class MajorDictController {
@PostMapping(value = "/getMajorList")
@ApiOperation("查询全部就读专业: major/专业名称、education/学历、code/院校代码")
public ResponseVO getMajorList(@RequestBody MajorDictDO majorDictDO) {
return ResponseData.generateCreatedResponse(0, majorDictService.list(new QueryWrapper<MajorDictDO>()
.lambda()
.eq(StringUtils.isNotBlank(majorDictDO.getEducation()), MajorDictDO::getEducation, majorDictDO.getEducation())
.eq(StringUtils.isNotBlank(majorDictDO.getCode()), MajorDictDO::getCode, majorDictDO.getCode())
.like(StringUtils.isNotBlank(majorDictDO.getMajor()), MajorDictDO::getMajor, majorDictDO.getMajor())));
return ResponseData.generateCreatedResponse(0, majorDictService.getMajorList(majorDictDO));
}
}
......@@ -2,6 +2,8 @@ package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.constant.ProjectType;
import com.zhongzhi.common.utils.LoginRequired;
......@@ -94,12 +96,17 @@ public class MatchDictController {
}
@PostMapping(value = "/getSeedTrackMatchPage")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("中心端/院校端 ---分页查询种子赛道赛事年份:pageNo、pageSize")
public ResponseVO getSeedTrackMatchPage(@RequestBody SelectListPageDTO selectListPageDTO) {
return ResponseData.generateCreatedResponse(0, matchDictService.getSeedTrackMatchPage(selectListPageDTO));
}
@PostMapping(value = "/getSeedTrackMatchPageCity")
@ApiOperation("院校端 ---分页查询种子赛道赛事年份:pageNo、pageSize")
public ResponseVO getSeedTrackMatchPageCity(@RequestBody SelectListPageDTO selectListPageDTO) {
return ResponseData.generateCreatedResponse(0, matchDictService.getSeedTrackMatchPageCity(selectListPageDTO));
}
@PostMapping(value = "/createMainTrackMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---创建主赛道赛事年份:matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、" +
......@@ -111,7 +118,6 @@ public class MatchDictController {
}
@PostMapping(value = "/createSeedTrackMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---创建种子赛道赛事年份:matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、" +
"schedule:[{ scheduleTime/时间安排、explains/说明 }]")
public ResponseVO createSeedTrackMatch(@RequestBody MatchDictDTO matchDictDTO) {
......@@ -121,7 +127,6 @@ public class MatchDictController {
}
@PostMapping(value = "/createVocationalMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---创建职教赛道赛事年份:matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、" +
"schedule:[{ scheduleTime/时间安排、explains/说明 }]")
public ResponseVO createVocationalMatch(@RequestBody MatchDictDTO matchDictDTO) {
......@@ -142,7 +147,6 @@ public class MatchDictController {
@PostMapping(value = "/updateMatch")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---编辑赛事年份:id/ID、matchName/名称、matchDate/年份、startTime/报名起始时间、endTime/报名结束时间、status/状态(1:启动,0:暂停)" +
"schedule:[{ id/时间安排ID、scheduleTime/时间安排、explains/说明 }]")
public ResponseVO updateMatch(@RequestBody MatchDictDTO matchDictDTO) {
......@@ -171,18 +175,14 @@ public class MatchDictController {
@LoginRequired({Platform.center, Platform.school, Platform.student, Platform.review})
@ApiOperation("中心端/学生端/院校端/审批端 ---查询全部种子赛道赛事年份")
public ResponseVO getSeedTrackMatchAll() {
return ResponseData.generateCreatedResponse(0, matchDictService.list(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getMatchType, ProjectType.SEED_TRACK)));
return ResponseData.generateCreatedResponse(0, matchDictService.getSeedTrackMatchAll());
}
@PostMapping(value = "/getVocationalMatchAll")
@LoginRequired({Platform.center, Platform.school, Platform.student, Platform.review})
@ApiOperation("中心端/学生端/院校端/审批端 ---查询全部职教赛道赛事年份")
public ResponseVO getVocationalMatchAll() {
return ResponseData.generateCreatedResponse(0, matchDictService.list(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getMatchType, ProjectType.VOCATIONAL)));
return ResponseData.generateCreatedResponse(0, matchDictService.getVocationalMatchAll());
}
@PostMapping(value = "/getInternationalMatchAll")
......@@ -203,6 +203,14 @@ public class MatchDictController {
}
/* 职教管理端 */
@PostMapping(value = "/getVocationalPageCity")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("中心端/院校端 ---分页查询职教赛道赛事年份:pageNo、pageSize")
public ResponseVO getVocationalPageCity(@RequestBody SelectListPageDTO selectListPageDTO) {
return ResponseData.generateCreatedResponse(0, matchDictService.getVocationalPageCity(selectListPageDTO));
}
/* 职教管理端 */
@PostMapping(value = "/getInternationalPage")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("中心端/院校端 ---分页查询职教赛道赛事年份:pageNo、pageSize")
......
......@@ -45,36 +45,14 @@ public class MatchScheduleController {
@LoginRequired({Platform.student})
@ApiOperation("学生端 ---种子赛道查看时间安排:matchId/赛事年份ID")
public ResponseVO getMatchSchedule(@RequestBody MatchScheduleDO matchScheduleDO) {
MatchDictDO matchDictDO = matchDictService.getOne(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getId, matchScheduleDO.getMatchId())
.eq(MatchDictDO::getMatchType, ProjectType.SEED_TRACK)
.eq(MatchDictDO::getStatus, 1));
List<MatchScheduleDO> list = new ArrayList<>();
if (matchDictDO != null) {
list = matchScheduleService.list(new QueryWrapper<MatchScheduleDO>()
.lambda()
.eq(MatchScheduleDO::getMatchId, matchDictDO.getId()));
}
return ResponseData.generateCreatedResponse(0, list);
return ResponseData.generateCreatedResponse(0, matchScheduleService.getMatchSchedule(matchScheduleDO));
}
@PostMapping(value = "getVocationalMatchSchedule")
@LoginRequired({Platform.student})
@ApiOperation("学生端 ---职教赛道查看时间安排:matchId/赛事年份ID")
public ResponseVO getVocationalMatchSchedule(@RequestBody MatchScheduleDO matchScheduleDO) {
MatchDictDO matchDictDO = matchDictService.getOne(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getId, matchScheduleDO.getMatchId())
.eq(MatchDictDO::getMatchType, ProjectType.VOCATIONAL)
.eq(MatchDictDO::getStatus, 1));
List<MatchScheduleDO> list = new ArrayList<>();
if (matchDictDO != null) {
list = matchScheduleService.list(new QueryWrapper<MatchScheduleDO>()
.lambda()
.eq(MatchScheduleDO::getMatchId, matchDictDO.getId()));
}
return ResponseData.generateCreatedResponse(0, list);
return ResponseData.generateCreatedResponse(0, matchScheduleService.getVocationalMatchSchedule(matchScheduleDO));
}
@PostMapping(value = "getInternationalMatchSchedule")
......
package com.zhongzhi.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.DateFormatUtil;
import com.zhongzhi.common.utils.Localstorage;
......@@ -45,6 +47,9 @@ public class MessageController {
@PostMapping(value = "/getMessage")
@ApiOperation("查询通知")
public ResponseVO getMessage() {
DbContextHolder.setDbType(DBTypeEnum.db2);
List<MessageVO> messages = new ArrayList();
List<MessageDO> list = messageService.list(new QueryWrapper<MessageDO>()
......@@ -63,18 +68,18 @@ public class MessageController {
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 根据ID查询详情:id/ID")
public ResponseVO getMessageById(@RequestBody MessageDO messageDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
return ResponseData.generateCreatedResponse(0, messageService.getById(messageDO.getId()));
}
@PostMapping(value = "/getMessagePage")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---分页查询通知: pageNo/当前页数, pageSize/每页显示条数")
public ResponseVO getMessagePage(@RequestBody MessagePageDTO messagePageDTO) {
return ResponseData.generateCreatedResponse(0, messageService.getMessagePage(messagePageDTO));
}
@PostMapping(value = "/createMessage")
@LoginRequired({Platform.center})
@LoginRequired({Platform.center,Platform.school})
@ApiOperation("中心端 ---创建通知: title/标题, content/内容, attachmentUrl/附件地址, releaseTime/发布时间, attachmentName/附件名称, attachmentType/附件类型")
public ResponseVO createMessage(@RequestBody MessageDO messageDO) {
messageService.createMessage(messageDO);
......@@ -82,15 +87,16 @@ public class MessageController {
}
@PostMapping(value = "/updateMessage")
@LoginRequired({Platform.center})
@LoginRequired({Platform.center,Platform.school})
@ApiOperation("中心端 ---编辑通知: id/ID, title/标题, content/内容, attachmentUrl/附件地址, attachmentName/附件名称, attachmentType/附件类型")
public ResponseVO updateMessage(@RequestBody MessageDO messageDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
messageService.updateById(messageDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/delete")
@LoginRequired({Platform.center})
@LoginRequired({Platform.center,Platform.school})
@ApiOperation("中心端 ---删除通知: id/ID, ")
public ResponseVO delete(@RequestBody MessageDO messageDO) {
messageService.removeById(messageDO.getId());
......
......@@ -30,10 +30,10 @@ import java.util.List;
@RequestMapping("/oss")
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}")
......
......@@ -40,14 +40,13 @@ public class ProjectJudgeController {
}
@PostMapping(value = "/getProjectJudgePage")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---评委列表:username/姓名、status/状态、pageNo/当前页数、 pageSize/每页显示条数")
public ResponseVO getProjectJudgePage(@RequestBody ProjectJudgePageDTO projectJudgePageDTO) {
return ResponseData.generateCreatedResponse(0, projectJudgeService.getProjectJudgePage(projectJudgePageDTO));
}
@PostMapping(value = "/createProjectJudge")
@LoginRequired({Platform.center})
@LoginRequired({Platform.school})
@ApiOperation("中心端 ---添加评委:username/姓名、telephone/手机号、 position/职位、unit/单位")
public ResponseVO createProjectJudge(@RequestBody ProjectJudgeDO projectJudgeDO) {
projectJudgeService.createProjectJudge(projectJudgeDO);
......@@ -55,7 +54,6 @@ public class ProjectJudgeController {
}
@PostMapping(value = "/updateProjectJudge")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---编辑评委:id/ID、username/姓名、telephone/手机号、 position/职位、unit/单位, status/状态(1:启用,0:禁用)")
public ResponseVO updateProjectJudge(@RequestBody ProjectJudgeDO projectJudgeDO) {
projectJudgeService.updateProjectJudge(projectJudgeDO);
......@@ -63,22 +61,19 @@ public class ProjectJudgeController {
}
@PostMapping(value = "/delete")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---删除评委:id/ID")
public ResponseVO delete(@RequestBody ProjectJudgeDO projectJudgeDO) {
projectJudgeService.removeById(projectJudgeDO.getId());
projectJudgeService.removeJudge(projectJudgeDO);
return ResponseData.generateCreatedResponse(0);
}
@PostMapping(value = "/projectJudgesAssigned")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---已分配项目评委列表: matchId/赛事ID、projectGroup/组别、projectSchedule/进度")
public ResponseVO projectJudgesAssigned(@RequestBody ProjectJudgePageDTO projectJudgePageDTO) {
return ResponseData.generateCreatedResponse(0, projectJudgeService.projectJudgesAssigned(projectJudgePageDTO));
}
@PostMapping(value = "/downloadJudgeTemplate")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---下载导入评委模板")
public ResponseVO downloadJudgeTemplate() {
projectJudgeService.downloadTemplate();
......@@ -86,7 +81,7 @@ public class ProjectJudgeController {
}
@PostMapping(value = "/importJudge")
@LoginRequired({Platform.center})
@LoginRequired({Platform.school})
@ApiOperation("中心端 ---导入评委:file/文件(数据格式:Form-Data)")
public ResponseVO importJudge(MultipartFile file) {
projectJudgeService.importJudge(file);
......@@ -94,8 +89,8 @@ public class ProjectJudgeController {
}
@PostMapping(value = "/exportProjectJudge")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---导出评委")
@LoginRequired({Platform.school})
public void exportProjectJudge() {
projectJudgeService.exportProjectJudge();
}
......
......@@ -35,7 +35,6 @@ public class ProjectReviewController {
private ProjectReviewService projectReviewService;
@PostMapping(value = "/setReview")
@LoginRequired({Platform.center})
@ApiOperation("中心端 ---分配评审:[{projectId}]/项目ID、[{judgeId}]/评委ID、smsMessage/是否发送短信通知(0:不发送,1:发送)")
public ResponseVO setReview(@RequestBody SetReviewDTO setReviewDTO) {
projectReviewService.setReview(setReviewDTO);
......@@ -43,7 +42,6 @@ public class ProjectReviewController {
}
@PostMapping(value = "/sendNotice")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 发送通知评审:id/评委ID, matchId/赛事ID")
public ResponseVO sendNotice(@RequestBody SendNoticeVO sendNoticeVO) {
projectReviewService.sendNotice(sendNoticeVO);
......@@ -51,7 +49,6 @@ public class ProjectReviewController {
}
@PostMapping(value = "/cancelReview")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 撤销分配:projectId/项目ID、[{judgeId}]/评委ID、smsMessage/是否发送短信通知(0:不发送,1:发送)")
public ResponseVO cancelReview(@RequestBody CancelReviewDTO cancelReviewVO) {
projectReviewService.cancelReview(cancelReviewVO);
......@@ -59,7 +56,6 @@ public class ProjectReviewController {
}
@PostMapping(value = "/getProjectReview")
@LoginRequired({Platform.center})
@ApiOperation("中心端 --- 已分配项目评审员:projectId/项目ID")
public ResponseVO getProjectReview(@RequestBody ProjectReviewDTO projectReviewDTO) {
return ResponseData.generateCreatedResponse(0, projectReviewService.getProjectReview(projectReviewDTO));
......
......@@ -38,6 +38,13 @@ public class ProjectReviewPeriodController {
return ResponseData.generateCreatedResponse(0, projectReviewPeriodService.getProjectReviewPeriod(projectReviewPeriodDTO));
}
@PostMapping(value = "/getProjectReviewPeriodCity")
@LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("中心端(种子赛道、职教赛道) --- 查询评审时间:matchId/赛事年份ID、projectGroup/项目组别(科技创新组、红色文创组、高职、中职)、projectSchedule/项目进度(市级初赛、市级复赛、市级决赛)")
public ResponseVO getProjectReviewPeriodCity(@RequestBody ProjectReviewPeriodDTO projectReviewPeriodDTO) {
return ResponseData.generateCreatedResponse(0, projectReviewPeriodService.getProjectReviewPeriodCity(projectReviewPeriodDTO));
}
@PostMapping(value = "/updateProjectReviewPeriod")
@LoginRequired(Platform.center)
@ApiOperation("中心端 --- 修改评审时间:id/ID、matchId/赛事ID、projectGroup/项目组别、projectSchedule/项目进度、startTime/开始时间、endTime/结束时间")
......
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目评审员 前端控制器
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
@RestController
@RequestMapping("/project-school-judge-do")
public class ProjectSchoolJudgeController {
}
package com.zhongzhi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 项目评审 前端控制器
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
@RestController
@RequestMapping("/project-school-review-do")
public class ProjectSchoolReviewController {
}
......@@ -52,4 +52,5 @@ public class StudentController {
studentService.updateStudentInfo(studentDO);
return ResponseData.generateCreatedResponse(0);
}
}
......@@ -2,7 +2,6 @@ package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.dto.college.ExportCollegeDTO;
import com.zhongzhi.model.CollegesDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.college.AwardedListVO;
......
......@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.drawlots.GroupJudgesVO;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.List;
/**
......
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhongzhi.dto.drawlots.CollegeProjectsDTO;
import com.zhongzhi.model.DrawLotGroupDictDO;
import com.zhongzhi.model.DrawLotsGroupItemsDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......
......@@ -5,7 +5,6 @@ import com.zhongzhi.model.DrawLotGroupDictDO;
import com.zhongzhi.model.DrawLotsGroupJudgesDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.drawlots.*;
import com.zhongzhi.vo.judge.JudgeInfoVO;
import org.springframework.stereotype.Repository;
import java.util.List;
......
package com.zhongzhi.dao;
import com.zhongzhi.dto.drawlots.GroupScoresDTO;
import com.zhongzhi.model.DrawLotsGroupItemsDO;
import com.zhongzhi.model.DrawLotsScoresDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......
......@@ -25,6 +25,15 @@ public interface MatchDictDAO extends BaseMapper<MatchDictDO> {
List<MatchDictDO> getList(@Param("projectType") String projectType, @Param("projectGroup") String projectGroup);
MatchDictDO getCurrentMatch(Long memberId,String progress);
/**
* 职教
*/
MatchDictDO getVocationalCurrentMatch(Long memberId,String progress);
/**
* 种子
* @return
*/
MatchDictDO getSeedCurrentMatch(Long memberId,String progress);
}
......@@ -2,7 +2,6 @@ package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.model.ProjectDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.project.*;
......@@ -33,7 +32,11 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> {
@Param("school") String school, String projectSchedule,
String projectStatus, String itemField, @Param("name") String name,@Param("projectProgress") String projectProgress,@Param("themeName")String themeName);
IPage<ReviewListVO> getReviewList(Page page, String projectName, String projectGroup, String schoolReview, Long matchId, String projectStatus, String projectAssigned,String projectProgress);
IPage<SeedTrackProjectPageVO> getSeedTrackProjectPageCity(Page page, Long matchId, String projectGroup, @Param("type") String type, @Param("projectType") String projectType,
@Param("school") String school, String projectSchedule,
String projectStatus, String itemField, @Param("name") String name,@Param("projectProgress") String projectProgress,@Param("themeName")String themeName);
IPage<ReviewListVO> getReviewList(Page page, String projectName, String projectGroup, String schoolReview, Long matchId, String projectStatus, String schoolAssigned,String projectProgress);
IPage<ProjectPageVO> getProjectReviewPage(Page page, Long judgeId, Long matchId, String projectName, String projectSchedule, String projectReview, String projectGroup,String projectProgress);
......
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectSchoolJudgeDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 项目评审员 Mapper 接口
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
public interface ProjectSchoolJudgeDAO extends BaseMapper<ProjectSchoolJudgeDO> {
}
package com.zhongzhi.dao;
import com.zhongzhi.model.ProjectSchoolReviewDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 项目评审 Mapper 接口
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
public interface ProjectSchoolReviewDAO extends BaseMapper<ProjectSchoolReviewDO> {
}
package com.zhongzhi.dto.project;
import com.zhongzhi.dao.ProjectTrademarkMapper;
import com.zhongzhi.model.*;
import lombok.Data;
......
......@@ -26,4 +26,6 @@ public class RegisterDTO {
private String code;
private String sex;
private String className;
}
......@@ -267,9 +267,9 @@ public class ProjectDO extends BaseModel {
*/
private String projectAssigned;
private String schoolReview;
private String schoolAssigned;
// private String schoolReview;
//
// private String schoolAssigned;
private Integer editStatus;
......
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-09-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("project_school_judge")
public class ProjectSchoolJudgeDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private Long collegeId;
/**
* 姓名
*/
private String username;
/**
* 手机号
*/
private String telephone;
/**
* 职务
*/
private String position;
/**
* 单位
*/
private String unit;
/**
* 身份证号
*/
private String idCard;
/**
* 开户行名称
*/
private String bankName;
/**
* 银行卡号
*/
private String bankCard;
/**
* 状态
*/
private Integer status;
/**
* 无密码登录
*/
private Integer passwordFree;
private String biaoji;
}
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 java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 项目评审
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("project_school_review")
public class ProjectSchoolReviewDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 项目ID
*/
private Long projectId;
/**
* 评委ID
*/
private Long judgeId;
/**
* 评审分数
*/
private Double reviewScore;
/**
* 分数
*/
private Double score;
/**
* 评审意见
*/
private String reviewOpinion;
/**
* 进度
*/
private String projectSchedule;
/**
* 评审状态(未提交,已提交)
*/
private String reviewStatus;
/**
* 评审时间
*/
private LocalDateTime reviewTime;
}
......@@ -33,6 +33,8 @@ public class StudentDO extends BaseModel {
*/
private String name;
private String className;
/**
* 头像
*/
......@@ -80,4 +82,5 @@ public class StudentDO extends BaseModel {
*/
private String graduateDate;
}
......@@ -3,6 +3,8 @@ package com.zhongzhi.service;
import com.zhongzhi.model.MajorDictDO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 专业字典表 服务类
......@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface MajorDictService extends IService<MajorDictDO> {
List<MajorDictDO> getMajorList(MajorDictDO majorDictDO);
}
......@@ -28,6 +28,8 @@ public interface MatchDictService extends IService<MatchDictDO> {
IPage getSeedTrackMatchPage(SelectListPageDTO selectListPageDTO);
IPage getSeedTrackMatchPageCity(SelectListPageDTO selectListPageDTO);
void createMatch(MatchDictDTO matchDictDTO);
List<MatchDictDO> getMatch();
......@@ -36,6 +38,8 @@ public interface MatchDictService extends IService<MatchDictDO> {
IPage getVocationalPage(SelectListPageDTO selectListPageDTO);
IPage getVocationalPageCity(SelectListPageDTO selectListPageDTO);
IPage getInternationalPage(SelectListPageDTO selectListPageDTO);
MatchDictDO getVocationalMatch();
......@@ -43,4 +47,8 @@ public interface MatchDictService extends IService<MatchDictDO> {
void updateMatchDate(MatchDictDO matchDictDO);
MatchDictDO getMatch(MatchDictDO matchDictDO);
List<MatchDictDO> getSeedTrackMatchAll();
List<MatchDictDO> getVocationalMatchAll();
}
......@@ -3,6 +3,8 @@ package com.zhongzhi.service;
import com.zhongzhi.model.MatchScheduleDO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 时间安排 服务类
......@@ -13,4 +15,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface MatchScheduleService extends IService<MatchScheduleDO> {
List<MatchScheduleDO> getMatchSchedule(MatchScheduleDO matchScheduleDO);
List<MatchScheduleDO> getVocationalMatchSchedule(MatchScheduleDO matchScheduleDO);
}
......@@ -25,6 +25,8 @@ public interface ProjectJudgeService extends IService<ProjectJudgeDO> {
void updateProjectJudge(ProjectJudgeDO projectJudgeDO);
void removeJudge(ProjectJudgeDO projectJudgeDO);
JudgeInfoVO login(LoginDTO loginDTO);
IPage<ProjectJudgePageVO> projectJudgesAssigned(ProjectJudgePageDTO projectJudgePageDTO);
......
......@@ -17,5 +17,7 @@ public interface ProjectReviewPeriodService extends IService<ProjectReviewPeriod
ProjectReviewPeriodVO getProjectReviewPeriod(ProjectReviewPeriodDTO projectReviewPeriodDTO);
ProjectReviewPeriodVO getProjectReviewPeriodCity(ProjectReviewPeriodDTO projectReviewPeriodDTO);
void updateProjectReviewPeriod(ProjectReviewPeriodDO projectReviewPeriodDO);
}
......@@ -31,7 +31,7 @@ public interface ProjectReviewService extends IService<ProjectReviewDO> {
void sendNotice(SendNoticeVO sendNoticeVO);
Integer selectCount(Long judgeId, Long matchId);
Integer selectCountByMatchId(Long judgeId, Long matchId);
Integer selectNotReviewCount(Long judgeId, Long matchId);
}
package com.zhongzhi.service;
import com.zhongzhi.model.ProjectSchoolJudgeDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 项目评审员 服务类
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
public interface ProjectSchoolJudgeService extends IService<ProjectSchoolJudgeDO> {
}
package com.zhongzhi.service;
import com.zhongzhi.model.ProjectSchoolReviewDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 项目评审 服务类
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
public interface ProjectSchoolReviewService extends IService<ProjectSchoolReviewDO> {
}
......@@ -54,10 +54,14 @@ public interface ProjectService extends IService<ProjectDO> {
IPage getSeedTrackProjectList(ProjectListPageDTO projectListPageDTO);
IPage getSeedTrackProjectListCity(ProjectListPageDTO projectListPageDTO);
void downloadPDF(String projectGroup,String themeName,String progress);
SeedTrackProjectDetailVO getSeedTrackProjectDetail(Long id);
SeedTrackProjectDetailVO getSeedTrackProjectDetailCity(Long id);
void pass(ApproveDTO approveDTO);
void batchPass(ApproveDTO approveDTO);
......@@ -82,10 +86,16 @@ public interface ProjectService extends IService<ProjectDO> {
IPage getProjectReviewPage(ProjectReviewPageDTO projectReviewPageDTO);
IPage getProjectReviewPageCity(ProjectReviewPageDTO projectReviewPageDTO);
void setScore(ProjectReviewScoreDTO projectReviewScoreDTO);
void setScoreCity(ProjectReviewScoreDTO projectReviewScoreDTO);
void submitted(ProjectReviewScoreDTO projectReviewScoreDTO);
void submittedCity(ProjectReviewScoreDTO projectReviewScoreDTO);
ProjectMemberVO getProjectMember(String projectGroup,String themeName,String progress);
ProjectMemberVO getVocationalProjectMember(String projectGroup,String themeName);
......@@ -102,6 +112,8 @@ public interface ProjectService extends IService<ProjectDO> {
ProjectNumVO getReviewProjectNum(ReviewListDTO reviewListDTO);
ProjectNumVO getReviewProjectNumCity(ReviewListDTO reviewListDTO);
void exportCollegeProject(CollegeProjectDTO collegeProjectDTO);
void getProjectByStudentId(StudentProjectDTO studentProjectDTO);
......@@ -110,6 +122,8 @@ public interface ProjectService extends IService<ProjectDO> {
SeedTrackProjectNumVO getSeedTrackProjectNum(SeedTrackProjectNumDTO seedTrackProjectNumDTO);
SeedTrackProjectNumVO getSeedTrackProjectNumCity(SeedTrackProjectNumDTO seedTrackProjectNumDTO);
void exportProjectCollegeList(ProjectCollegeListDTO projectCollegeListDTO);
List<ProjectDO> getList(Long matchId, String name, String projectGroup);
......@@ -150,10 +164,14 @@ public interface ProjectService extends IService<ProjectDO> {
SeedTrackProjectDetailVO getVocationalProjectDetail(Long id);
SeedTrackProjectDetailVO getVocationalProjectDetailCity(Long id);
SeedTrackProjectDetailVO getInternationalProjectDetail(Long id);
IPage getVocationalProjectPage(ProjectListPageDTO projectListPageDTO);
IPage getVocationalProjectPageCity(ProjectListPageDTO projectListPageDTO);
IPage getInternationalProjectPage(ProjectListPageDTO projectListPageDTO);
IPage getVocationalProjectList(ProjectListPageDTO projectListPageDTO);
......@@ -168,6 +186,8 @@ public interface ProjectService extends IService<ProjectDO> {
VocationalNumVO getVocationalProjectNum(SeedTrackProjectNumDTO seedTrackProjectNumDTO);
VocationalNumVO getVocationalProjectNumCity(SeedTrackProjectNumDTO seedTrackProjectNumDTO);
VocationalNumVO getInternationalProjectNum(SeedTrackProjectNumDTO seedTrackProjectNumDTO);
VocationalReviewNumVO getVocationalReviewNum(ReviewListDTO reviewListDTO);
......
......@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.constant.ProjectSchedule;
import com.zhongzhi.common.constant.ProjectStatus;
......@@ -11,12 +13,9 @@ import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.*;
import com.zhongzhi.dao.*;
import com.zhongzhi.dto.college.*;
import com.zhongzhi.dto.projectJudge.ImportJudge;
import com.zhongzhi.model.*;
import com.zhongzhi.service.CollegesDictService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.service.ProjectScheduleRecordService;
import com.zhongzhi.service.ProjectService;
import com.zhongzhi.vo.ExcelFieldVO;
import com.zhongzhi.vo.college.*;
import org.apache.commons.lang3.StringUtils;
......@@ -42,9 +41,6 @@ import java.util.*;
public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, CollegesDictDO> implements CollegesDictService {
@Autowired
private ProjectService projectService;
@Autowired
private MatchCollegePdfMapper matchCollegePdfMapper;
@Autowired
......@@ -66,19 +62,25 @@ public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, Colleg
private CollegesDictDAO collegesDictDAO;
public List<GetCollegeInfoVO> getCollegeInfo(GetCollegesListDTO getCollegesListDTO){
DbContextHolder.setDbType(DBTypeEnum.db2);
return this.baseMapper.getCollegeInfo(getCollegesListDTO.getName(),getCollegesListDTO.getEducation(),getCollegesListDTO.getSceneId());
}
public List<GetCollegeInfoVO> getSceneCollegeInfo(GetCollegesListDTO getCollegesListDTO){
DbContextHolder.setDbType(DBTypeEnum.db2);
return this.baseMapper.getSceneCollegeInfo(getCollegesListDTO.getName(),getCollegesListDTO.getEducation(),getCollegesListDTO.getSceneId());
}
@Override
@Transactional(rollbackFor = Exception.class)
public CollegesVO login(LoginDTO loginDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
CollegesVO collegesVO = new CollegesVO();
CollegesDictDO collegesDict = this.baseMapper.selectOne(new QueryWrapper<CollegesDictDO>().lambda()
.eq(CollegesDictDO::getAccount, loginDTO.getAccount()));
.eq(CollegesDictDO::getAccount, loginDTO.getAccount())
.eq(CollegesDictDO::getName,"上海电子信息职业技术学院"));
if (collegesDict == null) {
throw new HttpException(10060);
}
......@@ -105,6 +107,7 @@ public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, Colleg
@Override
public IPage getCollegesPage(CollegesPageDTO collegesPageDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
Page page = new Page(collegesPageDTO.getPageNo(), collegesPageDTO.getPageSize());
IPage<CollegePageVO> iPage = this.baseMapper.listPage(page, collegesPageDTO.getName());
return iPage;
......@@ -112,6 +115,8 @@ public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, Colleg
@Override
public void createColleges(CollegesDictDO collegesDictDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
CollegesDictDO collegesDict = this.baseMapper.selectOne(new QueryWrapper<CollegesDictDO>().lambda()
.eq(CollegesDictDO::getAccount, collegesDictDO.getAccount()));
if (collegesDict != null) {
......@@ -205,7 +210,7 @@ public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, Colleg
IPage<AwardedListVO> iPage = this.baseMapper.getAwardedList(new Page<>(awardedListDTO.getPageNo(), awardedListDTO.getPageSize()),
awardedListDTO.getName());
for (AwardedListVO record : iPage.getRecords()) {
List<ProjectDO> list = projectService.getList(awardedListDTO.getMatchId(), record.getName(), awardedListDTO.getProjectGroup());
List<ProjectDO> list = projectDAO.getList(awardedListDTO.getMatchId(), record.getName(), awardedListDTO.getProjectGroup());
if (list != null && list.size() > 0) {
Integer schoolCompetitionNum = 0;
Integer rematchNum = 0;
......@@ -267,7 +272,7 @@ public class CollegesDictServiceImpl extends ServiceImpl<CollegesDictDAO, Colleg
List<AwardedListVO> listAll = this.baseMapper.getAwardedListAll();
for (AwardedListVO awardedListVO : listAll) {
List<ProjectDO> list = projectService.getList(awardedListDTO.getMatchId(), awardedListVO.getName(), awardedListDTO.getProjectGroup());
List<ProjectDO> list = projectDAO.getList(awardedListDTO.getMatchId(), awardedListVO.getName(), awardedListDTO.getProjectGroup());
Integer schoolCompetitionNum = 0;
Integer rematchNum = 0;
Integer finalNum = 0;
......
......@@ -6,7 +6,6 @@ import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.ConstantUtils;
import com.zhongzhi.dao.DrawLotsGroupItemsMapper;
import com.zhongzhi.dao.DrawLotsGroupJudgesMapper;
import com.zhongzhi.dao.MatchDictDAO;
import com.zhongzhi.model.DrawLotGroupDictDO;
import com.zhongzhi.dao.DrawLotGroupDictMapper;
import com.zhongzhi.model.DrawLotsGroupItemsDO;
......
......@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.constant.RoleType;
import com.zhongzhi.common.constant.TeachType;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.ConstantUtils;
import com.zhongzhi.dao.DrawLotGroupDictMapper;
import com.zhongzhi.dao.DrawLotsGroupItemsMapper;
import com.zhongzhi.dao.MatchDictDAO;
import com.zhongzhi.dto.drawlots.AddJudgeDTO;
import com.zhongzhi.dto.drawlots.DrawLoginDTO;
import com.zhongzhi.dto.drawlots.JudgeScoreScreenDTO;
......@@ -19,13 +17,10 @@ import com.zhongzhi.dao.DrawLotsGroupJudgesMapper;
import com.zhongzhi.service.DrawLotsGroupJudgesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.vo.drawlots.*;
import com.zhongzhi.vo.judge.JudgeInfoVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
......
......@@ -13,7 +13,6 @@ import com.zhongzhi.dao.DrawLotsScenesMapper;
import com.zhongzhi.service.DrawLotsScenesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.vo.project.AllMatchScenesVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......
......@@ -3,8 +3,6 @@ package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.constant.RoleType;
import com.zhongzhi.common.constant.SubmitStatus;
import com.zhongzhi.common.constant.TeachType;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.ConstantUtils;
import com.zhongzhi.dao.DrawLotGroupDictMapper;
import com.zhongzhi.dao.DrawLotsGroupItemsMapper;
......@@ -15,7 +13,6 @@ import com.zhongzhi.dao.DrawLotsScoresMapper;
import com.zhongzhi.service.DrawLotsScoresService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.vo.drawlots.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......
package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.model.MajorDictDO;
import com.zhongzhi.dao.MajorDictDAO;
import com.zhongzhi.service.MajorDictService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 专业字典表 服务实现类
......@@ -17,4 +23,16 @@ import org.springframework.stereotype.Service;
@Service
public class MajorDictServiceImpl extends ServiceImpl<MajorDictDAO, MajorDictDO> implements MajorDictService {
@Override
public List<MajorDictDO> getMajorList(MajorDictDO majorDictDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
return this.baseMapper.selectList(new QueryWrapper<MajorDictDO>()
.lambda()
.eq(StringUtils.isNotBlank(majorDictDO.getEducation()),MajorDictDO::getEducation,majorDictDO.getEducation())
.eq(StringUtils.isNotBlank(majorDictDO.getCode()),MajorDictDO::getCode,majorDictDO.getCode())
.like(StringUtils.isNotBlank(majorDictDO.getMajor()),MajorDictDO::getMajor,majorDictDO.getMajor()));
}
}
......@@ -10,7 +10,6 @@ import com.zhongzhi.model.CollegesDictDO;
import com.zhongzhi.model.MatchCollegePdfDO;
import com.zhongzhi.model.MatchDictDO;
import com.zhongzhi.service.MatchCollegePdfService;
import com.zhongzhi.vo.project.QueryPdfStatusVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......
package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.constant.ProjectType;
import com.zhongzhi.dao.MatchDictDAO;
import com.zhongzhi.model.MatchDictDO;
import com.zhongzhi.model.MatchScheduleDO;
import com.zhongzhi.dao.MatchScheduleDAO;
import com.zhongzhi.service.MatchScheduleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 时间安排 服务实现类
......@@ -17,4 +25,45 @@ import org.springframework.stereotype.Service;
@Service
public class MatchScheduleServiceImpl extends ServiceImpl<MatchScheduleDAO, MatchScheduleDO> implements MatchScheduleService {
@Autowired
private MatchDictDAO matchDictDAO;
@Override
public List<MatchScheduleDO> getMatchSchedule(MatchScheduleDO matchScheduleDO) {
MatchDictDO matchDictDO = matchDictDAO.selectOne(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getId, matchScheduleDO.getMatchId())
.eq(MatchDictDO::getMatchType, ProjectType.SEED_TRACK)
.eq(MatchDictDO::getStatus, 1));
List<MatchScheduleDO> list = new ArrayList<>();
if (matchDictDO != null) {
list = this.baseMapper.selectList(new QueryWrapper<MatchScheduleDO>()
.lambda()
.eq(MatchScheduleDO::getMatchId, matchDictDO.getId()));
}
return list;
}
@Override
public List<MatchScheduleDO> getVocationalMatchSchedule(MatchScheduleDO matchScheduleDO) {
MatchDictDO matchDictDO = matchDictDAO.selectOne(new QueryWrapper<MatchDictDO>()
.lambda()
.eq(MatchDictDO::getId, matchScheduleDO.getMatchId())
.eq(MatchDictDO::getMatchType, ProjectType.VOCATIONAL)
.eq(MatchDictDO::getStatus, 1));
List<MatchScheduleDO> list = new ArrayList<>();
if (matchDictDO != null) {
list = this.baseMapper.selectList(new QueryWrapper<MatchScheduleDO>()
.lambda()
.eq(MatchScheduleDO::getMatchId, matchDictDO.getId()));
}
return list;
}
}
......@@ -3,17 +3,17 @@ package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.Code;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.Localstorage;
import com.zhongzhi.dto.message.MessagePageDTO;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.MessageDO;
import com.zhongzhi.dao.MessageDAO;
import com.zhongzhi.service.AdministerService;
import com.zhongzhi.service.MessageService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
......@@ -29,17 +29,23 @@ public class MessageServiceImpl extends ServiceImpl<MessageDAO, MessageDO> imple
@Override
public void createMessage(MessageDO messageDO) {
AdministerDO administerDO = (AdministerDO) Localstorage.getUser();
if (administerDO == null) {
throw new HttpException(Code.TOKEN_EXPIRED.getCode(), Code.TOKEN_EXPIRED.getMessage());
}
messageDO.setUsername(administerDO.getUsername());
DbContextHolder.setDbType(DBTypeEnum.db2);
// AdministerDO administerDO = (AdministerDO) Localstorage.getUser();
// if (administerDO == null) {
// throw new HttpException(Code.TOKEN_EXPIRED.getCode(), Code.TOKEN_EXPIRED.getMessage());
// }
//
// messageDO.setUsername(administerDO.getUsername());
this.baseMapper.insert(messageDO);
}
@Override
public IPage<MessageDO> getMessagePage(MessagePageDTO messagePageDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
IPage<MessageDO> iPage = this.baseMapper.selectPage(new Page(messagePageDTO.getPageNo(), messagePageDTO.getPageSize()),
new QueryWrapper<MessageDO>()
.lambda()
......
......@@ -4,23 +4,22 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.SmsCode;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.ExcelUtil;
import com.zhongzhi.common.utils.JwtUtil;
import com.zhongzhi.common.utils.Localstorage;
import com.zhongzhi.dao.ProjectReviewDAO;
import com.zhongzhi.dao.SmsCodeDAO;
import com.zhongzhi.dto.administer.LoginDTO;
import com.zhongzhi.dto.judge.ProjectJudgePageDTO;
import com.zhongzhi.dto.projectJudge.ImportJudge;
import com.zhongzhi.model.ProjectJudgeDO;
import com.zhongzhi.model.*;
import com.zhongzhi.dao.ProjectJudgeDAO;
import com.zhongzhi.model.ProjectReviewDO;
import com.zhongzhi.model.ProjectSchoolJudgeDO;
import com.zhongzhi.model.SmsCodeDO;
import com.zhongzhi.service.ProjectJudgeService;
import com.zhongzhi.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.service.ProjectReviewService;
import com.zhongzhi.service.ProjectSchoolJudgeService;
import com.zhongzhi.service.SmsCodeService;
import com.zhongzhi.vo.ExcelFieldVO;
import com.zhongzhi.vo.judge.JudgeInfoVO;
import com.zhongzhi.vo.judge.ProjectJudgePageVO;
......@@ -45,40 +44,52 @@ import java.util.Map;
public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, ProjectJudgeDO> implements ProjectJudgeService {
@Autowired
private ProjectReviewService projectReviewService;
private ProjectReviewDAO projectReviewDAO;
@Autowired
private SmsCodeService smsCodeService;
private SmsCodeDAO smsCodeDAO;
@Autowired
private ProjectSchoolJudgeService projectSchoolJudgeService;
@Override
public IPage<ProjectJudgePageVO> getProjectJudgePage(ProjectJudgePageDTO projectJudgePageDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
IPage<ProjectJudgePageVO> iPage = this.baseMapper.getProjectJudgePage(new Page(projectJudgePageDTO.getPageNo(), projectJudgePageDTO.getPageSize()), projectJudgePageDTO.getUsername(), projectJudgePageDTO.getStatus());
for (ProjectJudgePageVO record : iPage.getRecords()) {
Integer count = projectReviewService.count(new QueryWrapper<ProjectReviewDO>()
Integer count = this.baseMapper.selectCount(new QueryWrapper<ProjectJudgeDO>()
.lambda()
.eq(ProjectReviewDO::getJudgeId, record.getId()));
.eq(ProjectJudgeDO::getId, record.getId()));
record.setAssignedQuantity(count);
}
return iPage;
}
@Override
public void removeJudge(ProjectJudgeDO projectJudgeDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
this.baseMapper.deleteById(projectJudgeDO.getId());
}
@Override
public void createProjectJudge(ProjectJudgeDO projectJudgeDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
ProjectJudgeDO projectJudge = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>()
.lambda()
.eq(ProjectJudgeDO::getTelephone, projectJudgeDO.getTelephone()));
if (projectJudge != null) {
throw new HttpException(10020);
}
this.baseMapper.insert(projectJudgeDO);
}
@Override
public void updateProjectJudge(ProjectJudgeDO projectJudgeDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
ProjectJudgeDO projectJudge = this.baseMapper.selectById(projectJudgeDO.getId());
if (projectJudge != null) {
if (projectJudge.getTelephone().equals(projectJudgeDO.getTelephone())) {
......@@ -98,16 +109,19 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
@Override
public JudgeInfoVO login(LoginDTO loginDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
JudgeInfoVO judgeInfoVO = new JudgeInfoVO();
ProjectSchoolJudgeDO projectJudgeDO = projectSchoolJudgeService.getOne(new QueryWrapper<ProjectSchoolJudgeDO>()
ProjectJudgeDO projectJudgeDO = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>()
.lambda()
.eq(ProjectSchoolJudgeDO::getTelephone, loginDTO.getTelephone()));
.eq(ProjectJudgeDO::getTelephone, loginDTO.getTelephone()));
if (null != projectJudgeDO){
if (null != projectJudgeDO.getPasswordFree() && projectJudgeDO.getPasswordFree() != 1){
SmsCodeDO smsCodeDO = smsCodeService.getOneByTelePhone(loginDTO.getTelephone(), SmsCode.login, SmsCode.review);
SmsCodeDO smsCodeDO = smsCodeDAO.getOneByTelePhone(loginDTO.getTelephone(), SmsCode.login, SmsCode.review);
if (smsCodeDO == null) {
throw new HttpException(10025);
}
......@@ -116,7 +130,7 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
throw new HttpException(10021);
}
smsCodeService.removeById(smsCodeDO.getId());
smsCodeDAO.deleteById(smsCodeDO.getId());
if (projectJudgeDO == null) {
throw new HttpException(10024);
......@@ -139,13 +153,16 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
@Override
public IPage<ProjectJudgePageVO> projectJudgesAssigned(ProjectJudgePageDTO projectJudgePageDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
IPage<ProjectJudgePageVO> iPage = this.baseMapper.projectJudgesAssigned(new Page(projectJudgePageDTO.getPageNo(), projectJudgePageDTO.getPageSize()),
projectJudgePageDTO.getMatchId(), projectJudgePageDTO.getProjectGroup(), projectJudgePageDTO.getProjectSchedule());
if (iPage.getRecords() != null && iPage.getRecords().size() > 0) {
for (ProjectJudgePageVO record : iPage.getRecords()) {
Integer count = projectReviewService.selectCount(record.getId(), projectJudgePageDTO.getMatchId());
Integer count = projectReviewDAO.selectCountByMatchId(record.getId(), projectJudgePageDTO.getMatchId());
record.setAssignedQuantity(count);
Integer notReviewNum = projectReviewService.selectNotReviewCount(record.getId(), projectJudgePageDTO.getMatchId());
Integer notReviewNum = projectReviewDAO.selectNotReviewCount(record.getId(), projectJudgePageDTO.getMatchId());
record.setNotReviewedNum(notReviewNum);
}
}
......@@ -154,6 +171,9 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
@Override
public void importJudge(MultipartFile file) {
DbContextHolder.setDbType(DBTypeEnum.db2);
List<ImportJudge> list = ExcelUtil.readExcel(ImportJudge.class, file);
if (list != null) {
for (ImportJudge importJudge : list) {
......@@ -172,6 +192,9 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
@Override
public void exportProjectJudge() {
DbContextHolder.setDbType(DBTypeEnum.db2);
List<ExcelFieldVO> field = ExcelUtil.getField(ImportJudge.class);
List<ProjectJudgeDO> list = this.baseMapper.selectList(new QueryWrapper<>());
List<Map> data = new ArrayList<>();
......
package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.utils.DateFormatUtil;
import com.zhongzhi.dto.period.ProjectReviewPeriodDTO;
import com.zhongzhi.model.ProjectReviewPeriodDO;
......@@ -23,6 +25,28 @@ public class ProjectReviewPeriodServiceImpl extends ServiceImpl<ProjectReviewPer
@Override
public ProjectReviewPeriodVO getProjectReviewPeriod(ProjectReviewPeriodDTO projectReviewPeriodDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
ProjectReviewPeriodVO projectReviewPeriodVO = new ProjectReviewPeriodVO();
ProjectReviewPeriodDO projectReviewPeriodDO = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda()
.eq(ProjectReviewPeriodDO::getMatchId, projectReviewPeriodDTO.getMatchId())
.eq(ProjectReviewPeriodDO::getProjectSchedule, projectReviewPeriodDTO.getProjectSchedule()));
if (projectReviewPeriodDO != null) {
projectReviewPeriodVO.setId(projectReviewPeriodDO.getId());
projectReviewPeriodVO.setStartTime(DateFormatUtil.format(projectReviewPeriodDO.getStartTime(), DateFormatUtil.FMT_sdf14_L));
projectReviewPeriodVO.setEndTime(DateFormatUtil.format(projectReviewPeriodDO.getEndTime(), DateFormatUtil.FMT_sdf14_L));
}
return projectReviewPeriodVO;
}
@Override
public ProjectReviewPeriodVO getProjectReviewPeriodCity(ProjectReviewPeriodDTO projectReviewPeriodDTO) {
DbContextHolder.setDbType(DBTypeEnum.db1);
ProjectReviewPeriodVO projectReviewPeriodVO = new ProjectReviewPeriodVO();
ProjectReviewPeriodDO projectReviewPeriodDO = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda()
......@@ -39,6 +63,9 @@ public class ProjectReviewPeriodServiceImpl extends ServiceImpl<ProjectReviewPer
@Override
public void updateProjectReviewPeriod(ProjectReviewPeriodDO projectReviewPeriodDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
ProjectReviewPeriodDO projectReviewPeriod = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda()
.eq(ProjectReviewPeriodDO::getMatchId, projectReviewPeriodDO.getMatchId())
......
package com.zhongzhi.service.impl;
import com.zhongzhi.model.ProjectSchoolJudgeDO;
import com.zhongzhi.dao.ProjectSchoolJudgeDAO;
import com.zhongzhi.service.ProjectSchoolJudgeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 项目评审员 服务实现类
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
@Service
public class ProjectSchoolJudgeServiceImpl extends ServiceImpl<ProjectSchoolJudgeDAO, ProjectSchoolJudgeDO> implements ProjectSchoolJudgeService {
}
package com.zhongzhi.service.impl;
import com.zhongzhi.model.ProjectSchoolReviewDO;
import com.zhongzhi.dao.ProjectSchoolReviewDAO;
import com.zhongzhi.service.ProjectSchoolReviewService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 项目评审 服务实现类
* </p>
*
* @author DengMin
* @since 2025-09-29
*/
@Service
public class ProjectSchoolReviewServiceImpl extends ServiceImpl<ProjectSchoolReviewDAO, ProjectSchoolReviewDO> implements ProjectSchoolReviewService {
}
This diff could not be displayed because it is too large.
package com.zhongzhi.service.impl;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.SmsCode;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.AliyunSmsUtil;
import com.zhongzhi.common.utils.RandomUtil;
import com.zhongzhi.common.utils.SMSSendUtils;
import com.zhongzhi.model.AdministerDO;
import com.zhongzhi.model.CollegesDictDO;
import com.zhongzhi.model.ProjectJudgeDO;
import com.zhongzhi.model.SmsCodeDO;
import com.zhongzhi.dao.ProjectJudgeDAO;
import com.zhongzhi.model.*;
import com.zhongzhi.dao.SmsCodeDAO;
import com.zhongzhi.model.StudentDO;
import com.zhongzhi.service.AdministerService;
import com.zhongzhi.service.CollegesDictService;
import com.zhongzhi.service.ProjectJudgeService;
import com.zhongzhi.service.SmsCodeService;
import com.zhongzhi.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.service.StudentService;
import org.apache.http.HttpResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -46,13 +40,16 @@ public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeDAO, SmsCodeDO> imple
private AdministerService administerService;
@Autowired
private ProjectJudgeService projectJudgeService;
private ProjectJudgeDAO projectJudgeDAO;
@Autowired
private CollegesDictService collegesDictService;
@Override
public void sendRegisterCode(SmsCodeDO smsCodeDO) throws Exception{
DbContextHolder.setDbType(DBTypeEnum.db2);
StudentDO studentDO = studentService.getOne(new QueryWrapper<StudentDO>()
.lambda()
.eq(StudentDO::getTelephone, smsCodeDO.getTelephone()));
......@@ -84,6 +81,9 @@ public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeDAO, SmsCodeDO> imple
@Override
public void sendStudentLoginCode(SmsCodeDO smsCodeDO) throws Exception {
DbContextHolder.setDbType(DBTypeEnum.db2);
StudentDO studentDO = studentService.getOne(new QueryWrapper<StudentDO>()
.lambda()
.eq(StudentDO::getTelephone, smsCodeDO.getTelephone()));
......@@ -122,11 +122,17 @@ public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeDAO, SmsCodeDO> imple
@Override
public SmsCodeDO getOneByTelePhone(String telephone, String type, String platform) {
DbContextHolder.setDbType(DBTypeEnum.db2);
return this.baseMapper.getOneByTelePhone(telephone, type, platform);
}
@Override
public void sendAdministerLoginCode(AdministerDO administerDO) throws Exception {
DbContextHolder.setDbType(DBTypeEnum.db2);
AdministerDO administer = administerService.getOne(new QueryWrapper<AdministerDO>()
.lambda()
.eq(AdministerDO::getTelephone, administerDO.getTelephone()));
......@@ -161,7 +167,9 @@ public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeDAO, SmsCodeDO> imple
@Override
public void sendJudgeLoginCode(SmsCodeDO smsCodeDO) throws Exception{
ProjectJudgeDO projectJudgeDO = projectJudgeService.getOne(new QueryWrapper<ProjectJudgeDO>()
DbContextHolder.setDbType(DBTypeEnum.db2);
ProjectJudgeDO projectJudgeDO = projectJudgeDAO.selectOne(new QueryWrapper<ProjectJudgeDO>()
.lambda()
.eq(ProjectJudgeDO::getTelephone, smsCodeDO.getTelephone()));
if (projectJudgeDO == null) {
......
......@@ -2,7 +2,6 @@ package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.constant.SMSTemplate;
import com.zhongzhi.common.utils.AliyunSmsUtil;
import com.zhongzhi.dao.ProjectDAO;
import com.zhongzhi.dao.StudentDAO;
......
package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.configure.DbContextHolder;
import com.zhongzhi.common.constant.Code;
import com.zhongzhi.common.constant.DBTypeEnum;
import com.zhongzhi.common.constant.SmsCode;
import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.JwtUtil;
import com.zhongzhi.common.utils.Localstorage;
import com.zhongzhi.dao.CollegesDictDAO;
import com.zhongzhi.dao.SmsCodeDAO;
import com.zhongzhi.dto.student.LoginDTO;
import com.zhongzhi.dto.student.RegisterDTO;
import com.zhongzhi.model.CollegesDictDO;
import com.zhongzhi.model.SmsCodeDO;
import com.zhongzhi.model.StudentDO;
import com.zhongzhi.dao.StudentDAO;
import com.zhongzhi.service.CollegesDictService;
import com.zhongzhi.service.SmsCodeService;
import com.zhongzhi.service.StudentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.vo.student.StudentInfoVO;
......@@ -33,15 +35,18 @@ import org.springframework.stereotype.Service;
public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> implements StudentService {
@Autowired
private SmsCodeService smsCodeService;
private SmsCodeDAO smsCodeDAO;
@Autowired
private CollegesDictService collegesDictService;
private CollegesDictDAO collegesDictDAO;
@Override
public StudentInfoVO register(RegisterDTO registerDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
StudentInfoVO studentInfoVO = new StudentInfoVO();
SmsCodeDO smsCodeDO = smsCodeService.getOneByTelePhone(registerDTO.getTelephone(), SmsCode.register, SmsCode.student);
SmsCodeDO smsCodeDO = smsCodeDAO.getOneByTelePhone(registerDTO.getTelephone(), SmsCode.register, SmsCode.student);
if (smsCodeDO == null) {
throw new HttpException(10025);
}
......@@ -50,7 +55,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> imple
throw new HttpException(10021);
}
smsCodeService.removeById(smsCodeDO.getId());
smsCodeDAO.deleteById(smsCodeDO.getId());
if (!registerDTO.getTelephone().equals(smsCodeDO.getTelephone())) {
throw new HttpException(10022);
......@@ -72,21 +77,28 @@ public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> imple
StudentDO student = new StudentDO();
BeanUtils.copyProperties(registerDTO, student);
student.setCollege(registerDTO.getSchool());
student.setCollege("上海电子信息职业技术学院");
student.setEducation("高职");
student.setClassName(registerDTO.getClassName());
this.baseMapper.insert(student);
String token = JwtUtil.generateToken(student.getId(), SmsCode.student);
BeanUtils.copyProperties(registerDTO, studentInfoVO);
studentInfoVO.setCollege(registerDTO.getSchool());
studentInfoVO.setCollege(student.getCollege());
studentInfoVO.setEducation(student.getEducation());
studentInfoVO.setToken(token);
studentInfoVO.setClassName(student.getClassName());
studentInfoVO.setSex(student.getSex());
return studentInfoVO;
}
@Override
public StudentInfoVO login(LoginDTO loginDTO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
StudentInfoVO studentInfoVO = new StudentInfoVO();
SmsCodeDO smsCodeDO = smsCodeService.getOneByTelePhone(loginDTO.getTelephone(), SmsCode.login, SmsCode.student);
SmsCodeDO smsCodeDO = smsCodeDAO.getOneByTelePhone(loginDTO.getTelephone(), SmsCode.login, SmsCode.student);
if (smsCodeDO == null) {
throw new HttpException(10025);
}
......@@ -95,7 +107,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> imple
throw new HttpException(10021);
}
smsCodeService.removeById(smsCodeDO.getId());
smsCodeDAO.deleteById(smsCodeDO.getId());
StudentDO studentDO = this.baseMapper.selectOne(new QueryWrapper<StudentDO>()
.lambda()
......@@ -104,7 +116,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> imple
throw new HttpException(10024);
}
CollegesDictDO collegesDictDO = collegesDictService.getOne(new QueryWrapper<CollegesDictDO>()
CollegesDictDO collegesDictDO = collegesDictDAO.selectOne(new QueryWrapper<CollegesDictDO>()
.lambda()
.eq(CollegesDictDO::getName, studentDO.getCollege()));
if(collegesDictDO.getLoginStatus() == 0) {
......@@ -119,6 +131,9 @@ public class StudentServiceImpl extends ServiceImpl<StudentDAO, StudentDO> imple
@Override
public void updateStudentInfo(StudentDO studentDO) {
DbContextHolder.setDbType(DBTypeEnum.db2);
StudentDO student = (StudentDO) Localstorage.getUser();
if (studentDO == null) {
throw new HttpException(Code.TOKEN_EXPIRED.getCode(), Code.TOKEN_EXPIRED.getMessage());
......
......@@ -23,6 +23,7 @@ public class YearDictServiceImpl extends ServiceImpl<YearDictDAO, YearDictDO> im
public List<YearDictDO> queryYears() {
return this.baseMapper.selectList(null);
}
......@@ -41,6 +42,7 @@ public class YearDictServiceImpl extends ServiceImpl<YearDictDAO, YearDictDO> im
}
public void addYear(YearDictDO yearDictDO) {
int count = this.baseMapper.selectCount(new QueryWrapper<YearDictDO>()
.lambda()
.eq(YearDictDO::getYear,yearDictDO.getYear()));
......
......@@ -36,4 +36,6 @@ public class ProjectAssignNumVO {
* 未分配
*/
private Long unassignedNum;
private Long xiaojiNum;
}
......@@ -11,6 +11,8 @@ public class ReviewListVO {
private String name;
private String className;
private String projectName;
private String projectGroup;
......
......@@ -18,6 +18,8 @@ public class SeedTrackProjectPageVO {
private String college;
private String className;
private String name;
private String major;
......
......@@ -30,4 +30,6 @@ public class VocationalReviewNumVO {
private Long review;
private Long notReview;
private Integer xiaojiNum;
}
......@@ -36,4 +36,6 @@ public class StudentInfoVO {
* 毕业年份
*/
private String graduateDate;
private String className;
}
# 本地环境配置
# 端口号
server.port=23508
# 数据源配置
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
spring.datasource.dynamic.strict=false
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.hikari.min-idle=5
spring.datasource.dynamic.hikari.max-pool-size=20
spring.datasource.dynamic.hikari.connection-timeout=30000
spring.datasource.dynamic.hikari.idle-timeout=600000
# db1 中职库
spring.datasource.dynamic.datasource.db1.url=jdbc:mysql://116.62.57.92:3306/zhongzhi?connectTimeout=3000&socketTimeout=6000
spring.datasource.dynamic.datasource.db1.username=devloper
spring.datasource.dynamic.datasource.db1.password=dev@1553$
spring.datasource.dynamic.datasource.db1.driver-class-name=com.mysql.cj.jdbc.Driver
# db2 校内数据库
spring.datasource.dynamic.datasource.db2.url=jdbc:mysql://116.62.57.92:3306/electron?connectTimeout=3000&socketTimeout=6000
spring.datasource.dynamic.datasource.db2.username=devloper
spring.datasource.dynamic.datasource.db2.password=dev@1553$
spring.datasource.dynamic.datasource.db2.driver-class-name=com.mysql.cj.jdbc.Driver
# 控制台日志打印
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
# 预生产环境配置
# 端口号
server.port=23508
# 数据源配置
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=23508
# 数据源配置
spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com: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=ykadmin
spring.datasource.password=youkedb608@good
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
# db1
spring.datasource.dynamic.datasource.db1.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/zhongzhi?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.dynamic.datasource.db1.username=ykadmin
spring.datasource.dynamic.datasource.db1.password=youkedb608@good
spring.datasource.dynamic.datasource.db1.driver-class-name=com.mysql.cj.jdbc.Driver
# db2
spring.datasource.dynamic.datasource.db2.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/electron?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.dynamic.datasource.db2.username=ykadmin
spring.datasource.dynamic.datasource.db2.password=youkedb608@good
spring.datasource.dynamic.datasource.db2.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
\ No newline at end of file
# 环境配置
spring.profiles.active=dev
spring.profiles.active=prod
# 文件编码 UTF8
spring.mandatory-file-encoding=UTF-8
spring.jackson.time-zone=GMT+8
......@@ -22,11 +22,15 @@ mybatis-plus.global-config.db-config.logic-delete-value=NOW()
mybatis-plus.global-config.db-config.logic-not-delete-value=NULL
#日志配置
logging.config=classpath:logback-spring.xml
logging.level.org.apache.ibatis=DEBUG
logging.level.com.zaxxer.hikari=DEBUG
logging.level.org.springframework.jdbc=DEBUG
logging.pattern.console="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
# 阿里云短信
sms.product=Dysmsapi
sms.domain=dysmsapi.aliyuncs.com
sms.accessKeyId=LTAI5tPAH7P7WQVeowo517BE
sms.accessKeySecret=0ueqhIfdAZyw5lWlBVSLpAxTtx37RY
sms.accessKeyId=LTAI5tLUBG4B6QxhHrhddc7p
sms.accessKeySecret=eber38QGHZixTQ6bFfrd80kbg67jIP
sms.rcsapi=http://rcsapi.wo.cn:8000/umcinterface/sendtempletmsg
sms.cpcode=AABNUV
sms.excode=210120
......
......@@ -52,7 +52,20 @@
c.id
</select>
<select id="getCurrentMatch" resultType="com.zhongzhi.model.MatchDictDO">
<select id="getVocationalCurrentMatch" resultType="com.zhongzhi.model.MatchDictDO">
SELECT
distinct t2.*
FROM
project t
LEFT JOIN match_dict t2 ON t.match_id = t2.id
where t.delete_time is null
and t2.delete_time is null
and t2.`status` = 1
and t.proposer_id = #{memberId}
and t.project_type = #{progress}
</select>
<select id="getSeedCurrentMatch" resultType="com.zhongzhi.model.MatchDictDO">
SELECT
distinct t2.*
FROM
......
......@@ -125,6 +125,53 @@
s.name,
s.major,
s.telephone,
DATE_FORMAT(p.create_time, '%Y-%m-%d') as applicationTime,
s.class_name
from project p
left join student s ON s.id = p.proposer_id
<where>
and p.match_id = #{matchId}
and p.project_type = #{projectType}
and p.project_status != '填写中'
and p.college = '上海电子信息职业技术学院'
<if test="themeName != null and themeName != ''">
and p.theme_name like concat('%', #{themeName}, '%')
</if>
<if test="projectGroup != null and projectGroup != '' and projectGroup !='中职/高职'">
and p.project_group = #{projectGroup}
</if>
<if test="projectSchedule != null and projectSchedule != ''">
and p.project_schedule = #{projectSchedule}
</if>
<if test="projectStatus != null and projectStatus != ''">
<if test="projectStatus == '已评审'">
and p.project_status != '待评审'
</if>
<if test="projectStatus != '已评审'">
and p.project_status = #{projectStatus}
</if>
</if>
<if test="itemField != null and itemField != ''">
and p.item_field = #{itemField}
</if>
<if test="projectProgress != null and projectProgress != ''">
and p.project_progress = #{projectProgress}
</if>
<if test="name != null and name != ''">
and (p.project_name like concat('%',#{name},'%') or p.college like concat('%',#{name},'%'))
</if>
and p.delete_time is null
and s.delete_time is null
</where>
</select>
<select id="getSeedTrackProjectPageCity" resultType="com.zhongzhi.vo.project.SeedTrackProjectPageVO">
select
p.*,
p.college,
s.name,
s.major,
s.telephone,
DATE_FORMAT(p.create_time, '%Y-%m-%d') as applicationTime
from project p
left join student s ON s.id = p.proposer_id
......@@ -172,11 +219,8 @@
<if test="matchId != null and matchId != ''">
and match_id = #{matchId}
</if>
<if test="projectStatus != null and projectStatus != ''">
and project_schedule = #{projectStatus}
</if>
<if test="projectReview != null and projectReview != ''">
and project_review = #{projectReview}
<if test="schoolAssigned != null and schoolAssigned != ''">
and project_assigned = #{schoolAssigned}
</if>
<if test="projectName != null and projectName != ''">
and (project_name like concat('%', #{projectName}, '%') or college like concat('%', #{projectName}, '%'))
......@@ -185,13 +229,14 @@
and project_group = #{projectGroup}
</if>
<if test="schoolReview != null and schoolReview != ''">
and school_review = #{schoolReview}
and project_review = #{schoolReview}
</if>
<if test="projectProgress != null and projectProgress != ''">
and project_progress = #{projectProgress}
</if>
and project_schedule = '校级申请项目'
and p.college = '上海电子信息职业技术学院'
and project_status != '填写中'
and college = '上海电子信息职业技术学院'
and delete_time is null
</where>
</select>
......@@ -232,7 +277,7 @@
and p.college = '上海电子信息职业技术学院'
and p.project_group = '高职'
</where>
order by p.order_no
order by p.id
</select>
<select id="getProjectReviewList" resultType="com.zhongzhi.model.ProjectDO">
......
......@@ -26,7 +26,7 @@
<select id="getProjectJudgePage" resultType="com.zhongzhi.vo.judge.ProjectJudgePageVO">
select
*
from project_school_judge
from project_judge
<where>
<if test="username != null and username != ''">
and username like concat('%', #{username}, '%')
......@@ -35,7 +35,6 @@
and status = #{status}
</if>
and delete_time is null
and college_id = 158
</where>
</select>
......@@ -47,7 +46,7 @@
left join project p on p.id = pr.project_id
<where>
<if test="projectGroup != null and projectGroup != ''">
and p.project_group = #{projectGroup}
and p.project_progress = #{projectGroup}
</if>
<if test="projectSchedule != null and projectSchedule != ''">
and p.project_schedule = #{projectSchedule}
......
......@@ -2,41 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongzhi.dao.ProjectReviewDAO">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.zhongzhi.model.ProjectReviewDO">
<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_id" property="projectId"/>
<result column="judge_id" property="judgeId"/>
<result column="review_score" property="reviewScore"/>
<result column="score" property="score"/>
<result column="review_opinion" property="reviewOpinion"/>
<result column="project_schedule" property="projectSchedule"/>
<result column="review_time" property="reviewTime"/>
<result column="review_status" property="reviewStatus"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_time,
update_time,
delete_time,
id, project_id, judge_id, review_score, score, review_opinion, project_schedule, review_time, review_status
</sql>
<select id="getList" resultType="com.zhongzhi.vo.judge.ProjectReviewVO">
select
pj.username as judgesName,
pr.score as score
from project_school_review pr
left join project_school_judge pj on pj.id = pr.judge_id
from project_review pr
left join project_judge pj on pj.id = pr.judge_id
where pr.project_id = #{projectId}
and pr.project_schedule = #{projectSchedule}
and pr.delete_time is null
and pj.delete_time is null
and pj.college_id = 158
</select>
<select id="selectCountByMatchId" resultType="java.lang.Integer">
......
<?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.ProjectSchoolJudgeDAO">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.zhongzhi.model.ProjectSchoolJudgeDO">
<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="college_id" property="collegeId"/>
<result column="username" property="username"/>
<result column="telephone" property="telephone"/>
<result column="position" property="position"/>
<result column="unit" property="unit"/>
<result column="id_card" property="idCard"/>
<result column="bank_name" property="bankName"/>
<result column="bank_card" property="bankCard"/>
<result column="status" property="status"/>
<result column="password_free" property="passwordFree"/>
<result column="biaoji" property="biaoji"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_time,
update_time,
delete_time,
id, college_id, username, telephone, position, unit, id_card, bank_name, bank_card, status, password_free, biaoji
</sql>
</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.ProjectSchoolReviewDAO">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.zhongzhi.model.ProjectSchoolReviewDO">
<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_id" property="projectId"/>
<result column="judge_id" property="judgeId"/>
<result column="review_score" property="reviewScore"/>
<result column="score" property="score"/>
<result column="review_opinion" property="reviewOpinion"/>
<result column="project_schedule" property="projectSchedule"/>
<result column="review_status" property="reviewStatus"/>
<result column="review_time" property="reviewTime"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_time,
update_time,
delete_time,
id, project_id, judge_id, review_score, score, review_opinion, project_schedule, review_status, review_time
</sql>
</mapper>
This file is too large to display.
No preview for this file type
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!