diff --git a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java index b1b21bc..e5a712b 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java @@ -60,6 +60,7 @@ public class CourseController { String title = MapUtils.getString(params, "title"); String depIds = MapUtils.getString(params, "dep_ids"); String categoryIds = MapUtils.getString(params, "category_ids"); + Integer isRequired = MapUtils.getInteger(params, "is_requried"); CoursePaginateFiler filter = new CoursePaginateFiler(); filter.setTitle(title); @@ -67,6 +68,7 @@ public class CourseController { filter.setSortAlgo(sortAlgo); filter.setCategoryIds(categoryIds); filter.setDepIds(depIds); + filter.setIsRequired(isRequired); PaginationResult result = courseService.paginate(page, size, filter); @@ -91,7 +93,14 @@ public class CourseController { @PostMapping("/create") @Transactional public JsonResponse store(@RequestBody @Validated CourseRequest req) throws ParseException { - Course course = courseService.createWithCategoryIdsAndDepIds(req.getTitle(), req.getThumb(), req.getIsShow(), req.getCategoryIds(), req.getDepIds()); + Course course = courseService.createWithCategoryIdsAndDepIds( + req.getTitle(), + req.getThumb(), + req.getIsRequired(), + req.getIsShow(), + req.getCategoryIds(), + req.getDepIds() + ); Date now = new Date(); @@ -177,7 +186,7 @@ public class CourseController { @Transactional public JsonResponse update(@PathVariable(name = "id") Integer id, @RequestBody @Validated CourseRequest req) throws NotFoundException { Course course = courseService.findOrFail(id); - courseService.updateWithCategoryIdsAndDepIds(course, req.getTitle(), req.getThumb(), req.getIsShow(), req.getCategoryIds(), req.getDepIds()); + courseService.updateWithCategoryIdsAndDepIds(course, req.getTitle(), req.getThumb(), req.getIsRequired(), req.getIsShow(), req.getCategoryIds(), req.getDepIds()); return JsonResponse.success(); } diff --git a/src/main/java/xyz/playedu/api/domain/Course.java b/src/main/java/xyz/playedu/api/domain/Course.java index 21c042a..1454689 100644 --- a/src/main/java/xyz/playedu/api/domain/Course.java +++ b/src/main/java/xyz/playedu/api/domain/Course.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; - import java.io.Serializable; import java.util.Date; @@ -13,13 +12,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; /** + * * @TableName courses */ -@TableName(value = "courses") +@TableName(value ="courses") @Data public class Course implements Serializable { /** - * + * */ @TableId(type = IdType.AUTO) private Integer id; @@ -39,6 +39,11 @@ public class Course implements Serializable { */ private Integer charge; + /** + * 1:必修,0:选修 + */ + private Integer isRequired; + /** * 课时数 */ @@ -76,14 +81,15 @@ public class Course implements Serializable { } Course other = (Course) that; return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) - && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle())) - && (this.getThumb() == null ? other.getThumb() == null : this.getThumb().equals(other.getThumb())) - && (this.getCharge() == null ? other.getCharge() == null : this.getCharge().equals(other.getCharge())) - && (this.getClassHour() == null ? other.getClassHour() == null : this.getClassHour().equals(other.getClassHour())) - && (this.getIsShow() == null ? other.getIsShow() == null : this.getIsShow().equals(other.getIsShow())) - && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt())) - && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt())) - && (this.getDeletedAt() == null ? other.getDeletedAt() == null : this.getDeletedAt().equals(other.getDeletedAt())); + && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle())) + && (this.getThumb() == null ? other.getThumb() == null : this.getThumb().equals(other.getThumb())) + && (this.getCharge() == null ? other.getCharge() == null : this.getCharge().equals(other.getCharge())) + && (this.getClassHour() == null ? other.getClassHour() == null : this.getClassHour().equals(other.getClassHour())) + && (this.getIsShow() == null ? other.getIsShow() == null : this.getIsShow().equals(other.getIsShow())) + && (this.getIsRequired() == null ? other.getIsRequired() == null : this.getIsRequired().equals(other.getIsRequired())) + && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt())) + && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt())) + && (this.getDeletedAt() == null ? other.getDeletedAt() == null : this.getDeletedAt().equals(other.getDeletedAt())); } @Override @@ -96,6 +102,7 @@ public class Course implements Serializable { result = prime * result + ((getCharge() == null) ? 0 : getCharge().hashCode()); result = prime * result + ((getClassHour() == null) ? 0 : getClassHour().hashCode()); result = prime * result + ((getIsShow() == null) ? 0 : getIsShow().hashCode()); + result = prime * result + ((getIsRequired() == null) ? 0 : getIsRequired().hashCode()); result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode()); result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode()); result = prime * result + ((getDeletedAt() == null) ? 0 : getDeletedAt().hashCode()); @@ -114,6 +121,7 @@ public class Course implements Serializable { sb.append(", charge=").append(charge); sb.append(", classHour=").append(classHour); sb.append(", isShow=").append(isShow); + sb.append(", isRequired=").append(isRequired); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", deletedAt=").append(deletedAt); diff --git a/src/main/java/xyz/playedu/api/mapper/CourseMapper.java b/src/main/java/xyz/playedu/api/mapper/CourseMapper.java index fc801b4..142c6bf 100644 --- a/src/main/java/xyz/playedu/api/mapper/CourseMapper.java +++ b/src/main/java/xyz/playedu/api/mapper/CourseMapper.java @@ -9,11 +9,11 @@ import xyz.playedu.api.types.paginate.CoursePaginateFiler; import java.util.List; /** - * @author tengteng - * @description 针对表【courses】的数据库操作Mapper - * @createDate 2023-02-24 14:48:38 - * @Entity xyz.playedu.api.domain.Course - */ +* @author tengteng +* @description 针对表【courses】的数据库操作Mapper +* @createDate 2023-03-20 14:25:31 +* @Entity xyz.playedu.api.domain.Course +*/ @Mapper public interface CourseMapper extends BaseMapper { @@ -24,7 +24,6 @@ public interface CourseMapper extends BaseMapper { Long paginateCount(CoursePaginateFiler filer); List openCoursesAndShow(Integer limit); - } diff --git a/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java b/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java index 706b67e..b290dfc 100644 --- a/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java +++ b/src/main/java/xyz/playedu/api/request/backend/CourseRequest.java @@ -27,6 +27,10 @@ public class CourseRequest { @JsonProperty("is_show") private Integer isShow; + @NotNull(message = "is_required参数不存在") + @JsonProperty("is_required") + private Integer isRequired; + @NotNull(message = "dep_ids参数不存在") @JsonProperty("dep_ids") private Integer[] depIds; diff --git a/src/main/java/xyz/playedu/api/service/CourseService.java b/src/main/java/xyz/playedu/api/service/CourseService.java index 508c40a..bad7bf1 100644 --- a/src/main/java/xyz/playedu/api/service/CourseService.java +++ b/src/main/java/xyz/playedu/api/service/CourseService.java @@ -18,9 +18,9 @@ public interface CourseService extends IService { PaginationResult paginate(int page, int size, CoursePaginateFiler filter); - Course createWithCategoryIdsAndDepIds(String title, String thumb, Integer isShow, Integer[] categoryIds, Integer[] depIds); + Course createWithCategoryIdsAndDepIds(String title, String thumb, Integer isRequired, Integer isShow, Integer[] categoryIds, Integer[] depIds); - void updateWithCategoryIdsAndDepIds(Course course, String title, String thumb, Integer isShow, Integer[] categoryIds, Integer[] depIds); + void updateWithCategoryIdsAndDepIds(Course course, String title, String thumb, Integer isRequired, Integer isShow, Integer[] categoryIds, Integer[] depIds); void relateDepartments(Course course, Integer[] depIds); diff --git a/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java index 07cfe7b..48eaa21 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java @@ -47,12 +47,13 @@ public class CourseServiceImpl extends ServiceImpl impleme @Override @Transactional - public Course createWithCategoryIdsAndDepIds(String title, String thumb, Integer isShow, Integer[] categoryIds, Integer[] depIds) { + public Course createWithCategoryIdsAndDepIds(String title, String thumb, Integer isRequired, Integer isShow, Integer[] categoryIds, Integer[] depIds) { // 创建课程 Course course = new Course(); course.setTitle(title); course.setThumb(thumb); course.setIsShow(isShow); + course.setIsRequired(isRequired); course.setCreatedAt(new Date()); course.setUpdatedAt(new Date()); save(course); @@ -110,12 +111,13 @@ public class CourseServiceImpl extends ServiceImpl impleme @Override @Transactional - public void updateWithCategoryIdsAndDepIds(Course course, String title, String thumb, Integer isShow, Integer[] categoryIds, Integer[] depIds) { + public void updateWithCategoryIdsAndDepIds(Course course, String title, String thumb, Integer isRequired, Integer isShow, Integer[] categoryIds, Integer[] depIds) { Course newCourse = new Course(); newCourse.setId(course.getId()); newCourse.setTitle(title); newCourse.setThumb(thumb); newCourse.setIsShow(isShow); + newCourse.setIsRequired(isRequired); updateById(newCourse); diff --git a/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java b/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java index f78984f..9970d67 100644 --- a/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java +++ b/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java @@ -15,6 +15,8 @@ public class CoursePaginateFiler { private String categoryIds; + private Integer isRequired; + private String sortField; private String sortAlgo; diff --git a/src/main/resources/mapper/CourseMapper.xml b/src/main/resources/mapper/CourseMapper.xml index 384391f..8b8feee 100644 --- a/src/main/resources/mapper/CourseMapper.xml +++ b/src/main/resources/mapper/CourseMapper.xml @@ -5,22 +5,23 @@ - - - - - - - - - + + + + + + + + + + - id - ,title,thumb, + id,title,thumb, charge,class_hour,is_show, - created_at,updated_at,deleted_at + is_required,created_at,updated_at, + deleted_at