diff --git a/doc/sql/mysql/tianze-pro-update.sql b/doc/sql/mysql/tianze-pro-update.sql index b5588ea2..50025f14 100644 --- a/doc/sql/mysql/tianze-pro-update.sql +++ b/doc/sql/mysql/tianze-pro-update.sql @@ -501,3 +501,7 @@ ALTER TABLE teacher ADD COLUMN teacher_gender int(2) COMMENT '性别 -1 未知 1 ALTER TABLE hands_on ADD COLUMN hands_on_status int(2) COMMENT '状态 (1上架, 2下架)'; ALTER TABLE resources_competition ADD COLUMN resources_competition_status int(2) COMMENT '状态 (1上架, 2下架)'; ALTER TABLE resources_training ADD COLUMN resources_training_status int(2) COMMENT '状态 (1上架, 2下架)'; + + +ALTER TABLE course_label ADD COLUMN add_type varchar(20) COMMENT '添加类型枚举(AddTypeEnum)'; +ALTER TABLE resources_question ADD COLUMN add_type varchar(20) COMMENT '添加类型枚举(AddTypeEnum)'; diff --git a/web/src/main/java/com/ibeetl/jlw/entity/CourseLabel.java b/web/src/main/java/com/ibeetl/jlw/entity/CourseLabel.java index 6140edc9..3635609e 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/CourseLabel.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/CourseLabel.java @@ -1,7 +1,9 @@ package com.ibeetl.jlw.entity; import cn.jlw.validate.ValidateConfig; +import com.ibeetl.admin.core.annotation.DictEnum; import com.ibeetl.admin.core.entity.BaseEntity; +import com.ibeetl.jlw.enums.AddTypeEnum; import org.beetl.sql.annotation.entity.AutoID; import javax.validation.constraints.NotNull; @@ -38,6 +40,11 @@ public class CourseLabel extends BaseEntity{ //后台用户ID private Long userId ; + + // 来源类型 + @DictEnum + + private AddTypeEnum addType ; public CourseLabel(){ } @@ -121,4 +128,11 @@ public class CourseLabel extends BaseEntity{ } + public AddTypeEnum getAddType() { + return addType; + } + + public void setAddType(AddTypeEnum addType) { + this.addType = addType; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestion.java b/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestion.java index ef5a7516..e887f247 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestion.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/ResourcesQuestion.java @@ -1,7 +1,9 @@ package com.ibeetl.jlw.entity; import cn.jlw.validate.ValidateConfig; +import com.ibeetl.admin.core.annotation.DictEnum; import com.ibeetl.admin.core.entity.BaseEntity; +import com.ibeetl.jlw.enums.AddTypeEnum; import org.beetl.sql.annotation.entity.AutoID; import javax.validation.constraints.NotNull; @@ -75,13 +77,15 @@ public class ResourcesQuestion extends BaseEntity{ //后台用户ID private Long userId ; + + // 来源类型 + @DictEnum + + private AddTypeEnum addType ; public ResourcesQuestion(){ } - - - /**ID *@return */ @@ -271,4 +275,12 @@ public class ResourcesQuestion extends BaseEntity{ public void setQuestionStatus(Integer questionStatus) { this.questionStatus = questionStatus; } + + public AddTypeEnum getAddType() { + return addType; + } + + public void setAddType(AddTypeEnum addType) { + this.addType = addType; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/enums/AddTypeEnum.java b/web/src/main/java/com/ibeetl/jlw/enums/AddTypeEnum.java new file mode 100644 index 00000000..7b1028c1 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/enums/AddTypeEnum.java @@ -0,0 +1,35 @@ +package com.ibeetl.jlw.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.beetl.sql.annotation.entity.EnumMapping; + +/** + * 功能描述:
+ * 数据来源类型 + * 若后续增加类型,需要控制长度在20以内,数据库定义长度为20 + * + * @author: mlx + * @description: + * @date: 2022/12/13 12:58 + * @version: 1.0 + */ +@Getter +@AllArgsConstructor +@EnumMapping("name") +public enum AddTypeEnum { + + ADMIN_ADD("系统分配"), + FACULTY_ADD("院系上传"); + + private String text; + + /** + * 用于easyExcel 不用实体类直接导出的时候,可以重写这个方法 + * @return + */ + @Override + public String toString() { + return this.getText(); + } +} diff --git a/web/src/main/java/com/ibeetl/jlw/service/CourseLabelService.java b/web/src/main/java/com/ibeetl/jlw/service/CourseLabelService.java index cac28a4c..96a210b8 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/CourseLabelService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/CourseLabelService.java @@ -44,10 +44,14 @@ public class CourseLabelService extends CoreBaseService{ } public List getValues (Object paras){ - return sqlManager.select(SqlId.of("jlw.courseLabel.getCourseLabelValues"),CourseLabel.class,paras); + List list = sqlManager.select(SqlId.of("jlw.courseLabel.getCourseLabelValues"), CourseLabel.class, paras); + dictParser(list); + return list; } public List getValuesByQueryNotWithPermission (CourseLabelQuery query){ - return courseLabelDao.getValuesByQueryNotWithPermission(query); + List list = courseLabelDao.getValuesByQueryNotWithPermission(query); + dictParser(list); + return list; } /** diff --git a/web/src/main/java/com/ibeetl/jlw/web/CourseLabelController.java b/web/src/main/java/com/ibeetl/jlw/web/CourseLabelController.java index 14f6119e..93ff0866 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/CourseLabelController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/CourseLabelController.java @@ -7,6 +7,7 @@ import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.file.FileService; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.CourseLabel; +import com.ibeetl.jlw.enums.AddTypeEnum; import com.ibeetl.jlw.service.CourseLabelService; import com.ibeetl.jlw.web.query.CourseLabelQuery; import org.apache.commons.logging.Log; @@ -75,7 +76,10 @@ public class CourseLabelController{ @GetMapping(API + "/getList.do") @ResponseBody - public JsonResult> getList(CourseLabelQuery param) { + public JsonResult> getList(CourseLabelQuery param, @SCoreUser CoreUser coreUser) { + if (coreUser.isUniAdmin()) { + param.setSeeSelf(true); + } Listlist = courseLabelService.getValuesByQueryNotWithPermission(param); return JsonResult.success(list); } @@ -85,7 +89,10 @@ public class CourseLabelController{ @PostMapping(MODEL + "/list.json") @Function("courseLabel.query") @ResponseBody - public JsonResult list(CourseLabelQuery condition){ + public JsonResult list(CourseLabelQuery condition, @SCoreUser CoreUser coreUser){ + if (coreUser.isUniAdmin()) { + condition.setSeeSelf(true); + } PageQuery page = condition.getPageQuery(); courseLabelService.queryByCondition(page); return JsonResult.success(page); @@ -100,6 +107,12 @@ public class CourseLabelController{ }else{ courseLabel.setOrgId(coreUser.getOrgId()); courseLabel.setUserId(coreUser.getId()); + if (coreUser.isAdmin()) { + courseLabel.setAddType(AddTypeEnum.ADMIN_ADD); + } + else { + courseLabel.setAddType(AddTypeEnum.FACULTY_ADD); + } courseLabelService.insert(courseLabel); return JsonResult.success(courseLabel.getCourseLabelId()); } @@ -132,8 +145,11 @@ public class CourseLabelController{ @GetMapping(MODEL + "/getValues.json") @ResponseBody - public JsonResult>getValues(CourseLabelQuery param) { - Listlist = courseLabelService.getValues(param); + public JsonResult>getValues(CourseLabelQuery param, @SCoreUser CoreUser coreUser) { + if (coreUser.isUniAdmin()) { + param.setSeeSelf(true); + } + Listlist = courseLabelService.getValuesByQueryNotWithPermission(param); return JsonResult.success(list); } diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java index cd4911b3..a75512ad 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java @@ -14,6 +14,7 @@ import com.ibeetl.jlw.entity.CourseInfo; import com.ibeetl.jlw.entity.FileEntity; import com.ibeetl.jlw.entity.ResourcesQuestion; import com.ibeetl.jlw.entity.vo.QuestionTypeCountVO; +import com.ibeetl.jlw.enums.AddTypeEnum; import com.ibeetl.jlw.service.CourseInfoService; import com.ibeetl.jlw.service.ResourcesQuestionService; import com.ibeetl.jlw.web.query.CourseInfoQuery; @@ -140,8 +141,11 @@ public class ResourcesQuestionController{ @PostMapping(MODEL + "/list.json") @Function("resourcesQuestion.query") @ResponseBody - public JsonResult list(ResourcesQuestionQuery condition){ + public JsonResult list(ResourcesQuestionQuery condition, @SCoreUser CoreUser coreUser){ PageQuery page = condition.getPageQuery(); + if (coreUser.isTeacher()) { + condition.setSeeSelf(true); + } resourcesQuestionService.queryByCondition(page); return JsonResult.success(page); } @@ -149,7 +153,7 @@ public class ResourcesQuestionController{ @PostMapping(MODEL + "/add.json") @Function("resourcesQuestion.add") @ResponseBody - public JsonResult add(@Validated(ValidateConfig.ADD.class)ResourcesQuestion resourcesQuestion, BindingResult result){ + public JsonResult add(@Validated(ValidateConfig.ADD.class)ResourcesQuestion resourcesQuestion, BindingResult result, @SCoreUser CoreUser coreUser){ if(result.hasErrors()){ return JsonResult.failMessage(result); }else{ @@ -191,6 +195,13 @@ public class ResourcesQuestionController{ return JsonResult.failMessage("添加失败,题干重复"); } + if (coreUser.isAdmin()) { + resourcesQuestion.setAddType(AddTypeEnum.ADMIN_ADD); + } + else { + resourcesQuestion.setAddType(AddTypeEnum.FACULTY_ADD); + } + resourcesQuestionService.add(resourcesQuestion); //移除缓存 diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/CourseLabelQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/CourseLabelQuery.java index 0a7be55f..4002c765 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/CourseLabelQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/CourseLabelQuery.java @@ -1,14 +1,9 @@ package com.ibeetl.jlw.web.query; -import com.ibeetl.jlw.entity.CourseLabel; -import org.apache.commons.lang3.StringUtils; import com.ibeetl.admin.core.annotation.Query; -import com.ibeetl.admin.core.util.Tool; -import com.ibeetl.admin.core.util.enums.CoreDictType; import com.ibeetl.admin.core.web.query.PageParam; - -import java.math.BigDecimal; -import java.util.Date; +import com.ibeetl.jlw.entity.CourseLabel; +import com.ibeetl.jlw.enums.AddTypeEnum; /** *CourseLabel查询 @@ -26,6 +21,11 @@ public class CourseLabelQuery extends PageParam { private Long orgId; @Query(name = "后台用户ID", display = true) private Long userId; + @Query(name = "来源类型", display = true) + private AddTypeEnum addType ; + @Query(name = "查看自己和系统分配的") + private Boolean seeSelf ; + public Long getCourseLabelId(){ return courseLabelId; } @@ -74,4 +74,19 @@ public class CourseLabelQuery extends PageParam { return pojo; } + public AddTypeEnum getAddType() { + return addType; + } + + public void setAddType(AddTypeEnum addType) { + this.addType = addType; + } + + public Boolean getSeeSelf() { + return seeSelf; + } + + public void setSeeSelf(Boolean seeSelf) { + this.seeSelf = seeSelf; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesQuestionQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesQuestionQuery.java index 936a80b0..a18e7a86 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesQuestionQuery.java +++ b/web/src/main/java/com/ibeetl/jlw/web/query/ResourcesQuestionQuery.java @@ -4,6 +4,7 @@ import com.ibeetl.admin.core.annotation.Query; import com.ibeetl.admin.core.util.enums.CoreDictType; import com.ibeetl.admin.core.web.query.PageParam; import com.ibeetl.jlw.entity.ResourcesQuestion; +import com.ibeetl.jlw.enums.AddTypeEnum; import java.math.BigDecimal; @@ -44,6 +45,12 @@ public class ResourcesQuestionQuery extends PageParam { @Query(name = "后台用户ID", display = false) private Long userId; + @Query(name = "来源类型", display = false) + private AddTypeEnum addType ; + + @Query(name = "查看自己和系统分配的") + private Boolean seeSelf ; + private String resourcesQuestionIds; private String courseInfoIds; @@ -226,4 +233,20 @@ public class ResourcesQuestionQuery extends PageParam { public void setQuestionStatus(Integer questionStatus) { this.questionStatus = questionStatus; } + + public AddTypeEnum getAddType() { + return addType; + } + + public void setAddType(AddTypeEnum addType) { + this.addType = addType; + } + + public Boolean getSeeSelf() { + return seeSelf; + } + + public void setSeeSelf(Boolean seeSelf) { + this.seeSelf = seeSelf; + } } diff --git a/web/src/main/resources/sql/jlw/courseLabel.md b/web/src/main/resources/sql/jlw/courseLabel.md index 9c23b2cf..05c33453 100644 --- a/web/src/main/resources/sql/jlw/courseLabel.md +++ b/web/src/main/resources/sql/jlw/courseLabel.md @@ -25,11 +25,16 @@ queryByCondition @if(!isEmpty(orgId)){ and t.org_id =#orgId# @} - @if(!isEmpty(userId)){ + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} + @if(isEmpty(seeSelf) && !isEmpty(userId)){ and t.user_id =#userId# @} - - + @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ + and (t.add_type = 'SYSTEM_ADD' or t.user_id = #userId#) + @} + and t.add_type is not null and trim(t.add_type) != '' deleteCourseLabelByIds === @@ -89,6 +94,13 @@ getValuesByQueryNotWithPermission @if(!isEmpty(orgId)){ and t.org_id =#orgId# @} - @if(!isEmpty(userId)){ + @if(isEmpty(seeSelf) && !isEmpty(userId)){ and t.user_id =#userId# - @} \ No newline at end of file + @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} + @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ + and (t.add_type = 'SYSTEM_ADD' or t.user_id = #userId#) + @} + and t.add_type is not null and trim(t.add_type) != '' diff --git a/web/src/main/resources/sql/jlw/resourcesQuestion.md b/web/src/main/resources/sql/jlw/resourcesQuestion.md index beb7da86..47f0a025 100644 --- a/web/src/main/resources/sql/jlw/resourcesQuestion.md +++ b/web/src/main/resources/sql/jlw/resourcesQuestion.md @@ -78,12 +78,19 @@ queryByCondition @if(!isEmpty(orgId)){ and t.org_id =#orgId# @} - @if(!isEmpty(userId)){ - and t.user_id =#userId# + @if(isEmpty(seeSelf) && !isEmpty(userId)){ + and t.user_id =#userId# + @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} + @if(!isEmpty(seeSelf) && seeSelf && seeSelf && !isEmpty(userId)){ + and (t.add_type = 'SYSTEM_ADD' or t.user_id = #userId#) @} @if(!isEmpty(questionStatus)){ and t.question_status =#questionStatus# @} + and t.add_type is not null and trim(t.add_type) != '' ORDER BY t.resources_question_id DESC @@ -156,9 +163,15 @@ getValuesByQuery @if(!isEmpty(orgId)){ and t.org_id =#orgId# @} - @if(!isEmpty(userId)){ - and t.user_id =#userId# + @if(isEmpty(seeSelf) && !isEmpty(userId)){ + and t.user_id =#userId# + @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# @} + @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ + and (t.add_type = 'SYSTEM_ADD' or t.user_id = #userId#) + @} @if(!isEmpty(resourcesApplicationId)){ and t.course_info_id IN (SELECT course_info_id FROM course_info WHERE course_info_parent_id IN (SELECT course_info_id FROM resources_application_course WHERE resources_application_id = #resourcesApplicationId#)) @} @@ -177,6 +190,7 @@ getValuesByQuery ORDER BY RAND() limit #judgeNum# @} + and t.add_type is not null and trim(t.add_type) != '' getValuesByQueryNotWithPermission === @@ -234,9 +248,16 @@ getValuesByQueryNotWithPermission @if(!isEmpty(orgId)){ and t.org_id =#orgId# @} - @if(!isEmpty(userId)){ + @if(isEmpty(seeSelf) && !isEmpty(userId)){ and t.user_id =#userId# @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} + and t.add_type is not null and trim(t.add_type) != '' + @if(!isEmpty(seeSelf) && seeSelf && !isEmpty(userId)){ + and (t.add_type = 'SYSTEM_ADD' or t.user_id = #userId#) + @} @if(!isEmpty(resourcesApplicationId)){ and t.course_info_id IN (SELECT course_info_id FROM course_info WHERE course_info_parent_id IN (SELECT course_info_id FROM resources_application_course WHERE resources_application_id = #resourcesApplicationId#)) @} @@ -307,6 +328,9 @@ getResourcesQuestionValues @if(!isEmpty(userId)){ and t.user_id =#userId# @} + @if(!isEmpty(addType)){ + and t.add_type =#addType# + @} @if(!isEmpty(questionStatus)){ and t.question_status =#questionStatus# @}