From 57a40382e7071d2a8785ba8e398a3b90a0233911 Mon Sep 17 00:00:00 2001
From: maLix <mlx950324@163.com>
Date: Sun, 9 Jul 2023 00:52:42 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E6=A1=88=E4=BE=8B=E5=A2=9E?=
 =?UTF-8?q?=E5=8A=A0=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 doc/sql/mysql/2.tianze-pro-update.sql         |  4 ++-
 .../jlw/entity/TeacherOpenCourseHandsOn.java  |  3 ++
 .../TeacherOpenCourseHandsOnService.java      | 18 +++++++++++
 .../TeacherOpenCourseHandsOnController.java   | 22 +++++++++++++
 ...ourseMergeResourcesQuestionController.java | 32 +++++++------------
 .../query/TeacherOpenCourseHandsOnQuery.java  | 16 +++++++---
 .../resources/application-local.properties    |  2 +-
 7 files changed, 70 insertions(+), 27 deletions(-)

diff --git a/doc/sql/mysql/2.tianze-pro-update.sql b/doc/sql/mysql/2.tianze-pro-update.sql
index 93b5d3ff..2504d7aa 100644
--- a/doc/sql/mysql/2.tianze-pro-update.sql
+++ b/doc/sql/mysql/2.tianze-pro-update.sql
@@ -584,4 +584,6 @@ CREATE TABLE `student_teacher_system_use_log_analysis` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生教师行为分析';
 
 
-alter table teacher_open_course_merge_course_info add column system_course_info_id bigint(20) comment '关联系统课程ID' after teacher_open_course_id;
\ No newline at end of file
+alter table teacher_open_course_merge_course_info add column system_course_info_id bigint(20) comment '关联系统课程ID' after teacher_open_course_id;
+
+alter table teacher_open_course_hands_on add column hands_on_status int comment '案例状态 (1上架 2下架 0删除)' after user_id;
diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOn.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOn.java
index 735f405c..27afd59a 100644
--- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOn.java
+++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOn.java
@@ -58,6 +58,9 @@ public class TeacherOpenCourseHandsOn extends BaseEntity{
     //后台用户ID
 
     private Long userId ;
+
+    // 案例状态
+    private Integer handsOnStatus;
 	
     //数据集(多个地址,逗号隔开)
 
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java
index 0c983fb9..08a04d0a 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.lang.Snowflake;
+import cn.hutool.core.util.EnumUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -20,6 +21,7 @@ import com.ibeetl.jlw.dao.TeacherOpenCourseKnowledgePointDao;
 import com.ibeetl.jlw.entity.*;
 import com.ibeetl.jlw.entity.vo.StudentHandsOnVO;
 import com.ibeetl.jlw.enums.CopyFromEnum;
+import com.ibeetl.jlw.enums.GlobalUpStatusEnum;
 import com.ibeetl.jlw.enums.HandsOnTaskEnum;
 import com.ibeetl.jlw.web.query.*;
 import lombok.extern.slf4j.Slf4j;
@@ -41,6 +43,7 @@ import java.util.stream.Collectors;
 
 import static cn.hutool.core.util.ArrayUtil.join;
 import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
+import static com.ibeetl.jlw.enums.GlobalUpStatusEnum.UP;
 import static java.util.stream.Collectors.toSet;
 
 /**
@@ -152,6 +155,7 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
                 TeacherOpenCourseHandsOn teacherOpenCourseHandsOn = teacherOpenCourseHandsOnList.get(i);
                 teacherOpenCourseHandsOn.setUserId(teacherOpenCourseHandsOnQuery.getUserId());
                 teacherOpenCourseHandsOn.setOrgId(teacherOpenCourseHandsOnQuery.getOrgId());
+                teacherOpenCourseHandsOn.setHandsOnStatus(UP.getCode());
             }
             insertBatch(teacherOpenCourseHandsOnList);
         }
@@ -164,6 +168,7 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
         teacherOpenCourseHandsOn.setAddTime(new Date());
         teacherOpenCourseHandsOn.setFromType(CopyFromEnum.FROM_OPEN_COURSE);
         teacherOpenCourseHandsOn.setSourceFromId(-1L);
+        teacherOpenCourseHandsOn.setHandsOnStatus(UP.getCode());
         teacherOpenCourseHandsOnDao.insert(teacherOpenCourseHandsOn);
         teacherOpenCourseHandsOnQuery.setHandsOnId(teacherOpenCourseHandsOn.getHandsOnId());
         if (isBindingKnowledgePoint){
@@ -879,4 +884,17 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
 
 
     }
+
+    /**
+     * 批量修改 状态
+     * 1 上架 2下架  0删除
+     * @param ids
+     * @param status
+     */
+    public void batchEditUpDownStatus(String ids, Integer status) {
+        HandsOnQuery handsOnQuery = new HandsOnQuery();
+        handsOnQuery.setHandsOnIdPlural(ids);
+        handsOnQuery.setHandsOnStatus(EnumUtil.likeValueOf(GlobalUpStatusEnum.class, status).getCode());
+        handsOnService.updateGivenByIds(handsOnQuery);
+    }
 }
diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java
index fd001ed7..058a684e 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java
@@ -40,6 +40,10 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.io.IOException;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -47,6 +51,7 @@ import java.util.Map;
 
 import static com.ibeetl.admin.core.util.ExcelUtil.convertData;
 import static com.ibeetl.admin.core.util.ExcelUtil.write;
+import static com.ibeetl.jlw.enums.GlobalUpStatusEnum.UP;
 
 /**
  * 教师开课-课程实操 教师开课-课程实操 接口
@@ -76,6 +81,7 @@ public class TeacherOpenCourseHandsOnController{
             return JsonResult.failMessage("请登录后再操作");
         }else{
             PageQuery page = condition.getPageQuery();
+            condition.setHandsOnStatus(UP.getCode());
             teacherOpenCourseHandsOnService.queryByConditionQuery(page);
             return JsonResult.success(page);
         }
@@ -94,6 +100,7 @@ public class TeacherOpenCourseHandsOnController{
 
     @GetMapping(API + "/getALLInfo.do")
     public JsonResult<List<TeacherOpenCourseHandsOn>>getALLInfo(TeacherOpenCourseHandsOnQuery param) {
+        param.setHandsOnStatus(UP.getCode());
         List<TeacherOpenCourseHandsOn>list = teacherOpenCourseHandsOnService.getValuesByQuery(param);
         return  JsonResult.success(list);
     }
@@ -103,6 +110,7 @@ public class TeacherOpenCourseHandsOnController{
         if(null == coreUser){
             return JsonResult.failMessage("请登录后再操作");
         }else{
+            param.setHandsOnStatus(UP.getCode());
             List<TeacherOpenCourseHandsOn>list = teacherOpenCourseHandsOnService.getValuesByQuery(param);
             return  JsonResult.success(list);
         }
@@ -279,6 +287,20 @@ public class TeacherOpenCourseHandsOnController{
         }
     }
 
+    /**
+     * 批量处理状态
+     * 1 上架 2下架  0删除
+     * @param ids
+     * @param status
+     * @return
+     */
+    @PostMapping(MODEL + "/editStatus.json")
+    @ResponseBody
+    public JsonResult batchEditUpDownStatus(@NotBlank(message = "案例ID[ids] 不能为空") String ids, @Min(value=0L) @Max(value=2L) @NotNull Integer status) {
+        teacherOpenCourseHandsOnService.batchEditUpDownStatus(ids, status);
+        return JsonResult.success();
+    }
+
 
     @GetMapping(MODEL + "/view.json")
     @Function("teacherOpenCourseHandsOn.query")
diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java
index c55509f5..67339c5d 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java
@@ -2,28 +2,20 @@ package com.ibeetl.jlw.web;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.lang.Assert;
-import cn.hutool.core.map.MapUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
 import cn.jlw.Interceptor.GetFile;
 import cn.jlw.Interceptor.RFile;
 import cn.jlw.Interceptor.SCoreUser;
 import cn.jlw.util.ToolUtils;
-import cn.jlw.util.excel.ExcelUtil;
-import cn.jlw.util.excel.listener.MyValidateExcelCellDataListener;
 import cn.jlw.validate.ValidateConfig;
 import com.ibeetl.admin.core.annotation.Function;
 import com.ibeetl.admin.core.entity.CoreUser;
 import com.ibeetl.admin.core.file.FileService;
-import com.ibeetl.admin.core.util.BeanUtil;
 import com.ibeetl.admin.core.util.TimeTool;
 import com.ibeetl.admin.core.web.JsonResult;
 import com.ibeetl.jlw.entity.FileEntity;
 import com.ibeetl.jlw.entity.TeacherOpenCourseMergeResourcesQuestion;
-import com.ibeetl.jlw.entity.TeacherOpenCourseMergeResourcesQuestionImport;
 import com.ibeetl.jlw.service.TeacherOpenCourseMergeResourcesQuestionService;
 import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeResourcesQuestionQuery;
-import com.ibeetl.jlw.web.query.TeacherOpenCourseQuery;
 import lombok.SneakyThrows;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
@@ -40,7 +32,6 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
@@ -51,12 +42,13 @@ import javax.validation.constraints.NotNull;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 import static cn.jlw.util.CacheUserUtil.getStudent;
 import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
-import static com.ibeetl.admin.core.web.JsonReturnCode.DIY_ERROR;
 
 /**
  * 开课题目拉取 开课-题库管理-离线 接口
@@ -218,14 +210,14 @@ public class TeacherOpenCourseMergeResourcesQuestionController extends BaseContr
         return  JsonResult.success(list);
     }
 
-
-    @PostMapping(MODEL + "/delete.json")
-    @Function("teacherOpenCourseMergeResourcesQuestion.delete")
-    @ResponseBody
-    public JsonResult delete(String ids) {
-        teacherOpenCourseMergeResourcesQuestionService.deleteTeacherOpenCourseMergeResourcesQuestion(ids);
-        return JsonResult.success();
-    }
+//
+//    @PostMapping(MODEL + "/delete.json")
+//    @Function("teacherOpenCourseMergeResourcesQuestion.delete")
+//    @ResponseBody
+//    public JsonResult delete(String ids) {
+//        teacherOpenCourseMergeResourcesQuestionService.deleteTeacherOpenCourseMergeResourcesQuestion(ids);
+//        return JsonResult.success();
+//    }
 
 
     /**
diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseHandsOnQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseHandsOnQuery.java
index ac778f95..2fee523b 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseHandsOnQuery.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/query/TeacherOpenCourseHandsOnQuery.java
@@ -1,15 +1,11 @@
 package com.ibeetl.jlw.web.query;
 
 import cn.jlw.validate.ValidateConfig;
-import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn;
-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 com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn;
 
 import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -35,6 +31,8 @@ public class TeacherOpenCourseHandsOnQuery extends PageParam {
     private Long orgId;
     @Query(name = "后台用户ID", display = false)
     private Long userId;
+    @Query(name = "案例状态", display = false)
+    private Integer handsOnStatus;
     @Query(name = "数据集(多个地址,逗号隔开)", display = false)
     private String trainingData;
 
@@ -178,4 +176,12 @@ public class TeacherOpenCourseHandsOnQuery extends PageParam {
     public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
+
+    public Integer getHandsOnStatus() {
+        return handsOnStatus;
+    }
+
+    public void setHandsOnStatus(Integer handsOnStatus) {
+        this.handsOnStatus = handsOnStatus;
+    }
 }
diff --git a/web/src/main/resources/application-local.properties b/web/src/main/resources/application-local.properties
index 69f56020..1c1a307a 100644
--- a/web/src/main/resources/application-local.properties
+++ b/web/src/main/resources/application-local.properties
@@ -24,7 +24,7 @@ spring.datasource.dynamic.hikari.connection-test-query=SELECT 1
 spring.datasource.dynamic.datasource.master.driverClassName=com.mysql.cj.jdbc.Driver
 spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/tzcj?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
 spring.datasource.dynamic.datasource.master.username=root
-spring.datasource.dynamic.datasource.master.password=shuchuang123@.
+spring.datasource.dynamic.datasource.master.password=root
 spring.datasource.dynamic.datasource.master.hikari.max-lifetime=60000
 
 # ds2