package cn.seecoder.data.server.controller; import cn.seecoder.bok.common.vo.QuestionVO; import cn.seecoder.data.server.domain.knowledge.KnowledgeDao; import cn.seecoder.data.server.domain.knowledge.KnowledgeOnPositionDao; import cn.seecoder.data.server.domain.knowledge.PositionWeightDao; import cn.seecoder.data.server.repository.knowledge.PositionWeightRepository; import cn.seecoder.data.server.service.KnowledgeService; import cn.seecoder.data.server.utils.enums.ErrorCodeEnum; import cn.seecoder.data.server.utils.exception.GlobalException; import cn.seecoder.data.server.vo.Result; import cn.seecoder.data.server.vo.knowledge.KnowledgePointVO; import cn.seecoder.data.server.vo.knowledge.KnowledgeVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; @RestController public class KnowledgeController { @Autowired PositionWeightRepository positionWeightRepository; private final KnowledgeService knowledgeService; public KnowledgeController(KnowledgeService knowledgeService) { this.knowledgeService = knowledgeService; } @RequestMapping("/knowledge/all") public List getEvaluate(){ return knowledgeService.getAllKnowledgeAndWeight(); } @PostMapping("/knowlegde-position/update") public KnowledgeVO updatePosition(@NotNull @RequestBody KnowledgeVO knowledgeVO) { return knowledgeService.updatePositionWeight(knowledgeVO); } @RequestMapping("/knowledge-tree/position/delete/{knowledgeId}/{position}") public Result deletePosition(@PathVariable("knowledgeId") Integer knowledgeId,@PathVariable("position") String position){ positionWeightRepository.delete(new PositionWeightDao(knowledgeId,position,0)); //if(res == null) throw new GlobalException(ErrorCodeEnum.SERVICE_ERROR_C0001); return Result.buildSuccess("success"); } @RequestMapping("/knowledge-tree/position/{position}") public KnowledgePointVO getKnowledgeTreeOnPosition(@PathVariable("position") String position){ return knowledgeService.getTreeByPositionAndUser(position,332); } @RequestMapping("/knowledge/week/{userId}") public Map getKnowledgeWeekCount(@PathVariable("userId") int userId){ return knowledgeService.getKnowledgeWeekCount(userId); } }