From 87771f26535d6216e253387e82346bdbfe2097b6 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Mon, 3 Jul 2023 16:57:13 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=8F=AF=E8=A7=86=E5=8C=96=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kicc/common/datasource/util/ConnUtil.java | 5 +- .../api/bigscreen/dto/DynamicModelDto.java | 26 +++ .../controller/VisualCategoryController.java | 103 +++------ .../controller/VisualComponentController.java | 106 +++------- .../controller/VisualController.java | 157 ++++---------- .../controller/VisualDbController.java | 146 ++++--------- .../controller/VisualMapController.java | 109 +++------- .../controller/VisualProxyController.java | 74 +++---- .../controller/VisualRecordController.java | 106 +++------- .../service/IVisualCategoryService.java | 35 +-- .../service/IVisualComponentService.java | 37 +--- .../bigscreen/service/IVisualDbService.java | 4 +- .../bigscreen/service/IVisualMapService.java | 5 +- .../impl/VisualCategoryServiceImpl.java | 44 ++-- .../impl/VisualComponentServiceImpl.java | 37 +--- .../service/impl/VisualConfigServiceImpl.java | 34 +-- .../service/impl/VisualDbServiceImpl.java | 57 +++-- .../service/impl/VisualServiceImpl.java | 5 +- .../bigscreen/util/PlaceholderUtil.java | 155 ++++++++++++++ .../kicc/commonbiz/util/BaiduMapUtils.java | 103 --------- .../kicc/commonbiz/util/GpsGaoAndBaidu.java | 200 ------------------ .../com/cloud/kicc/commonbiz/util/Point.java | 39 ---- .../kicc/commonbiz/util/RequestUtil.java | 162 ++++++++++++++ .../src/main/resources/bootstrap.yml | 6 +- 24 files changed, 634 insertions(+), 1121 deletions(-) create mode 100644 kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/bigscreen/dto/DynamicModelDto.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/util/PlaceholderUtil.java delete mode 100644 kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/BaiduMapUtils.java delete mode 100644 kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/GpsGaoAndBaidu.java delete mode 100644 kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/Point.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/RequestUtil.java diff --git a/kicc-common/kicc-common-datasource/src/main/java/com/cloud/kicc/common/datasource/util/ConnUtil.java b/kicc-common/kicc-common-datasource/src/main/java/com/cloud/kicc/common/datasource/util/ConnUtil.java index 89bc84d8..322cf4ec 100644 --- a/kicc-common/kicc-common-datasource/src/main/java/com/cloud/kicc/common/datasource/util/ConnUtil.java +++ b/kicc-common/kicc-common-datasource/src/main/java/com/cloud/kicc/common/datasource/util/ConnUtil.java @@ -1,5 +1,7 @@ package com.cloud.kicc.common.datasource.util; +import lombok.SneakyThrows; + import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -17,7 +19,8 @@ public class ConnUtil { /** * 测试数据库链接 */ - public static Boolean dbTest(String driverClass, String url, String username, String password) throws Exception { + @SneakyThrows + public static Boolean dbTest(String driverClass, String url, String username, String password) { Connection conn = null; try { //测试驱动类 diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/bigscreen/dto/DynamicModelDto.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/bigscreen/dto/DynamicModelDto.java new file mode 100644 index 00000000..62251e0f --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/bigscreen/dto/DynamicModelDto.java @@ -0,0 +1,26 @@ +package com.cloud.kicc.commonbiz.api.bigscreen.dto; + +import lombok.Data; + +/** + *

+ * 动态SQL + *

+ * + * @Author: wangxiang4 + * @since: 2023/7/3 + */ +@Data +public class DynamicModelDto { + + /** + * 数据源ID + */ + private String id; + + /** + * sql脚本 + */ + private String sql; + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualCategoryController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualCategoryController.java index 42db41df..fe7b6f93 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualCategoryController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualCategoryController.java @@ -1,131 +1,78 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.controller; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualCategory; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualCategoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; -import org.springblade.common.constant.LauncherConstant; -import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.Func; -import org.springblade.modules.visual.entity.VisualCategory; -import org.springblade.modules.visual.service.IVisualCategoryService; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.Arrays; import java.util.List; -*/ /** + *

* 可视化分类表 控制器 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @RestController @AllArgsConstructor -@RequestMapping(LauncherConstant.APPLICATION_VISUAL_NAME + "/category") +@RequestMapping(AppConstants.APP_COMMON + "/visual/category") @Api(value = "可视化分类表", tags = "可视化分类接口") -public class VisualCategoryController extends BladeController { +public class VisualCategoryController { private final IVisualCategoryService visualCategoryService; - */ -/** - * 详情 - *//* @GetMapping("/detail") - @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入visualCategory") public R detail(VisualCategory visualCategory) { - VisualCategory detail = visualCategoryService.getOne(Condition.getQueryWrapper(visualCategory)); - return R.data(detail); + VisualCategory detail = visualCategoryService.getOne(Wrappers.lambdaQuery()); + return R.ok(detail); } - */ -/** - * 列表 可视化分类表 - *//* @GetMapping("/list") - @ApiOperationSupport(order = 2) @ApiOperation(value = "列表", notes = "传入visualCategory") public R> list(VisualCategory visualCategory) { - List list = visualCategoryService.list(Condition.getQueryWrapper(visualCategory)); - return R.data(list); + List list = visualCategoryService.list(Wrappers.lambdaQuery()); + return R.ok(list); } - */ -/** - * 分页 可视化分类表 - *//* - @GetMapping("/page") - @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入visualCategory") - public R> page(VisualCategory visualCategory, Query query) { - IPage pages = visualCategoryService.page(Condition.getPage(query), Condition.getQueryWrapper(visualCategory)); - return R.data(pages); + public R> page(Page page, VisualCategory visualCategory) { + IPage pages = visualCategoryService.page(page, Wrappers.lambdaQuery()); + return R.ok(pages); } - */ -/** - * 新增 可视化分类表 - *//* - @PostMapping("/save") - @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入visualCategory") public R save(@Valid @RequestBody VisualCategory visualCategory) { - return R.status(visualCategoryService.submit(visualCategory)); + return R.ok(visualCategoryService.submit(visualCategory)); } - */ -/** - * 修改 可视化分类表 - *//* - @PostMapping("/update") - @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入visualCategory") public R update(@Valid @RequestBody VisualCategory visualCategory) { - return R.status(visualCategoryService.submit(visualCategory)); + return R.ok(visualCategoryService.submit(visualCategory)); } - */ -/** - * 删除 可视化分类表 - *//* - @PostMapping("/remove") - @ApiOperationSupport(order = 6) @ApiOperation(value = "删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(visualCategoryService.removeByIds(Func.toLongList(ids))); + return R.ok(visualCategoryService.removeByIds(Arrays.asList(StrUtil.join(",", ids)))); } - } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualComponentController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualComponentController.java index 8f8ca242..3a770149 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualComponentController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualComponentController.java @@ -1,134 +1,80 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.controller; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualComponentDto; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualComponent; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualComponentService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; -import org.springblade.common.constant.LauncherConstant; -import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.tool.api.R; -import org.springblade.core.tool.jackson.JsonUtil; -import org.springblade.core.tool.utils.Func; -import org.springblade.modules.visual.dto.VisualComponentDTO; -import org.springblade.modules.visual.entity.VisualComponent; -import org.springblade.modules.visual.service.IVisualComponentService; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.Arrays; import java.util.Map; -*/ /** + *

* 可视化组件表 控制器 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @RestController @AllArgsConstructor -@RequestMapping(LauncherConstant.APPLICATION_VISUAL_NAME + "/component") +@RequestMapping(AppConstants.APP_COMMON + "/visual/component") @Api(value = "可视化组件表", tags = "可视化组件接口") -public class VisualComponentController extends BladeController { +public class VisualComponentController { private final IVisualComponentService visualComponentService; - */ -/** - * 详情 - *//* @GetMapping("/detail") - @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入visualComponent") public R detail(VisualComponent visualComponent) { - VisualComponent detail = visualComponentService.getOne(Condition.getQueryWrapper(visualComponent)); - return R.data(detail); + VisualComponent detail = visualComponentService.getOne(Wrappers.lambdaQuery()); + return R.ok(detail); } - */ -/** - * 数据详情 - *//* - @GetMapping("/content") - @ApiOperationSupport(order = 2) @ApiOperation(value = "组件详情", notes = "传入id") public Map content(Long id) { VisualComponent detail = visualComponentService.getById(id); - return JsonUtil.toMap(detail.getContent()); + return JSONUtil.toBean(detail.getContent(), Map.class); } - */ -/** - * 自定义分页 可视化组件表 - *//* - @GetMapping("/list") - @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入visualComponent") - public R> list(VisualComponentDTO visualComponent, Query query) { - IPage pages = visualComponentService.selectVisualComponentPage(Condition.getPage(query), visualComponent); - return R.data(pages); + public R> list(Page page, VisualComponentDto visualComponent) { + IPage pages = visualComponentService.selectVisualComponentPage(page, visualComponent); + return R.ok(pages); } - */ -/** - * 新增 可视化组件表 - *//* @PostMapping("/save") - @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入visualComponent") public R save(@Valid @RequestBody VisualComponent visualComponent) { - return R.status(visualComponentService.save(visualComponent)); + return R.ok(visualComponentService.save(visualComponent)); } - */ -/** - * 修改 可视化组件表 - *//* - @PostMapping("/update") - @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入visualComponent") public R update(@Valid @RequestBody VisualComponent visualComponent) { - return R.status(visualComponentService.updateById(visualComponent)); + return R.ok(visualComponentService.updateById(visualComponent)); } - - */ -/** - * 删除 可视化组件表 - *//* - @PostMapping("/remove") - @ApiOperationSupport(order = 6) @ApiOperation(value = "删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(visualComponentService.removeByIds(Func.toLongList(ids))); + return R.ok(visualComponentService.removeByIds(Arrays.asList(StrUtil.join(",", ids)))); } - } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualController.java index 181acc1e..f892b633 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualController.java @@ -1,181 +1,100 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.controller; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualDto; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.Visual; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualCategory; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualCategoryService; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; -import lombok.SneakyThrows; -import org.springblade.common.constant.LauncherConstant; -import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.oss.OssTemplate; -import org.springblade.core.oss.model.BladeFile; -import org.springblade.core.tool.api.R; -import org.springblade.core.tool.support.Kv; -import org.springblade.core.tool.utils.Func; -import org.springblade.modules.visual.dto.VisualDTO; -import org.springblade.modules.visual.entity.Visual; -import org.springblade.modules.visual.entity.VisualCategory; -import org.springblade.modules.visual.log.DataLog; -import org.springblade.modules.visual.service.IVisualCategoryService; -import org.springblade.modules.visual.service.IVisualService; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; -*/ /** + *

* 可视化表 控制器 + *

* - * @author Chill - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @RestController @AllArgsConstructor -@RequestMapping(LauncherConstant.APPLICATION_VISUAL_NAME + "/visual") +@RequestMapping(AppConstants.APP_COMMON + "/visual") @Api(value = "可视化表", tags = "可视化数据接口") -public class VisualController extends BladeController { +public class VisualController { private final IVisualService visualService; private final IVisualCategoryService categoryService; - private final OssTemplate ossTemplate; - */ -/** - * 详情 - *//* - @DataLog("大屏详情") @GetMapping("/detail") - @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入visual") - public R detail(@RequestParam Long id) { - VisualDTO detail = visualService.detail(id); - return R.data(detail); + public R detail(@RequestParam String id) { + VisualDto detail = visualService.detail(id); + return R.ok(detail); } - */ -/** - * 分页 可视化表 - *//* - - @DataLog("大屏列表") @GetMapping("/list") - @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入visual") - public R> list(Visual visual, Query query) { - IPage pages = visualService.page(Condition.getPage(query), Condition.getQueryWrapper(visual)); - return R.data(pages); + public R> list(Page page, Visual visual) { + IPage pages = visualService.page(page, Wrappers.lambdaQuery()); + return R.ok(pages); } - */ -/** - * 新增 可视化表 - *//* - - @DataLog("大屏新增") @PostMapping("/save") - @ApiOperationSupport(order = 3) @ApiOperation(value = "新增", notes = "传入visual") - public R save(@Valid @RequestBody VisualDTO visual) { + public R save(@Valid @RequestBody VisualDto visual) { boolean temp = visualService.saveVisual(visual); if (temp) { - Long id = visual.getVisual().getId(); - return R.data(Kv.create().set("id", String.valueOf(id))); + String id = visual.getVisual().getId(); + Map map = new HashMap(); + map.put("id", String.valueOf(id)); + return R.ok(map); } else { - return R.status(false); + return R.error(false); } } - */ -/** - * 修改 可视化表 - *//* - @DataLog("大屏修改") @PostMapping("/update") - @ApiOperationSupport(order = 4) @ApiOperation(value = "修改", notes = "传入visual") - public R update(@Valid @RequestBody VisualDTO visual) { - return R.status(visualService.updateVisual(visual)); + public R update(@Valid @RequestBody VisualDto visual) { + return R.ok(visualService.updateVisual(visual)); } - - */ -/** - * 删除 可视化表 - *//* - - @DataLog("大屏删除") @PostMapping("/remove") - @ApiOperationSupport(order = 5) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(visualService.deleteLogic(Func.toLongList(ids))); + return R.ok(visualService.removeByIds(Arrays.asList(StrUtil.join(",", ids)))); } - */ -/** - * 复制 可视化表 - *//* - @DataLog("大屏复制") @PostMapping("/copy") - @ApiOperationSupport(order = 6) @ApiOperation(value = "复制", notes = "传入id") - public R copy(@ApiParam(value = "主键集合", required = true) @RequestParam Long id) { - return R.data(visualService.copyVisual(id)); + public R copy(@ApiParam(value = "主键集合", required = true) @RequestParam String id) { + return R.ok(visualService.copyVisual(id)); } - */ -/** - * 获取分类 - *//* @GetMapping("category") - @ApiOperationSupport(order = 7) @ApiOperation(value = "获取类型") public R category() { List list = categoryService.list(); - return R.data(list); - } - - */ -/** - * 上传文件 - *//* - - @DataLog("资源上传") - @SneakyThrows - @PostMapping("/put-file") - @ApiOperationSupport(order = 8) - @ApiOperation(value = "上传", notes = "传入文件") - public R putFile(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) { - BladeFile bladeFile = ossTemplate.putFile(file); - return R.data(bladeFile); + return R.ok(list); } } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualDbController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualDbController.java index fe0fb0bc..52d3f859 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualDbController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualDbController.java @@ -1,185 +1,113 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.controller; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.common.core.exception.CheckedException; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.DynamicModelDto; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualDbDto; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualDb; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualDbService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; -import org.springblade.common.constant.LauncherConstant; -import org.springblade.core.api.crypto.annotation.decrypt.ApiDecryptAes; -import org.springblade.core.log.exception.ServiceException; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.Func; -import org.springblade.modules.visual.dto.VisualDbDTO; -import org.springblade.modules.visual.dynamic.DynamicModel; -import org.springblade.modules.visual.entity.VisualDb; -import org.springblade.modules.visual.service.IVisualDbService; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; -*/ + /** + *

* 数据源表 控制器 + *

* - * @author Chill - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @RestController @AllArgsConstructor -@RequestMapping(LauncherConstant.APPLICATION_VISUAL_NAME + "/db") +@RequestMapping(AppConstants.APP_COMMON + "/visual/db") @Api(value = "可视化数据源配置表", tags = "可视化数据源配置接口") public class VisualDbController { private final IVisualDbService visualDbService; - */ -/** - * 详情 - *//* - @GetMapping("/detail") - @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入datasource") public R detail(VisualDb db) { - VisualDb detail = visualDbService.getOne(Condition.getQueryWrapper(db)); - return R.data(detail); + VisualDb detail = visualDbService.getOne(Wrappers.lambdaQuery()); + return R.ok(detail); } - */ -/** - * 分页 数据源配置表 - *//* @GetMapping("/list") - @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入datasource") - public R> list(VisualDb db, Query query) { - IPage pages = visualDbService.page(Condition.getPage(query), Condition.getQueryWrapper(db)); - return R.data(pages); + public R> list(Page page, VisualDb db) { + IPage pages = visualDbService.page(page, Wrappers.lambdaQuery()); + return R.ok(pages); } - */ -/** - * 新增 数据源配置表 - *//* - @PostMapping("/save") - @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入datasource") public R save(@Valid @RequestBody VisualDb db) { db.setUrl(db.getUrl().replace("&", "&")); if (visualDbService.dbTest(db)) { - return R.status(visualDbService.save(db)); + return R.ok(visualDbService.save(db)); } - throw new ServiceException("系统检测数据库未能连通,请检查配置"); + throw new CheckedException("系统检测数据库未能连通,请检查配置"); } - */ -/** - * 修改 数据源配置表 - *//* - @PostMapping("/update") - @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入datasource") public R update(@Valid @RequestBody VisualDb db) { db.setUrl(db.getUrl().replace("&", "&")); if (visualDbService.dbTest(db)) { - return R.status(visualDbService.updateById(db)); + return R.ok(visualDbService.updateById(db)); } - throw new ServiceException("系统检测数据库未能连通,请检查配置"); + throw new CheckedException("系统检测数据库未能连通,请检查配置"); } - */ -/** - * 新增或修改 数据源配置表 - *//* - @PostMapping("/submit") - @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入datasource") public R submit(@Valid @RequestBody VisualDb db) { db.setUrl(db.getUrl().replace("&", "&")); if (visualDbService.dbTest(db)) { - return R.status(visualDbService.saveOrUpdate(db)); + return R.ok(visualDbService.saveOrUpdate(db)); } - throw new ServiceException("系统检测数据库未能连通,请检查配置"); + throw new CheckedException("系统检测数据库未能连通,请检查配置"); } - - */ -/** - * 删除 数据源配置表 - *//* - @PostMapping("/remove") - @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(visualDbService.deleteLogic(Func.toLongList(ids))); + return R.ok(visualDbService.removeByIds(Arrays.asList(StrUtil.join(",", ids)))); } - */ -/** - * 数据源测试连接 - *//* - - @ApiDecryptAes @PostMapping("/db-test") - @ApiOperationSupport(order = 8) @ApiOperation(value = "数据源测试连接", notes = "数据源测试连接") public R dbTest(@RequestBody VisualDb db) { - return R.status(visualDbService.dbTest(db)); + return R.ok(visualDbService.dbTest(db)); } - */ -/** - * 数据源列表 - *//* - @GetMapping("/db-list") - @ApiOperationSupport(order = 9) @ApiOperation(value = "下拉数据源", notes = "数据源列表") - public R> dbList() { - return R.data(visualDbService.dbList()); + public R> dbList() { + return R.ok(visualDbService.dbList()); } - */ -/** - * 动态执行SQL - *//* - - @ApiDecryptAes @PostMapping("dynamic-query") - @ApiOperationSupport(order = 10) @ApiOperation(value = "动态执行SQL", notes = "动态执行SQL") - public R dynamicQuery(@RequestBody DynamicModel model) { - List> linkedHashMaps = visualDbService.dynamicQuery(model.getId(), model.getSql()); - return R.data(linkedHashMaps); + public R dynamicQuery(@RequestBody DynamicModelDto model) { + VisualDb visualDb = visualDbService.getById(model.getId()); + List> linkedHashMaps = visualDbService.dynamicQuery(visualDb, model.getSql()); + return R.ok(linkedHashMaps); } } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualMapController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualMapController.java index 75b5b825..e8a77f24 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualMapController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualMapController.java @@ -1,134 +1,81 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.controller; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualMapDto; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualMap; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualMapService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; -import org.springblade.common.constant.LauncherConstant; -import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.tool.api.R; -import org.springblade.core.tool.jackson.JsonUtil; -import org.springblade.core.tool.utils.Func; -import org.springblade.modules.visual.dto.VisualMapDTO; -import org.springblade.modules.visual.entity.VisualMap; -import org.springblade.modules.visual.service.IVisualMapService; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.Arrays; import java.util.Map; -*/ + /** + *

* 可视化地图配置表 控制器 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @RestController @AllArgsConstructor -@RequestMapping(LauncherConstant.APPLICATION_VISUAL_NAME + "/map") +@RequestMapping(AppConstants.APP_COMMON + "/visual/map") @Api(value = "可视化地图配置表", tags = "可视化地图配置接口") -public class VisualMapController extends BladeController { +public class VisualMapController { private final IVisualMapService visualMapService; - */ -/** - * 详情 - *//* - @GetMapping("/detail") - @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入visualMap") public R detail(VisualMap visualMap) { - VisualMap detail = visualMapService.getOne(Condition.getQueryWrapper(visualMap)); - return R.data(detail); + VisualMap detail = visualMapService.getOne(Wrappers.lambdaQuery()); + return R.ok(detail); } - */ -/** - * 数据详情 - *//* - @GetMapping("/data") - @ApiOperationSupport(order = 2) @ApiOperation(value = "数据详情", notes = "传入id") - public Map data(Long id) { + public Map data(String id) { VisualMap detail = visualMapService.getById(id); - return JsonUtil.toMap(detail.getData()); + return JSONUtil.toBean(detail.getData(), Map.class); } - */ -/** - * 自定义分页 可视化地图配置表 - *//* - @GetMapping("/list") - @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入visualMap") - public R> list(VisualMapDTO visualMap, Query query) { - IPage pages = visualMapService.selectVisualMapPage(Condition.getPage(query), visualMap); - return R.data(pages); + public R> list(Page page, VisualMapDto visualMap) { + IPage pages = visualMapService.selectVisualMapPage(page, visualMap); + return R.ok(pages); } - */ -/** - * 新增 可视化地图配置表 - *//* - @PostMapping("/save") - @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入visualMap") public R save(@Valid @RequestBody VisualMap visualMap) { - return R.status(visualMapService.save(visualMap)); + return R.ok(visualMapService.save(visualMap)); } - */ -/** - * 修改 可视化地图配置表 - *//* - @PostMapping("/update") - @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入visualMap") public R update(@Valid @RequestBody VisualMap visualMap) { - return R.status(visualMapService.updateById(visualMap)); + return R.ok(visualMapService.updateById(visualMap)); } - */ -/** - * 删除 可视化地图配置表 - *//* - @PostMapping("/remove") - @ApiOperationSupport(order = 6) @ApiOperation(value = "删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(visualMapService.removeByIds(Func.toLongList(ids))); + return R.ok(visualMapService.removeByIds(Arrays.asList(StrUtil.join(",", ids)))); } } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualProxyController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualProxyController.java index c734e016..743b90ff 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualProxyController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualProxyController.java @@ -1,37 +1,19 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.controller; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.BooleanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.common.core.constant.StringPool; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualProxyDto; +import com.cloud.kicc.commonbiz.util.RequestUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springblade.common.constant.LauncherConstant; -import org.springblade.common.tool.RequestUtil; -import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.tool.jackson.JsonUtil; -import org.springblade.core.tool.support.Kv; -import org.springblade.core.tool.utils.CollectionUtil; -import org.springblade.core.tool.utils.Func; -import org.springblade.core.tool.utils.StringPool; -import org.springblade.core.tool.utils.StringUtil; -import org.springblade.modules.visual.entity.VisualProxy; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -39,30 +21,25 @@ import springfox.documentation.annotations.ApiIgnore; import java.util.Map; -*/ /** + *

* 接口代理 控制器 + *

* - * @author Chill - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @Slf4j @RestController @AllArgsConstructor -@RequestMapping(LauncherConstant.APPLICATION_VISUAL_NAME + "/visual") +@RequestMapping(AppConstants.APP_COMMON + "/visual") @ApiIgnore @Api(value = "接口代理", tags = "接口代理") -public class VisualProxyController extends BladeController { - - */ -/** - * 接口代理 - *//* +public class VisualProxyController { @RequestMapping("/proxy") - @ApiOperationSupport(order = 1) @ApiOperation(value = "接口代理", notes = "接口代理") - public Object proxy(@RequestBody VisualProxy proxy) { + public Object proxy(@RequestBody VisualProxyDto proxy) { // 获取参数 String url = proxy.getUrl(); String method = proxy.getMethod(); @@ -71,26 +48,25 @@ public class VisualProxyController extends BladeController { Object data = proxy.getData(); String request; // 获取参数提交格式 - Boolean form = Func.toBoolean(proxy.getHeaders().get("form"), true); + Boolean form = BooleanUtil.toBoolean(ObjectUtil.defaultIfNull(proxy.getHeaders().get("form"), true).toString()); // 处理GET与DELETE方法请求 - if (StringUtil.equalsIgnoreCase(method, RequestUtil.GET) || StringUtil.equalsIgnoreCase(method, RequestUtil.DELETE)) { + if (StrUtil.equalsIgnoreCase(method, RequestUtil.GET) || StrUtil.equalsIgnoreCase(method, RequestUtil.DELETE)) { request = RequestUtil.request(url, headers, params, method); } else { // 处理POST与PUT方法请求 if (form) { - request = RequestUtil.requestForm(url + StringPool.QUESTION_MARK + StringUtil.trimAllWhitespace(String.valueOf(data)), headers, params, method); + request = RequestUtil.requestForm(url + StringPool.QUESTION_MARK + StrUtil.trim(String.valueOf(data)), headers, params, method); } else { - request = RequestUtil.requestJson(url, headers, JsonUtil.toJson(data), method); + request = RequestUtil.requestJson(url, headers, JSONUtil.toJsonStr(data), method); } } // 判断返回结果集 - if (StringUtil.isBlank(request)) { - return Kv.create().set("code", 400).set("msg", "获取数据失败,请检查参数配置!"); + if (StrUtil.isBlank(request)) { + return MapUtil.builder("code", 400).put("msg", "获取数据失败,请检查参数配置!").build(); } else { - Map result = JsonUtil.toMap(request); + Map result = JSONUtil.toBean(request, Map.class); return CollectionUtil.isEmpty(result) ? request : result; } } } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualRecordController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualRecordController.java index 09d0d211..de25b34a 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualRecordController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/controller/VisualRecordController.java @@ -1,131 +1,75 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.controller; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.AppConstants; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualRecordDto; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualRecord; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; -import org.springblade.common.constant.LauncherConstant; -import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Condition; -import org.springblade.core.mp.support.Query; -import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.Func; -import org.springblade.modules.visual.dto.VisualRecordDTO; -import org.springblade.modules.visual.entity.VisualRecord; -import org.springblade.modules.visual.service.IVisualRecordService; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.Arrays; -*/ /** + *

* 可视化数据集表 控制器 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @RestController @AllArgsConstructor -@RequestMapping(LauncherConstant.APPLICATION_VISUAL_NAME + "/record") +@RequestMapping(AppConstants.APP_COMMON + "/visual/record") @Api(value = "可视化数据集表", tags = "可视化数据集接口") -public class VisualRecordController extends BladeController { +public class VisualRecordController { private final IVisualRecordService visualRecordService; - */ -/** - * 可视化数据集表 详情 - *//* - @GetMapping("/detail") - @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入visualRecord") public R detail(VisualRecord visualRecord) { - VisualRecord detail = visualRecordService.getOne(Condition.getQueryWrapper(visualRecord)); - return R.data(detail); + VisualRecord detail = visualRecordService.getOne(Wrappers.lambdaQuery()); + return R.ok(detail); } - */ -/** - * 可视化数据集表 分页 - *//* - @GetMapping("/list") - @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入visualRecord") - public R> list(VisualRecordDTO record, Query query) { - IPage pages = visualRecordService.selectVisualRecordPage(Condition.getPage(query), record); - return R.data(pages); + public R> list(Page page, VisualRecordDto record) { + IPage pages = visualRecordService.selectVisualRecordPage(page, record); + return R.ok(pages); } - - */ -/** - * 可视化数据集表 新增 - *//* - @PostMapping("/save") - @ApiOperationSupport(order = 3) @ApiOperation(value = "新增", notes = "传入visualRecord") public R save(@Valid @RequestBody VisualRecord visualRecord) { - return R.status(visualRecordService.save(visualRecord)); + return R.ok(visualRecordService.save(visualRecord)); } - */ -/** - * 可视化数据集表 修改 - *//* - @PostMapping("/update") - @ApiOperationSupport(order = 4) @ApiOperation(value = "修改", notes = "传入visualRecord") public R update(@Valid @RequestBody VisualRecord visualRecord) { - return R.status(visualRecordService.updateById(visualRecord)); + return R.ok(visualRecordService.updateById(visualRecord)); } - */ -/** - * 可视化数据集表 新增或修改 - *//* - @PostMapping("/submit") - @ApiOperationSupport(order = 5) @ApiOperation(value = "新增或修改", notes = "传入visualRecord") public R submit(@Valid @RequestBody VisualRecord visualRecord) { - return R.status(visualRecordService.saveOrUpdate(visualRecord)); + return R.ok(visualRecordService.saveOrUpdate(visualRecord)); } - */ -/** - * 可视化数据集表 删除 - *//* - @PostMapping("/remove") - @ApiOperationSupport(order = 6) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(visualRecordService.deleteLogic(Func.toLongList(ids))); + return R.ok(visualRecordService.removeByIds(Arrays.asList(StrUtil.join(",", ids)))); } - } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualCategoryService.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualCategoryService.java index 9c392edd..f8244d98 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualCategoryService.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualCategoryService.java @@ -1,43 +1,24 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.service; import com.baomidou.mybatisplus.extension.service.IService; -import org.springblade.modules.visual.entity.VisualCategory; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualCategory; -*/ /** + *

* 可视化分类表 服务类 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ public interface IVisualCategoryService extends IService { - */ -/** + /** * 提交分类信息 * * @param visualCategory 分类 * @return boolean - *//* - + */ boolean submit(VisualCategory visualCategory); } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualComponentService.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualComponentService.java index 47ad17e7..d0c2d7c4 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualComponentService.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualComponentService.java @@ -1,46 +1,27 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import org.springblade.modules.visual.dto.VisualComponentDTO; -import org.springblade.modules.visual.entity.VisualComponent; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualComponentDto; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualComponent; -*/ /** + *

* 可视化地图配置表 服务类 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ public interface IVisualComponentService extends IService { - */ /** * 自定义分页 * * @param page * @param visualComponent * @return - *//* - - IPage selectVisualComponentPage(IPage page, VisualComponentDTO visualComponent); + */ + IPage selectVisualComponentPage(IPage page, VisualComponentDto visualComponent); } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualDbService.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualDbService.java index eb7dff36..0e492ab6 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualDbService.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualDbService.java @@ -35,10 +35,10 @@ public interface IVisualDbService extends IService { /** * 自定义调用动态sql * - * @param id 数据源id + * @param visualDb 数据源 * @param sql 可执行sql语句 * @return List */ - List> dynamicQuery(String id, String sql); + List> dynamicQuery(VisualDb visualDb, String sql); } diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualMapService.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualMapService.java index 24fd7698..1eb47615 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualMapService.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/IVisualMapService.java @@ -6,9 +6,12 @@ import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualMapDto; import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualMap; /** + *

* 可视化地图配置表 服务类 + *

* - * @author BladeX + * @Author: wangxiang4 + * @since: 2023/7/3 */ public interface IVisualMapService extends IService { diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualCategoryServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualCategoryServiceImpl.java index 68bf03b1..3a12d9f5 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualCategoryServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualCategoryServiceImpl.java @@ -1,53 +1,35 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springblade.core.log.exception.ServiceException; -import org.springblade.core.tool.constant.BladeConstant; -import org.springblade.core.tool.utils.Func; -import org.springblade.modules.visual.entity.VisualCategory; -import org.springblade.modules.visual.mapper.VisualCategoryMapper; -import org.springblade.modules.visual.service.IVisualCategoryService; +import com.cloud.kicc.common.core.exception.CheckedException; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualCategory; +import com.cloud.kicc.commonbiz.bigscreen.mapper.VisualCategoryMapper; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualCategoryService; import org.springframework.stereotype.Service; -*/ /** + *

* 可视化分类表 服务实现类 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @Service public class VisualCategoryServiceImpl extends ServiceImpl implements IVisualCategoryService { @Override public boolean submit(VisualCategory visualCategory) { LambdaQueryWrapper lqw = Wrappers.query().lambda().eq(VisualCategory::getCategoryValue, visualCategory.getCategoryValue()); - Long cnt = baseMapper.selectCount((Func.isEmpty(visualCategory.getId())) ? lqw : lqw.notIn(VisualCategory::getId, visualCategory.getId())); + Long cnt = baseMapper.selectCount((StrUtil.isBlank(visualCategory.getId())) ? lqw : lqw.notIn(VisualCategory::getId, visualCategory.getId())); if (cnt > 0L) { - throw new ServiceException("当前模块键值已存在!"); + throw new CheckedException("当前模块键值已存在!"); } - visualCategory.setIsDeleted(BladeConstant.DB_NOT_DELETED); return saveOrUpdate(visualCategory); } } -*/ + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualComponentServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualComponentServiceImpl.java index 71a9a869..8e9ad565 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualComponentServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualComponentServiceImpl.java @@ -1,44 +1,27 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springblade.modules.visual.dto.VisualComponentDTO; -import org.springblade.modules.visual.entity.VisualComponent; -import org.springblade.modules.visual.mapper.VisualComponentMapper; -import org.springblade.modules.visual.service.IVisualComponentService; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualComponentDto; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualComponent; +import com.cloud.kicc.commonbiz.bigscreen.mapper.VisualComponentMapper; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualComponentService; import org.springframework.stereotype.Service; -*/ /** + *

* 可视化地图配置表 服务实现类 + *

* - * @author BladeX - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @Service public class VisualComponentServiceImpl extends ServiceImpl implements IVisualComponentService { @Override - public IPage selectVisualComponentPage(IPage page, VisualComponentDTO visualComponent) { + public IPage selectVisualComponentPage(IPage page, VisualComponentDto visualComponent) { return page.setRecords(baseMapper.selectVisualComponentPage(page, visualComponent)); } } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualConfigServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualConfigServiceImpl.java index c2c1fac2..1c67c2d1 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualConfigServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualConfigServiceImpl.java @@ -1,37 +1,21 @@ -/* - * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * Neither the name of the dreamlu.net developer nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * Author: Chill 庄骞 (smallchill@163.com) - *//* - package com.cloud.kicc.commonbiz.bigscreen.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springblade.modules.visual.entity.VisualConfig; -import org.springblade.modules.visual.mapper.VisualConfigMapper; -import org.springblade.modules.visual.service.IVisualConfigService; +import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualConfig; +import com.cloud.kicc.commonbiz.bigscreen.mapper.VisualConfigMapper; +import com.cloud.kicc.commonbiz.bigscreen.service.IVisualConfigService; import org.springframework.stereotype.Service; -*/ /** + *

* 可视化配置表 服务实现类 + *

* - * @author Chill - *//* - + * @Author: wangxiang4 + * @since: 2023/7/3 + */ @Service public class VisualConfigServiceImpl extends ServiceImpl implements IVisualConfigService { } -*/ + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualDbServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualDbServiceImpl.java index 20660505..39ee9180 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualDbServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualDbServiceImpl.java @@ -1,32 +1,28 @@ -/* package com.cloud.kicc.commonbiz.bigscreen.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.cloud.kicc.common.data.entity.KiccUser; +import com.cloud.kicc.common.datasource.dynamic.DynamicDataSource; import com.cloud.kicc.common.datasource.util.ConnUtil; import com.cloud.kicc.common.datasource.util.DynamicDataSourceUtil; +import com.cloud.kicc.common.security.util.SecurityUtils; +import com.cloud.kicc.commonbiz.api.bigscreen.dto.VisualDbDto; import com.cloud.kicc.commonbiz.api.bigscreen.entity.VisualDb; import com.cloud.kicc.commonbiz.bigscreen.mapper.VisualDbMapper; import com.cloud.kicc.commonbiz.bigscreen.service.IVisualDbService; +import com.cloud.kicc.commonbiz.bigscreen.util.PlaceholderUtil; import lombok.AllArgsConstructor; -import org.apache.commons.collections.map.LRUMap; -import org.springblade.core.log.exception.ServiceException; -import org.springblade.core.secure.BladeUser; -import org.springblade.core.secure.utils.AuthUtil; -import org.springblade.core.tool.support.Kv; -import org.springblade.core.tool.utils.BeanUtil; -import org.springblade.core.tool.utils.Func; -import org.springblade.core.tool.utils.PlaceholderUtil; -import org.springblade.modules.visual.dto.VisualDbDTO; -import org.springblade.modules.visual.dynamic.DynamicDataSourceHelper; -import org.springblade.modules.visual.dynamic.DynamicDataSourceHolder; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -*/ /** *

* 可视化数据源配置表 服务实现类 @@ -34,44 +30,39 @@ import java.util.Map; * * @Author: wangxiang4 * @since: 2023/6/30 - *//* + */ @Service @AllArgsConstructor public class VisualDbServiceImpl extends ServiceImpl implements IVisualDbService { private final VisualDbMapper mapper; - private final DynamicDataSourceUtil holder; - private final ConnUtil helper; @Override public Boolean dbTest(VisualDb db) { - LRUMap - return helper.dbTest(db.getDriverClass(), db.getUrl(), db.getUsername(), db.getPassword()); + return ConnUtil.dbTest(db.getDriverClass(), db.getUrl(), db.getUsername(), db.getPassword()); } @Override - public List dbList() { + public List dbList() { return mapper.dbList(); } @Override - public List> dynamicQuery(String id, String sql) { + public List> dynamicQuery(VisualDb visualDb, String sql) { try { - //处理自定义数据源 - holder.handleDataSource(id); - //切换数据源 - DynamicDataSourceContextHolder.push(id); - //获取user信息 - BladeUser user = AuthUtil.getUser(); - //获取user参数 - Map map = (Func.isEmpty(user)) ? Kv.newMap() : BeanUtil.toMap(user); - //替换user占位符 + // 切换数据源 + DynamicDataSource dynamicDataSource = new DynamicDataSource(); + BeanUtils.copyProperties(visualDb, dynamicDataSource); + DynamicDataSourceUtil.switchToDataSource(dynamicDataSource); + // 获取user信息 + KiccUser kiccUser = SecurityUtils.getUser(); + // 获取user参数 + Map map = ObjectUtil.isEmpty(kiccUser) ? MapUtil.newHashMap() : BeanUtil.beanToMap(kiccUser); + // 替换user占位符 String dynamicSql = PlaceholderUtil.getDefaultResolver().resolveByMap(sql, map); - //执行自定义sql + // 执行自定义sql return mapper.dynamicQuery(dynamicSql); - } catch (Exception exception) { - throw new ServiceException(exception.getMessage()); } finally { //切回主数据源 DynamicDataSourceContextHolder.poll(); @@ -80,4 +71,4 @@ public class VisualDbServiceImpl extends ServiceImpl i } } -*/ + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualServiceImpl.java index 364300ee..b347de6e 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/service/impl/VisualServiceImpl.java @@ -1,4 +1,3 @@ -/* package com.cloud.kicc.commonbiz.bigscreen.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -13,7 +12,6 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -*/ /** *

* 可视化表 服务实现类 @@ -21,7 +19,7 @@ import org.springframework.transaction.annotation.Transactional; * * @Author: wangxiang4 * @since: 2023/6/30 - *//* + */ @Service @AllArgsConstructor @@ -83,4 +81,3 @@ public class VisualServiceImpl extends ServiceImpl impleme return null; } } -*/ diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/util/PlaceholderUtil.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/util/PlaceholderUtil.java new file mode 100644 index 00000000..74f68068 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/bigscreen/util/PlaceholderUtil.java @@ -0,0 +1,155 @@ +package com.cloud.kicc.commonbiz.bigscreen.util; + +import java.util.Map; +import java.util.Properties; +import java.util.function.Function; +import java.util.stream.Stream; + +/** + *

+ * 占位符解析器 + *

+ * + * @Author: wangxiang4 + * @since: 2023/7/3 + */ +public class PlaceholderUtil { + /** + * 默认前缀占位符 + */ + public static final String DEFAULT_PLACEHOLDER_PREFIX = "${"; + + /** + * 默认后缀占位符 + */ + public static final String DEFAULT_PLACEHOLDER_SUFFIX = "}"; + + /** + * 默认单例解析器 + */ + private static final PlaceholderUtil DEFAULT_RESOLVER = new PlaceholderUtil(); + + /** + * 占位符前缀 + */ + private String placeholderPrefix = DEFAULT_PLACEHOLDER_PREFIX; + + /** + * 占位符后缀 + */ + private String placeholderSuffix = DEFAULT_PLACEHOLDER_SUFFIX; + + + private PlaceholderUtil() { + } + + private PlaceholderUtil(String placeholderPrefix, String placeholderSuffix) { + this.placeholderPrefix = placeholderPrefix; + this.placeholderSuffix = placeholderSuffix; + } + + /** + * 获取默认的占位符解析器,即占位符前缀为"${", 后缀为"}" + * + * @return PlaceholderUtil + */ + public static PlaceholderUtil getDefaultResolver() { + return DEFAULT_RESOLVER; + } + + public static PlaceholderUtil getResolver(String placeholderPrefix, String placeholderSuffix) { + return new PlaceholderUtil(placeholderPrefix, placeholderSuffix); + } + + /** + * 解析带有指定占位符的模板字符串,默认占位符为前缀:${ 后缀:}

+ * 如:template = category:${}:product:${}
+ * values = {"1", "2"}
+ * 返回 category:1:product:2
+ * + * @param content 要解析的带有占位符的模板字符串 + * @param values 按照模板占位符索引位置设置对应的值 + * @return {String} + */ + public String resolve(String content, String... values) { + int start = content.indexOf(this.placeholderPrefix); + if (start == -1) { + return content; + } + //值索引 + int valueIndex = 0; + StringBuilder result = new StringBuilder(content); + while (start != -1) { + int end = result.indexOf(this.placeholderSuffix); + String replaceContent = values[valueIndex++]; + result.replace(start, end + this.placeholderSuffix.length(), replaceContent); + start = result.indexOf(this.placeholderPrefix, start + replaceContent.length()); + } + return result.toString(); + } + + /** + * 解析带有指定占位符的模板字符串,默认占位符为前缀:${ 后缀:}

+ * 如:template = category:${}:product:${}
+ * values = {"1", "2"}
+ * 返回 category:1:product:2
+ * + * @param content 要解析的带有占位符的模板字符串 + * @param values 按照模板占位符索引位置设置对应的值 + * @return {String} + */ + public String resolve(String content, Object[] values) { + return resolve(content, Stream.of(values).map(String::valueOf).toArray(String[]::new)); + } + + /** + * 根据替换规则来替换指定模板中的占位符值 + * + * @param content 要解析的字符串 + * @param rule 解析规则回调 + * @return {String} + */ + public String resolveByRule(String content, Function rule) { + int start = content.indexOf(this.placeholderPrefix); + if (start == -1) { + return content; + } + StringBuilder result = new StringBuilder(content); + while (start != -1) { + int end = result.indexOf(this.placeholderSuffix, start + 1); + //获取占位符属性值,如${id}, 即获取id + String placeholder = result.substring(start + this.placeholderPrefix.length(), end); + //替换整个占位符内容,即将${id}值替换为替换规则回调中的内容 + String replaceContent = placeholder.trim().isEmpty() ? "" : rule.apply(placeholder); + result.replace(start, end + this.placeholderSuffix.length(), replaceContent); + start = result.indexOf(this.placeholderPrefix, start + replaceContent.length()); + } + return result.toString(); + } + + /** + * 替换模板中占位符内容,占位符的内容即为map key对应的值,key为占位符中的内容。

+ * 如:content = product:${id}:detail:${did}
+ * valueMap = id -> 1; pid -> 2
+ * 经过解析返回 product:1:detail:2
+ * + * @param content 模板内容 + * @param valueMap 值映射 + * @return 替换完成后的字符串 + */ + public String resolveByMap(String content, final Map valueMap) { + return resolveByRule(content, placeholderValue -> String.valueOf(valueMap.get(placeholderValue))); + } + + /** + * 根据properties文件替换占位符内容 + * + * @param content 模板内容 + * @param properties 配置 + * @return {String} + */ + public String resolveByProperties(String content, final Properties properties) { + return resolveByRule(content, properties::getProperty); + } + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/BaiduMapUtils.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/BaiduMapUtils.java deleted file mode 100644 index a0276102..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/BaiduMapUtils.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.cloud.kicc.commonbiz.util; - -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpResponse; -import cn.hutool.http.HttpUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; - -import java.util.HashMap; -import java.util.Map; - -public class BaiduMapUtils { - - - /** - * 文档地址:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding - * GET请求 - * callback 将json格式的返回值通过callback函数返回以实现jsonp功能 - * 示例:http://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation - */ - public static Map getLngAndLat(String address, String ak) { - HttpResponse res = null; - try { - res = HttpUtil - .createGet("http://api.map.baidu.com/geocoding/v3/?address=" + address + "&output=json&ak=" + ak) - .header("Content-Type", "application/json") - .execute().charset("UTF-8"); - - int code = res.getStatus(); - if (code == 200) { - String body = res.body(); - if (StrUtil.isNotBlank(body)) { - JSONObject jsonObject = JSONUtil.parseObj(body); - Map resultMap = new HashMap(); - resultMap.put("longitude", jsonObject.get("lng")); - resultMap.put("latitude", jsonObject.get("lat")); - return resultMap; - } - } - } catch (Exception e) { - System.out.println("==BaiduMap-Api-getLngAndLat,error==" + e.getMessage()); - } finally { - if (res != null) { - res.close(); - } - } - return null; - } - - - /** - * 根据GPS坐标获取定位位置 - * 文档地址:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad - * GET请求 - * coordtype坐标的类型,目前支持的坐标类型包括:bd09ll(百度经纬度坐标)、bd09mc(百度米制坐标)、gcj02ll(国测局经纬度坐标,仅限中国)、wgs84ll( GPS经纬度) 坐标系说明 - * 示例:http://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194 - */ - public static String getAddress(String lng, String lat, String ak) { - HttpResponse res = null; - try { - String location = lat + "," + lng; - res = HttpUtil - .createGet("http://api.map.baidu.com/reverse_geocoding/v3/?location=" + location + "&output=json&coordtype=wgs84ll&ak=" + ak) - .header("Content-Type", "application/json") - .execute().charset("UTF-8"); - - int code = res.getStatus(); - if (code == 200) { - String body = res.body(); - if (StrUtil.isNotBlank(body)) { - JSONObject jsonObject = JSONUtil.parseObj(body); - if (jsonObject.getInt("status") == 0) { - String addr = jsonObject.getJSONObject("result").getStr("formatted_address"); - return addr; - } - } - } - } catch (Exception e) { - System.out.println("==BaiduMap-Api-getAddress,error==" + e.getMessage()); - } finally { - if (res != null) { - res.close(); - } - } - return null; - - } - - public static void main(String[] args) { - //String addr = getAddress("112.917007","28.280622","WpNIUTCTrECQQyrGDv4x3Gx1CdNRCm5d"); - //String addr = getAddress("108.379051", "30.808975", "gIZFKgVkaqGOFTDSSrbklWjesguyrM8H"); - - //String addr = getAddress("112.92457569595736", "28.29473945087382", "WpNIUTCTrECQQyrGDv4x3Gx1CdNRCm5d"); - //String addr = getAddress("112.91276433", "28.29194017", "WpNIUTCTrECQQyrGDv4x3Gx1CdNRCm5d"); - String addr = getAddress("112.88416317", "28.22842167", "WpNIUTCTrECQQyrGDv4x3Gx1CdNRCm5d"); - - //String addr = getAddress("11254.76586", "28.21360333", "WpNIUTCTrECQQyrGDv4x3Gx1CdNRCm5d"); - System.out.println(addr); - /*Map address = getLngAndLat("湖南省长沙市望城区梅园路","WpNIUTCTrECQQyrGDv4x3Gx1CdNRCm5d"); - System.out.println(address.toString());*/ - } -} - diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/GpsGaoAndBaidu.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/GpsGaoAndBaidu.java deleted file mode 100644 index a7273ca7..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/GpsGaoAndBaidu.java +++ /dev/null @@ -1,200 +0,0 @@ -package com.cloud.kicc.commonbiz.util; - -/// - -/// 百度 高德 GPS地图坐标转换类 - -/// 地球坐标系(GPS坐标):WGS-84 - -//中国的火星坐标系:GCJ-02 使用者:高德、谷歌、腾讯搜搜、阿里云地图、灵图51ditu地图 - -//百度坐标系:BD-09 使用者:百度 - - -import java.math.BigDecimal; - - -public class GpsGaoAndBaidu { - - private static final double x_pi = 3.14159265358979324 * 3000.0 / 180.0; - - private static final double pi = 3.14159265358979324; - private static final double a = 6378245.0; - private static final double ee = 0.00669342162296594323; - - /** - * gg_lat 纬度 - * gg_lon 经度 - * GCJ-02转换BD-09 - * Google地图经纬度转百度地图经纬度 - * */ - public static Point google_bd_encrypt(double gg_lat, double gg_lon){ - Point point=new Point(); - double x = gg_lon, y = gg_lat; - double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi); - double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi); - double bd_lon = z * Math.cos(theta) + 0.0065; - double bd_lat = z * Math.sin(theta) + 0.006; - point.setLat(bd_lat); - point.setLng(bd_lon); - return point; - } - - /** - * wgLat 纬度 - * wgLon 经度 - * BD-09转换GCJ-02 - * 百度转google - * */ - public static Point bd_google_encrypt(double bd_lat, double bd_lon){ - Point point=new Point(); - double x = bd_lon - 0.0065, y = bd_lat - 0.006; - double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi); - double theta =Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi); - double gg_lon = z * Math.cos(theta); - double gg_lat = z * Math.sin(theta); - point.setLat(gg_lat); - point.setLng(gg_lon); - return point; - } - - - - /** - * wgLat 纬度 - * wgLon 经度 - * WGS-84 到 GCJ-02 的转换(即 GPS 加偏) - * */ - public static Point wgs_gcj_encrypts(double wgLat, double wgLon) { - Point point=new Point(); - if (outOfChina(wgLat, wgLon)) { - point.setLat(wgLat); - point.setLng(wgLon); - return point; - } - double dLat = transformLat(wgLon - 105.0, wgLat - 35.0); - double dLon = transformLon(wgLon - 105.0, wgLat - 35.0); - double radLat = wgLat / 180.0 * pi; - double magic = Math.sin(radLat); - magic = 1 - ee * magic * magic; - double sqrtMagic = Math.sqrt(magic); - dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi); - dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi); - double lat = wgLat + dLat; - double lon = wgLon + dLon; - point.setLat(lat); - point.setLng(lon); - return point; - } - - - public static void transform(double wgLat, double wgLon, double[] latlng) { - if (outOfChina(wgLat, wgLon)) { - latlng[0] = wgLat; - latlng[1] = wgLon; - return; - } - double dLat = transformLat(wgLon - 105.0, wgLat - 35.0); - double dLon = transformLon(wgLon - 105.0, wgLat - 35.0); - double radLat = wgLat / 180.0 * pi; - double magic = Math.sin(radLat); - magic = 1 - ee * magic * magic; - double sqrtMagic = Math.sqrt(magic); - dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi); - dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi); - latlng[0] = wgLat + dLat; - latlng[1] = wgLon + dLon; - } - - private static boolean outOfChina(double lat, double lon) { - if (lon < 72.004 || lon > 137.8347) - return true; - if (lat < 0.8293 || lat > 55.8271) - return true; - return false; - } - - private static double transformLat(double x, double y) { - double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x)); - ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0; - ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0; - ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0; - return ret; - } - - private static double transformLon(double x, double y) { - double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x)); - ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0; - ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0; - ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0 * pi)) * 2.0 / 3.0; - return ret; - } - - - public static Point gpsAddPrecision(String lng, String lat) { - //进行坐标偏移 - lng = lng.replace(",E",""); - lat = lat.replace(",N",""); - Point p = new Point(); - p.setLng(gpsCalculate(Double.parseDouble(lng))); - p.setLat(gpsCalculate(Double.parseDouble(lat))); - return p; - } - - /** - * gps转百度坐标 - * - * @param gg_lat - * @param gg_lon - * @return - */ - public static Point gpsTransformBaidu(double gg_lat, double gg_lon) { - //进行坐标偏移 - Point p = wgs_gcj_encrypts(gpsCalculate(gg_lat),gpsCalculate(gg_lon)); - p = google_bd_encrypt(p.getLat(),p.getLng()); - System.out.println(p); - return p; - } - - /** - * 将经纬度计算得到度分秒格式再转成度格式 - * - * @return - */ - public static double gpsCalculate(double num) { - int a = (int) num / 100; - double b = (num - a * 100); - int c = (int) (b); - double d = (b - c) * 60; - String e = a + "°" + c + "′" + d + "″"; - return Dms2D(e); - } - - public static double Dms2D(String dms_data) { - if (!dms_data.contains("°") || !dms_data.contains("′") || !dms_data.contains("″")) - return 0; - double d = Double.parseDouble(dms_data.split("°")[0]); - double m = Double.parseDouble(dms_data.split("°")[1].split("′")[0]); - double s = Double.parseDouble(dms_data.split("°")[1].split("′")[1].replace("″", "")); - return keep8Decimal(d + m / 60 + s / 60 / 60); - } - - //保留8位小数 - public static double keep8Decimal(double d) { - BigDecimal bd = new BigDecimal(d); - double d1 = bd.setScale(8, BigDecimal.ROUND_HALF_UP).doubleValue(); - System.out.println(d1); - return d1; - } - - public static void main(String[] args) { - //"lg": "11253.92844,E", - // "lt": "2813.70530,N", - //lg":"11253.04979,E","lt":"2812.81620,N" - - System.out.println(gpsCalculate(11253.04979)); - System.out.println(gpsCalculate(2812.81620)); - //GpsGaoAndBaidu.gpsTransformBaidu( 2817.51641,11254.76586); - } -} - diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/Point.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/Point.java deleted file mode 100644 index 10125046..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/Point.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.cloud.kicc.commonbiz.util; - -import lombok.Data; - -/** - * 用于构造地图中的坐标点 - * - * @author lw - **/ -@Data -public class Point { - - private double lat;// 纬度 - private double lng;// 经度 - - public Point() { - } - - public Point(double lng, double lat) { - this.lng = lng; - this.lat = lat; - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof Point) { - Point bmapPoint = (Point) obj; - return (bmapPoint.getLng() == lng && bmapPoint.getLat() == lat) ? true : false; - } else { - return false; - } - } - - @Override - public String toString() { - return lng + "," + lat; - } - -} \ No newline at end of file diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/RequestUtil.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/RequestUtil.java new file mode 100644 index 00000000..d1c4254e --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/RequestUtil.java @@ -0,0 +1,162 @@ +package com.cloud.kicc.commonbiz.util; + +import cn.hutool.core.util.StrUtil; +import com.cloud.kicc.common.core.constant.StringPool; +import lombok.extern.slf4j.Slf4j; +import okhttp3.*; + +import java.util.Map; + +/** + *

+ * Http请求工具类 + *

+ * + * @Author: wangxiang4 + * @since: 2023/7/3 + */ +@Slf4j +public class RequestUtil { + + public static MediaType JSON = MediaType.parse("application/json; charset=utf-8"); + public static String GET = "GET"; + public static String POST = "POST"; + public static String PUT = "PUT"; + public static String DELETE = "DELETE"; + + + /** + * request + * + * @param url 请求url + * @param header 请求头 + * @param queries 请求的参数,在浏览器?后面的数据,没有可以传null + * @param method 请求方法(get delete) + * @return String + */ + public static String request(String url, Map header, Map queries, String method) { + + Request.Builder builder = new Request.Builder().url(requestUrl(url, queries)); + + if (header != null && header.keySet().size() > 0) { + header.forEach((k, v) -> builder.addHeader(k, String.valueOf(v))); + } + + if (StrUtil.equalsIgnoreCase(method, GET)) { + builder.get(); + } else if (StrUtil.equalsIgnoreCase(method, DELETE)) { + builder.delete(); + } + + return getBody(builder.build()); + } + + /** + * requestUrl + * + * @param url 请求url + * @param queries 请求的参数,在浏览器?后面的数据,没有可以传null + * @return String + */ + public static String requestUrl(String url, Map queries) { + StringBuffer sb = new StringBuffer(url).append(StringPool.QUESTION_MARK); + if (queries != null && queries.keySet().size() > 0) { + queries.forEach((k, v) -> sb.append("&").append(k).append("=").append(v)); + } + return sb.toString(); + } + + /** + * requestForm + * + * @param url 请求url + * @param header 请求头 + * @param params post put form 提交的参数 + * @param method 请求方法(post put) + * @return String + */ + public static String requestForm(String url, Map header, Map params, String method) { + FormBody.Builder formBuilder = new FormBody.Builder(); + //添加参数 + if (params != null && params.keySet().size() > 0) { + params.forEach((k, v) -> formBuilder.add(k, String.valueOf(v))); + } + + Request.Builder builder = new Request.Builder().url(url); + + if (header != null && header.keySet().size() > 0) { + header.forEach((k, v) -> builder.addHeader(k, String.valueOf(v))); + } + + if (StrUtil.equalsIgnoreCase(method, POST)) { + builder.post(formBuilder.build()); + } else if (StrUtil.equalsIgnoreCase(method, PUT)) { + builder.put(formBuilder.build()); + } + + return getBody(builder.build()); + } + + /** + * 请求发送JSON数据 + * + * @param url 请求url + * @param header 请求头 + * @param json 请求json串 + * @param method 请求方法(post put) + * @return String + */ + public static String requestJson(String url, Map header, String json, String method) { + return requestContent(url, header, json, JSON, method); + } + + /** + * 发送请求 + * + * @param url 请求的url + * @param header 请求头 + * @param content 请求内容 + * @param mediaType 请求类型 + * @param method 请求方法(post put) + * @return String + */ + public static String requestContent(String url, Map header, String content, MediaType mediaType, String method) { + RequestBody requestBody = RequestBody.create(mediaType, content); + Request.Builder builder = new Request.Builder().url(url); + if (header != null && header.keySet().size() > 0) { + header.forEach((k, v) -> builder.addHeader(k, String.valueOf(v))); + } + if (StrUtil.equalsIgnoreCase(method, POST)) { + builder.post(requestBody); + } else if (StrUtil.equalsIgnoreCase(method, PUT)) { + builder.put(requestBody); + } + return getBody(builder.build()); + } + + /** + * 获取body + * + * @param request request + * @return String + */ + private static String getBody(Request request) { + String responseBody = ""; + Response response = null; + try { + OkHttpClient okHttpClient = new OkHttpClient(); + response = okHttpClient.newCall(request).execute(); + if (response.isSuccessful()) { + return response.body().string(); + } + } catch (Exception e) { + log.error("okhttp3 post error >> ex = {}", e.getMessage()); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/bootstrap.yml b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/bootstrap.yml index 9eba95c1..dabfd586 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/bootstrap.yml +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/bootstrap.yml @@ -17,9 +17,9 @@ spring: cloud: nacos: discovery: - #server-addr: ${NACOS_HOST:192.168.3.10}:${NACOS_PORT:8848} - ip: @profiles.ip@ - server-addr: ${NACOS_HOST:kicc-register}:${NACOS_PORT:8848} + server-addr: ${NACOS_HOST:192.168.3.10}:${NACOS_PORT:8848} + #ip: @profiles.ip@ + #server-addr: ${NACOS_HOST:kicc-register}:${NACOS_PORT:8848} namespace: @profiles.namespace@ config: server-addr: ${spring.cloud.nacos.discovery.server-addr}