/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package com.vci.ubcs.code.feign; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.mapper.CodeClassifyMapper; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.Tree; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import com.vci.ubcs.code.service.ICodeClassifyService; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import java.util.List; /** * 主题库定义表 Feign实现类 * * @author yuxc * @since 2023-04-06 */ @ApiIgnore() @RestController @AllArgsConstructor public class CodeClassifyClient implements ICodeClassifyClient { private final ICodeClassifyService codeClassifyService; private final MdmEngineService engineService; private final CodeClassifyMapper codeClassifyMapper; @Override @GetMapping(TOP) public BladePage top(Integer current, Integer size) { Query query = new Query(); query.setCurrent(current); query.setSize(size); IPage page = codeClassifyMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper()); return BladePage.of(page); } /** * 获取所有上级节点的oid * @param oid * @return */ public R> selectAllParentOid(String oid){ return R.data(codeClassifyService.selectAllParentOid(oid)); } /*** * 获取主题库分类层级树 * @param treeQueryObject * @return 主题库分类 */ @Override @PostMapping(CODE_CLASSIFY_TREE) public List referCodeClassifyTree(TreeQueryObject treeQueryObject) { return codeClassifyService.treeCodeClassify(treeQueryObject); } @Override @GetMapping(CODE_ATTRIBUTE_LIST) public List listCodeAttributeByClassId(String codeClassifyId) { CodeClassifyTemplateVO codeClassifyTemplateVO=engineService.getUsedTemplateByClassifyOid(codeClassifyId,true); return codeClassifyTemplateVO.getAttributes(); } /** * 根据分类id,获取分类 * @param classifyId * @return */ @Override @GetMapping(CODE_GETBYID) public CodeClassify getById(String classifyId) { return codeClassifyService.getById(classifyId); } }