- 升级数据集插件版本至1.0.1.2023100901.Alpha,其中:
  - 升级mybatis-plus版本至3.5.3.2
    - 新增了自定义序列化类EmptyAsNullDeserializer,解决主键自增时使用空字符串问题(https://github.com/baomidou/mybatis-plus/pull/3592/files)
    - 移除项目中使用的mybatis-plus的count方法,全部采用list.size,解决mybatis-plus新版本修改了count的返回值类型问题,兼容不同版本的mybatis-plus
  - 升级Springboot版本至2.7.16
- 优化pom依赖,不在以spring-boot-starter-parent作为parent。移除多余或重复的依赖项
main
hong.yang 1 year ago
parent ec041a76b5
commit 9ba2334129

@ -12,8 +12,8 @@
<artifactId>dataroom-core</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
@ -24,10 +24,6 @@
<artifactId>dataset-core</artifactId>
<version>${dataset.core.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

@ -71,11 +71,12 @@ public interface IBasePageService extends ISuperService<PageEntity> {
default boolean checkNameRepeat(PageEntity entity) {
AssertUtils.isTrue(StringUtils.isNotBlank(entity.getName()), "名称不能为空");
LambdaQueryWrapper<PageEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(PageEntity::getId);
queryWrapper.eq(StringUtils.isNotBlank(entity.getAppCode()), PageEntity::getAppCode, entity.getAppCode())
.eq(PageEntity::getName, entity.getName())
.eq(PageEntity::getType, entity.getType())
.ne(StringUtils.isNotBlank(entity.getId()), PageEntity::getId, entity.getId());
return getBaseMapper().selectCount(queryWrapper) > 0;
return getBaseMapper().selectList(queryWrapper).size() > 0;
}
/**
@ -89,11 +90,12 @@ public interface IBasePageService extends ISuperService<PageEntity> {
default boolean checkNameRepeat(String appCode, String name, String id, String type) {
AssertUtils.isTrue(StringUtils.isNotBlank(name), "名称不能为空");
LambdaQueryWrapper<PageEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(PageEntity::getId);
queryWrapper.eq(StringUtils.isNotBlank(appCode), PageEntity::getAppCode, appCode)
.eq(PageEntity::getName, name)
.eq(PageEntity::getType, type)
.ne(StringUtils.isNotBlank(id), PageEntity::getId, id);
return getBaseMapper().selectCount(queryWrapper) > 0;
return getBaseMapper().selectList(queryWrapper).size() > 0;
}
@ -105,11 +107,12 @@ public interface IBasePageService extends ISuperService<PageEntity> {
default boolean checkCodeRepeat(PageEntity entity) {
AssertUtils.isTrue(StringUtils.isNotBlank(entity.getCode()), "编码不能为空");
LambdaQueryWrapper<PageEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(PageEntity::getId);
queryWrapper.eq(StringUtils.isNotBlank(entity.getAppCode()), PageEntity::getAppCode, entity.getAppCode())
.eq(PageEntity::getCode, entity.getCode())
.eq(PageEntity::getType, entity.getType())
.ne(StringUtils.isNotBlank(entity.getId()), PageEntity::getId, entity.getId());
return getBaseMapper().selectCount(queryWrapper) > 0;
return getBaseMapper().selectList(queryWrapper).size() > 0;
}
}

@ -1,6 +1,8 @@
package com.gccloud.dataroom.core.module.biz.component.controller;
import com.gccloud.common.permission.ApiPermission;
import com.gccloud.common.utils.BeanConvertUtils;
import com.gccloud.dataroom.core.module.biz.component.dto.BizComponentDTO;
import com.gccloud.dataroom.core.module.biz.component.dto.BizComponentSearchDTO;
import com.gccloud.dataroom.core.module.biz.component.entity.BizComponentEntity;
import com.gccloud.dataroom.core.module.biz.component.service.IBizComponentService;
@ -46,7 +48,8 @@ public class BizComponentController {
@ApiPermission(permissions = {Permission.Component.ADD})
@PostMapping("/add")
@ApiOperation(value = "新增", notes = "新增", produces = MediaType.APPLICATION_JSON_VALUE)
public R<String> add(@ApiParam(name = "新增", value = "传入新增的业务条件", required = true) @RequestBody BizComponentEntity entity) {
public R<String> add(@ApiParam(name = "新增", value = "传入新增的业务条件", required = true) @RequestBody BizComponentDTO dto) {
BizComponentEntity entity = BeanConvertUtils.convert(dto, BizComponentEntity.class);
String code = bizComponentService.add(entity);
return R.success(code);
}
@ -55,7 +58,8 @@ public class BizComponentController {
@ApiPermission(permissions = {Permission.Component.UPDATE})
@PostMapping("/update")
@ApiOperation(value = "修改", notes = "修改", produces = MediaType.APPLICATION_JSON_VALUE)
public R<Void> update(@ApiParam(name = "修改", value = "传入修改的业务条件", required = true) @RequestBody BizComponentEntity entity) {
public R<Void> update(@ApiParam(name = "修改", value = "传入修改的业务条件", required = true) @RequestBody BizComponentDTO dto) {
BizComponentEntity entity = BeanConvertUtils.convert(dto, BizComponentEntity.class);
bizComponentService.update(entity);
return R.success();
}
@ -87,8 +91,8 @@ public class BizComponentController {
@ApiPermission(permissions = {Permission.Component.VIEW})
@PostMapping("/name/repeat")
@ApiOperation(value = "名称查重", notes = "名称查重", produces = MediaType.APPLICATION_JSON_VALUE)
public R<Boolean> nameRepeat(@RequestBody BizComponentEntity entity) {
return R.success(bizComponentService.checkName(entity.getId(), entity.getName()));
public R<Boolean> nameRepeat(@RequestBody BizComponentDTO dto) {
return R.success(bizComponentService.checkName(dto.getId(), dto.getName()));
}
}

@ -0,0 +1,49 @@
package com.gccloud.dataroom.core.module.biz.component.dto;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.gccloud.common.utils.EmptyAsNullDeserializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hongyang
* @version 1.0
* @date 2023/6/5 11:41
*/
@Data
public class BizComponentDTO {
@JsonDeserialize(using = EmptyAsNullDeserializer.class)
@ApiModelProperty(notes = "主键")
private String id;
@ApiModelProperty(notes = "业务组件中文名称")
private String name;
@ApiModelProperty(notes = "业务组件编码,页面唯一标识符")
@TableField(updateStrategy = FieldStrategy.NEVER)
private String code;
@ApiModelProperty(notes = "业务组件所属分组")
private String type;
@ApiModelProperty(notes = "组件封面")
private String coverPicture;
@ApiModelProperty(notes = "vue组件内容")
private String vueContent;
@ApiModelProperty(notes = "组件配置内容")
private String settingContent;
@ApiModelProperty(notes = "备注")
private String remark;
@ApiModelProperty(notes = "排序")
private Integer orderNum;
@ApiModelProperty(notes = "模块编码")
private String moduleCode;
}

@ -248,10 +248,11 @@ public class BizComponentServiceImpl extends ServiceImpl<DataRoomBizComponentDao
@Override
public boolean checkName(String id, String name) {
LambdaQueryWrapper<BizComponentEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(BizComponentEntity::getId);
queryWrapper.eq(BizComponentEntity::getName, name);
if (StringUtils.isNotBlank(id)) {
queryWrapper.ne(BizComponentEntity::getId, id);
}
return this.count(queryWrapper) > 0;
return this.list(queryWrapper).size() > 0;
}
}

@ -32,9 +32,6 @@ public class DataRoomFileServiceImpl extends ServiceImpl<DataRoomFileDao, DataRo
queryWrapper.eq(StringUtils.isNotBlank(searchDTO.getModule()), DataRoomFileEntity::getModule, searchDTO.getModule());
queryWrapper.eq(StringUtils.isNotBlank(searchDTO.getExtension()), DataRoomFileEntity::getExtension, searchDTO.getExtension());
queryWrapper.orderByDesc(DataRoomFileEntity::getCreateDate);
Map<String, String> aliasMap = Maps.newHashMap();
aliasMap.put("space", "size");
QueryWrapperUtils.wrapperSort(null, DataRoomFileEntity.class, queryWrapper, searchDTO, aliasMap, DataRoomFileEntity::getOriginalName, DataRoomFileEntity::getCreateDate, DataRoomFileEntity::getSize, DataRoomFileEntity::getDownloadCount);
return page(searchDTO, queryWrapper);
}

@ -1,10 +1,12 @@
package com.gccloud.dataroom.core.module.manage.dto;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.gccloud.common.utils.EmptyAsNullDeserializer;
import com.gccloud.common.validator.group.Insert;
import com.gccloud.common.validator.group.Update;
import com.gccloud.dataroom.core.constant.PageDesignConstant;
import com.gccloud.dataroom.core.module.basic.dto.BasePageDTO;
import com.gccloud.dataroom.core.module.chart.bean.Chart;
import com.gccloud.common.validator.group.Insert;
import com.gccloud.common.validator.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -20,6 +22,7 @@ import java.util.List;
@Data
public class DataRoomPageDTO extends BasePageDTO {
@JsonDeserialize(using = EmptyAsNullDeserializer.class)
@NotBlank(message = "id不能为空", groups = Update.class)
@ApiModelProperty(notes = "主键id")
private String id;

@ -1,5 +1,7 @@
package com.gccloud.dataroom.core.module.map.dto;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.gccloud.common.utils.EmptyAsNullDeserializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -11,6 +13,7 @@ import lombok.Data;
@Data
public class DataRoomMapDTO {
@JsonDeserialize(using = EmptyAsNullDeserializer.class)
@ApiModelProperty(notes = "主键")
private String id;

@ -1,5 +1,7 @@
package com.gccloud.dataroom.core.module.template.dto;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.gccloud.common.utils.EmptyAsNullDeserializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -11,6 +13,7 @@ import lombok.Data;
@Data
public class PageTemplateDTO {
@JsonDeserialize(using = EmptyAsNullDeserializer.class)
@ApiModelProperty(notes = "主键")
private String id;

@ -1,5 +1,7 @@
package com.gccloud.dataroom.core.module.type.dto;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.gccloud.common.utils.EmptyAsNullDeserializer;
import com.gccloud.dataroom.core.constant.PageDesignConstant;
import com.gccloud.common.validator.group.Insert;
import com.gccloud.common.validator.group.Update;
@ -17,6 +19,7 @@ import javax.validation.constraints.NotBlank;
public class TypeDTO {
@ApiModelProperty(notes = "主键")
@JsonDeserialize(using = EmptyAsNullDeserializer.class)
@NotBlank(message = "id不能为空", groups = Update.class)
private String id;

@ -79,18 +79,20 @@ public class TypeServiceImpl extends ServiceImpl<DataRoomTypeDao, TypeEntity> im
@Override
public boolean checkCodeRepeat(String id, String type, String code) {
LambdaQueryWrapper<TypeEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(TypeEntity::getId);
queryWrapper.eq(TypeEntity::getType, type);
queryWrapper.eq(TypeEntity::getCode, code);
queryWrapper.ne(StringUtils.isNotBlank(id), TypeEntity::getId, id);
return this.count(queryWrapper) > 0;
return this.list(queryWrapper).size() > 0;
}
@Override
public boolean checkNameRepeat(String id, String type, String name) {
LambdaQueryWrapper<TypeEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(TypeEntity::getId);
queryWrapper.eq(TypeEntity::getName, name);
queryWrapper.eq(TypeEntity::getType, type);
queryWrapper.ne(StringUtils.isNotBlank(id), TypeEntity::getId, id);
return this.count(queryWrapper) > 0;
return this.list(queryWrapper).size() > 0;
}
}

@ -12,9 +12,10 @@
<artifactId>dataroom-server</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 版本发布时,跳过该模块 -->
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
@ -29,7 +30,7 @@
<dependency>
<groupId>com.gccloud</groupId>
<artifactId>dataroom-core</artifactId>
<version>1.0.1.2023092701.Alpha</version>
<version>${project.parent.version}</version>
</dependency>
<dependency>
@ -51,7 +52,6 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.3.12.RELEASE</version>
</dependency>
</dependencies>

@ -3,18 +3,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.12.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.gccloud</groupId>
<artifactId>dataroom</artifactId>
<version>1.0.1.2023092701.Alpha</version>
<packaging>pom</packaging>
<name>dataroom</name>
<description>基于G2Plot、Echarts的大屏设计服务端具备设计、预览能力支持MySQL、Oracle、PostgreSQL、Groovy等数据集接入
</description>
<url>https://github.com/gcpaas/DataRoom</url>
@ -26,7 +20,16 @@
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<scm>
<url>https://github.com/gcpaas/DataRoom</url>
</scm>
<developers>
<developer>
<id>gcpaas</id>
<name>gcpaas</name>
<email>tech@ustcinfo.com</email>
</developer>
</developers>
<modules>
<module>dataroom-core</module>
<module>dataroom-server</module>
@ -36,42 +39,15 @@
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.12.RELEASE</spring-boot.version>
<swagger.annotations.version>1.5.20</swagger.annotations.version>
<swagger.bootstrap.version>1.9.6</swagger.bootstrap.version>
<spring-boot.version>2.7.16</spring-boot.version>
<swagger.version>2.9.2</swagger.version>
<swagger-models.version>1.5.21</swagger-models.version>
<mybatis.plus.version>3.3.2</mybatis.plus.version>
<mybatis.version>3.5.6</mybatis.version>
<mybatis-spring.version>2.0.6</mybatis-spring.version>
<commons-lang3.version>3.10</commons-lang3.version>
<commons-collections4.version>4.1</commons-collections4.version>
<commons-collections.version>3.2.2</commons-collections.version>
<hanlp.version>portable-1.7.8</hanlp.version>
<hutool.version>5.3.1</hutool.version>
<guava.version>20.0</guava.version>
<jackson.version.core>2.13.3</jackson.version.core>
<json.version>20220320</json.version>
<druid.version>1.2.11</druid.version>
<p6spy.version>3.9.0</p6spy.version>
<oracle-database.version>12.2.0.1</oracle-database.version>
<mysql.version>5.1.49</mysql.version>
<postgresql.version>42.3.3</postgresql.version>
<clickhouse.version>0.3.2</clickhouse.version>
<commons-io.version>2.2</commons-io.version>
<okhttp3.version>4.9.1</okhttp3.version>
<dataset.core.version>1.0.1.2023092201.Alpha</dataset.core.version>
<dataset.core.version>1.0.1.2023100901.Alpha</dataset.core.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
</properties>
<dependencies>
<!-- excel解析 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.5</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>

Loading…
Cancel
Save