API:tutor submit/update/list evaluation for medium term examination material

Former-commit-id: 33adc7c18cf5b15f309257ac8ad40d76f6acf3e6
This commit is contained in:
wanjia 2022-08-09 15:05:55 +08:00
parent bde991b5d3
commit fa65a3c2f6
8 changed files with 601 additions and 0 deletions

View File

@ -0,0 +1,58 @@
package com.xjy.ai.api.controller.glcc;
import com.xjy.ai.common.response.DataPacketUtil;
import com.xjy.ai.common.response.ResponseData;
import com.xjy.ai.common.utils.ValidatorUtils;
import com.xjy.ai.model.service.glcc.TutorEvaluationService;
import com.xjy.ai.model.service.glcc.vo.TutorEvaluationVo;
import com.xjy.ai.model.service.glcc.vo.UpdateTutorEvaluationVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 开源夏令营导师评分表 前端控制器
* </p>
*
* @author
* @since 2022-08-08
*/
@RestController
@RequestMapping("/api/tutorEvaluation")
public class GlccTutorEvaluationController {
@Autowired
private TutorEvaluationService tutorEvaluationService;
@ApiOperation("导师提交中期考核评分")
@PostMapping("/create")
public ResponseEntity<ResponseData> create(@Validated @RequestBody TutorEvaluationVo glccTutorEvaluationVo, BindingResult bindingResult) {
String errors = ValidatorUtils.buildValidationdErrorMessage(bindingResult);
if (errors.length() > 1) {
return DataPacketUtil.badRequest(errors);
}
boolean success = tutorEvaluationService.create(glccTutorEvaluationVo);
return success ? DataPacketUtil.ok("success") : DataPacketUtil.badRequest();
}
@ApiOperation("导师更新中期考核评分")
@PostMapping("/update")
public ResponseEntity<ResponseData> update(@Validated @RequestBody UpdateTutorEvaluationVo updateTutorEvaluationVo, BindingResult bindingResult) {
String errors = ValidatorUtils.buildValidationdErrorMessage(bindingResult);
if (errors.length() > 1) {
return DataPacketUtil.badRequest(errors);
}
boolean success = tutorEvaluationService.update(updateTutorEvaluationVo);
return success ? DataPacketUtil.ok("success") : DataPacketUtil.badRequest();
}
}

View File

