dev:教师管理
parent
c8a542a40b
commit
50da0e47ea
|
|
@ -2,11 +2,7 @@ package com.zcloud.edu.web;
|
|||
|
||||
|
||||
import com.zcloud.edu.api.TeacherServiceI;
|
||||
import com.zcloud.edu.dto.TeacherAddCmd;
|
||||
import com.zcloud.edu.dto.TeacherPageQry;
|
||||
import com.zcloud.edu.dto.TeacherListQry;
|
||||
import com.zcloud.edu.dto.TeacherUpdateCmd;
|
||||
import com.zcloud.edu.dto.TeacherRemoveCmd;
|
||||
import com.zcloud.edu.dto.*;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
|
|
@ -33,7 +29,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
public class TeacherController {
|
||||
private final TeacherServiceI teacherService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@ApiOperation("新增(从人员列表选择)")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<TeacherCO> add(@Validated @RequestBody TeacherAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
|
|
@ -47,6 +43,13 @@ public class TeacherController {
|
|||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("启用/禁用")
|
||||
@PutMapping("/editState")
|
||||
public SingleResponse editState(@Validated @RequestBody TeacherUpdateStateCmd cmd) {
|
||||
teacherService.editState(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<TeacherCO> page(@RequestBody TeacherPageQry qry) {
|
||||
|
|
|
|||
|
|
@ -1,14 +1,21 @@
|
|||
package com.zcloud.edu.command;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.zcloud.edu.domain.gateway.TeacherGateway;
|
||||
import com.zcloud.edu.domain.model.TeacherE;
|
||||
import com.zcloud.edu.domain.model.UserAddE;
|
||||
import com.zcloud.edu.dto.TeacherAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.persistence.dataobject.TeacherDO;
|
||||
import com.zcloud.edu.persistence.repository.TeacherRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
|
|
@ -20,14 +27,18 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@AllArgsConstructor
|
||||
public class TeacherAddExe {
|
||||
private final TeacherGateway teacherGateway;
|
||||
private final TeacherRepository teacherRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(TeacherAddCmd cmd) {
|
||||
TeacherE teacherE = new TeacherE();
|
||||
BeanUtils.copyProperties(cmd, teacherE);
|
||||
List<TeacherE> teacherEList = teacherE.convertFromUserList(BeanUtil.copyToList(cmd.getUserList(), UserAddE.class));
|
||||
|
||||
boolean res = false;
|
||||
try {
|
||||
res = teacherGateway.add(teacherE);
|
||||
if(CollUtil.isNotEmpty(teacherEList)){
|
||||
res = teacherRepository.saveBatch(BeanUtil.copyToList(teacherEList, TeacherDO.class));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,20 @@
|
|||
package com.zcloud.edu.command;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.edu.domain.gateway.TeacherGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.edu.persistence.dataobject.TeacherDO;
|
||||
import com.zcloud.edu.persistence.repository.TeacherCertificateRepository;
|
||||
import com.zcloud.edu.persistence.repository.TeacherRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
|
|
@ -17,10 +26,22 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@AllArgsConstructor
|
||||
public class TeacherRemoveExe {
|
||||
private final TeacherGateway teacherGateway;
|
||||
private final TeacherRepository teacherRepository;
|
||||
private final TeacherCertificateRepository teacherCertificateRepository;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
SingleResponse<TeacherDO> teacherDO = teacherRepository.getInfoById(id);
|
||||
|
||||
if(teacherDO.getData() == null || teacherDO.getData() == null){
|
||||
throw new BizException("数据不存在");
|
||||
}
|
||||
|
||||
boolean res = teacherGateway.deletedTeacherById(id);
|
||||
if(res){
|
||||
String teacherId = teacherDO.getData().getTeacherId();
|
||||
teacherCertificateRepository.removeByTeacherId(teacherId);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
|
|
@ -29,7 +50,17 @@ public class TeacherRemoveExe {
|
|||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long[] ids) {
|
||||
List<TeacherDO> teacherDOS = teacherRepository.listByIds(Arrays.asList(ids));
|
||||
if(CollUtil.isEmpty(teacherDOS)){
|
||||
throw new BizException("数据不存在");
|
||||
}
|
||||
|
||||
boolean res = teacherGateway.deletedTeacherByIds(ids);
|
||||
|
||||
if(res){
|
||||
List<String> teacherIds = teacherDOS.stream().map(TeacherDO::getTeacherId).collect(Collectors.toList());
|
||||
teacherCertificateRepository.removeByTeacherIds(teacherIds);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.alibaba.cola.exception.BizException;
|
|||
import com.zcloud.edu.domain.gateway.TeacherGateway;
|
||||
import com.zcloud.edu.domain.model.TeacherE;
|
||||
import com.zcloud.edu.dto.TeacherUpdateCmd;
|
||||
import com.zcloud.edu.dto.TeacherUpdateStateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -30,5 +31,15 @@ public class TeacherUpdateExe {
|
|||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(TeacherUpdateStateCmd cmd) {
|
||||
TeacherE teacherE = new TeacherE();
|
||||
BeanUtils.copyProperties(cmd, teacherE);
|
||||
boolean res = teacherGateway.update(teacherE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
package com.zcloud.edu.command.query;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.zcloud.edu.command.convertor.TeacherCoConvertor;
|
||||
import com.zcloud.edu.dto.TeacherListQry;
|
||||
import com.zcloud.edu.dto.TeacherPageQry;
|
||||
import com.zcloud.edu.dto.clientobject.TeacherCO;
|
||||
import com.zcloud.edu.dto.clientobject.TeacherCertificateCO;
|
||||
import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO;
|
||||
import com.zcloud.edu.persistence.dataobject.TeacherDO;
|
||||
import com.zcloud.edu.persistence.repository.TeacherCertificateRepository;
|
||||
import com.zcloud.edu.persistence.repository.TeacherRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
|
|
@ -29,6 +33,7 @@ import java.util.Map;
|
|||
public class TeacherQueryExe {
|
||||
private final TeacherRepository teacherRepository;
|
||||
private final TeacherCoConvertor teacherCoConvertor;
|
||||
private final TeacherCertificateRepository teacherCertificateRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -53,6 +58,12 @@ public class TeacherQueryExe {
|
|||
SingleResponse<TeacherDO> teacherDO = teacherRepository.getInfoById(id);
|
||||
TeacherCO co = new TeacherCO();
|
||||
BeanUtils.copyProperties(teacherDO.getData(), co);
|
||||
|
||||
if(co != null){
|
||||
List<TeacherCertificateDO> teacherCertificateDOS = teacherCertificateRepository.listByTeacherId(co.getTeacherId());
|
||||
co.setTeacherCertificateList(BeanUtil.copyToList(teacherCertificateDOS, TeacherCertificateCO.class));
|
||||
}
|
||||
|
||||
return SingleResponse.of(co);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,10 +6,7 @@ import com.zcloud.edu.command.TeacherAddExe;
|
|||
import com.zcloud.edu.command.TeacherRemoveExe;
|
||||
import com.zcloud.edu.command.TeacherUpdateExe;
|
||||
import com.zcloud.edu.command.query.TeacherQueryExe;
|
||||
import com.zcloud.edu.dto.TeacherAddCmd;
|
||||
import com.zcloud.edu.dto.TeacherPageQry;
|
||||
import com.zcloud.edu.dto.TeacherListQry;
|
||||
import com.zcloud.edu.dto.TeacherUpdateCmd;
|
||||
import com.zcloud.edu.dto.*;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
|
@ -57,6 +54,11 @@ public class TeacherServiceImpl implements TeacherServiceI {
|
|||
teacherUpdateExe.execute(cmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editState(TeacherUpdateStateCmd cmd) {
|
||||
teacherUpdateExe.execute(cmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
teacherRemoveExe.execute(id);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
package com.zcloud.edu.api;
|
||||
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.zcloud.edu.dto.TeacherAddCmd;
|
||||
import com.zcloud.edu.dto.TeacherPageQry;
|
||||
import com.zcloud.edu.dto.TeacherListQry;
|
||||
import com.zcloud.edu.dto.TeacherUpdateCmd;
|
||||
import com.zcloud.edu.dto.*;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
|
@ -27,6 +24,8 @@ public interface TeacherServiceI {
|
|||
|
||||
void edit(TeacherUpdateCmd cmd);
|
||||
|
||||
void editState(TeacherUpdateStateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
|
|||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -23,58 +24,10 @@ import java.util.Date;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeacherAddCmd extends Command {
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true)
|
||||
@NotNull(message = "企业ID不能为空")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "教师姓名", name = "teacherName", required = true)
|
||||
@NotEmpty(message = "教师姓名不能为空")
|
||||
private String teacherName;
|
||||
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "身份证号", name = "identityNumber", required = true)
|
||||
@NotEmpty(message = "身份证号不能为空")
|
||||
private String identityNumber;
|
||||
|
||||
@ApiModelProperty(value = "文化程度", name = "educationLevel", required = true)
|
||||
@NotEmpty(message = "文化程度不能为空")
|
||||
private String educationLevel;
|
||||
|
||||
@ApiModelProperty(value = "文化程度名称", name = "educationLevelName", required = true)
|
||||
@NotEmpty(message = "文化程度名称不能为空")
|
||||
private String educationLevelName;
|
||||
|
||||
@ApiModelProperty(value = "专业", name = "profession", required = true)
|
||||
@NotEmpty(message = "专业不能为空")
|
||||
private String profession;
|
||||
|
||||
@ApiModelProperty(value = "工作年限", name = "workyear", required = true)
|
||||
@NotNull(message = "工作年限不能为空")
|
||||
private Integer workyear;
|
||||
|
||||
@ApiModelProperty(value = "考核部门", name = "assessmentDepartment", required = true)
|
||||
@NotEmpty(message = "考核部门不能为空")
|
||||
private String assessmentDepartment;
|
||||
|
||||
@ApiModelProperty(value = "考核时间", name = "assessmentTime", required = true)
|
||||
@NotNull(message = "考核时间不能为空")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date assessmentTime;
|
||||
|
||||
@ApiModelProperty(value = "考核结果", name = "assessmentResult", required = true)
|
||||
@NotEmpty(message = "考核结果不能为空")
|
||||
private String assessmentResult;
|
||||
|
||||
@ApiModelProperty(value = "状态(0-禁用 1-启用)(老项目0启用,1禁用)", name = "state", required = true)
|
||||
@NotEmpty(message = "状态(0-禁用 1-启用)(老项目0启用,1禁用)不能为空")
|
||||
private String state;
|
||||
@ApiModelProperty(value = "用户列表",name = "userList", required = true)
|
||||
@NotEmpty(message = "用户列表不能为空")
|
||||
private List<UserAddCmd> userList;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,8 +47,7 @@ public class TeacherCertificateAddCmd extends Command {
|
|||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date certificateDateStart;
|
||||
|
||||
@ApiModelProperty(value = "证书有效期(结束)", name = "certificateDateEnd", required = true)
|
||||
@NotNull(message = "证书有效期(结束)不能为空")
|
||||
@ApiModelProperty(value = "证书有效期(结束)", name = "certificateDateEnd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date certificateDateEnd;
|
||||
|
||||
|
|
@ -56,8 +55,7 @@ public class TeacherCertificateAddCmd extends Command {
|
|||
@NotEmpty(message = "证书照片不能为空")
|
||||
private String certificateFilepath;
|
||||
|
||||
@ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true)
|
||||
@NotNull(message = "企业ID不能为空")
|
||||
@ApiModelProperty(value = "企业ID", name = "corpinfoId")
|
||||
private Long corpinfoId;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package com.zcloud.edu.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -23,6 +26,9 @@ public class TeacherCertificatePageQry extends PageQuery {
|
|||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeTeacherCertificateId;
|
||||
|
||||
@ApiModelProperty(name = "eqTeacherId", value = "教师id", required = true)
|
||||
@NotEmpty(message = "教师id不能为空")
|
||||
private String eqTeacherId;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ public class TeacherCertificateRemoveCmd extends Command {
|
|||
|
||||
@ApiModelProperty(value = "主键", name = "ids", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
@Size(min = 1, message = "请选择数据")
|
||||
private Long[] ids;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ import java.util.Date;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeacherCertificateUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "${column.comment}", name = "id", required = true)
|
||||
@NotNull(message = "${column.comment}不能为空")
|
||||
@ApiModelProperty(value = "id", name = "id", required = true)
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务主键id", name = "teacherCertificateId", required = true)
|
||||
@NotEmpty(message = "业务主键id不能为空")
|
||||
|
|
@ -47,8 +47,7 @@ public class TeacherCertificateUpdateCmd extends Command {
|
|||
@NotNull(message = "证书有效期(开始)不能为空")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date certificateDateStart;
|
||||
@ApiModelProperty(value = "证书有效期(结束)", name = "certificateDateEnd", required = true)
|
||||
@NotNull(message = "证书有效期(结束)不能为空")
|
||||
@ApiModelProperty(value = "证书有效期(结束)", name = "certificateDateEnd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date certificateDateEnd;
|
||||
@ApiModelProperty(value = "证书照片", name = "certificateFilepath", required = true)
|
||||
|
|
|
|||
|
|
@ -23,6 +23,6 @@ public class TeacherListQry extends PageQuery {
|
|||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeTeacherId;
|
||||
private String eqCorpinfoId;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.zcloud.edu.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
|
@ -23,6 +24,13 @@ public class TeacherPageQry extends PageQuery {
|
|||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeTeacherId;
|
||||
@ApiModelProperty(name = "likeTeacherName", value = "教师名称")
|
||||
private String likeTeacherName;
|
||||
|
||||
@ApiModelProperty(name = "eqCorpinfoId", value = "企业ID")
|
||||
private Long eqCorpinfoId;
|
||||
|
||||
@ApiModelProperty(name = "qualificationType", value = "资格类型")
|
||||
private String qualificationType;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ public class TeacherRemoveCmd extends Command {
|
|||
|
||||
@ApiModelProperty(value = "主键", name = "ids", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
@Size(min = 1, message = "请选择数据")
|
||||
private Long[] ids;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,48 +26,49 @@ public class TeacherUpdateCmd extends Command {
|
|||
@ApiModelProperty(value = "教师id", name = "id", required = true)
|
||||
@NotNull(message = "教师id不能为空")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "业务主键id", name = "teacherId", required = true)
|
||||
@NotEmpty(message = "业务主键id不能为空")
|
||||
private String teacherId;
|
||||
@ApiModelProperty(value = "用户id", name = "userId", required = true)
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
@ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true)
|
||||
@NotNull(message = "企业ID不能为空")
|
||||
private Long corpinfoId;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "教师姓名", name = "teacherName", required = true)
|
||||
@NotEmpty(message = "教师姓名不能为空")
|
||||
private String teacherName;
|
||||
@ApiModelProperty(value = "手机号", name = "phone", required = true)
|
||||
@NotEmpty(message = "手机号不能为空")
|
||||
private String phone;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "身份证号", name = "identityNumber", required = true)
|
||||
@NotEmpty(message = "身份证号不能为空")
|
||||
private String identityNumber;
|
||||
|
||||
@ApiModelProperty(value = "文化程度", name = "educationLevel", required = true)
|
||||
@NotEmpty(message = "文化程度不能为空")
|
||||
private String educationLevel;
|
||||
|
||||
@ApiModelProperty(value = "文化程度名称", name = "educationLevelName", required = true)
|
||||
@NotEmpty(message = "文化程度名称不能为空")
|
||||
private String educationLevelName;
|
||||
|
||||
@ApiModelProperty(value = "专业", name = "profession", required = true)
|
||||
@NotEmpty(message = "专业不能为空")
|
||||
private String profession;
|
||||
|
||||
@ApiModelProperty(value = "工作年限", name = "workyear", required = true)
|
||||
@NotNull(message = "工作年限不能为空")
|
||||
private Integer workyear;
|
||||
|
||||
@ApiModelProperty(value = "考核部门", name = "assessmentDepartment", required = true)
|
||||
@NotEmpty(message = "考核部门不能为空")
|
||||
private String assessmentDepartment;
|
||||
|
||||
@ApiModelProperty(value = "考核时间", name = "assessmentTime", required = true)
|
||||
@NotNull(message = "考核时间不能为空")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date assessmentTime;
|
||||
|
||||
@ApiModelProperty(value = "考核结果", name = "assessmentResult", required = true)
|
||||
@NotEmpty(message = "考核结果不能为空")
|
||||
private String assessmentResult;
|
||||
@ApiModelProperty(value = "状态(0-禁用 1-启用)(老项目0启用,1禁用)", name = "state", required = true)
|
||||
@NotEmpty(message = "状态(0-禁用 1-启用)(老项目0启用,1禁用)不能为空")
|
||||
private String state;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
package com.zcloud.edu.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author SondonYong
|
||||
* @Date 2025-11-26 17:04:44
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeacherUpdateStateCmd extends Command {
|
||||
|
||||
@ApiModelProperty(value = "教师id", name = "id", required = true)
|
||||
@NotNull(message = "教师id不能为空")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "教师状态, 启用传1, 禁用传0", name = "state", required = true)
|
||||
@NotNull(message = "教师状态不能为空")
|
||||
private Integer state;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -21,6 +21,7 @@ public class TrainingTypeRemoveCmd extends Command {
|
|||
|
||||
@ApiModelProperty(value = "主键", name = "ids", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
@Size(min = 1, message = "请选择数据")
|
||||
private Long[] ids;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,181 @@
|
|||
package com.zcloud.edu.dto;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.zcloud.gbscommon.translateaop.TranslateEunm;
|
||||
import com.zcloud.gbscommon.translateaop.ZCloudTranslate;
|
||||
import com.zcloud.gbscommon.translateaop.ZCloudTranslates;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2025-11-04 14:07:33
|
||||
*/
|
||||
@Data
|
||||
public class UserAddCmd extends ClientObject {
|
||||
|
||||
//GBS用户id
|
||||
@ApiModelProperty(value = "GBS用户id")
|
||||
private Long id;
|
||||
//业务主键id老系统id
|
||||
@ApiModelProperty(value = "业务主键id老系统id")
|
||||
private String userId;
|
||||
//登录账号
|
||||
@ApiModelProperty(value = "登录账号")
|
||||
private String username;
|
||||
//姓名
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String name;
|
||||
//企业id
|
||||
@ApiModelProperty(value = "企业id")
|
||||
private Long corpinfoId;
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
private String corpinfoName;
|
||||
//是否主账号1是0否
|
||||
@ApiModelProperty(value = "是否主账号1是0否")
|
||||
private Integer mainCorpFlag;
|
||||
//用户类型,1监管2企业3相关方
|
||||
@ApiModelProperty(value = "用户类型,1监管2企业3相关方")
|
||||
private Integer userType;
|
||||
//部门id
|
||||
@ApiModelProperty(value = "部门id")
|
||||
private Long departmentId;
|
||||
//部门id
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String departmentName;
|
||||
//岗位id
|
||||
@ApiModelProperty(value = "岗位id")
|
||||
private Long postId;
|
||||
//岗位id
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private String postName;
|
||||
//角色id
|
||||
@ApiModelProperty(value = "角色id")
|
||||
private Long roleId;
|
||||
//邮箱
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
//人员类型编码(主要负责人等)
|
||||
@ApiModelProperty(value = "人员类型编码(主要负责人等)")
|
||||
private String personnelType;
|
||||
//人员类型翻译
|
||||
@ApiModelProperty(value = "人员类型翻译")
|
||||
private String personnelTypeName;
|
||||
//民族编码问一下有没有组件
|
||||
@ApiModelProperty(value = "民族编码问一下有没有组件")
|
||||
private String nation;
|
||||
//民族名称
|
||||
@ApiModelProperty(value = "民族名称")
|
||||
private String nationName;
|
||||
//身份证号
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String userIdCard;
|
||||
//人脸头像url
|
||||
@ApiModelProperty(value = "人脸头像url")
|
||||
private String userAvatarUrl;
|
||||
//现住址
|
||||
@ApiModelProperty(value = "现住址")
|
||||
private String currentAddress;
|
||||
//户口所在地
|
||||
@ApiModelProperty(value = "户口所在地")
|
||||
private String locationAddress;
|
||||
|
||||
@ApiModelProperty(value = "职级")
|
||||
private String rankLevel;
|
||||
@ApiModelProperty(value = "职级名称")
|
||||
private String rankLevelName;
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//人员在部门中的排序
|
||||
@ApiModelProperty(value = "人员在部门中的排序")
|
||||
private Integer sort;
|
||||
//乐观锁
|
||||
@ApiModelProperty(value = "乐观锁")
|
||||
private Integer version;
|
||||
//创建人
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long createId;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date createTime;
|
||||
//更新人
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private Long updateId;
|
||||
//修改人名称
|
||||
@ApiModelProperty(value = "修改人名称")
|
||||
private String updateName;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date updateTime;
|
||||
//描述
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remarks;
|
||||
//是否删除
|
||||
@ApiModelProperty(value = "是否删除")
|
||||
private String deleteEnum;
|
||||
//租户ID
|
||||
@ApiModelProperty(value = "租户ID")
|
||||
private Long tenantId;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long orgId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
//是否部门领导0否1是
|
||||
@ApiModelProperty(value = "是否部门领导0否1是")
|
||||
private Integer departmentLeaderFlag;
|
||||
//是否分管领导0否1是
|
||||
@ApiModelProperty(value = "是否分管领导0否1是")
|
||||
private Integer deputyLeaderFlag;
|
||||
//文化程度 数据字典
|
||||
@ApiModelProperty(value = "文化程度 数据字典")
|
||||
private String culturalLevel;
|
||||
//文化程度名称
|
||||
@ApiModelProperty(value = "文化程度名称")
|
||||
private String culturalLevelName;
|
||||
//婚姻状态
|
||||
@ApiModelProperty(value = "婚姻状态")
|
||||
private String maritalStatus;
|
||||
//婚姻状态名称
|
||||
@ApiModelProperty(value = "婚姻状态名称")
|
||||
private String maritalStatusName;
|
||||
//政治面貌
|
||||
@ApiModelProperty(value = "政治面貌")
|
||||
private String politicalAffiliation;
|
||||
//政治面貌名称
|
||||
@ApiModelProperty(value = "政治面貌名称")
|
||||
private String politicalAffiliationName;
|
||||
private String mappingName;
|
||||
private String mappingUserName;
|
||||
private String mappingPostName;
|
||||
private String mappingDeptName;
|
||||
// 入职状态
|
||||
@ApiModelProperty(value = "入职状态")
|
||||
private Integer employmentFlag;
|
||||
|
||||
|
||||
// 年龄
|
||||
@ApiModelProperty(value = "年龄")
|
||||
private Integer age;
|
||||
|
||||
//生日
|
||||
@ApiModelProperty(value = "生日")
|
||||
private String birthday;
|
||||
|
||||
// 性别
|
||||
@ApiModelProperty(value = "性别")
|
||||
private String sex;
|
||||
}
|
||||
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
package com.zcloud.edu.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -74,7 +76,20 @@ public class TeacherCO extends ClientObject {
|
|||
|
||||
private String assessmentResult;
|
||||
//状态(0-禁用 1-启用)(老项目0启用,1禁用)
|
||||
@ApiModelProperty(value = "状态(0-禁用 1-启用)(老项目0启用,1禁用)")
|
||||
@ApiModelProperty(value = "状态(0-禁用 1-启用)")
|
||||
|
||||
private String state;
|
||||
private Integer state;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@ApiModelProperty(value = "资质类型名称")
|
||||
private String qualificationTypeNames;
|
||||
|
||||
@ApiModelProperty(value = "单位名称")
|
||||
private String corpinfoName;
|
||||
|
||||
@ApiModelProperty(value = "教师资格证书列表")
|
||||
private List<TeacherCertificateCO> teacherCertificateList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
package com.zcloud.edu.domain.model;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import com.zcloud.gbscommon.utils.UuidUtil;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
|
|
@ -42,6 +46,35 @@ public class TeacherE extends BaseE {
|
|||
//考核结果
|
||||
private String assessmentResult;
|
||||
//状态(0-禁用 1-启用)(老项目0启用,1禁用)
|
||||
private String state;
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 用户数据转换成教师数据
|
||||
*/
|
||||
public List<TeacherE> convertFromUserList(List<UserAddE> userList) {
|
||||
|
||||
if (CollUtil.isEmpty(userList)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
List<TeacherE> teacherList = new ArrayList<>();
|
||||
for (UserAddE userAddE : userList) {
|
||||
TeacherE teacher = new TeacherE();
|
||||
teacher.setTeacherId(UuidUtil.get32UUID());
|
||||
teacher.setUserId(userAddE.getId());
|
||||
teacher.setCorpinfoId(userAddE.getCorpinfoId());
|
||||
teacher.setTeacherName(userAddE.getName());
|
||||
teacher.setPhone(userAddE.getPhone());
|
||||
teacher.setIdentityNumber(userAddE.getUserIdCard());
|
||||
teacher.setEducationLevel(userAddE.getCulturalLevel());
|
||||
teacher.setEducationLevelName(userAddE.getCulturalLevelName());
|
||||
// 默认启用
|
||||
teacher.setState(1);
|
||||
teacherList.add(teacher);
|
||||
}
|
||||
|
||||
return teacherList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,178 @@
|
|||
package com.zcloud.edu.domain.model;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2025-11-04 14:07:33
|
||||
*/
|
||||
@Data
|
||||
public class UserAddE extends ClientObject {
|
||||
|
||||
//GBS用户id
|
||||
@ApiModelProperty(value = "GBS用户id")
|
||||
private Long id;
|
||||
//业务主键id老系统id
|
||||
@ApiModelProperty(value = "业务主键id老系统id")
|
||||
private String userId;
|
||||
//登录账号
|
||||
@ApiModelProperty(value = "登录账号")
|
||||
private String username;
|
||||
//姓名
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String name;
|
||||
//企业id
|
||||
@ApiModelProperty(value = "企业id")
|
||||
private Long corpinfoId;
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
private String corpinfoName;
|
||||
//是否主账号1是0否
|
||||
@ApiModelProperty(value = "是否主账号1是0否")
|
||||
private Integer mainCorpFlag;
|
||||
//用户类型,1监管2企业3相关方
|
||||
@ApiModelProperty(value = "用户类型,1监管2企业3相关方")
|
||||
private Integer userType;
|
||||
//部门id
|
||||
@ApiModelProperty(value = "部门id")
|
||||
private Long departmentId;
|
||||
//部门id
|
||||
@ApiModelProperty(value = "部门名称")
|
||||
private String departmentName;
|
||||
//岗位id
|
||||
@ApiModelProperty(value = "岗位id")
|
||||
private Long postId;
|
||||
//岗位id
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private String postName;
|
||||
//角色id
|
||||
@ApiModelProperty(value = "角色id")
|
||||
private Long roleId;
|
||||
//邮箱
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
//人员类型编码(主要负责人等)
|
||||
@ApiModelProperty(value = "人员类型编码(主要负责人等)")
|
||||
private String personnelType;
|
||||
//人员类型翻译
|
||||
@ApiModelProperty(value = "人员类型翻译")
|
||||
private String personnelTypeName;
|
||||
//民族编码问一下有没有组件
|
||||
@ApiModelProperty(value = "民族编码问一下有没有组件")
|
||||
private String nation;
|
||||
//民族名称
|
||||
@ApiModelProperty(value = "民族名称")
|
||||
private String nationName;
|
||||
//身份证号
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String userIdCard;
|
||||
//人脸头像url
|
||||
@ApiModelProperty(value = "人脸头像url")
|
||||
private String userAvatarUrl;
|
||||
//现住址
|
||||
@ApiModelProperty(value = "现住址")
|
||||
private String currentAddress;
|
||||
//户口所在地
|
||||
@ApiModelProperty(value = "户口所在地")
|
||||
private String locationAddress;
|
||||
|
||||
@ApiModelProperty(value = "职级")
|
||||
private String rankLevel;
|
||||
@ApiModelProperty(value = "职级名称")
|
||||
private String rankLevelName;
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
//人员在部门中的排序
|
||||
@ApiModelProperty(value = "人员在部门中的排序")
|
||||
private Integer sort;
|
||||
//乐观锁
|
||||
@ApiModelProperty(value = "乐观锁")
|
||||
private Integer version;
|
||||
//创建人
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long createId;
|
||||
//创建人姓名
|
||||
@ApiModelProperty(value = "创建人姓名")
|
||||
private String createName;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date createTime;
|
||||
//更新人
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private Long updateId;
|
||||
//修改人名称
|
||||
@ApiModelProperty(value = "修改人名称")
|
||||
private String updateName;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date updateTime;
|
||||
//描述
|
||||
@ApiModelProperty(value = "描述")
|
||||
private String remarks;
|
||||
//是否删除
|
||||
@ApiModelProperty(value = "是否删除")
|
||||
private String deleteEnum;
|
||||
//租户ID
|
||||
@ApiModelProperty(value = "租户ID")
|
||||
private Long tenantId;
|
||||
//机构ID
|
||||
@ApiModelProperty(value = "机构ID")
|
||||
private Long orgId;
|
||||
//环境
|
||||
@ApiModelProperty(value = "环境")
|
||||
private String env;
|
||||
//是否部门领导0否1是
|
||||
@ApiModelProperty(value = "是否部门领导0否1是")
|
||||
private Integer departmentLeaderFlag;
|
||||
//是否分管领导0否1是
|
||||
@ApiModelProperty(value = "是否分管领导0否1是")
|
||||
private Integer deputyLeaderFlag;
|
||||
//文化程度 数据字典
|
||||
@ApiModelProperty(value = "文化程度 数据字典")
|
||||
private String culturalLevel;
|
||||
//文化程度名称
|
||||
@ApiModelProperty(value = "文化程度名称")
|
||||
private String culturalLevelName;
|
||||
//婚姻状态
|
||||
@ApiModelProperty(value = "婚姻状态")
|
||||
private String maritalStatus;
|
||||
//婚姻状态名称
|
||||
@ApiModelProperty(value = "婚姻状态名称")
|
||||
private String maritalStatusName;
|
||||
//政治面貌
|
||||
@ApiModelProperty(value = "政治面貌")
|
||||
private String politicalAffiliation;
|
||||
//政治面貌名称
|
||||
@ApiModelProperty(value = "政治面貌名称")
|
||||
private String politicalAffiliationName;
|
||||
private String mappingName;
|
||||
private String mappingUserName;
|
||||
private String mappingPostName;
|
||||
private String mappingDeptName;
|
||||
// 入职状态
|
||||
@ApiModelProperty(value = "入职状态")
|
||||
private Integer employmentFlag;
|
||||
|
||||
|
||||
// 年龄
|
||||
@ApiModelProperty(value = "年龄")
|
||||
private Integer age;
|
||||
|
||||
//生日
|
||||
@ApiModelProperty(value = "生日")
|
||||
private String birthday;
|
||||
|
||||
// 性别
|
||||
@ApiModelProperty(value = "性别")
|
||||
private String sex;
|
||||
}
|
||||
|
||||
|
|
@ -1,13 +1,17 @@
|
|||
package com.zcloud.edu.gatewayimpl;
|
||||
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.edu.domain.gateway.TeacherCertificateGateway;
|
||||
import com.zcloud.edu.domain.model.TeacherCertificateE;
|
||||
import com.zcloud.edu.persistence.dataobject.TeacherCertificateDO;
|
||||
import com.zcloud.edu.persistence.repository.TeacherCertificateRepository;
|
||||
import com.zcloud.gbscommon.utils.UuidUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
|
|
@ -25,6 +29,12 @@ public class TeacherCertificateGatewayImpl implements TeacherCertificateGateway
|
|||
public Boolean add(TeacherCertificateE teacherCertificateE) {
|
||||
TeacherCertificateDO d = new TeacherCertificateDO();
|
||||
BeanUtils.copyProperties(teacherCertificateE, d);
|
||||
if(StringUtils.isNotEmpty(d.getTeacherCertificateId())){
|
||||
d.setTeacherCertificateId(UuidUtil.get32UUID());
|
||||
}
|
||||
if(d.getCorpinfoId() == null){
|
||||
d.setCorpinfoId(AuthContext.getTenantId());
|
||||
}
|
||||
teacherCertificateRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -44,7 +54,7 @@ public class TeacherCertificateGatewayImpl implements TeacherCertificateGateway
|
|||
|
||||
@Override
|
||||
public Boolean deletedTeacherCertificateByIds(Long[] ids) {
|
||||
return teacherCertificateRepository.removeByIds(Collections.singletonList(ids));
|
||||
return teacherCertificateRepository.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
|||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +45,7 @@ public class TeacherGatewayImpl implements TeacherGateway {
|
|||
|
||||
@Override
|
||||
public Boolean deletedTeacherByIds(Long[] ids) {
|
||||
return teacherRepository.removeByIds(Collections.singletonList(ids));
|
||||
return teacherRepository.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@ public class TeacherDO extends BaseDO {
|
|||
//企业ID
|
||||
@ApiModelProperty(value = "企业ID")
|
||||
private Long corpinfoId;
|
||||
@ApiModelProperty(value = "单位名称")
|
||||
@TableField(exist = false)
|
||||
private String corpinfoName;
|
||||
//教师姓名
|
||||
@ApiModelProperty(value = "教师姓名")
|
||||
private String teacherName;
|
||||
|
|
@ -61,7 +64,11 @@ public class TeacherDO extends BaseDO {
|
|||
private String assessmentResult;
|
||||
//状态(0-禁用 1-启用)(老项目0启用,1禁用)
|
||||
@ApiModelProperty(value = "状态(0-禁用 1-启用)(老项目0启用,1禁用)")
|
||||
private String state;
|
||||
private Integer state;
|
||||
|
||||
@ApiModelProperty(value = "资质类型名称")
|
||||
@TableField(exist = false)
|
||||
private String qualificationTypeNames;
|
||||
|
||||
public TeacherDO(String teacherId) {
|
||||
this.teacherId = teacherId;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
package com.zcloud.edu.persistence.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zcloud.edu.persistence.dataobject.TeacherDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
|
|
@ -13,5 +18,10 @@ import org.apache.ibatis.annotations.Mapper;
|
|||
@Mapper
|
||||
public interface TeacherMapper extends BaseMapper<TeacherDO> {
|
||||
|
||||
IPage<TeacherDO> getTeacherPage(IPage<TeacherDO> page, @Param("ew") QueryWrapper<TeacherDO> queryWrapper);
|
||||
|
||||
List<TeacherDO> getTeacherList(@Param("ew") QueryWrapper<TeacherDO> queryWrapper);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,12 @@ public interface TeacherCertificateRepository extends BaseRepository<TeacherCert
|
|||
|
||||
List<TeacherCertificateDO> list(Map<String, Object> params);
|
||||
|
||||
List<TeacherCertificateDO> listByTeacherId(String teacherId);
|
||||
|
||||
SingleResponse<TeacherCertificateDO> getInfoById(Long id);
|
||||
|
||||
boolean removeByTeacherId(String teacherId);
|
||||
|
||||
boolean removeByTeacherIds(List<String> teacherIds);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ public interface TeacherRepository extends BaseRepository<TeacherDO> {
|
|||
|
||||
List<TeacherDO> list(Map<String, Object> params);
|
||||
|
||||
List<TeacherDO> listByIds(List<Long> ids);
|
||||
|
||||
SingleResponse<TeacherDO> getInfoById(Long id);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
|||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -47,9 +48,30 @@ public class TeacherCertificateRepositoryImpl extends BaseRepositoryImpl<Teacher
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TeacherCertificateDO> listByTeacherId(String teacherId) {
|
||||
QueryWrapper<TeacherCertificateDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("teacher_id", teacherId);
|
||||
return list(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<TeacherCertificateDO> getInfoById(Long id) {
|
||||
return SingleResponse.of(teacherCertificateMapper.selectById(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeByTeacherId(String teacherId) {
|
||||
QueryWrapper<TeacherCertificateDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("teacher_id", teacherId);
|
||||
return teacherCertificateMapper.delete(queryWrapper) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeByTeacherIds(List<String> teacherIds) {
|
||||
QueryWrapper<TeacherCertificateDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("teacher_id", teacherIds);
|
||||
return teacherCertificateMapper.delete(queryWrapper) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -32,21 +34,40 @@ public class TeacherRepositoryImpl extends BaseRepositoryImpl<TeacherMapper, Tea
|
|||
public PageResponse<TeacherDO> listPage(Map<String, Object> params) {
|
||||
IPage<TeacherDO> iPage = new Query<TeacherDO>().getPage(params);
|
||||
QueryWrapper<TeacherDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<TeacherDO> result = teacherMapper.selectPage(iPage, queryWrapper);
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a.");
|
||||
queryWrapper.eq("a.delete_enum", "FALSE");
|
||||
if(StringUtils.isNotEmpty((String) params.get("qualificationType"))){
|
||||
queryWrapper.in("b.qualification_type", params.get("qualificationType").toString());
|
||||
}
|
||||
queryWrapper.groupBy("a.teacher_id")
|
||||
.groupBy("a.id")
|
||||
.groupBy("a.user_id")
|
||||
.groupBy("a.corpinfo_id")
|
||||
.groupBy("a.teacher_name")
|
||||
.groupBy("a.state")
|
||||
.groupBy("a.create_time");
|
||||
queryWrapper.orderByDesc("a.create_time");
|
||||
IPage<TeacherDO> result = teacherMapper.getTeacherPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TeacherDO> list(Map<String, Object> params) {
|
||||
QueryWrapper<TeacherDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
List<TeacherDO> result = teacherMapper.selectList(queryWrapper);
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a.");
|
||||
queryWrapper.eq("a.delete_enum", "FALSE");
|
||||
queryWrapper.orderByDesc("a.create_time");
|
||||
List<TeacherDO> result = teacherMapper.getTeacherList(queryWrapper);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TeacherDO> listByIds(List<Long> ids) {
|
||||
QueryWrapper<TeacherDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("a.id", ids);
|
||||
return list(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<TeacherDO> getInfoById(Long id) {
|
||||
return SingleResponse.of(teacherMapper.selectById(id));
|
||||
|
|
|
|||
|
|
@ -3,5 +3,28 @@
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.edu.persistence.mapper.TeacherMapper">
|
||||
|
||||
<select id="getTeacherPage" resultType="com.zcloud.edu.persistence.dataobject.TeacherDO">
|
||||
select
|
||||
a.id,a.teacher_id,a.user_id,a.corpinfo_id,a.teacher_name,a.`state`,a.create_time,
|
||||
c.corp_name as corpinfoName,
|
||||
GROUP_CONCAT(b.qualification_type_name SEPARATOR ',') AS qualificationTypeNames
|
||||
from teacher a
|
||||
left join teacher_certificate b on a.teacher_id = b.teacher_id and b.delete_enum = 'FALSE'
|
||||
left join corp_info c on a.corpinfo_id = c.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getTeacherList" resultType="com.zcloud.edu.persistence.dataobject.TeacherDO">
|
||||
select
|
||||
a.id,a.teacher_id,a.user_id,a.corpinfo_id,a.teacher_name,a.`state`,a.create_time,
|
||||
c.corp_name as corpinfoName,
|
||||
GROUP_CONCAT(b.qualification_type_name SEPARATOR ',') AS qualificationTypeNames
|
||||
from teacher a
|
||||
left join teacher_certificate b on a.teacher_id = b.teacher_id and b.delete_enum = 'FALSE'
|
||||
left join corp_info c on a.corpinfo_id = c.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue