大赛概况添加 编辑

sale
tianea 3 years ago
parent d38fb00dd4
commit 6f6601265d

1
tz/.gitignore vendored

@ -53,3 +53,4 @@ Temporary Items
.apdisk .apdisk
.idea .idea
*.iml *.iml
target

@ -1,4 +1,4 @@
package com.tz.platform.common.core.vo; package com.tz.platform.common.core.bo;
import lombok.Data; import lombok.Data;
@Data @Data

@ -0,0 +1,9 @@
package com.tz.platform.common.core.bo;
import lombok.Data;
@Data
public class GroupCat {
private Integer id;
private String name;
}

@ -0,0 +1,10 @@
package com.tz.platform.common.core.bo;
import lombok.Data;
@Data
public class Rotation {
private Integer id;
private String img;
private String link;
}

@ -0,0 +1,17 @@
package com.tz.platform.common.core.bo;
import lombok.Data;
import java.util.Date;
@Data
public class Stage {
private int id;
private String name;
private int status;
private Date startTime;
private Date endTime;
private Date signUpStartTime;
private Date singUpEndTime;
private boolean enableSignUp;
}

@ -1,4 +1,4 @@
package com.tz.platform.common.core.vo; package com.tz.platform.common.core.bo;
import lombok.Data; import lombok.Data;

@ -1,4 +1,4 @@
package com.tz.platform.competitiion; package com.tz.platform;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;

@ -0,0 +1,41 @@
package com.tz.platform.competitiion.pc;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.competitiion.pc.biz.PCCompetitionBiz;
import com.tz.platform.competitiion.pc.dto.PageCompetitionDTO;
import com.tz.platform.competitiion.pc.vo.CompetitionVO;
import com.tz.platform.competitiion.pc.vo.PageCompetitionVo;
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;
@RestController
@RequestMapping(value = "/pc/competition")
public class CompetitionController {
@Autowired
private PCCompetitionBiz biz;
@PostMapping(value = "add")
public Result<Long> add(@RequestBody CompetitionVO vo){
return biz.add(vo);
}
@PostMapping(value = "update")
public Result<String> update(@RequestBody CompetitionVO vo){
return biz.update(vo);
}
@PostMapping(value = "delete")
public Result<String> delete(@RequestBody CompetitionVO vo){
return biz.delete(vo);
}
@PostMapping(value = "list")
public Result<PageCompetitionDTO> list(@RequestBody PageCompetitionVo vo){
return biz.list(vo);
}
}

@ -0,0 +1,57 @@
package com.tz.platform.competitiion.pc.biz;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.competitiion.pc.dto.PageCompetitionDTO;
import com.tz.platform.competitiion.pc.vo.CompetitionVO;
import com.tz.platform.competitiion.pc.vo.PageCompetitionVo;
import com.tz.platform.entity.Competition;
import com.tz.platform.repository.CompetitionDao;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
@Component
public class PCCompetitionBiz {
@Autowired
private CompetitionDao competitionDao ;
public Result<Long> add(CompetitionVO vo){
if(StringUtils.isEmpty(vo.getName())){
return Result.error("大赛名称不能为空");
}
Competition competition = new Competition();
BeanUtils.copyProperties(vo,competition);
competition =competitionDao.save(competition);
return Result.success(competition.getId());
}
public Result<String> update(CompetitionVO vo){
if(StringUtils.isEmpty(vo.getName())){
return Result.error("大赛名称不能为空");
}
Competition competition = new Competition();
BeanUtils.copyProperties(vo,competition);
competitionDao.save(competition);
return Result.success("编辑成功");
}
public Result<String> delete(CompetitionVO vo){
competitionDao.deleteById(vo.getId());
return Result.success("success");
}
public Result<PageCompetitionDTO> list(PageCompetitionVo vo){
Sort sort = Sort.by(Sort.Direction.DESC,"id");
Pageable pageable = PageRequest.of(vo.getPageNo(),vo.getPageSize(),sort);
Page<Competition> competitionPage = competitionDao.findAll(pageable);
PageCompetitionDTO dto = new PageCompetitionDTO();
dto.setPage(competitionPage);
return Result.success(dto);
}
}

@ -0,0 +1,12 @@
package com.tz.platform.competitiion.pc.dto;
import com.tz.platform.entity.Competition;
import lombok.Data;
import org.springframework.data.domain.Page;
import java.io.Serializable;
@Data
public class PageCompetitionDTO implements Serializable {
private Page<Competition> page;
}

@ -0,0 +1,27 @@
package com.tz.platform.competitiion.pc.vo;
import com.tz.platform.common.core.bo.Rotation;
import com.tz.platform.common.core.bo.Stage;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class CompetitionVO implements Serializable {
private Long userNo;
private Long id;
private String name;
private Integer type;
private String sponsor;
private String supporter;
private Integer teamMinCount;
private Integer teamMaxCount;
private List<Stage> stageList;
private Integer currentStage;
private List<Rotation> bannerList;
private String thumbnail;
private String summary;
private String rule;
private String prize;
private String news;
}

