package com.iplatform.base.controller; import com.iplatform.base.ArgumentsConstants; import com.iplatform.base.SystemController; import com.iplatform.base.service.CodeServiceImpl; import com.iplatform.base.support.DictTreeGenerator; import com.iplatform.model.po.S_dict_data; import com.walker.file.FileInfo; import com.walker.infrastructure.tree.TreeNode; import com.walker.infrastructure.utils.StringUtils; import com.walker.web.ResponseValue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; /** * 公共权限操作方法。
* 在该对象里面的方法,都无需配置菜单权限,只要登录用户都有权使用。 ** 1)比如:获取字典树等 ** @author 时克英 * @date 2023-03-13 */ @RestController @RequestMapping("/permit") public class PermitController extends SystemController { // @RequestMapping("/copyright/get/info") // public ResponseValue getCopyRight(){ // CopyRightVo copyRightVo = new CopyRightVo(); // copyRightVo.setCompanyName(this.getArgumentVariable(ArgumentsConstants.CONFIG_COPYRIGHT_COMPANY_INFO).getStringValue()); // copyRightVo.setCompanyImage(this.getArgumentVariable(ArgumentsConstants.CONFIG_COPYRIGHT_COMPANY_IMAGE).getStringValue()); // return ResponseValue.success(copyRightVo); // } /** * 获取移动端访问站点域名(地址),如:localhost:8080 * @return * @date 2023-05-12 */ @RequestMapping("/config/front/domain") public ResponseValue getConfigFrontDomain(){ String data = this.getArgumentVariable(ArgumentsConstants.CONFIG_KEY_SITE_URL).getStringValue(); return ResponseValue.success("success", data); } /** * 根据文件id下载本地文件 * @param id 文件id(系统存储的唯一编号) * @throws Exception * @date 2023-03-13 */ @RequestMapping("/file/{id}") public void downloadLocalFile(@PathVariable String id) throws Exception{ FileInfo fileInfo = this.getFileInfo(id); if(fileInfo == null){ throw new IllegalArgumentException("文件未找到,id=" + id); } logger.info("开始下载本地文件:{}", fileInfo); this.downloadSimpleFile(this.getLocalFileData(fileInfo), fileInfo.getFileName()); } /** * 根据代码表名字,查询包含的代码项集合。 * @param dictType * @return * @date 2023-03-22 该接口在字典管理中存在,这里需要放在公共权限里面一份,方便所有用户查询某个字典类型下的所有项目集合。 * @date 2023-04-15 使用缓存,这里只能返回一级的情况,如果存在树结构则需要调用方法,参考 API:{@linkplain PermitController#selectDictTreeList(String)} */ @RequestMapping("/dict/data/type/{dictType}") public ResponseValue