diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java index 87488b90..f28a8748 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesInfoService.java @@ -1,6 +1,8 @@ package com.ibeetl.jlw.service; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import cn.jlw.aliPay.utils.StringUtils; import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.jlw.dao.CourseInfoDao; @@ -16,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import static cn.jlw.util.ConvertM3U8.booleanMap; @@ -267,4 +270,25 @@ public class ResourcesInfoService extends CoreBaseService{ public List getValues (Object paras){ return sqlManager.select(SqlId.of("jlw.resourcesInfo.getResourcesInfoValues"),ResourcesInfo.class,paras); } + + /** + * 从系统资源中拷贝 + * @param resourcesInfoIds + * @param courseId + */ + public void copy(String resourcesInfoIds, Long courseId) { + ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery(); + resourcesInfoQuery.setResourcesInfoIds(resourcesInfoIds); + List list = getValuesByQuery(resourcesInfoQuery); + + List insertList = CollectionUtil.emptyIfNull(list).stream().map(item -> { + item.setCourseInfoId(courseId); + item.setResourcesInfoId(null); + return item; + }).collect(Collectors.toList()); + + if (ObjectUtil.isEmpty(insertList)) { + insertBatch(insertList); + } + } } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java index ac957bb3..800fa3e0 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesInfoController.java @@ -27,6 +27,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -39,13 +41,13 @@ import static cn.hutool.core.util.ArrayUtil.join; */ @Controller +@Validated public class ResourcesInfoController{ private final Log log = LogFactory.getLog(this.getClass()); private static final String MODEL = "/jlw/resourcesInfo"; private static final String API = "/api/resourcesInfo"; - @Autowired private ResourcesInfoService resourcesInfoService; @Autowired private CourseInfoService courseInfoService; @@ -195,6 +197,22 @@ public class ResourcesInfoController{ } } + + /** + * 系统资源池导入 + * + * @param resourcesInfoIds + * @param courseId + * @return + */ + @PostMapping(MODEL + "/copy.json") + @Function("resourcesInfo.add") + @ResponseBody + public JsonResult copy(@NotBlank(message = "资源IDs不能为空!") String resourcesInfoIds, @NotNull(message = "课程ID不能为空!") Long courseId){// courseId课程ID + resourcesInfoService.copy(resourcesInfoIds, courseId); + return JsonResult.success(); + } + //批量设置章节 @PostMapping(MODEL + "/setCourseInfoId.json") @Function("resourcesInfo.edit") @@ -283,6 +301,7 @@ public class ResourcesInfoController{ resourcesInfoService.deleteResourcesInfo(ids); return JsonResult.success(); } - + + }