| | |
| | | import com.moon.server.entity.data.PublishEntity; |
| | | import com.moon.server.entity.sys.UserEntity; |
| | | import com.moon.server.helper.StringHelper; |
| | | import com.moon.server.helper.WebHelper; |
| | | import com.moon.server.service.all.PermsService; |
| | | import com.moon.server.service.data.PublishService; |
| | | import com.moon.server.service.data.ShuJianService; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 数据发布 |
| | | * @author WWW |
| | | */ |
| | | @Api(tags = "数据管理\\发布管理") |
| | | @RestController |
| | | @SuppressWarnings("ALL") |
| | | @RequestMapping("/publish") |
| | | public class PublishController extends BaseController { |
| | | @Resource |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取类型 |
| | | */ |
| | | private String getType(String type) throws Exception { |
| | | switch (type) { |
| | | case "DOM": |
| | | return "type in ('tif', 'tiff', 'img', 'jp2', 'jpg') and mata_type in (1, 3, 4, 5)"; |
| | | return "type in ('tif', 'tiff', 'img', 'jp2', 'jpg') and mata_type in (1, 2, 3, 4, 5)"; |
| | | case "DEM": |
| | | return "type in ('tif', 'tiff', 'dem') and mata_type = 2"; |
| | | case "Vector": |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取发布类型 |
| | | */ |
| | | private String getPubType(String type) throws Exception { |
| | | if (StringHelper.isEmpty(type)) { |
| | | return null; |
| | |
| | | |
| | | switch (type) { |
| | | case "DOM": |
| | | return "type = 'DOM'"; |
| | | return "a.type = 'DOM'"; |
| | | case "DEM": |
| | | return "type = 'DEM'"; |
| | | return "a.type = 'DEM'"; |
| | | case "Vector": |
| | | return "type = 'Vector'"; |
| | | return "a.type = 'Vector'"; |
| | | case "Model": |
| | | return "type = 'Model'"; |
| | | return "a.type = 'Model'"; |
| | | default: |
| | | throw new Exception("数据类型不匹配"); |
| | | } |
| | |
| | | @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", example = "10"), |
| | | @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "int", paramType = "query", example = "1") |
| | | }) |
| | | @GetMapping(value = "/selectColorTables") |
| | | public void selectColorTables(int pageSize, int pageIndex, HttpServletRequest req, HttpServletResponse res) { |
| | | @GetMapping(value = "/selectSjColorTables") |
| | | public void selectSjColorTables(int pageSize, int pageIndex, HttpServletRequest req, HttpServletResponse res) { |
| | | pageIndex = Math.max(pageIndex, 1); |
| | | pageSize = Math.max(pageSize, 5); |
| | | |
| | | shuJianService.selectColorTables(pageSize, pageIndex, req, res); |
| | | shuJianService.selectSjColorTables(pageSize, pageIndex, req, res); |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "插入发布数据") |
| | | @ApiOperation(value = "查询数简图层") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "port", value = "端口", dataType = "int", paramType = "query", example = "50001") |
| | | }) |
| | | @GetMapping(value = "/selectSjLayers") |
| | | public void selectSjLayers(Integer port, HttpServletRequest req, HttpServletResponse res) { |
| | | shuJianService.selectSjLayers(port, req, res); |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "查询数简任务状态") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "id", value = "任务ID", dataType = "int", paramType = "query", example = "10008101") |
| | | }) |
| | | @GetMapping(value = "/selectSjMissionStatus") |
| | | public void selectSjMissionStatus(Integer id, HttpServletRequest req, HttpServletResponse res) { |
| | | shuJianService.selectSjMissionStatus(id, req, res); |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "插入数简服务") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "entity", value = "实体类", dataType = "PubEntity", paramType = "body") |
| | | }) |
| | | @PostMapping(value = "/insertForPub", produces = "application/json; charset=UTF-8") |
| | | public ResponseMsg<Object> insertForPub(@RequestBody PubEntity entity, HttpServletRequest req) { |
| | | @ResponseBody |
| | | @PostMapping(value = "/insertSjService", produces = "application/json; charset=UTF-8") |
| | | public ResponseMsg<Object> insertSjService(@RequestBody PubEntity entity, HttpServletRequest req, HttpServletResponse res) { |
| | | try { |
| | | if (null == entity || null == entity.getIds() || entity.getIds().isEmpty()) { |
| | | return fail("实体类为空或找不到元数据ID", 0); |
| | | } |
| | | if (StringHelper.isEmpty(entity.getType())) { |
| | | return fail("数据类别为空", null); |
| | | return fail("发布类别为空", null); |
| | | } |
| | | if (!ShuJianService.TYPES.contains(entity.getType())) { |
| | | return fail("发布类别不支持", null); |
| | | } |
| | | |
| | | UserEntity ue = tokenService.getCurrentUser(req); |
| | | if (ue != null) { |
| | | if (null != ue) { |
| | | entity.setUserId(ue.getId()); |
| | | entity.setDepcode(ue.getDepcode()); |
| | | } |
| | | entity.setDefault(); |
| | | |
| | | permsService.clearPermsCache(); |
| | | // String method = getConvertMethod(entity.getType()) |
| | | long count = publishService.postForPub(entity, "", req); |
| | | Integer rows = shuJianService.insertSjService(entity); |
| | | |
| | | return success(count); |
| | | return success(rows); |
| | | } catch (Exception ex) { |
| | | return fail(ex.getMessage(), -1); |
| | | } |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "发布数简服务") |
| | | @ApiOperation(value = "更新数简服务") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "entity", value = "实体类", dataType = "PubEntity", paramType = "body") |
| | | }) |
| | | public ResponseMsg<Object> insertShuJianService(@RequestBody PubEntity entity, HttpServletRequest req) { |
| | | @ResponseBody |
| | | @PostMapping(value = "/updateSjService", produces = "application/json; charset=UTF-8") |
| | | public ResponseMsg<Object> updateSjService(@RequestBody PubEntity entity, HttpServletRequest req, HttpServletResponse res) { |
| | | try { |
| | | if (null == entity || null == entity.getIds() || entity.getIds().isEmpty()) { |
| | | return fail("实体类为空或找不到元数据ID", 0); |
| | | if (null == entity || null == entity.getPubid()) { |
| | | return fail("实体类为空或发布ID为空", 0); |
| | | } |
| | | if (StringHelper.isEmpty(entity.getType())) { |
| | | return fail("发布类别为空", null); |
| | | } |
| | | |
| | | return success(null); |
| | | UserEntity ue = tokenService.getCurrentUser(req); |
| | | if (null != ue) { |
| | | entity.setUserId(ue.getId()); |
| | | entity.setDepcode(ue.getDepcode()); |
| | | } |
| | | entity.setDefault(); |
| | | |
| | | permsService.clearPermsCache(); |
| | | Integer rows = shuJianService.updateSjService(entity); |
| | | |
| | | return success(rows); |
| | | } catch (Exception ex) { |
| | | return fail(ex.getMessage(), -1); |
| | | } |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "删除多条") |
| | | @ApiOperation(value = "删除数简服务") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "ids", value = "ID数组", dataType = "Integer", paramType = "query", allowMultiple = true, example = "1") |
| | | }) |
| | | @GetMapping(value = "/deletes") |
| | | public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids, HttpServletRequest req) { |
| | | @GetMapping(value = "/deletesSjServices") |
| | | public ResponseMsg<Integer> deletesSjServices(@RequestParam List<Integer> ids) { |
| | | try { |
| | | if (ids == null || ids.isEmpty()) { |
| | | if (null == ids || ids.isEmpty()) { |
| | | return fail("id数组不能为空", -1); |
| | | } |
| | | |
| | | String strs = StringHelper.join(ids, ","); |
| | | List<PublishEntity> list = publishService.selectByIds(strs); |
| | | if (null == list || list.isEmpty()) { |
| | | return fail("没有找到要删除的数据", -1); |
| | | } |
| | | |
| | | permsService.clearPermsCache(); |
| | | int count = publishService.deletes(ids, req); |
| | | int count = shuJianService.deletesSjServices(ids); |
| | | |
| | | return success(count); |
| | | } catch (Exception ex) { |
| | |
| | | if (ue != null) { |
| | | entity.setUpdateUser(ue.getId()); |
| | | } |
| | | if (StringHelper.isEmpty(entity.getGeom())) { |
| | | entity.setGeom("null"); |
| | | } |
| | | |
| | | permsService.clearPermsCache(); |
| | | int count = publishService.update(entity); |
| | |
| | | return fail(ex.getMessage(), -1); |
| | | } |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "更新数简图层的拉伸方式") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "entity", value = "实体类", dataType = "PubEntity", paramType = "body") |
| | | }) |
| | | @ResponseBody |
| | | @PostMapping(value = "/updateSjLayerStretch", produces = "application/json; charset=UTF-8") |
| | | public ResponseMsg<Integer> updateSjLayerStretch(@RequestBody PubEntity entity, HttpServletRequest req) { |
| | | try { |
| | | if (null == entity || null == entity.getLayerId()) { |
| | | return fail("实体类为空或图层ID为空", 0); |
| | | } |
| | | |
| | | UserEntity ue = tokenService.getCurrentUser(req); |
| | | if (null != ue) { |
| | | entity.setUserId(ue.getId()); |
| | | entity.setDepcode(ue.getDepcode()); |
| | | } |
| | | |
| | | Integer rows = shuJianService.updateSjLayerStretch(entity); |
| | | |
| | | return success(rows); |
| | | } catch (Exception ex) { |
| | | return fail(ex.getMessage(), -1); |
| | | } |
| | | } |
| | | } |