@ -0,0 +1,11 @@
package com.tz.platform.competitiion.pc.vo;
import lombok.Data;
@Data
public class PageCompetitionVo {
private Long userNo;
private Integer pageSize;
private Integer pageNo;
}

@ -0,0 +1,47 @@
package com.tz.platform.entity;
import com.tz.platform.common.core.bo.Rotation;
import com.tz.platform.common.core.bo.Stage;
import com.vladmihalcea.hibernate.type.json.JsonStringType;
import lombok.Data;
import org.hibernate.annotations.Type;
import org.hibernate.annotations.TypeDef;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
@Entity
@TypeDef(name = "json", typeClass = JsonStringType.class)
@Data
public class Competition {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long userNo;
private String name;
private Integer type;
private String sponsor;
private String supporter;
private Integer teamMinCount;
private Integer teamMaxCount;
private Integer status;
@Type(type = "json")
@Column(columnDefinition = "json")
private List<Stage> stageList;
private Integer currentStage;
private String currentStageName;
private Date creatTime;
@Type(type = "json")
@Column(columnDefinition = "json")
private List<Rotation> bannerList;
private String thumbnail;
@Column(columnDefinition = "text")
private String summary;
@Column(columnDefinition = "text")
private String rule;
@Column(columnDefinition = "text")
private String prize;
@Column(columnDefinition = "text")
private String news;
}

@ -0,0 +1,24 @@
package com.tz.platform.entity;
import com.tz.platform.common.core.bo.GroupCat;
import lombok.Data;
import org.hibernate.annotations.Type;
import javax.persistence.*;
import java.util.List;
@Data
@Entity
@Table(indexes = {@Index(columnList = "competitionId")})
public class CompetitionGroup {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private Long competitionId;
private String name;
private Integer limitType;
@Type(type = "json")
@Column(columnDefinition = "json")
private List<GroupCat> catList;
}

@ -0,0 +1,26 @@
package com.tz.platform.entity;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@Entity
@Table(indexes = {@Index(columnList = "competitionId")})
public class CompetitionTask {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private Long competitionId;
private Integer stageId;
private Long financePower;
private Long examPower;
private Date operationStartTime;
private Date operationEndTime;
private Integer tradeType;
private Long initCapital;
private String operationLogo;
private Long financeBasePower;
private Long financeProfitPower;
}

@ -0,0 +1,20 @@
package com.tz.platform.entity;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Entity
@Data
@Table(indexes = {@Index(columnList = "competitionId")})
public class ExamPaper {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long competitionId;
private Integer stageId;
private Date startTime;
private Date endTime;
}

@ -0,0 +1,9 @@
package com.tz.platform.repository;
import com.tz.platform.entity.Competition;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface CompetitionDao extends JpaRepository<Competition,Long> {
}

@ -0,0 +1,9 @@
package com.tz.platform.repository;
import com.tz.platform.entity.CompetitionGroup;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface CompetitionGroupDao extends JpaRepository<CompetitionGroup,Integer> {
}

@ -0,0 +1,9 @@
package com.tz.platform.repository;
import com.tz.platform.entity.CompetitionTask;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface CompetitionTaskDao extends JpaRepository<CompetitionTask,Integer> {
}

@ -0,0 +1,9 @@
package com.tz.platform.repository;
import com.tz.platform.entity.ExamPaper;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ExamPaperDao extends JpaRepository<ExamPaper,Long> {
}

@ -14,4 +14,7 @@ spring:
namespace: ${spring.profiles.active} namespace: ${spring.profiles.active}
file-extension: yaml file-extension: yaml
discovery: discovery:
namespace: ${spring.profiles.active} namespace: ${spring.profiles.active}
devtools:
livereload:
port: 35731

@ -1,17 +0,0 @@
server:
port: 50012
spring:
application:
name: tz-competition-service
profiles:
active: dev
cloud:
nacos:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
config:
namespace: ${spring.profiles.active}
file-extension: yaml
discovery:
namespace: ${spring.profiles.active}

@ -1,7 +1,6 @@
package com.tz.platform.feign.exam.qo; package com.tz.platform.feign.exam.qo;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.tz.platform.common.core.bo.Answer;
import com.tz.platform.common.core.vo.Answer;
import java.util.List; import java.util.List;

@ -1,6 +1,6 @@
package com.tz.platform.feign.exam.vo; package com.tz.platform.feign.exam.vo;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.Answer;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;

@ -1,8 +1,8 @@
package com.tz.platform.entity; package com.tz.platform.entity;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.Answer;
import com.tz.platform.common.core.vo.SubQuestionVO; import com.tz.platform.common.core.bo.SubQuestionVO;
import com.vladmihalcea.hibernate.type.json.JsonStringType; import com.vladmihalcea.hibernate.type.json.JsonStringType;
import lombok.Data; import lombok.Data;
import org.hibernate.annotations.Type; import org.hibernate.annotations.Type;
@ -45,7 +45,6 @@ public class Question {
private String analysis; private String analysis;
@Type(type = "json") @Type(type = "json")
@Column(columnDefinition = "json") @Column(columnDefinition = "json")
@JsonIgnore
private List<Integer> answerId; private List<Integer> answerId;
@Type(type = "json") @Type(type = "json")

@ -1,6 +1,6 @@
package com.tz.platform.exam.pc.vo; package com.tz.platform.exam.pc.vo;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.Answer;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.List; import java.util.List;

@ -0,0 +1,77 @@
package com.tz.platform.pc.biz;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.entity.Question;
import com.tz.platform.pc.dto.MultiQuestionDTO;
import com.tz.platform.pc.dto.PageMuiltQuestionDTO;
import com.tz.platform.pc.dto.PageQuestionDTO;
import com.tz.platform.pc.vo.*;
import com.tz.platform.repository.QuestionDao;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
@Component
public class PCMuiltQuestionBiz {
@Autowired
private QuestionDao questionDao;
public Result<PageMuiltQuestionDTO> list(PageQuestionVO questionVO){
PageMuiltQuestionDTO questionDTO = new PageMuiltQuestionDTO();
Pageable pageable = PageRequest.of(questionVO.getPageNo(),20);
Page<Question> questions =null;
if((questionVO.getCourseId() == null|| questionVO.getCourseId() == 0) && StringUtils.isEmpty(questionVO.getStem())){
questions = questionDao.findAllByType(1,pageable);
}else if(questionVO.getCourseId()>0&&StringUtils.hasText(questionVO.getStem())){
questions = questionDao.findAllByCourseIdAndStemAndType(questionVO.getCourseId(),questionVO.getStem(),1,pageable);
}else if(questionVO.getCourseId()>0){
questions = questionDao.findAllByCourseIdAndType(questionVO.getCourseId(),1,pageable);
}else {
questions = questionDao.findAllByStemAndType(questionVO.getStem(), 1,pageable);
}
return Result.success(questionDTO.setPage(questions));
}
public Result<Long> add(MuiltQuestionVO vo){
Question question = new Question();
BeanUtils.copyProperties(vo,question);
question = questionDao.save(question);
return Result.success(question.getId());
}
public Result<String> update(MultiQuestionUpdateVO vo){
Question question = questionDao.getById(vo.getId());
if(question==null){
return Result.error("无数据");
}
BeanUtils.copyProperties(vo,question);
questionDao.save(question);
return Result.success("success");
}
public Result<String> delete(QuestionVO vo){
questionDao.deleteById(vo.getId());
return Result.success("success");
}
public Result<MultiQuestionDTO> get(QuestionVO vo){
Question question = questionDao.getById(vo.getId());
if(question == null){
return Result.error("没有数据");
}
MultiQuestionDTO questionDTO = new MultiQuestionDTO();
BeanUtils.copyProperties(question,questionDTO);
return Result.success(questionDTO);
}
public Result<String> batch(BatchQuestionVO vo){
questionDao.batchUpdate(vo.getStatus(),vo.getIds());
return Result.success("success");
}
}

@ -1,6 +1,6 @@
package com.tz.platform.pc.dto; package com.tz.platform.pc.dto;
import com.tz.platform.common.core.vo.SubQuestionVO; import com.tz.platform.common.core.bo.SubQuestionVO;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;

@ -1,6 +1,6 @@
package com.tz.platform.pc.dto; package com.tz.platform.pc.dto;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.Answer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;

@ -1,7 +1,6 @@
package com.tz.platform.pc.vo; package com.tz.platform.pc.vo;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.SubQuestionVO;
import com.tz.platform.common.core.vo.SubQuestionVO;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;

@ -1,6 +1,6 @@
package com.tz.platform.pc.vo; package com.tz.platform.pc.vo;
import com.tz.platform.common.core.vo.SubQuestionVO; import com.tz.platform.common.core.bo.SubQuestionVO;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;

@ -1,6 +1,6 @@
package com.tz.platform.pc.vo; package com.tz.platform.pc.vo;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.Answer;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;

@ -1,6 +1,6 @@
package com.tz.platform.pc.vo; package com.tz.platform.pc.vo;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.Answer;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;

@ -1,6 +1,6 @@
package com.tz.platform.repository; package com.tz.platform.repository;
import com.tz.platform.common.core.vo.Answer; import com.tz.platform.common.core.bo.Answer;
import com.tz.platform.entity.Question; import com.tz.platform.entity.Question;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

@ -0,0 +1,8 @@
package com.tz.platform.system.pc;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ProviceController {
}
Loading…
Cancel
Save