关联教材指派范围
This commit is contained in:
parent
f77fdb98e3
commit
992d947759
@ -1,15 +1,25 @@
|
|||||||
package xyz.playedu.api.controller.backend.jc;
|
package xyz.playedu.api.controller.backend.jc;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import xyz.playedu.common.annotation.Log;
|
import xyz.playedu.common.annotation.Log;
|
||||||
import xyz.playedu.common.constant.BusinessTypeConstant;
|
import xyz.playedu.common.constant.BusinessTypeConstant;
|
||||||
import xyz.playedu.common.types.JsonResponse;
|
import xyz.playedu.common.types.JsonResponse;
|
||||||
import xyz.playedu.common.types.paginate.PaginationResult;
|
import xyz.playedu.common.types.paginate.PaginationResult;
|
||||||
|
import xyz.playedu.common.util.StringUtil;
|
||||||
|
import xyz.playedu.course.constants.CourseConstant;
|
||||||
|
import xyz.playedu.course.domain.CourseDepartmentUser;
|
||||||
|
import xyz.playedu.jc.domain.BookDepartmentUser;
|
||||||
import xyz.playedu.jc.domain.Textbook;
|
import xyz.playedu.jc.domain.Textbook;
|
||||||
|
import xyz.playedu.jc.domain.dto.TextbookRequestDTO;
|
||||||
|
import xyz.playedu.jc.service.IBookDepartmentUserService;
|
||||||
import xyz.playedu.jc.service.ITextbookService;
|
import xyz.playedu.jc.service.ITextbookService;
|
||||||
import xyz.playedu.knowledge.domain.KnowledgeMessages;
|
import xyz.playedu.knowledge.domain.KnowledgeMessages;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -23,6 +33,9 @@ public class TextbookController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ITextbookService textbookService;
|
private ITextbookService textbookService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBookDepartmentUserService bookDepartmentUserService;
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/index")
|
@GetMapping("/index")
|
||||||
public JsonResponse index(@RequestParam HashMap<String, Object> params) {
|
public JsonResponse index(@RequestParam HashMap<String, Object> params) {
|
||||||
@ -47,9 +60,49 @@ public class TextbookController {
|
|||||||
return JsonResponse.data(one);
|
return JsonResponse.data(one);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public JsonResponse create(@RequestBody Textbook textbook) {
|
public JsonResponse create(@RequestBody TextbookRequestDTO textbookReq) {
|
||||||
|
// textbookService.save(textbook);
|
||||||
|
Textbook textbook = new Textbook();
|
||||||
|
BeanUtils.copyProperties(textbook, textbookReq);
|
||||||
textbookService.save(textbook);
|
textbookService.save(textbook);
|
||||||
|
|
||||||
|
Integer textbookId = textbook.getId();
|
||||||
|
Integer[] depIds = textbookReq.getDepIds();
|
||||||
|
Integer[] userIds = textbookReq.getUserIds();
|
||||||
|
Integer[] groupIds = textbookReq.getGroupIds();
|
||||||
|
List<BookDepartmentUser> departmentUserList = new ArrayList<>();
|
||||||
|
if (StringUtil.isNotEmpty(depIds)) {
|
||||||
|
for (Integer depId : depIds) {
|
||||||
|
BookDepartmentUser bookDepartmentUser = new BookDepartmentUser();
|
||||||
|
bookDepartmentUser.setBookId(textbookId);
|
||||||
|
bookDepartmentUser.setRangeId(depId);
|
||||||
|
bookDepartmentUser.setType(CourseConstant.COURSE_TYPE_DEP);
|
||||||
|
departmentUserList.add(bookDepartmentUser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtil.isNotEmpty(userIds)) {
|
||||||
|
for (Integer userId : userIds) {
|
||||||
|
BookDepartmentUser bookDepartmentUser = new BookDepartmentUser();
|
||||||
|
bookDepartmentUser.setBookId(textbookId);
|
||||||
|
bookDepartmentUser.setRangeId(userId);
|
||||||
|
bookDepartmentUser.setType(CourseConstant.COURSE_TYPE_USER);
|
||||||
|
departmentUserList.add(bookDepartmentUser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtil.isNotEmpty(groupIds)) {
|
||||||
|
for (Integer groupId : groupIds) {
|
||||||
|
BookDepartmentUser bookDepartmentUser = new BookDepartmentUser();
|
||||||
|
bookDepartmentUser.setBookId(textbookId);
|
||||||
|
bookDepartmentUser.setRangeId(groupId);
|
||||||
|
bookDepartmentUser.setType(CourseConstant.COURSE_TYPE_GROUP);
|
||||||
|
departmentUserList.add(bookDepartmentUser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bookDepartmentUserService.removeByBookId(textbookId);
|
||||||
|
bookDepartmentUserService.saveBatch(departmentUserList);
|
||||||
|
|
||||||
return JsonResponse.success();
|
return JsonResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,92 @@
|
|||||||
|
package xyz.playedu.jc.domain.dto;
|
||||||
|
|
||||||
|
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 com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 教材主表
|
||||||
|
* 对应表:jc_textbook
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TextbookRequestDTO {
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/** 教材名称 */
|
||||||
|
@TableField("title")
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
/** 封面地址 */
|
||||||
|
@TableField("thumb")
|
||||||
|
private String thumb;
|
||||||
|
|
||||||
|
/** 简介 */
|
||||||
|
@TableField("short_desc")
|
||||||
|
private String shortDesc;
|
||||||
|
|
||||||
|
/** 学科专业信息 */
|
||||||
|
@TableField("major")
|
||||||
|
private String major;
|
||||||
|
|
||||||
|
/** 作者 */
|
||||||
|
@TableField("author")
|
||||||
|
private String author;
|
||||||
|
|
||||||
|
/** ISBN 或教材编号 */
|
||||||
|
@TableField("isbn")
|
||||||
|
private String isbn;
|
||||||
|
|
||||||
|
/** 章节总数(最小层级总节点数) */
|
||||||
|
@TableField("chapter_num")
|
||||||
|
private String chapterNum;
|
||||||
|
/** 出版社 */
|
||||||
|
@TableField("publish_unit")
|
||||||
|
private String publishUnit;
|
||||||
|
|
||||||
|
/** 发布时间 */
|
||||||
|
@TableField("publish_time")
|
||||||
|
private Date publishTime;
|
||||||
|
|
||||||
|
/** 创建人 */
|
||||||
|
@TableField("creator")
|
||||||
|
private String creator;
|
||||||
|
|
||||||
|
/** 更新人 */
|
||||||
|
@TableField("updater")
|
||||||
|
private String updater;
|
||||||
|
|
||||||
|
@TableField("create_time")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
@TableField("update_time")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
@TableField("tenant_id")
|
||||||
|
private String tenantId;
|
||||||
|
|
||||||
|
|
||||||
|
@JsonProperty("dep_ids")
|
||||||
|
private Integer[] depIds;
|
||||||
|
|
||||||
|
@JsonProperty("user_ids")
|
||||||
|
private Integer[] userIds;
|
||||||
|
|
||||||
|
@JsonProperty("group_ids")
|
||||||
|
private Integer[] groupIds;
|
||||||
|
|
||||||
|
@NotNull(message = "category_ids参数为空")
|
||||||
|
@JsonProperty("category_ids")
|
||||||
|
private Integer[] categoryIds;
|
||||||
|
|
||||||
|
@JsonProperty("teacher_ids")
|
||||||
|
private Integer[] teacherIds;
|
||||||
|
|
||||||
|
}
|
||||||
@ -4,4 +4,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
import xyz.playedu.jc.domain.BookDepartmentUser;
|
import xyz.playedu.jc.domain.BookDepartmentUser;
|
||||||
|
|
||||||
public interface IBookDepartmentUserService extends IService<BookDepartmentUser> {
|
public interface IBookDepartmentUserService extends IService<BookDepartmentUser> {
|
||||||
|
void removeByBookId(Integer bookId);
|
||||||
}
|
}
|
||||||
@ -10,4 +10,9 @@ import xyz.playedu.jc.service.IBookDepartmentUserService;
|
|||||||
public class BookDepartmentUserServiceImpl
|
public class BookDepartmentUserServiceImpl
|
||||||
extends ServiceImpl<BookDepartmentUserMapper, BookDepartmentUser>
|
extends ServiceImpl<BookDepartmentUserMapper, BookDepartmentUser>
|
||||||
implements IBookDepartmentUserService {
|
implements IBookDepartmentUserService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeByBookId(Integer bookId) {
|
||||||
|
remove(query().getWrapper().eq("book_id", bookId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user