From 7576b5f4c249d138e97d4c045cd2c73c0ac4c503 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Wed, 24 Sep 2025 18:31:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/config/ResourcesConfig.java | 27 +++--- .../filter/JwtAuthenticationTokenFilter.java | 60 ++++++++++--- .../framework/web/service/TokenService.java | 33 +++++-- water-design-const/pom.xml | 5 -- .../controller/utils/FileUtils.java | 62 +++++++++++++ .../controller/water/ModelController.java | 38 +++++++- .../controller/water/ProjectController.java | 6 ++ .../controller/water/SurveyController.java | 21 ++++- .../com/bonus/waterdesign/domain/CadData.java | 1 + .../com/bonus/waterdesign/domain/FileDto.java | 21 +++++ .../waterdesign/domain/PeojectNodes.java | 3 + .../bonus/waterdesign/mapper/ModelMapper.java | 3 + .../waterdesign/service/ModelService.java | 1 + .../service/impl/ModelServiceImpl.java | 88 +++++++++++++++++++ .../src/main/resources/mapper/ModelMapper.xml | 22 +++++ 15 files changed, 351 insertions(+), 40 deletions(-) create mode 100644 water-design-const/src/main/java/com/bonus/waterdesign/controller/utils/FileUtils.java create mode 100644 water-design-const/src/main/java/com/bonus/waterdesign/domain/FileDto.java diff --git a/bonus-framework/src/main/java/com/bonus/framework/config/ResourcesConfig.java b/bonus-framework/src/main/java/com/bonus/framework/config/ResourcesConfig.java index 039b01a..073b071 100644 --- a/bonus-framework/src/main/java/com/bonus/framework/config/ResourcesConfig.java +++ b/bonus-framework/src/main/java/com/bonus/framework/config/ResourcesConfig.java @@ -1,6 +1,7 @@ package com.bonus.framework.config; import java.util.concurrent.TimeUnit; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -17,21 +18,23 @@ import com.bonus.framework.interceptor.RepeatSubmitInterceptor; /** * 通用配置 - * + * * @author ruoyi */ @Configuration -public class ResourcesConfig implements WebMvcConfigurer -{ +public class ResourcesConfig implements WebMvcConfigurer { @Autowired private RepeatSubmitInterceptor repeatSubmitInterceptor; @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) - { - /** 本地文件上传路径 */ - registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**") - .addResourceLocations("file:" + RuoYiConfig.getProfile() + "/"); + public void addResourceHandlers(ResourceHandlerRegistry registry) { + String profilePath = RuoYiConfig.getProfile(); + + String filePath = "file:/" + profilePath.replace("\\", "/"); + + registry.addResourceHandler("/profile/**") + .addResourceLocations(filePath + "/") + .setCachePeriod(0); /** swagger配置 */ registry.addResourceHandler("/swagger-ui/**") @@ -43,8 +46,7 @@ public class ResourcesConfig implements WebMvcConfigurer * 自定义拦截规则 */ @Override - public void addInterceptors(InterceptorRegistry registry) - { + public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**"); } @@ -52,8 +54,7 @@ public class ResourcesConfig implements WebMvcConfigurer * 跨域配置 */ @Bean - public CorsFilter corsFilter() - { + public CorsFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); // 设置访问源地址 config.addAllowedOriginPattern("*"); @@ -69,4 +70,4 @@ public class ResourcesConfig implements WebMvcConfigurer // 返回新的CorsFilter return new CorsFilter(source); } -} \ No newline at end of file +} diff --git a/bonus-framework/src/main/java/com/bonus/framework/security/filter/JwtAuthenticationTokenFilter.java b/bonus-framework/src/main/java/com/bonus/framework/security/filter/JwtAuthenticationTokenFilter.java index 5b2df44..bd244f9 100644 --- a/bonus-framework/src/main/java/com/bonus/framework/security/filter/JwtAuthenticationTokenFilter.java +++ b/bonus-framework/src/main/java/com/bonus/framework/security/filter/JwtAuthenticationTokenFilter.java @@ -19,27 +19,63 @@ import com.bonus.common.utils.StringUtils; /** * token过滤器 验证token有效性 - * + * 支持从请求头和请求参数中获取token + * * @author ruoyi */ @Component -public class JwtAuthenticationTokenFilter extends OncePerRequestFilter -{ +public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { @Autowired private TokenService tokenService; + // Token在请求头中的名称 + private static final String AUTH_HEADER = "Authorization"; + // Token在请求参数中的名称 + private static final String AUTH_PARAM = "token"; + // Bearer token前缀 + private static final String BEARER_PREFIX = "Bearer "; + @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) - throws ServletException, IOException - { - LoginUser loginUser = tokenService.getLoginUser(request); - if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())) - { - tokenService.verifyToken(loginUser); - UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities()); - authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); - SecurityContextHolder.getContext().setAuthentication(authenticationToken); + throws ServletException, IOException { + // 从多个来源获取token + String token = getTokenFromRequest(request); + + if (StringUtils.isNotEmpty(token)) { + LoginUser loginUser = tokenService.getLoginUser(token); + if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())) { + tokenService.verifyToken(loginUser); + UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities()); + authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); + SecurityContextHolder.getContext().setAuthentication(authenticationToken); + } } chain.doFilter(request, response); } + + /** + * 从请求中获取token,支持多种方式: + * 1. 请求头 Authorization: Bearer {token} + * 2. 请求参数 token={token} + * + * @param request HTTP请求 + * @return token字符串 + */ + private String getTokenFromRequest(HttpServletRequest request) { + String token = null; + + // 方式1:从Authorization请求头中获取 + String authHeader = request.getHeader(AUTH_HEADER); + if (StringUtils.isNotEmpty(authHeader) && authHeader.startsWith(BEARER_PREFIX)) { + token = authHeader.substring(BEARER_PREFIX.length()); + } + + // 方式2:从请求参数中获取(如果请求头中没有找到) + if (StringUtils.isEmpty(token)) { + token = request.getParameter(AUTH_PARAM); + } + + return token; + } + } diff --git a/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java b/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java index 80ef865..4751605 100644 --- a/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java +++ b/bonus-framework/src/main/java/com/bonus/framework/web/service/TokenService.java @@ -25,7 +25,7 @@ import io.jsonwebtoken.SignatureAlgorithm; /** * token验证处理 - * + * * @author ruoyi */ @Component @@ -56,7 +56,7 @@ public class TokenService /** * 获取用户身份信息 - * + * * @return 用户信息 */ public LoginUser getLoginUser(HttpServletRequest request) @@ -81,6 +81,27 @@ public class TokenService } return null; } + public LoginUser getLoginUser(String token) + { + // 获取请求携带的令牌 + if (StringUtils.isNotEmpty(token)) + { + try + { + Claims claims = parseToken(token); + // 解析对应的权限以及用户信息 + String uuid = (String) claims.get(Constants.LOGIN_USER_KEY); + String userKey = getTokenKey(uuid); + LoginUser user = redisCache.getCacheObject(userKey); + return user; + } + catch (Exception e) + { + log.error("获取用户信息异常'{}'", e.getMessage()); + } + } + return null; + } /** * 设置用户身份信息 @@ -107,7 +128,7 @@ public class TokenService /** * 创建令牌 - * + * * @param loginUser 用户信息 * @return 令牌 */ @@ -126,7 +147,7 @@ public class TokenService /** * 验证令牌有效期,相差不足20分钟,自动刷新缓存 - * + * * @param loginUser 登录信息 * @return 令牌 */ @@ -142,7 +163,7 @@ public class TokenService /** * 刷新令牌有效期 - * + * * @param loginUser 登录信息 */ public void refreshToken(LoginUser loginUser) @@ -156,7 +177,7 @@ public class TokenService /** * 设置用户代理信息 - * + * * @param loginUser 登录信息 */ public void setUserAgent(LoginUser loginUser) diff --git a/water-design-const/pom.xml b/water-design-const/pom.xml index f498e19..fef4475 100644 --- a/water-design-const/pom.xml +++ b/water-design-const/pom.xml @@ -67,11 +67,6 @@ com.bonus bonus-system - - com.bonus - water-design-const - 3.8.9 - com.fasterxml.jackson.core jackson-databind diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/controller/utils/FileUtils.java b/water-design-const/src/main/java/com/bonus/waterdesign/controller/utils/FileUtils.java new file mode 100644 index 0000000..2793097 --- /dev/null +++ b/water-design-const/src/main/java/com/bonus/waterdesign/controller/utils/FileUtils.java @@ -0,0 +1,62 @@ +package com.bonus.waterdesign.controller.utils; + +import com.bonus.waterdesign.domain.FileDto; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.PostConstruct; +import java.io.File; +import java.io.IOException; +import java.util.*; + +/** + * 文件处理工具类 + * + * @author bonus + */ +@Component +public class FileUtils { + + private static String UPLOAD_DIR; + + @Value("${ruoyi.profile}") + private String uploadDir; + + @PostConstruct + public void init() { + UPLOAD_DIR = uploadDir; + } + public FileDto upload(MultipartFile file) throws IOException { + FileDto bean = new FileDto(); + if (file != null && !file.isEmpty()) { + // 验证文件类型 + String originalFileName = file.getOriginalFilename(); + + String fileExtension = originalFileName != null ? originalFileName.split("\\.")[1] : ""; + File targetDir = new File(UPLOAD_DIR); + if (!targetDir.exists()) { + targetDir.mkdirs(); + } + String fileName = file.getOriginalFilename(); + // 构建本地存储路径 + File uploadDir = new File(UPLOAD_DIR, "file"); + if (!uploadDir.exists()) { + uploadDir.mkdirs(); + } + + File targetFile = new File(uploadDir, fileName); + file.transferTo(targetFile); + + // 存储相对路径(统一使用 "/",不使用 File.separator) + String relativePath = "/file/" + fileName; + bean.setFilePath(relativePath); + bean.setFileName(fileName); + bean.setSuffixName(fileExtension); + return bean; + } else { + return bean; + } + + } +} diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java index 1e14533..01c8e93 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java @@ -12,6 +12,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -30,12 +32,23 @@ public class ModelController extends BaseController { */ @PreAuthorize("@ss.hasPermi('model:list')") @GetMapping("/list") - public TableDataInfo list(ProjectVo model) - { + public TableDataInfo list(ProjectVo model) { List list = modelService.list(model); return getDataTable(list); } + @GetMapping("/listSelect") + public AjaxResult listSelect(ProjectVo model) { + List list = modelService.list(model); + List list1 = new ArrayList<>(); + for (ProjectVo projectVo : list) { + if (projectVo.getNodelevel().equals(projectVo.getNodeCount().toString())) { + list1.add(projectVo); + } + } + return AjaxResult.success(list1); + } + /** * 新增模型 */ @@ -60,6 +73,27 @@ public class ModelController extends BaseController { } + @PostMapping("/openAllView") + public AjaxResult openAllView(@RequestBody PeojectNodes node) throws FactoryException, TransformException { + ProjectVo model = new ProjectVo(); + List ids = new ArrayList<>(); + model.setProjectId(node.getProjectId()); + List list = modelService.list(model); + for (ProjectVo projectVo : list) { + if (projectVo.getNodelevel().equals(projectVo.getNodeCount().toString())) { + ids.add(projectVo.getId()); + } + } + if (ids.size() > 0) { + node.setIds(ids); + } else return AjaxResult.success(new ArrayList<>()); + + //获取所有的节点信息 + List listData = modelService.openAllView(node); + //返回list信息给前台 + return AjaxResult.success(listData); + + } @PostMapping("/delete") public AjaxResult delete(@RequestBody PeojectNodes node) { diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ProjectController.java b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ProjectController.java index 8d1438c..fc76e47 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ProjectController.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ProjectController.java @@ -40,6 +40,12 @@ public class ProjectController extends BaseController { List list = projectService.selectProjectList(project); return getDataTable(list); } + @GetMapping("/listApp") + public AjaxResult listApp(Project project) { +// project.setCreateBy(getUserId().toString()); + List list = projectService.selectProjectList(project); + return AjaxResult.success(list); + } /** * 获取项目下拉框 diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/SurveyController.java b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/SurveyController.java index 6c61edd..8e47062 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/SurveyController.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/SurveyController.java @@ -5,8 +5,10 @@ import com.bonus.common.core.controller.BaseController; import com.bonus.common.core.domain.AjaxResult; import com.bonus.common.core.page.TableDataInfo; import com.bonus.common.enums.BusinessType; -import com.bonus.common.utils.file.FileUploadUtils; +import com.bonus.common.utils.DateUtils; import com.bonus.common.utils.poi.ExcelUtil; +import com.bonus.waterdesign.controller.utils.FileUtils; +import com.bonus.waterdesign.domain.FileDto; import com.bonus.waterdesign.domain.Survey; import com.bonus.waterdesign.service.SurveyService; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +33,9 @@ public class SurveyController extends BaseController { @Autowired private SurveyService surveyService; + @Autowired + private FileUtils fileUtils; + /** * 获取勘查列表 */ @@ -77,8 +82,20 @@ public class SurveyController extends BaseController { @PreAuthorize("@ss.hasPermi('basic:survey:add')") @Log(title = "勘查管理", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@Validated @RequestBody Survey survey) { + public AjaxResult add(@RequestPart("file") MultipartFile file, + @RequestParam("projectId") String projectId, + @RequestParam("type") String type, + @RequestParam("selectedNodeId") String selectedNodeId, + @RequestParam("selectedNodeName") String selectedNodeName) throws IOException { + FileDto upload = fileUtils.upload(file); + Survey survey = new Survey(); survey.setCreateBy(getUsername()); + survey.setSurveyUser(getUsername()); + survey.setSurveyTime(DateUtils.getDate()); + survey.setProId(Long.parseLong(projectId)); + survey.setModelId(selectedNodeId); + survey.setModelName(selectedNodeName); + survey.setSurveyAttach(upload.getFilePath()); return toAjax(surveyService.insertSurvey(survey)); } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/domain/CadData.java b/water-design-const/src/main/java/com/bonus/waterdesign/domain/CadData.java index f9847ae..70bc3d9 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/domain/CadData.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/domain/CadData.java @@ -39,6 +39,7 @@ public class CadData { * 多点坐标(适用于 LWPOLYLINE) */ private String points; + private String nodeId; /** * 完整 geometry JSON(备份原始结构) diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/domain/FileDto.java b/water-design-const/src/main/java/com/bonus/waterdesign/domain/FileDto.java new file mode 100644 index 0000000..fbbca66 --- /dev/null +++ b/water-design-const/src/main/java/com/bonus/waterdesign/domain/FileDto.java @@ -0,0 +1,21 @@ +package com.bonus.waterdesign.domain; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author:liang.chao + * @Date:2025/9/17 - 13:56 + */ +@Data +public class FileDto { + // 文件名称 + private String fileName; + // 文件路径 + private String filePath; + // 文件类型 1.图片 2.视频 + private String fileType; + // 文件后缀名 + private String suffixName; +} diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/domain/PeojectNodes.java b/water-design-const/src/main/java/com/bonus/waterdesign/domain/PeojectNodes.java index 5776709..e6a10b5 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/domain/PeojectNodes.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/domain/PeojectNodes.java @@ -3,6 +3,8 @@ package com.bonus.waterdesign.domain; import lombok.Data; +import java.util.List; + @Data public class PeojectNodes { @@ -11,6 +13,7 @@ public class PeojectNodes { private String proName; private String id; + private List ids; private String level; diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java index 040d607..8003f0b 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java @@ -4,6 +4,7 @@ import com.bonus.waterdesign.domain.CadData; import com.bonus.waterdesign.domain.Model; import com.bonus.waterdesign.domain.PeojectNodes; import com.bonus.waterdesign.domain.ProjectVo; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -19,4 +20,6 @@ public interface ModelMapper { boolean update(PeojectNodes node); List openView(PeojectNodes node); + + List openAllView(@Param("ids") List ids); } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java b/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java index 553dd1b..3471ab3 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java @@ -18,4 +18,5 @@ public interface ModelService { boolean update(PeojectNodes node); List openView(PeojectNodes node) throws FactoryException, TransformException; + List openAllView(PeojectNodes node) throws FactoryException, TransformException; } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java index e2835c2..6b7995a 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java @@ -10,6 +10,8 @@ import com.bonus.waterdesign.mapper.ProjectMapper; import com.bonus.waterdesign.service.ModelService; import lombok.extern.slf4j.Slf4j; import org.locationtech.proj4j.*; +import org.opengis.referencing.FactoryException; +import org.opengis.referencing.operation.TransformException; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -222,4 +224,90 @@ public class ModelServiceImpl implements ModelService { } return cadData; } + + @Override + public List openAllView(PeojectNodes node) throws FactoryException, TransformException { + List cadData = modelMapper.openAllView(node.getIds()); + try { + CRSFactory crsFactory = new CRSFactory(); + CoordinateTransformFactory ctFactory = new CoordinateTransformFactory(); + + // 定义坐标系(CGCS2000 GK Zone 20 → WGS84) + CoordinateReferenceSystem gkZone20 = crsFactory.createFromParameters("EPSG:4498", + "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"); + CoordinateReferenceSystem wgs84 = crsFactory.createFromName("EPSG:4326"); + + CoordinateTransform transform = ctFactory.createTransform(gkZone20, wgs84); + + for (CadData cadDatum : cadData) { + String geometry = cadDatum.getGeometry(); + JSONObject jsonObject = JSON.parseObject(geometry); + if (jsonObject.get("type").equals("LINE")) { + JSONArray startArray = jsonObject.getJSONArray("start"); + JSONArray endArray = jsonObject.getJSONArray("end"); + // 获取第一个元素(X坐标) + double x = startArray.getDouble(0); + // 获取第二个元素(Y坐标) + double y = startArray.getDouble(1); + // 获取第一个元素(X坐标) + double x1 = endArray.getDouble(0); + // 获取第二个元素(Y坐标) + double y1 = endArray.getDouble(1); + + // 原始坐标 + ProjCoordinate startGk = new ProjCoordinate(x, y); + ProjCoordinate endGk = new ProjCoordinate(x1, y1); + + // 转换 + ProjCoordinate startWgs84 = new ProjCoordinate(); + ProjCoordinate endWgs84 = new ProjCoordinate(); + transform.transform(startGk, startWgs84); + transform.transform(endGk, endWgs84); + + startArray.set(0, startWgs84.x); + startArray.set(1, startWgs84.y); + endArray.set(0, endWgs84.x); + endArray.set(1, endWgs84.y); + cadDatum.setGeometry(jsonObject.toString()); + } + if (jsonObject.get("type").equals("LWPOLYLINE")) { + JSONArray pointsArray = jsonObject.getJSONArray("points"); + for (int i = 0; i < pointsArray.size(); i++) { + JSONArray point = pointsArray.getJSONArray(i); + double x = point.getDouble(0); + double y = point.getDouble(1); + + // 原始坐标 + ProjCoordinate pointstGk = new ProjCoordinate(x, y); + + // 转换 + ProjCoordinate pointstGkWgs84 = new ProjCoordinate(); + transform.transform(pointstGk, pointstGkWgs84); + + point.set(0, pointstGkWgs84.x); + point.set(1, pointstGkWgs84.y); + } + cadDatum.setGeometry(jsonObject.toString()); + } + if (jsonObject.get("type").equals("CIRCLE")) { + JSONArray centerArray = jsonObject.getJSONArray("center"); + // 获取第一个元素(X坐标) + double x = centerArray.getDouble(0); + // 获取第二个元素(Y坐标) + double y = centerArray.getDouble(1); + // 原始坐标 + ProjCoordinate startGk = new ProjCoordinate(x, y); + ProjCoordinate startWgs84 = new ProjCoordinate(); + transform.transform(startGk, startWgs84); + centerArray.set(0, startWgs84.x); + centerArray.set(1, startWgs84.y); + cadDatum.setGeometry(jsonObject.toString()); + } + + } + } catch (Exception e) { + e.printStackTrace(); + } + return cadData; + } } diff --git a/water-design-const/src/main/resources/mapper/ModelMapper.xml b/water-design-const/src/main/resources/mapper/ModelMapper.xml index 941cdd6..b8b8861 100644 --- a/water-design-const/src/main/resources/mapper/ModelMapper.xml +++ b/water-design-const/src/main/resources/mapper/ModelMapper.xml @@ -159,4 +159,26 @@ WHERE project_id = #{id} +