package com.lf.server.controller.all; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lf.server.annotation.SysLog; import com.lf.server.entity.all.BaseGeoEntity; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.all.StaticData; import com.lf.server.entity.ctrl.DownloadReqEntity; import com.lf.server.entity.ctrl.IdNameEntity; import com.lf.server.entity.ctrl.KeyValueEntity; import com.lf.server.entity.ctrl.TabEntity; import com.lf.server.entity.data.*; import com.lf.server.entity.sys.AttachEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.AesHelper; import com.lf.server.helper.ClassHelper; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.all.BasicMapper; import com.lf.server.mapper.all.GeomBaseMapper; import com.lf.server.service.all.BaseQueryService; import com.lf.server.service.data.DictService; import com.lf.server.service.data.DirService; import com.lf.server.service.data.DownloadService; import com.lf.server.service.data.MetaService; import com.lf.server.service.show.DataLibService; import com.lf.server.service.sys.AttachService; import com.lf.server.service.sys.DepService; import com.lf.server.service.sys.DownlogService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 父查询控制器 * @author WWW */ public class BaseQueryController extends BaseController { @Autowired AttachService attachService; @Autowired TokenService tokenService; @Autowired DepService depService; @Autowired DirService dirService; @Autowired MetaService metaService; @Autowired DataLibService dataLibService; @Autowired public DownlogService downlogService; @Autowired public DownloadService downloadService; @Autowired BaseQueryService baseQueryService; @Autowired DictService dictService; @SysLog() @ApiOperation(value = "查询记录数") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), @ApiImplicitParam(name = "filter", value = "过滤条件", dataType = "String", paramType = "query", example = "gid >= 50 and name like '县' and objectid < 5000.0"), @ApiImplicitParam(name = "wkt", value = "WKT(著名文本)", dataType = "String", paramType = "query", example = "gAPpDbZ53XfoQfvT8dj/uhBWX5os8kBJQ1LrNvH3VX7byFQdUJMPiEr8Fkj0q2i1pw+L8KFrvR0MLXq2xaO21nlQQXmEPofJxpDQZwEWUIFZsToXo1kLRD3t6WQezxWB8YTzXHM20Ba73x/ZuuezVhOFOq1U8HKf1dXQdv7gBzEB6fWMmFDc3FuH8GDDHv3LfT86Gio9VgMO6ohlrUdf3ZKtTHeLSuzGF4t0RZuX97YBNo25IIzpeTfRTXBxfdxA") }) @GetMapping(value = "/selectCount") @PostMapping(value = "/selectCount") public ResponseMsg selectCount(String name, String filter, String wkt) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(name); if (baseMapper == null) { return fail("查询对象不存在", null); } QueryWrapper wrapper = new QueryWrapper(); baseQueryService.addFilterWrapper(wrapper, filter); baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); long count = baseMapper.selectCount(wrapper); return success(count); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "分页查询") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), @ApiImplicitParam(name = "depcode", value = "单位编码", dataType = "String", paramType = "query", example = "00"), @ApiImplicitParam(name = "dirs", value = "目录编码", dataType = "String", paramType = "query", example = "00,01"), @ApiImplicitParam(name = "filter", value = "过滤条件", dataType = "String", paramType = "query", example = "gid >= 50 and name like '县' and objectid < 5000.0"), @ApiImplicitParam(name = "wkt", value = "WKT(著名文本)", dataType = "String", paramType = "query", example = ""), //@ApiImplicitParam(name = "srid", value = "空间引用标识符", dataType = "Integer", paramType = "query", example = "4326"), @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1"), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "hasGeom", value = "是/否包含空间信息", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectByPage") @PostMapping(value = "/selectByPage") public ResponseMsg> selectByPage(String name, String depcode, String dirs, String filter, String wkt, Integer pageIndex, Integer pageSize, Integer hasGeom) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(name); if (null == baseMapper) { return fail("查询对象不存在", null); } QueryWrapper wrapper = new QueryWrapper(); baseQueryService.addFilterWrapper(wrapper, filter); baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); if (!StringHelper.isEmpty(depcode)) { wrapper.likeRight("depid", depcode); } dirs = DataLibService.copeCodes(dirs, "dirid"); if (!StringHelper.isEmpty(dirs)) { wrapper.apply(dirs); } boolean hasWkt = null != hasGeom && hasGeom > 0 && baseMapper instanceof GeomBaseMapper; if (hasWkt) { wrapper.select("ST_AsText(geom) as geom, *"); } Page page = new Page<>(pageIndex, pageSize); page.addOrder(OrderItem.desc("gid")); IPage paged = baseMapper.selectPage(page, wrapper); if (hasWkt && null != paged.getRecords()) { copeWkt(paged.getRecords()); } return success(paged.getTotal(), paged.getRecords()); } catch (Exception ex) { return fail(ex, null); } } /** * 处理WKT */ private void copeWkt(List list) { for (int i = 0, c = list.size(); i < c; i++) { Object obj = list.get(i); setWktEncrypt(obj); } } /** * 设置WKT加密 */ private void setWktEncrypt(Object obj) { if (obj instanceof BaseGeoEntity) { BaseGeoEntity entity = (BaseGeoEntity) obj; if (StringHelper.isEmpty(entity.getGeom())) { return; } try { String wkt = AesHelper.encrypt(entity.getGeom()); entity.setGeom(wkt); } catch (Exception ex) { entity.setGeom(null); log.error(ex.getMessage(), ex); } } } @SysLog() @ApiOperation(value = "缓冲区查询") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), @ApiImplicitParam(name = "wkt", value = "WKT(著名文本)", dataType = "String", paramType = "query", example = ""), @ApiImplicitParam(name = "buffer", value = "缓冲区大小", dataType = "Double", paramType = "query", example = "10"), @ApiImplicitParam(name = "limit", value = "限制条数", dataType = "Integer", paramType = "query", example = "20") }) @GetMapping(value = "/selectByBuffer") public ResponseMsg> selectByBuffer(String name, String wkt, Double buffer, Integer limit) { try { if (StringHelper.isEmpty(wkt)) { return fail("WKT不能为空", null); } if (null == limit || limit < 1 || limit > StaticData.ONE_HUNDRED) { limit = 20; } if (null == buffer || buffer < 0 || buffer > StaticData.ONE_HUNDRED_THOUSAND) { buffer = 10.0; } GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(name); if (baseMapper == null) { return fail("查询对象不存在", null); } QueryWrapper wrapper = new QueryWrapper(); wrapper.select("ST_AsText(geom) as geom, *"); baseQueryService.addBufferWrapper(baseMapper, wrapper, wkt, buffer); wrapper.last("limit " + limit); List list = baseMapper.selectList(wrapper); return success(null == list ? 0 : list.size(), list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "根据父ID分页查询并返回记录数") @ApiImplicitParams({ @ApiImplicitParam(name = "metaid", value = "父ID", dataType = "String", paramType = "query", example = "0"), @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = ""), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectPageAndCountByPid") public ResponseMsg> selectPageAndCountByPid(Integer metaid, String name, Integer pageSize, Integer pageIndex) { try { if (pageSize < 1 || pageIndex < 1) { return fail("每页页数或分页数小于1", null); } if (null == metaid || metaid < 1) { return fail("父ID不能为空且大于1", null); } int count = metaService.selectCountByPid(metaid, name); if (count == 0) { return success(0, null); } List rs = metaService.selectPageByPid(metaid, name, pageSize, pageSize * (pageIndex - 1)); return success(count, rs); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "根据ID查询WKT") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), @ApiImplicitParam(name = "gid", value = "GID", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectWktById") public ResponseMsg selectWktById(String name, Integer gid) { try { GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(name); if (null == baseMapper) { return fail("查询对象不存在或不是空间表", null); } String tab = BaseQueryService.getTabName(baseMapper); if (StringHelper.isNull(tab)) { return fail("查询对象的表名不存在", null); } String wkt = baseMapper.selectWktById(tab, gid); if (!StringHelper.isEmpty(wkt)) { wkt = AesHelper.encrypt(wkt); } return success(wkt); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "根据GID查询") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), @ApiImplicitParam(name = "gid", value = "GID", dataType = "int", paramType = "query", example = "1") }) @GetMapping(value = "/selectByGid") public ResponseMsg selectByGid(String name, int gid) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(name); if (null == baseMapper) { return fail("查询对象不存在", null); } QueryWrapper wrapper = new QueryWrapper(); if (baseMapper instanceof GeomBaseMapper) { wrapper.select("ST_AsText(geom) as geom, *"); } wrapper.eq("gid", gid); Object obj = baseMapper.selectOne(wrapper); setWktEncrypt(obj); return success(null == obj ? 0 : 1, obj); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "根据实体名查询表名") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp") }) @GetMapping(value = "/selectTabByEntity") public ResponseMsg selectTabByEntity(String name) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(name); if (baseMapper == null) { return fail("查询对象不存在", null); } String tab = BaseQueryService.getTabName(baseMapper); return success(tab); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "模糊搜索字段") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), @ApiImplicitParam(name = "field", value = "字段", dataType = "String", paramType = "query", example = "name"), @ApiImplicitParam(name = "value", value = "值", dataType = "String", paramType = "query", example = "'县'") }) @GetMapping(value = "/selectFieldFuzzy") public ResponseMsg> selectFieldFuzzy(String name, String field, String value) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(name); if (baseMapper == null) { return fail("查询对象不存在", null); } String tab = BaseQueryService.getTabName(baseMapper); if (StringHelper.isNull(tab)) { return fail("查询对象不存在", null); } if (StringHelper.isEmpty(field) || StringHelper.isSqlInjection(field)) { return fail("查询字段不正确", null); } value = StringHelper.isEmpty(value) ? "%" : StringHelper.getLikeUpperStr(value); List rs = baseMapper.selectFieldFuzzy(tab, field, value); return success(rs); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "模糊搜索用户") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "用户名", dataType = "String", paramType = "query", example = "室") }) @GetMapping(value = "/selectUserFuzzy") public ResponseMsg> selectUserFuzzy(String name) { try { List rs = baseQueryService.selectUserFuzzy(name); return success(rs); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "模糊搜索单位") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "单位名", dataType = "String", paramType = "query", example = "司") }) @GetMapping(value = "/selectDepFuzzy") public ResponseMsg> selectDepFuzzy(String name) { try { List rs = baseQueryService.selectDepFuzzy(name); return success(rs); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询所有表") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = "点"), @ApiImplicitParam(name = "hasGeom", value = "含有Geom字段", dataType = "Boolean", paramType = "query", example = "false") }) @GetMapping(value = "/selectTabs") public ResponseMsg> selectTabs(String name, Boolean hasGeom) { try { List list = dictService.selectDictTab(name, null == hasGeom || !hasGeom ? "gid" : "geom"); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "根据表名分页查询表") @GetMapping(value = "/selectTabsByPage") @ApiImplicitParams({ @ApiImplicitParam(name = "depcode", value = "单位编码", dataType = "String", paramType = "query", example = "00"), @ApiImplicitParam(name = "dirs", value = "目录编码", dataType = "String", paramType = "query", example = "00,01"), @ApiImplicitParam(name = "tab", value = "表名", dataType = "String", paramType = "query", example = "dlg_"), @ApiImplicitParam(name = "hasGeom", value = "含有Geom字段", dataType = "Boolean", paramType = "query", example = "false"), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1") }) public ResponseMsg selectTabsByPage(String depcode, String dirs, String tab, Boolean hasGeom, Integer pageSize, Integer pageIndex) { try { if (pageSize < 1 || pageIndex < 1) { return fail("每页页数或分页数小于1", null); } if (StringHelper.isSqlInjection(depcode)) { return fail("单位代码含有非法字符", null); } String filters = "1=1"; if (!StringHelper.isEmpty(depcode)) { filters += String.format(" and depid like '%s%%'", depcode); } dirs = DataLibService.copeCodes(dirs, "dirid"); if (dirs != null) { filters += String.format(" and %s", dirs); } String field = null == hasGeom || !hasGeom ? "gid" : "geom"; int count = baseQueryService.selectTabsForCount(tab, field); if (count == 0) { return success(0, null); } List rs = baseQueryService.selectTabsByPage(tab, field, filters, pageSize, pageSize * (pageIndex - 1)); return success(count, rs); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询字段信息") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlg25wAanp") }) @GetMapping(value = "/selectFields") public ResponseMsg> selectFields(String name) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(name); if (baseMapper == null) { return fail("查询对象不存在", null); } String tabName = BaseQueryService.getTabName(baseMapper); if (tabName == null) { return null; } String[] strs = tabName.split("\\."); List list = baseQueryService.selectFields(strs[0], strs[1]); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询字段信息") @ApiImplicitParams({ @ApiImplicitParam(name = "ns", value = "名称空间", dataType = "String", paramType = "query", example = "bd"), @ApiImplicitParam(name = "tab", value = "表名", dataType = "String", paramType = "query", example = "dlg25wAanp") }) @GetMapping(value = "/selectTabFields") public ResponseMsg> selectTabFields(String ns, String tab) { try { if (StringHelper.isEmpty(ns) || StringHelper.isEmpty(tab)) { return fail("名称空间和表名不能为空", null); } List list = baseQueryService.selectFields(ns, tab); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询值域信息") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlg25wAanp") }) @GetMapping(value = "/selectDomains") public ResponseMsg> selectDomains(String name) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(name); if (baseMapper == null) { return fail("查询对象不存在", null); } String tabName = BaseQueryService.getTabName(baseMapper); if (tabName == null) { return null; } String[] strs = tabName.split("\\."); List list = baseQueryService.selectDomains(strs[0], strs[1]); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询文件") @ApiImplicitParams({ @ApiImplicitParam(name = "tabName", value = "表名", dataType = "String", paramType = "query", example = "lf.sys_style"), @ApiImplicitParam(name = "eventid", value = "主键", dataType = "String", paramType = "query", example = "fa25979a5ef8b43ba82a0be35b3fb0d4") }) @GetMapping(value = "/selectFiles") public ResponseMsg> selectFiles(String tabName, String eventid) { try { if (StringHelper.isEmpty(tabName) || StringHelper.isEmpty(eventid)) { return fail("参数不能为空", null); } List list = attachService.selectByTab(tabName, eventid); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "删除文件") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "ID数组", dataType = "Integer", paramType = "query", example = "1,2") }) @GetMapping(value = "/deletes") public ResponseMsg deleteFiles(@RequestParam List ids) { try { if (ids == null || ids.isEmpty()) { return fail("id数组不能为空", -1); } int rows = attachService.deletes(ids); return success(rows); } catch (Exception ex) { return fail(ex, 0); } } @SysLog() @ApiOperation(value = "查询元数据中溢出的单位ID") @ApiImplicitParams({ @ApiImplicitParam(name = "reqEntity", value = "请求下载实体", dataType = "DownloadReqEntity", paramType = "body") }) @ResponseBody @PostMapping(value = "/selectMetaOverflowDep") public ResponseMsg selectMetaOverflowDep(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) { try { if (null == dr || null == dr.getIds() || dr.getIds().isEmpty()) { return fail("请选择要下载的文件ID"); } UserEntity ue = tokenService.getCurrentUser(req); if (StaticData.ADMIN.equals(ue.getUid())) { return success(new ArrayList()); } List list = metaService.selectMetaOverflowDep(ue, dr); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询DB中溢出的单位ID") @ApiImplicitParams({ @ApiImplicitParam(name = "reqEntity", value = "请求下载实体", dataType = "DownloadReqEntity", paramType = "body") }) @ResponseBody @PostMapping(value = "/selectDbOverflowDep") public ResponseMsg selectDbOverflowDep(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) { try { if (null == dr || null == dr.getEntities() || dr.getEntities().isEmpty()) { return fail("请选择要下载的实体名"); } if (!StringHelper.isEmpty(dr.getWkt())) { dr.setWkt(AesHelper.decrypt(dr.getWkt())); } UserEntity ue = tokenService.getCurrentUser(req); if (StaticData.ADMIN.equals(ue.getUid())) { return success(new ArrayList()); } List list = dataLibService.selectDbOverflowDep(ue, dr); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "根据单位编码数组查询单位") @ApiImplicitParams({ @ApiImplicitParam(name = "codes", value = "单位编码数组", dataType = "String", paramType = "query", allowMultiple = true, example = "00,0001") }) @GetMapping(value = "/selectDepsByCodes") public ResponseMsg selectDepsByCodes(String[] codes) { try { if (null == codes || codes.length == 0) { return fail("单位ID集合为空"); } List list = depService.selectDepsByCodes(codes); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "下载DB数据") @ApiImplicitParams({ @ApiImplicitParam(name = "dr", value = "请求下载实体", dataType = "DownloadReqEntity", paramType = "body") }) @ResponseBody @PostMapping(value = "/downloadDbData") public ResponseMsg downloadDbData(@RequestBody DownloadReqEntity dr, HttpServletRequest req) { try { if (null == dr || null == dr.getEntities() || dr.getEntities().isEmpty()) { return fail("请选择要下载的实体名"); } if (StringHelper.isEmpty(dr.getPwd())) { return fail("密码不能为空"); } if (!DownloadService.decryptPwd(dr)) { return fail("密码解密失败", null); } if (StringHelper.isPwdInvalid(dr.getPwd())) { return fail("密码不符合要求"); } if (!StringHelper.isEmpty(dr.getWkt())) { dr.setWkt(AesHelper.decrypt(dr.getWkt())); } UserEntity ue = tokenService.getCurrentUser(req); String guid = dataLibService.downloadDbReq(ue, dr); return success(guid); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查看文件") @ApiImplicitParams({ @ApiImplicitParam(name = "guid", value = "附件Guid", dataType = "String", paramType = "body") }) @GetMapping(value = "/downloadForView") public void downloadForView(String guid, HttpServletResponse res) { metaService.downloadForView(guid, true, res); } @SysLog() @ApiOperation(value = "分页查询下载文件") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = ""), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectPageCountForDownload") public ResponseMsg> selectPageCountForDownload(String name, Integer pageSize, Integer pageIndex, HttpServletRequest req) { try { if (pageSize < 1 || pageIndex < 1) { return fail("每页页数或分页数小于1", null); } UserEntity ue = tokenService.getCurrentUser(req); if (ue == null) { return fail("用户未登录", null); } int count = downloadService.selectCountForUser(ue.getId(), "3,4", name); if (count == 0) { return success(0, null); } List rs = downloadService.selectByPageForUser(ue.getId(), "3,4", name, pageSize, pageSize * (pageIndex - 1)); return success(count, rs); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询目录类别") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = "D") }) @GetMapping(value = "/selectDirTypes") public ResponseMsg selectDirTypes(String name) { try { List list = baseQueryService.selectDirTypes(name); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "查询项目名称") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = "西") }) @GetMapping(value = "/selectProject") public ResponseMsg selectProject(String name) { try { List list = dirService.selectProject(name); return success(list); } catch (Exception ex) { return fail(ex, null); } } @SysLog() @ApiOperation(value = "根据元数据ID查询") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "ID", dataType = "int", paramType = "query", example = "1") }) @GetMapping(value = "/selectMetaById") public ResponseMsg selectMetaById(int id) { try { MetaEntity entity = metaService.selectById(id); return success(entity); } catch (Exception ex) { return fail(ex, null); } } }