小程序-提交教师查询相关的接口
This commit is contained in:
parent
df519e7868
commit
653987d860
|
|
@ -0,0 +1,37 @@
|
|||
package com.mdd.front.controller;
|
||||
|
||||
import com.mdd.common.core.AjaxResult;
|
||||
import com.mdd.common.core.PageResult;
|
||||
import com.mdd.front.service.ITeacherService;
|
||||
import com.mdd.front.validate.common.PageValidate;
|
||||
import com.mdd.front.validate.teacher.TeacherSearchValidate;
|
||||
import com.mdd.front.vo.teacher.TeacherListedVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("frontapi/teacher")
|
||||
@Api(tags = "教师信息扩展管理")
|
||||
public class TeacherController {
|
||||
|
||||
@Resource
|
||||
ITeacherService iTeacherService;
|
||||
|
||||
@GetMapping("/list")
|
||||
@ApiOperation(value = "教师信息扩展列表")
|
||||
public AjaxResult<PageResult<TeacherListedVo>> list(@Validated PageValidate pageValidate,
|
||||
@Validated TeacherSearchValidate searchValidate) {
|
||||
PageResult<TeacherListedVo> list = iTeacherService.list(pageValidate, searchValidate);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
@PostMapping("/getTeacherInfo")
|
||||
@ApiOperation(value = "根据查询条件获取教师信息")
|
||||
public AjaxResult<TeacherListedVo> getTeacherInfo(@RequestBody TeacherSearchValidate searchValidate) {
|
||||
return iTeacherService.getTeacherInfo(searchValidate);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.mdd.front.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.mdd.common.core.AjaxResult;
|
||||
import com.mdd.common.core.PageResult;
|
||||
import com.mdd.common.entity.Teacher;
|
||||
import com.mdd.front.validate.common.PageValidate;
|
||||
import com.mdd.front.validate.teacher.TeacherSearchValidate;
|
||||
import com.mdd.front.vo.teacher.TeacherListedVo;
|
||||
|
||||
/**
|
||||
* 教师信息扩展服务接口类
|
||||
*
|
||||
* @author gyp
|
||||
*/
|
||||
public interface ITeacherService extends IService<Teacher> {
|
||||
|
||||
/**
|
||||
* 教师信息扩展列表
|
||||
*
|
||||
* @param pageValidate 分页参数
|
||||
* @param searchValidate 搜索参数
|
||||
* @return PageResult<TeacherListedVo>
|
||||
* @author gyp
|
||||
*/
|
||||
PageResult<TeacherListedVo> list(PageValidate pageValidate, TeacherSearchValidate searchValidate);
|
||||
|
||||
AjaxResult<TeacherListedVo> getTeacherInfo(TeacherSearchValidate searchValidate);
|
||||
}
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
package com.mdd.front.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mdd.common.core.AjaxResult;
|
||||
import com.mdd.common.core.PageResult;
|
||||
import com.mdd.common.entity.College;
|
||||
import com.mdd.common.entity.Teacher;
|
||||
import com.mdd.common.mapper.CollegeMapper;
|
||||
import com.mdd.common.mapper.TeacherMapper;
|
||||
import com.mdd.common.util.*;
|
||||
import com.mdd.front.service.ITeacherService;
|
||||
import com.mdd.front.validate.common.PageValidate;
|
||||
import com.mdd.front.validate.teacher.TeacherSearchValidate;
|
||||
import com.mdd.front.vo.teacher.TeacherListedVo;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 教师信息扩展实现类
|
||||
*
|
||||
* @author gyp
|
||||
*/
|
||||
@Service
|
||||
public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> implements ITeacherService {
|
||||
|
||||
@Resource
|
||||
TeacherMapper teacherMapper;
|
||||
@Resource
|
||||
CollegeMapper collegeMapper;
|
||||
|
||||
/**
|
||||
* 教师信息扩展列表
|
||||
*
|
||||
* @param pageValidate 分页参数
|
||||
* @param searchValidate 搜索参数
|
||||
* @return PageResult<TeacherListedVo>
|
||||
* @author gyp
|
||||
*/
|
||||
@Override
|
||||
public PageResult<TeacherListedVo> list(PageValidate pageValidate, TeacherSearchValidate searchValidate) {
|
||||
Integer page = pageValidate.getPage_no();
|
||||
Integer limit = pageValidate.getPage_size();
|
||||
|
||||
QueryWrapper<Teacher> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.orderByDesc("teacher_id");
|
||||
|
||||
teacherMapper.setSearch(queryWrapper, searchValidate, new String[]{
|
||||
"=:teacherId@teacher_id:int",
|
||||
"like:name@teacher_name:str",
|
||||
"=:teacherCode@teacher_code:str",
|
||||
"=:collegeId@college_id:int",
|
||||
"=:teacherStatus@teacher_status:int",
|
||||
"=:invitationCode@invitation_code:str",
|
||||
});
|
||||
|
||||
IPage<Teacher> iPage = teacherMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||
|
||||
List<TeacherListedVo> list = new LinkedList<>();
|
||||
for (Teacher item : iPage.getRecords()) {
|
||||
TeacherListedVo vo = new TeacherListedVo();
|
||||
BeanUtils.copyProperties(item, vo);
|
||||
// 映射主键:实体是teacherId,VO也是teacherId,BeanUtils会自动处理
|
||||
vo.setTeacherId(item.getTeacherId());
|
||||
// 显式设置教师工号,确保字段正确映射
|
||||
vo.setTeacherCode(item.getTeacherCode());
|
||||
// 设置二维码URL(转换为绝对URL)
|
||||
if (item.getQrcodeUrl() != null && !item.getQrcodeUrl().isEmpty()) {
|
||||
// 后台端静态资源映射:/adminapi/uploads/**,因此这里需走 admin 端的绝对路径转换
|
||||
vo.setQrcodeUrl(UrlUtils.toAdminAbsoluteUrl(item.getQrcodeUrl()));
|
||||
}
|
||||
vo.setCreateTime(TimeUtils.timestampToDate(item.getCreateTime()));
|
||||
vo.setUpdateTime(TimeUtils.timestampToDate(item.getUpdateTime()));
|
||||
College college = collegeMapper.selectById(vo.getCollegeId());
|
||||
if (college != null) vo.setCollegeName(college.getCollegeName());
|
||||
|
||||
list.add(vo);
|
||||
}
|
||||
|
||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult<TeacherListedVo> getTeacherInfo(TeacherSearchValidate searchValidate) {
|
||||
TeacherListedVo teacherListedVo = new TeacherListedVo();
|
||||
Teacher teacher = teacherMapper.selectOne(new QueryWrapper<Teacher>().eq("teacher_id", searchValidate.getTeacherId()));
|
||||
BeanUtils.copyProperties(teacher, teacherListedVo);
|
||||
College college = collegeMapper.selectById(teacherListedVo.getCollegeId());
|
||||
teacherListedVo.setCreateTime(TimeUtils.timestampToDate(teacher.getCreateTime()));
|
||||
teacherListedVo.setUpdateTime(TimeUtils.timestampToDate(teacher.getUpdateTime()));
|
||||
if (college != null) {
|
||||
teacherListedVo.setCollegeName(college.getCollegeName());
|
||||
}
|
||||
return AjaxResult.success(teacherListedVo);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.mdd.front.validate.teacher;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel("教师信息扩展搜素参数")
|
||||
public class TeacherSearchValidate implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "教师id")
|
||||
private Integer teacherId;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String teacherName;
|
||||
|
||||
@ApiModelProperty(value = "教师工号")
|
||||
private String teacherCode;
|
||||
|
||||
@ApiModelProperty(value = "所属学院ID")
|
||||
private Integer CollegeId;
|
||||
|
||||
@ApiModelProperty(value = "教师状态:1-在职,2-休假,3-离职")
|
||||
private Integer teacherStatus;
|
||||
|
||||
@ApiModelProperty(value = "邀请码(二维码地址标识)")
|
||||
private String invitationCode;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.mdd.front.vo.teacher;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel("教师信息扩展列表Vo")
|
||||
public class TeacherListedVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "教师ID")
|
||||
private Integer teacherId;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String teacherName;
|
||||
|
||||
@ApiModelProperty(value = "学院名")
|
||||
private String collegeName;
|
||||
|
||||
@ApiModelProperty(value = "所属学院ID")
|
||||
private Integer collegeId;
|
||||
|
||||
@ApiModelProperty(value = "教师工号")
|
||||
private String teacherCode;
|
||||
|
||||
@ApiModelProperty(value = "职称")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "联系电话")
|
||||
private String contactPhone;
|
||||
|
||||
@ApiModelProperty(value = "联系邮箱")
|
||||
private String contactEmail;
|
||||
|
||||
@ApiModelProperty(value = "教师状态:1-在职,2-休假,3-离职")
|
||||
private Integer teacherStatus;
|
||||
|
||||
@ApiModelProperty(value = "邀请码(二维码地址标识)")
|
||||
private String invitationCode;
|
||||
|
||||
@ApiModelProperty(value = "二维码图片地址")
|
||||
private String qrcodeUrl;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private String updateTime;
|
||||
}
|
||||
Loading…
Reference in New Issue