@ -0,0 +1,180 @@
package com.xjy.ai.model.dao.glcc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
/**
* <p>
* 开源夏令营导师评分表
* </p>
*
* @author
* @since 2022-08-08
*/
@TableName("glcc_tutor_evaluation")
public class GlccTutorEvaluation implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 导师用户id
*/
@TableField("tutor_user_id")
private Integer tutorUserId;
/**
* 中期考核材料id
*/
@TableField("medium_term_examine_material_id")
private Integer mediumTermExamineMaterialId;
/**
* 工作态度评价
*/
@TableField("work_attitude_evaluation")
private String workAttitudeEvaluation;
/**
* 开发进度评价
*/
@TableField("develop_progress_evaluation")
private String developProgressEvaluation;
/**
* 项目完成质量评价
*/
@TableField("project_quality_evaluation")
private String projectQualityEvaluation;
/**
* 总体评分评价
*/
@TableField("totality_evaluation")
private String totalityEvaluation;
/**
* 评语
*/
@TableField("comment")
private String comment;
/**
* 创建时间
*/
@TableField("created_on")
private Date createdOn;
/**
* 更新时间
*/
@TableField("updated_on")
private Date updatedOn;
/**
* 0未删除 1删除
*/
@TableField("is_delete")
private Boolean isDelete;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getTutorUserId() {
return tutorUserId;
}
public void setTutorUserId(Integer tutorUserId) {
this.tutorUserId = tutorUserId;
}
public Integer getMediumTermExamineMaterialId() {
return mediumTermExamineMaterialId;
}
public void setMediumTermExamineMaterialId(Integer mediumTermExamineMaterialId) {
this.mediumTermExamineMaterialId = mediumTermExamineMaterialId;
}
public String getWorkAttitudeEvaluation() {
return workAttitudeEvaluation;
}
public void setWorkAttitudeEvaluation(String workAttitudeEvaluation) {
this.workAttitudeEvaluation = workAttitudeEvaluation;
}
public String getDevelopProgressEvaluation() {
return developProgressEvaluation;
}
public void setDevelopProgressEvaluation(String developProgressEvaluation) {
this.developProgressEvaluation = developProgressEvaluation;
}
public String getProjectQualityEvaluation() {
return projectQualityEvaluation;
}
public void setProjectQualityEvaluation(String projectQualityEvaluation) {
this.projectQualityEvaluation = projectQualityEvaluation;
}
public String getTotalityEvaluation() {
return totalityEvaluation;
}
public void setTotalityEvaluation(String totalityEvaluation) {
this.totalityEvaluation = totalityEvaluation;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public Date getUpdatedOn() {
return updatedOn;
}
public void setUpdatedOn(Date updatedOn) {
this.updatedOn = updatedOn;
}
public Boolean getIsDelete() {
return isDelete;
}
public void setIsDelete(Boolean isDelete) {
this.isDelete = isDelete;
}
@Override
public String toString() {
return "GlccTutorEvaluation{" +
"id=" + id +
", tutorUserId=" + tutorUserId +
", mediumTermExamineMaterialId=" + mediumTermExamineMaterialId +
", workAttitudeEvaluation=" + workAttitudeEvaluation +
", developProgressEvaluation=" + developProgressEvaluation +
", projectQualityEvaluation=" + projectQualityEvaluation +
", totalityEvaluation=" + totalityEvaluation +
", comment=" + comment +
", createdOn=" + createdOn +
", updatedOn=" + updatedOn +
", isDelete=" + isDelete +
"}";
}
}

View File

@ -0,0 +1,16 @@
package com.xjy.ai.model.dao.glcc.mapper;
import com.xjy.ai.model.dao.glcc.entity.GlccTutorEvaluation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 开源夏令营导师评分表 Mapper 接口
* </p>
*
* @author
* @since 2022-08-08
*/
public interface GlccTutorEvaluationMapper extends BaseMapper<GlccTutorEvaluation> {
}

View File

@ -0,0 +1,46 @@
package com.xjy.ai.model.service.glcc.Impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.xjy.ai.common.utils.BeanCopyUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xjy.ai.model.dao.glcc.entity.GlccTutorEvaluation;
import com.xjy.ai.model.dao.glcc.mapper.GlccTutorEvaluationMapper;
import com.xjy.ai.model.service.glcc.TutorEvaluationService;
import com.xjy.ai.model.service.glcc.vo.TutorEvaluationVo;
import com.xjy.ai.model.service.glcc.vo.UpdateTutorEvaluationVo;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
* <p>
* 开源夏令营导师评分表 服务实现类
* </p>
*
* @author
* @since 2022-08-08
*/
@Service
public class TutorEvaluationServiceImpl extends ServiceImpl<GlccTutorEvaluationMapper, GlccTutorEvaluation> implements TutorEvaluationService {
@Override
public boolean create(TutorEvaluationVo glccTutorEvaluationVo) {
GlccTutorEvaluation glccTutorEvaluation = BeanCopyUtils.beanPropertiesCopy(glccTutorEvaluationVo, GlccTutorEvaluation.class);
return baseMapper.insert(glccTutorEvaluation) > 0;
}
@Override
public boolean update(UpdateTutorEvaluationVo updateTutorEvaluationVo) {
GlccTutorEvaluation glccTutorEvaluation = BeanCopyUtils.beanPropertiesCopy(updateTutorEvaluationVo, GlccTutorEvaluation.class);
glccTutorEvaluation.setUpdatedOn(new Date());
return baseMapper.updateById(glccTutorEvaluation) > 0;
}
@Override
public GlccTutorEvaluation getByMediumTermExamineMaterialId(Integer mediumTermExamineMaterialId) {
QueryWrapper<GlccTutorEvaluation> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("medium_term_examine_material_id", mediumTermExamineMaterialId);
return getOne(queryWrapper);
}
}

View File

@ -0,0 +1,23 @@
package com.xjy.ai.model.service.glcc;
import com.xjy.ai.model.dao.glcc.entity.GlccTutorEvaluation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjy.ai.model.service.glcc.vo.TutorEvaluationVo;
import com.xjy.ai.model.service.glcc.vo.UpdateTutorEvaluationVo;
/**
* <p>
* 开源夏令营导师评分表 服务类
* </p>
*
* @author
* @since 2022-08-08
*/
public interface TutorEvaluationService extends IService<GlccTutorEvaluation> {
boolean create(TutorEvaluationVo glccTutorEvaluationVo);
boolean update(UpdateTutorEvaluationVo updateTutorEvaluationVo);
GlccTutorEvaluation getByMediumTermExamineMaterialId(Integer mediumTermExamineMaterialId);
}

View File

@ -0,0 +1,125 @@
package com.xjy.ai.model.service.glcc.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 开源夏令营导师评分表
* </p>
*
* @author
* @since 2022-08-08
*/
public class TutorEvaluationVo {
/**
* 导师用户id
*/
@NotNull(message = "导师用户id不能为空")
private Integer tutorUserId;
/**
* 中期考核材料id
*/
@NotNull(message = "中期考核材料id不能为空")
private Integer mediumTermExamineMaterialId;
/**
* 工作态度评价 eg:S,A,B,C,D
*/
@NotEmpty(message = "工作态度评价不能为空")
@Pattern(regexp = "(S|A|B|C|D)")
private String workAttitudeEvaluation;
/**
* 开发进度评价 eg:S,A,B,C,D
*/
@NotEmpty(message = "开发进度评价不能为空")
@Pattern(regexp = "(S|A|B|C|D)")
private String developProgressEvaluation;
/**
* 项目完成质量评价 eg:S,A,B,C,D
*/
@NotEmpty(message = "项目完成质量评价不能为空")
@Pattern(regexp = "(S|A|B|C|D)")
private String projectQualityEvaluation;
/**
* 总体评分评价 eg:S,A,B,C,D
*/
@Pattern(regexp = "(S|A|B|C|D)")
@NotEmpty(message = "总体评分评价不能为空")
private String totalityEvaluation;
/**
* 评语
*/
@NotEmpty(message = "评语不能为空")
private String comment;
public Integer getTutorUserId() {
return tutorUserId;
}
public void setTutorUserId(Integer tutorUserId) {
this.tutorUserId = tutorUserId;
}
public Integer getMediumTermExamineMaterialId() {
return mediumTermExamineMaterialId;
}
public void setMediumTermExamineMaterialId(Integer mediumTermExamineMaterialId) {
this.mediumTermExamineMaterialId = mediumTermExamineMaterialId;
}
public String getWorkAttitudeEvaluation() {
return workAttitudeEvaluation;
}
public void setWorkAttitudeEvaluation(String workAttitudeEvaluation) {
this.workAttitudeEvaluation = workAttitudeEvaluation;
}
public String getDevelopProgressEvaluation() {
return developProgressEvaluation;
}
public void setDevelopProgressEvaluation(String developProgressEvaluation) {
this.developProgressEvaluation = developProgressEvaluation;
}
public String getProjectQualityEvaluation() {
return projectQualityEvaluation;
}
public void setProjectQualityEvaluation(String projectQualityEvaluation) {
this.projectQualityEvaluation = projectQualityEvaluation;
}
public String getTotalityEvaluation() {
return totalityEvaluation;
}
public void setTotalityEvaluation(String totalityEvaluation) {
this.totalityEvaluation = totalityEvaluation;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
}

View File

@ -0,0 +1,128 @@
package com.xjy.ai.model.service.glcc.vo;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* <p>
* 开源夏令营导师评分表
* </p>
*
* @author
* @since 2022-08-08
*/
public class UpdateTutorEvaluationVo {
@NotNull(message = "ID")
private Integer id;
/**
* 导师用户id
*/
@NotNull(message = "导师用户id不能为空")
private Integer tutorUserId;
/**
* 中期考核材料id
*/
@NotNull(message = "中期考核材料id不能为空")
private Integer mediumTermExamineMaterialId;
/**
* 工作态度评价 eg:S,A,B,C,D
*/
@NotEmpty(message = "工作态度评价不能为空")
@Pattern(regexp = "(S|A|B|C|D)")
private String workAttitudeEvaluation;
/**
* 开发进度评价 eg:S,A,B,C,D
*/
@NotEmpty(message = "开发进度评价不能为空")
@Pattern(regexp = "(S|A|B|C|D)")
private String developProgressEvaluation;
/**
* 项目完成质量评价 eg:S,A,B,C,D
*/
@NotEmpty(message = "项目完成质量评价不能为空")
@Pattern(regexp = "(S|A|B|C|D)")
private String projectQualityEvaluation;
/**
* 总体评分评价 eg:S,A,B,C,D
*/
@Pattern(regexp = "(S|A|B|C|D)")
@NotEmpty(message = "总体评分评价不能为空")
private String totalityEvaluation;
/**
* 评语
*/
@NotEmpty(message = "评语不能为空")
private String comment;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getTutorUserId() {
return tutorUserId;
}
public void setTutorUserId(Integer tutorUserId) {
this.tutorUserId = tutorUserId;
}
public Integer getMediumTermExamineMaterialId() {
return mediumTermExamineMaterialId;
}
public void setMediumTermExamineMaterialId(Integer mediumTermExamineMaterialId) {
this.mediumTermExamineMaterialId = mediumTermExamineMaterialId;
}
public String getWorkAttitudeEvaluation() {
return workAttitudeEvaluation;
}
public void setWorkAttitudeEvaluation(String workAttitudeEvaluation) {
this.workAttitudeEvaluation = workAttitudeEvaluation;
}
public String getDevelopProgressEvaluation() {
return developProgressEvaluation;
}
public void setDevelopProgressEvaluation(String developProgressEvaluation) {
this.developProgressEvaluation = developProgressEvaluation;
}
public String getProjectQualityEvaluation() {
return projectQualityEvaluation;
}
public void setProjectQualityEvaluation(String projectQualityEvaluation) {
this.projectQualityEvaluation = projectQualityEvaluation;
}
public String getTotalityEvaluation() {
return totalityEvaluation;
}
public void setTotalityEvaluation(String totalityEvaluation) {
this.totalityEvaluation = totalityEvaluation;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
}

View File

@ -0,0 +1,25 @@
<?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.xjy.ai.model.dao.glcc.mapper.GlccTutorEvaluationMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.xjy.ai.model.dao.glcc.entity.GlccTutorEvaluation">
<id column="id" property="id" />
<result column="tutor_user_id" property="tutorUserId" />
<result column="medium_term_examine_material_id" property="mediumTermExamineMaterialId" />
<result column="work_attitude_evaluation" property="workAttitudeEvaluation" />
<result column="develop_progress_evaluation" property="developProgressEvaluation" />
<result column="project_quality_evaluation" property="projectQualityEvaluation" />
<result column="totality_evaluation" property="totalityEvaluation" />
<result column="comment" property="comment" />
<result column="created_on" property="createdOn" />
<result column="updated_on" property="updatedOn" />
<result column="is_delete" property="isDelete" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, tutor_user_id, medium_term_examine_material_id, work_attitude_evaluation, develop_progress_evaluation, project_quality_evaluation, totality_evaluation, comment, created_on, updated_on, is_delete
</sql>
</mapper>