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#
@}