package com.lf.server.controller.show; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lf.server.aspect.SysLog; import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.bd.DlgAgnpEntity; import com.lf.server.entity.ctrl.ShpRecordEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.service.data.UploaderService; import com.lf.server.service.show.ComprehensiveService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; 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.List; /** * 综合展示 * @author WWW */ @Api(tags = "综合展示\\综合展示") @RestController @RequestMapping("/comprehensive") public class ComprehensiveController extends BaseController { @Autowired TokenService tokenService; @Autowired UploaderService uploaderService; @Autowired ComprehensiveService comprehensiveService; private final static int FOUR = 4; @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 = "/selectAddrByPage") public ResponseMsg> selectAddrByPage(String name, Integer pageSize, Integer pageIndex) { try { if (pageSize < 1 || pageIndex < 1) { return fail("每页页数或分页数小于1", null); } Page paged = comprehensiveService.selectAddrByPage(name, pageSize, pageIndex); return success(paged.getTotal(), paged.getRecords()); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "根据ID查询WKT-地名地址") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "ID", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectWktById") public ResponseMsg selectWktById(Integer id) { try { String wkt = comprehensiveService.selectWktById(id); return success(wkt); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "上传Shp文件获取第一条记录的WKT") @ResponseBody @PostMapping(value = "/uploadShp") public ResponseMsg uploadShp(HttpServletRequest req, HttpServletResponse res) { try { UserEntity ue = tokenService.getCurrentUser(req); if (ue == null) { return fail("用户未登录", null); } List list = uploaderService.uploadData(null, ue, req, res); if (list.size() < FOUR) { return fail("没有找到已上传的数据或不完整", null); } ShpRecordEntity sr = comprehensiveService.readShpFirstRecord(list); return success(sr); } catch (Exception ex) { return fail(ex.getMessage(), null); } } }