123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- package com.redxun.knowledge.controller;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.redxun.common.annotation.ClassDefine;
- import com.redxun.common.annotation.MethodDefine;
- import com.redxun.common.base.db.BaseService;
- import com.redxun.common.base.entity.JsonPageResult;
- import com.redxun.common.base.entity.JsonResult;
- import com.redxun.common.base.entity.QueryData;
- import com.redxun.common.base.search.QueryFilter;
- import com.redxun.common.base.search.QueryFilterBuilder;
- import com.redxun.common.constant.HttpMethodConstants;
- import com.redxun.common.utils.ContextUtil;
- import com.redxun.common.utils.ExceptionUtil;
- import com.redxun.knowledge.entity.dao.Knowledge;
- import com.redxun.knowledge.entity.dto.KnowledgeDto;
- import com.redxun.knowledge.entity.dto.TransferAuthorDto;
- import com.redxun.knowledge.entity.validate.AddGroup;
- import com.redxun.knowledge.entity.vo.KnowledgeVo;
- import com.redxun.knowledge.entity.vo.OsUser;
- import com.redxun.knowledge.service.KnowledgeServiceImpl;
- import com.redxun.web.controller.BaseController;
- import io.swagger.annotations.*;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.BindingResult;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import javax.validation.ConstraintViolation;
- import javax.validation.Validator;
- import javax.validation.groups.Default;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- @Slf4j
- @RestController
- @RequestMapping("/api-knowledge/knowledge")
- @Api(tags = "业务--知识表")
- @ClassDefine(title = "业务--知识表", alias = "KnowledgeController", path = "/knowledge/knowledge", packages = "", packageName = "子系统名称")
- public class KnowledgeController extends BaseController<Knowledge> {
- @Autowired
- KnowledgeServiceImpl knowledgeService;
- @Autowired
- private Validator validator;
- @Override
- public BaseService getBaseService() {
- return knowledgeService;
- }
- @Override
- public String getComment() {
- return "业务--知识";
- }
- @ApiOperation(value = "根据分类id查询全部维基知识", httpMethod = "GET")
- @GetMapping("/findAllWiki/{categoryId}")
- public JsonResult findAllWiki(@PathVariable("categoryId") String categoryId) {
- JsonResult jsonResult = JsonResult.getSuccessResult("");
- List<Knowledge> wikiList = knowledgeService.findAllWiki(categoryId);
- jsonResult.setData(wikiList);
- return jsonResult;
- }
- @ApiOperation(value = "新增知识", httpMethod = "POST")
- @PostMapping("create")
- public JsonResult create(@RequestBody KnowledgeDto knowledgeDto) {
- JsonResult jsonResult = JsonResult.getSuccessResult("提交成功!");
- if (knowledgeDto.getIsDraft() != null && knowledgeDto.getIsDraft() == 1) {
- Set<ConstraintViolation<KnowledgeDto>> violations = validator.validate(knowledgeDto, AddGroup.class);
- if (!violations.isEmpty()) {
- ConstraintViolation<KnowledgeDto> v = violations.iterator().next();
- throw new RuntimeException(v.getMessage());
- }
- }
- if (knowledgeDto.getIsDraft() != null && knowledgeDto.getIsDraft() == 0) {
- jsonResult.setMessage("提交成功!");
- }
- String pkId = null;
- try {
- pkId = knowledgeService.create(knowledgeDto,null);
- jsonResult.setData(pkId);
- } catch (Exception e) {
- jsonResult.setMessage(e.getMessage());
- jsonResult.setSuccess(false);
- }
- return jsonResult;
- }
- @ApiOperation(value = "修改知识", httpMethod = "POST")
- @Override
- public JsonResult save(@Validated @ApiParam @RequestBody Knowledge entity, BindingResult validResult) {
- JsonResult jsonResult = JsonResult.getSuccessResult("");
- int update = 0;
- try {
- update = knowledgeService.update(entity);
- } catch (Exception e) {
- jsonResult.setMessage(e.getMessage());
- jsonResult.setSuccess(false);
- return jsonResult;
- }
- if (update == -1) {
- return JsonResult.Success("知识正在审核中,无法修改");
- } else {
- jsonResult.setMessage("提交成功!");
- return jsonResult;
- }
- }
- @ApiOperation(value = "知识详情", httpMethod = "GET")
- @GetMapping("info")
- public JsonResult info(@RequestParam(value = "pkId") String pkId,
- @RequestParam(value = "isPc", required = false) Integer flag) {
- JsonResult jsonResult;
- jsonResult = JsonResult.getSuccessResult("");
- KnowledgeVo knowledgeVo = null;
- try {
- knowledgeVo = knowledgeService.info(pkId, flag);
- } catch (Exception e) {
- jsonResult.setMessage(e.getMessage());
- jsonResult.setSuccess(false);
- return jsonResult;
- }
- if (knowledgeVo == null) {
- // 知识不存在或者没有权限
- jsonResult.setMessage("您查看的知识不存在或您没有访问权限");
- jsonResult.setData(1);
- } else {
- jsonResult.setData(knowledgeVo);
- }
- return jsonResult;
- }
- @ApiOperation(value = "知识列表(分页后台)")
- @ApiImplicitParam(name = "queryData", value = "查询条件")
- @PostMapping("findAllKnowledge")
- public JsonPageResult findAllKnowledge(@RequestBody QueryData queryData) {
- JsonPageResult jsonResult = JsonPageResult.getSuccess("");
- try {
- QueryFilter filter = QueryFilterBuilder.createQueryFilter(queryData);
- IPage page = knowledgeService.findAllKnowledge(filter);
- this.handlePage(page);
- jsonResult.setPageData(page);
- } catch (Exception e) {
- jsonResult.setSuccess(false);
- this.logger.error(ExceptionUtil.getExceptionMessage(e));
- jsonResult.setMessage(ExceptionUtil.getExceptionMessage(e));
- }
- return jsonResult;
- }
- @ApiOperation(value = "删除知识")
- @GetMapping("deleteKnowledge")
- public JsonResult deleteKnowledge(@RequestParam("knowledgeId") String knowledgeId) {
- Boolean result = knowledgeService.deleteKnowledge(knowledgeId);
- if (!result) {
- return JsonResult.Fail("删除失败,知识已关联其他模块");
- }
- return JsonResult.Success("删除成功!");
- }
- @ApiOperation(value = "知识审核")
- @ApiImplicitParam(name = "queryData", value = "查询条件")
- @PostMapping("findAllAuditKnowledge")
- public JsonPageResult findAllAuditKnowledge(@RequestBody QueryData queryData) {
- JsonPageResult jsonResult = JsonPageResult.getSuccess("");
- try {
- QueryFilter filter = QueryFilterBuilder.createQueryFilter(queryData);
- IPage page = knowledgeService.findAllAuditKnowledge(filter);
- this.handlePage(page);
- jsonResult.setPageData(page);
- } catch (Exception e) {
- jsonResult.setSuccess(false);
- this.logger.error(ExceptionUtil.getExceptionMessage(e));
- jsonResult.setMessage(ExceptionUtil.getExceptionMessage(e));
- }
- return jsonResult;
- }
- @ApiOperation("获取未审核的知识数量")
- @GetMapping("getAuditKnowledgeSum")
- public JsonResult getAuditKnowledgeSum() {
- JsonResult jsonResult = JsonResult.Success();
- Integer sum = knowledgeService.getAuditKnowledgeSum();
- return jsonResult.setData(sum);
- }
- @ApiOperation(value = "工作成果&经验案例列表(分页前台)")
- @ApiImplicitParam(name = "queryData", value = "查询条件")
- @PostMapping("getAllKnowledgeByCategoryId")
- public JsonPageResult getAllKnowledgeByCategoryId(@RequestBody QueryData queryData) {
- JsonPageResult jsonResult = JsonPageResult.getSuccess("");
- try {
- QueryFilter filter = QueryFilterBuilder.createQueryFilter(queryData);
- IPage page = knowledgeService.getAllKnowledgeByCategoryId(filter);
- this.handlePage(page);
- jsonResult.setPageData(page);
- } catch (Exception e) {
- jsonResult.setSuccess(false);
- this.logger.error(ExceptionUtil.getExceptionMessage(e));
- jsonResult.setMessage(ExceptionUtil.getExceptionMessage(e));
- }
- return jsonResult;
- }
- @ApiOperation("知识上传数量 PC")
- @GetMapping("getKnowledgeSum")
- public JsonResult getKnowledgeSum() {
- JsonResult jsonResult = JsonResult.Success();
- Integer sum = knowledgeService.getKnowledgeSum();
- return jsonResult.setData(sum);
- }
- @ApiOperation("转移作者")
- @PostMapping("transferAuthor")
- public JsonResult transferAuthor(@RequestBody TransferAuthorDto transferAuthorDto) {
- JsonResult jsonResult = JsonResult.Success();
- knowledgeService.transferAuthor(transferAuthorDto);
- return jsonResult.setMessage("转移成功!");
- }
- @MethodDefine(
- title = "查看该用户组及子组的用户",
- path = "/getAllUserByGroupId",
- method = HttpMethodConstants.POST
- )
- @ApiOperation("查看该用户组及子组的用户")
- @PostMapping({"getAllUserByGroupId"})
- public JsonPageResult getAllUserByGroupId(@ApiParam @RequestBody QueryData queryData) {
- JsonPageResult jsonResult = JsonPageResult.getSuccess("返回数据成功!");
- try {
- Map<String, String> params = queryData.getParams();
- QueryFilter filter = QueryFilterBuilder.createQueryFilter(queryData);
- params.put("tenantId", ContextUtil.getCurrentTenantId());
- IPage<OsUser> osUserIPage = knowledgeService.getAllUsersByGroupId(filter, params);
- jsonResult.setPageData(osUserIPage);
- } catch (Exception var6) {
- jsonResult.setSuccess(false);
- this.logger.error(ExceptionUtil.getExceptionMessage(var6));
- jsonResult.setMessage(ExceptionUtil.getExceptionMessage(var6));
- }
- return jsonResult;
- }
- @ApiOperation("批量导入已有数据")
- @PostMapping("importKnowledge")
- public JsonResult importKnowledge(){
- JsonResult jsonResult = JsonResult.Success();
- List<String> strings = knowledgeService.importKnowledge();
- jsonResult.setData(strings);
- return jsonResult.setMessage("导入成功");
- }
- }
|