小程序-提交专业查询接口
This commit is contained in:
parent
6bf92ff5e4
commit
d210573d63
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.mdd.front.controller;
|
||||||
|
|
||||||
|
import com.mdd.common.core.AjaxResult;
|
||||||
|
import com.mdd.common.core.PageResult;
|
||||||
|
import com.mdd.common.validator.annotation.IDMust;
|
||||||
|
import com.mdd.front.service.IMajorService;
|
||||||
|
import com.mdd.front.validate.common.PageValidate;
|
||||||
|
import com.mdd.front.validate.major.MajorSearchValidate;
|
||||||
|
import com.mdd.front.vo.major.MajorDetailVo;
|
||||||
|
import com.mdd.front.vo.major.MajorListedVo;
|
||||||
|
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("adminapi/major")
|
||||||
|
@Api(tags = "专业管理")
|
||||||
|
public class MajorController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
IMajorService iMajorService;
|
||||||
|
|
||||||
|
@GetMapping("/list")
|
||||||
|
@ApiOperation(value = "专业列表")
|
||||||
|
public AjaxResult<PageResult<MajorListedVo>> list(@Validated PageValidate pageValidate,
|
||||||
|
@Validated MajorSearchValidate searchValidate) {
|
||||||
|
PageResult<MajorListedVo> list = iMajorService.list(pageValidate, searchValidate);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/detail")
|
||||||
|
@ApiOperation(value = "专业详情")
|
||||||
|
public AjaxResult<MajorDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||||
|
MajorDetailVo detail = iMajorService.detail(id);
|
||||||
|
return AjaxResult.success(detail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.mdd.front.service;
|
||||||
|
|
||||||
|
import com.mdd.common.core.PageResult;
|
||||||
|
import com.mdd.front.validate.common.PageValidate;
|
||||||
|
import com.mdd.front.validate.major.MajorSearchValidate;
|
||||||
|
import com.mdd.front.vo.major.MajorDetailVo;
|
||||||
|
import com.mdd.front.vo.major.MajorListedVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业服务接口类
|
||||||
|
*
|
||||||
|
* @author LikeAdmin
|
||||||
|
*/
|
||||||
|
public interface IMajorService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业列表
|
||||||
|
*
|
||||||
|
* @param pageValidate 分页参数
|
||||||
|
* @param searchValidate 搜索参数
|
||||||
|
* @return PageResult<MajorListedVo>
|
||||||
|
* @author LikeAdmin
|
||||||
|
*/
|
||||||
|
PageResult<MajorListedVo> list(PageValidate pageValidate, MajorSearchValidate searchValidate);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业详情
|
||||||
|
*
|
||||||
|
* @param id 主键ID
|
||||||
|
* @return MajorDetailVo
|
||||||
|
* @author LikeAdmin
|
||||||
|
*/
|
||||||
|
MajorDetailVo detail(Integer id);
|
||||||
|
}
|
||||||
|
|
@ -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.mdd.common.core.PageResult;
|
||||||
|
import com.mdd.common.entity.College;
|
||||||
|
import com.mdd.common.entity.Major;
|
||||||
|
import com.mdd.common.mapper.CollegeMapper;
|
||||||
|
import com.mdd.common.mapper.MajorMapper;
|
||||||
|
import com.mdd.common.util.TimeUtils;
|
||||||
|
import com.mdd.front.service.IMajorService;
|
||||||
|
import com.mdd.front.validate.common.PageValidate;
|
||||||
|
import com.mdd.front.validate.major.MajorSearchValidate;
|
||||||
|
import com.mdd.front.vo.major.MajorDetailVo;
|
||||||
|
import com.mdd.front.vo.major.MajorListedVo;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业实现类
|
||||||
|
*
|
||||||
|
* @author LikeAdmin
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MajorServiceImpl implements IMajorService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
MajorMapper majorMapper;
|
||||||
|
@Autowired
|
||||||
|
private CollegeMapper collegeMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业列表
|
||||||
|
*
|
||||||
|
* @param pageValidate 分页参数
|
||||||
|
* @param searchValidate 搜索参数
|
||||||
|
* @return PageResult<MajorListedVo>
|
||||||
|
* @author LikeAdmin
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public PageResult<MajorListedVo> list(PageValidate pageValidate, MajorSearchValidate searchValidate) {
|
||||||
|
Integer page = pageValidate.getPage_no();
|
||||||
|
Integer limit = pageValidate.getPage_size();
|
||||||
|
|
||||||
|
QueryWrapper<Major> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.orderByDesc("id");
|
||||||
|
|
||||||
|
majorMapper.setSearch(queryWrapper, searchValidate, new String[]{
|
||||||
|
"=:majorCode@major_code:str",
|
||||||
|
"like:majorName@major_name:str",
|
||||||
|
"=:collegeId@college_id:int",
|
||||||
|
"=:majorType@major_type:int",
|
||||||
|
"=:disciplineCategory@discipline_category:str",
|
||||||
|
"=:directorId@director_id:int",
|
||||||
|
"=:majorStatus@major_status:int",
|
||||||
|
});
|
||||||
|
|
||||||
|
IPage<Major> iPage = majorMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||||
|
|
||||||
|
List<MajorListedVo> list = new LinkedList<>();
|
||||||
|
for (Major item : iPage.getRecords()) {
|
||||||
|
MajorListedVo vo = new MajorListedVo();
|
||||||
|
BeanUtils.copyProperties(item, vo);
|
||||||
|
vo.setCreateTime(TimeUtils.timestampToDate(item.getCreateTime()));
|
||||||
|
vo.setUpdateTime(TimeUtils.timestampToDate(item.getUpdateTime()));
|
||||||
|
College college = collegeMapper.selectById(item.getCollegeId());
|
||||||
|
vo.setCollegeName(college.getCollegeName());
|
||||||
|
list.add(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业详情
|
||||||
|
*
|
||||||
|
* @param id 主键参数
|
||||||
|
* @return Major
|
||||||
|
* @author LikeAdmin
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public MajorDetailVo detail(Integer id) {
|
||||||
|
Major model = majorMapper.selectOne(
|
||||||
|
new QueryWrapper<Major>()
|
||||||
|
.eq("id", id)
|
||||||
|
.last("limit 1"));
|
||||||
|
Assert.notNull(model, "数据不存在");
|
||||||
|
|
||||||
|
MajorDetailVo vo = new MajorDetailVo();
|
||||||
|
BeanUtils.copyProperties(model, vo);
|
||||||
|
College college = collegeMapper.selectById(model.getCollegeId());
|
||||||
|
vo.setCollegeName(college.getCollegeName());
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.mdd.front.validate.major;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("专业创建参数")
|
||||||
|
public class MajorCreateValidate implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业代码")
|
||||||
|
@NotNull(message = "专业代码不为空")
|
||||||
|
private String majorCode;
|
||||||
|
|
||||||
|
@NotNull(message = "专业名称不为空")
|
||||||
|
@ApiModelProperty(value = "专业名称")
|
||||||
|
private String majorName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业英文名")
|
||||||
|
private String majorEnglishName;
|
||||||
|
|
||||||
|
@NotNull(message = "所属学院不为空")
|
||||||
|
@ApiModelProperty(value = "所属学院ID")
|
||||||
|
private Integer collegeId;
|
||||||
|
|
||||||
|
@NotNull(message = "专业类型不为空")
|
||||||
|
@ApiModelProperty(value = "专业类型: [1=本科, 2=硕士, 3=博士, 4=专科]")
|
||||||
|
private Integer majorType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学科门类")
|
||||||
|
private String disciplineCategory;
|
||||||
|
|
||||||
|
@NotNull(message = "学年制不为空")
|
||||||
|
@ApiModelProperty(value = "学制(年)")
|
||||||
|
private Integer studyDuration;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业简介")
|
||||||
|
private String majorDescription;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "毕业要求学分")
|
||||||
|
private BigDecimal creditRequirement;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开设年份")
|
||||||
|
private Long establishedYear;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业负责人用户ID")
|
||||||
|
private Integer directorId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业联系电话")
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "招生状态: [1=正常招生, 2=暂停招生, 3=停止招生]")
|
||||||
|
private Integer enrollmentStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业状态: [1=正常, 2=停用]")
|
||||||
|
private Integer majorStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "排序")
|
||||||
|
private Integer sortOrder;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.mdd.front.validate.major;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("专业搜素参数")
|
||||||
|
public class MajorSearchValidate implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业代码")
|
||||||
|
private String majorCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业名称")
|
||||||
|
private String majorName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "所属学院ID")
|
||||||
|
private Integer collegeId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业类型: [1=本科, 2=硕士, 3=博士, 4=专科]")
|
||||||
|
private Integer majorType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学科门类")
|
||||||
|
private String disciplineCategory;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业负责人用户ID")
|
||||||
|
private Integer directorId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业状态: [1=正常, 2=停用]")
|
||||||
|
private Integer majorStatus;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
package com.mdd.front.validate.major;
|
||||||
|
|
||||||
|
import com.mdd.common.validator.annotation.IDMust;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业参数
|
||||||
|
* @author LikeAdmin
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel("专业更新参数")
|
||||||
|
public class MajorUpdateValidate implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@IDMust(message = "id参数必传且需大于0")
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业代码")
|
||||||
|
private String majorCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业名称")
|
||||||
|
private String majorName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业英文名")
|
||||||
|
private String majorEnglishName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "所属学院ID")
|
||||||
|
private Integer collegeId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业类型: [1=本科, 2=硕士, 3=博士, 4=专科]")
|
||||||
|
private Integer majorType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学科门类")
|
||||||
|
private String disciplineCategory;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学制(年)")
|
||||||
|
private Integer studyDuration;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业简介")
|
||||||
|
private String majorDescription;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "毕业要求学分")
|
||||||
|
private BigDecimal creditRequirement;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开设年份")
|
||||||
|
private Long establishedYear;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业负责人用户ID")
|
||||||
|
private Integer directorId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业联系电话")
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "招生状态: [1=正常招生, 2=暂停招生, 3=停止招生]")
|
||||||
|
private Integer enrollmentStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业状态: [1=正常, 2=停用]")
|
||||||
|
private Integer majorStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "排序")
|
||||||
|
private Integer sortOrder;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
package com.mdd.front.vo.major;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("专业详情Vo")
|
||||||
|
public class MajorDetailVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "所属学院")
|
||||||
|
private String collegeName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业代码")
|
||||||
|
private String majorCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业名称")
|
||||||
|
private String majorName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业英文名")
|
||||||
|
private String majorEnglishName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "所属学院ID")
|
||||||
|
private Integer collegeId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业类型: [1=本科, 2=硕士, 3=博士, 4=专科]")
|
||||||
|
private Integer majorType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学科门类")
|
||||||
|
private String disciplineCategory;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学制(年)")
|
||||||
|
private Integer studyDuration;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业简介")
|
||||||
|
private String majorDescription;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "毕业要求学分")
|
||||||
|
private BigDecimal creditRequirement;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开设年份")
|
||||||
|
private Long establishedYear;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业负责人用户ID")
|
||||||
|
private Integer directorId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业联系电话")
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "招生状态: [1=正常招生, 2=暂停招生, 3=停止招生]")
|
||||||
|
private Integer enrollmentStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业状态: [1=正常, 2=停用]")
|
||||||
|
private Integer majorStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "排序")
|
||||||
|
private Integer sortOrder;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
package com.mdd.front.vo.major;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("专业列表Vo")
|
||||||
|
public class MajorListedVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "所属学院")
|
||||||
|
private String collegeName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业代码")
|
||||||
|
private String majorCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业名称")
|
||||||
|
private String majorName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业英文名")
|
||||||
|
private String majorEnglishName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业类型: [1=本科, 2=硕士, 3=博士, 4=专科]")
|
||||||
|
private Integer majorType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学科门类")
|
||||||
|
private String disciplineCategory;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "学制(年)")
|
||||||
|
private Integer studyDuration;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业简介")
|
||||||
|
private String majorDescription;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "毕业要求学分")
|
||||||
|
private BigDecimal creditRequirement;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开设年份")
|
||||||
|
private Long establishedYear;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "在校学生数")
|
||||||
|
private Integer studentCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业负责人用户ID")
|
||||||
|
private Integer directorId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业联系电话")
|
||||||
|
private String contactPhone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "招生状态: [1=正常招生, 2=暂停招生, 3=停止招生]")
|
||||||
|
private Integer enrollmentStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "专业状态: [1=正常, 2=停用]")
|
||||||
|
private Integer majorStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "排序")
|
||||||
|
private Integer sortOrder;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue