|
|
@@ -1,26 +1,53 @@
|
|
|
package com.seeckg.knowledgegraph_backend.service;
|
|
|
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
+import com.seeckg.knowledgegraph_backend.convert.KnowledgeConvert;
|
|
|
import com.seeckg.knowledgegraph_backend.dao.KnowledgeDao;
|
|
|
+import com.seeckg.knowledgegraph_backend.enums.ReturnCode;
|
|
|
+import com.seeckg.knowledgegraph_backend.enums.UserRole;
|
|
|
+import com.seeckg.knowledgegraph_backend.pojo.CourseVO;
|
|
|
import com.seeckg.knowledgegraph_backend.pojo.Knowledge;
|
|
|
import com.seeckg.knowledgegraph_backend.pojo.KnowledgeVO;
|
|
|
+import com.seeckg.knowledgegraph_backend.pojo.Response;
|
|
|
import com.seeckg.knowledgegraph_backend.pojo.UserVO;
|
|
|
import com.seeckg.knowledgegraph_backend.remote.SeeCoderRemoteService;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class KnowledgeService {
|
|
|
@Autowired
|
|
|
KnowledgeDao knowledgeDao;
|
|
|
@Resource
|
|
|
SeeCoderRemoteService seeCoderRemoteService;
|
|
|
|
|
|
- public void addKnowledge(KnowledgeVO knowledgeVO, long userId) {
|
|
|
- UserVO userVO = seeCoderRemoteService.getUserById(userId);
|
|
|
- //if (userVO)
|
|
|
+ public Response addKnowledge(KnowledgeVO knowledgeVO) {
|
|
|
+ UserVO userVO = seeCoderRemoteService.getUserById(knowledgeVO.getCreatorId());
|
|
|
+ if (!userVO.getRole().equals(UserRole.TEACHER)) {
|
|
|
+ log.error("[KnowledgeService.addKnowledge] 用户无权限 knowledgeVO = {},userVO = {}", knowledgeVO, userVO);
|
|
|
+ return Response.buildFailed(ReturnCode.INVALID_USER.getCode(), ReturnCode.INVALID_USER.getDesc());
|
|
|
+ }
|
|
|
+ if (knowledgeVO.getBindClassId() != 0L) {
|
|
|
+ CourseVO courseVO = seeCoderRemoteService.getCourseById(knowledgeVO.getBindClassId());
|
|
|
+ if (Objects.isNull(courseVO)) {
|
|
|
+ log.error("[KnowledgeService.addKnowledge] 课程信息错误,查无该课程 knowledgeVO = {}", knowledgeVO);
|
|
|
+ return Response.buildFailed(ReturnCode.PARAM_ERROR.getCode(), "课程信息错误,查无该课程");
|
|
|
+ }
|
|
|
+ if (courseVO.getTeacherId() != knowledgeVO.getCreatorId()) {
|
|
|
+ log.error("[KnowledgeService.addKnowledge] 课程信息错误,用户无权限 knowledgeVO = {}", knowledgeVO);
|
|
|
+ return Response.buildFailed(ReturnCode.INVALID_USER.getCode(), ReturnCode.INVALID_USER.getDesc());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Knowledge knowledge = KnowledgeConvert.convert(knowledgeVO);
|
|
|
+ knowledgeDao.save(knowledge);
|
|
|
+ return Response.buildSuccess();
|
|
|
}
|
|
|
|
|
|
public Knowledge findByName(String name) {
|