diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/TeacherController.java b/web-adapter/src/main/java/com/zcloud/edu/web/TeacherController.java index 2cb207d..5916df7 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/TeacherController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/TeacherController.java @@ -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 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 page(@RequestBody TeacherPageQry qry) { diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/TeacherAddExe.java index de53d4d..097d4bf 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/TeacherAddExe.java @@ -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 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); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherRemoveExe.java b/web-app/src/main/java/com/zcloud/edu/command/TeacherRemoveExe.java index 2d72bf9..4f2aa4a 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/TeacherRemoveExe.java @@ -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 = 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 teacherDOS = teacherRepository.listByIds(Arrays.asList(ids)); + if(CollUtil.isEmpty(teacherDOS)){ + throw new BizException("数据不存在"); + } + boolean res = teacherGateway.deletedTeacherByIds(ids); + + if(res){ + List teacherIds = teacherDOS.stream().map(TeacherDO::getTeacherId).collect(Collectors.toList()); + teacherCertificateRepository.removeByTeacherIds(teacherIds); + } if (!res) { throw new BizException("删除失败"); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/TeacherUpdateExe.java b/web-app/src/main/java/com/zcloud/edu/command/TeacherUpdateExe.java index 067681a..213f052 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/TeacherUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/TeacherUpdateExe.java @@ -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("修改失败"); + } + } } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/TeacherQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/TeacherQueryExe.java index 22307df..e9589da 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/TeacherQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/TeacherQueryExe.java @@ -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 = teacherRepository.getInfoById(id); TeacherCO co = new TeacherCO(); BeanUtils.copyProperties(teacherDO.getData(), co); + + if(co != null){ + List teacherCertificateDOS = teacherCertificateRepository.listByTeacherId(co.getTeacherId()); + co.setTeacherCertificateList(BeanUtil.copyToList(teacherCertificateDOS, TeacherCertificateCO.class)); + } + return SingleResponse.of(co); } diff --git a/web-app/src/main/java/com/zcloud/edu/service/TeacherServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/TeacherServiceImpl.java index b181eb8..c0aa50c 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/TeacherServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/TeacherServiceImpl.java @@ -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); diff --git a/web-client/src/main/java/com/zcloud/edu/api/TeacherServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/TeacherServiceI.java index 99f247c..f2433e1 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/TeacherServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/TeacherServiceI.java @@ -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); diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherAddCmd.java index 5f9ad66..2020f5e 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherAddCmd.java @@ -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 userList; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateAddCmd.java index 215b0b9..b62c9a6 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateAddCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateAddCmd.java @@ -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; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificatePageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificatePageQry.java index 3be3096..34a95ef 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificatePageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificatePageQry.java @@ -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; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateRemoveCmd.java index 40b8c16..d50e7cd 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateRemoveCmd.java @@ -23,6 +23,7 @@ public class TeacherCertificateRemoveCmd extends Command { @ApiModelProperty(value = "主键", name = "ids", required = true) @NotNull(message = "主键不能为空") + @Size(min = 1, message = "请选择数据") private Long[] ids; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateUpdateCmd.java index 813189f..16c01ca 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherCertificateUpdateCmd.java @@ -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) diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherListQry.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherListQry.java index 56160a2..dddbbfe 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherListQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherListQry.java @@ -23,6 +23,6 @@ public class TeacherListQry extends PageQuery { * - `le`: 小于等于比较查询 * - `ne`: 不等比较查询,对应SQL的!=操作符 */ - private String likeTeacherId; + private String eqCorpinfoId; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java index 0b611e8..cd94261 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherPageQry.java @@ -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; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherRemoveCmd.java index cf24e55..a5081b5 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherRemoveCmd.java @@ -23,6 +23,7 @@ public class TeacherRemoveCmd extends Command { @ApiModelProperty(value = "主键", name = "ids", required = true) @NotNull(message = "主键不能为空") + @Size(min = 1, message = "请选择数据") private Long[] ids; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateCmd.java index e07e4bd..9d1dae1 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateCmd.java @@ -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; + } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateStateCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateStateCmd.java new file mode 100644 index 0000000..9a2db66 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/TeacherUpdateStateCmd.java @@ -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; + +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeRemoveCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeRemoveCmd.java index bf8d469..bb0ef47 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeRemoveCmd.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/TrainingTypeRemoveCmd.java @@ -21,6 +21,7 @@ public class TrainingTypeRemoveCmd extends Command { @ApiModelProperty(value = "主键", name = "ids", required = true) @NotNull(message = "主键不能为空") + @Size(min = 1, message = "请选择数据") private Long[] ids; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/UserAddCmd.java b/web-client/src/main/java/com/zcloud/edu/dto/UserAddCmd.java new file mode 100644 index 0000000..bc77504 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/UserAddCmd.java @@ -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; +} + diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCO.java index ca9f051..8af8f5e 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/TeacherCO.java @@ -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 teacherCertificateList; } diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherE.java index 10c9712..afeaad6 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/TeacherE.java @@ -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 convertFromUserList(List userList) { + + if (CollUtil.isEmpty(userList)) { + return null; + } + + List 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; + } + } diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/UserAddE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/UserAddE.java new file mode 100644 index 0000000..cbb0513 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/UserAddE.java @@ -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; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherCertificateGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherCertificateGatewayImpl.java index ead8d30..08e6c30 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherCertificateGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherCertificateGatewayImpl.java @@ -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)); } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherGatewayImpl.java index 2f1ff77..64bc026 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/TeacherGatewayImpl.java @@ -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)); } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java index 45f8e6c..0b1e0ad 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TeacherDO.java @@ -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; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java index 897b197..26bcb50 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TeacherMapper.java @@ -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 { + IPage getTeacherPage(IPage page, @Param("ew") QueryWrapper queryWrapper); + + List getTeacherList(@Param("ew") QueryWrapper queryWrapper); + + } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherCertificateRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherCertificateRepository.java index 76891f9..9d26193 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherCertificateRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherCertificateRepository.java @@ -20,6 +20,12 @@ public interface TeacherCertificateRepository extends BaseRepository list(Map params); + List listByTeacherId(String teacherId); + SingleResponse getInfoById(Long id); + + boolean removeByTeacherId(String teacherId); + + boolean removeByTeacherIds(List teacherIds); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherRepository.java index a7daddb..3cfb11b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/TeacherRepository.java @@ -20,6 +20,8 @@ public interface TeacherRepository extends BaseRepository { List list(Map params); + List listByIds(List ids); + SingleResponse getInfoById(Long id); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherCertificateRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherCertificateRepositoryImpl.java index 27da7c0..9b16388 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherCertificateRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherCertificateRepositoryImpl.java @@ -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 listByTeacherId(String teacherId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("teacher_id", teacherId); + return list(queryWrapper); + } + @Override public SingleResponse getInfoById(Long id) { return SingleResponse.of(teacherCertificateMapper.selectById(id)); } + + @Override + public boolean removeByTeacherId(String teacherId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("teacher_id", teacherId); + return teacherCertificateMapper.delete(queryWrapper) > 0; + } + + @Override + public boolean removeByTeacherIds(List teacherIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("teacher_id", teacherIds); + return teacherCertificateMapper.delete(queryWrapper) > 0; + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java index 3479be2..e3868e0 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TeacherRepositoryImpl.java @@ -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 listPage(Map params) { IPage iPage = new Query().getPage(params); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); - queryWrapper.orderByDesc("create_time"); - IPage 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 result = teacherMapper.getTeacherPage(iPage, queryWrapper); return PageHelper.pageToResponse(result, result.getRecords()); } @Override public List list(Map params) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); - queryWrapper.orderByDesc("create_time"); - List result = teacherMapper.selectList(queryWrapper); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a."); + queryWrapper.eq("a.delete_enum", "FALSE"); + queryWrapper.orderByDesc("a.create_time"); + List result = teacherMapper.getTeacherList(queryWrapper); return result; } + @Override + public List listByIds(List ids) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("a.id", ids); + return list(queryWrapper); + } + @Override public SingleResponse getInfoById(Long id) { return SingleResponse.of(teacherMapper.selectById(id)); diff --git a/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml b/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml index f288984..f0308a1 100644 --- a/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/TeacherMapper.xml @@ -3,5 +3,28 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + +