diff --git a/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java b/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java index 1d680c1..2273855 100644 --- a/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java +++ b/common/service-utils/src/main/java/cn/bunny/common/service/config/MybatisPlusConfig.java @@ -22,7 +22,7 @@ public class MybatisPlusConfig { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // 分页插件 PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL); - paginationInnerInterceptor.setMaxLimit(100L);// ? 设置最大分页为100 + paginationInnerInterceptor.setMaxLimit(600L);// ? 设置最大分页为100 interceptor.addInnerInterceptor(paginationInnerInterceptor); // 乐观锁 interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); diff --git a/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java b/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java index 2fa39fe..6542c8e 100644 --- a/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java +++ b/common/service-utils/src/main/java/cn/bunny/common/service/exception/GlobalExceptionHandler.java @@ -34,8 +34,16 @@ public class GlobalExceptionHandler { @ExceptionHandler(RuntimeException.class) @ResponseBody public Result exceptionHandler(RuntimeException exception) { - log.error("GlobalExceptionHandler===>运行时异常信息:{}", exception.getMessage()); + String message = exception.getMessage(); + log.error("GlobalExceptionHandler===>运行时异常信息:{}", message); exception.printStackTrace(); + + // 解析异常 + String jsonParseError = "JSON parse error (.*)"; + Matcher jsonParseErrorMatcher = Pattern.compile(jsonParseError).matcher(message); + if (jsonParseErrorMatcher.find()) + return Result.error(null, 500, "JSON解析异常 " + jsonParseErrorMatcher.group(1)); + return Result.error(null, 500, "服务器异常"); } diff --git a/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nAddDto.java index 0e25697..25f776c 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nAddDto.java @@ -22,8 +22,9 @@ public class I18nAddDto { @NotBlank(message = "多语言翻译名称不能为空") private String translation; - @Schema(name = "typeId", title = "多语言类型id") - private Long typeId; + @Schema(name = "typeName", title = "多语言类型名称") + @NotBlank(message = "多语言类型名称不能为空") + private String typeName; } diff --git a/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nDto.java b/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nDto.java index 2c932a8..f10a44f 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/i18n/I18nDto.java @@ -19,5 +19,8 @@ public class I18nDto { @Schema(name = "translation", title = "多语言翻译名称") private String translation; + @Schema(name = "typeName", title = "多语言类型名称") + private String typeName; + } diff --git a/dao/src/main/java/cn/bunny/dao/entity/i18n/I18n.java b/dao/src/main/java/cn/bunny/dao/entity/i18n/I18n.java index 6d386ef..d48335c 100644 --- a/dao/src/main/java/cn/bunny/dao/entity/i18n/I18n.java +++ b/dao/src/main/java/cn/bunny/dao/entity/i18n/I18n.java @@ -28,7 +28,7 @@ public class I18n extends BaseEntity { @Schema(name = "translation", title = "多语言翻译名称") private String translation; - @Schema(name = "typeId", title = "多语言类型id") - private Long typeId; + @Schema(name = "typeName", title = "多语言类型id") + private String typeName; } diff --git a/dao/src/main/java/cn/bunny/dao/entity/i18n/I18nWithI18nType.java b/dao/src/main/java/cn/bunny/dao/entity/i18n/I18nWithI18nType.java deleted file mode 100644 index eb6aa0c..0000000 --- a/dao/src/main/java/cn/bunny/dao/entity/i18n/I18nWithI18nType.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bunny.dao.entity.i18n; - -import cn.bunny.dao.entity.BaseEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Getter; -import lombok.Setter; -import lombok.experimental.Accessors; - -@Getter -@Setter -@Accessors(chain = true) -@TableName("sys_i18n") -@Schema(name = "I18nWithI18nType对象", title = "多语言和多语言类型", description = "多语言和多语言类型内容") -public class I18nWithI18nType extends BaseEntity { - - @Schema(name = "keyName", title = "多语言key") - private String keyName; - - @Schema(name = "translation", title = "多语言翻译名称") - private String translation; - - @Schema(name = "typeName", title = "多语言类型(比如zh,en)") - private String typeName; - - @Schema(name = "summary", title = "名称解释(比如中文,英文)") - private String summary; - -} \ No newline at end of file diff --git a/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java b/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java index 9c70e8a..bba2d02 100644 --- a/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java +++ b/dao/src/main/java/cn/bunny/dao/pojo/result/ResultCodeEnum.java @@ -31,6 +31,7 @@ public enum ResultCodeEnum { EMAIL_CODE_EMPTY(201, "邮箱验证码过期或不存在"), DATA_EXIST(201, "数据已存在"), DATA_NOT_EXIST(201, "数据不存在"), + REQUEST_IS_EMPTY(201, "请求数据为空"), // 数据相关 206 ILLEGAL_REQUEST(206, "非法请求"), diff --git a/dao/src/main/java/cn/bunny/dao/vo/i18n/I18nVo.java b/dao/src/main/java/cn/bunny/dao/vo/i18n/I18nVo.java index 432bc68..9105edd 100644 --- a/dao/src/main/java/cn/bunny/dao/vo/i18n/I18nVo.java +++ b/dao/src/main/java/cn/bunny/dao/vo/i18n/I18nVo.java @@ -18,8 +18,8 @@ public class I18nVo extends BaseVo { @Schema(name = "translation", title = "多语言翻译名称") private String translation; - @Schema(name = "typeId", title = "多语言类型id") - private Long typeId; + @Schema(name = "typeName", title = "多语言类型id") + private String typeName; } diff --git a/service/src/main/java/cn/bunny/services/mapper/I18nMapper.java b/service/src/main/java/cn/bunny/services/mapper/I18nMapper.java index fd7b9e6..5575ee4 100644 --- a/service/src/main/java/cn/bunny/services/mapper/I18nMapper.java +++ b/service/src/main/java/cn/bunny/services/mapper/I18nMapper.java @@ -2,7 +2,6 @@ package cn.bunny.services.mapper; import cn.bunny.dao.dto.i18n.I18nDto; import cn.bunny.dao.entity.i18n.I18n; -import cn.bunny.dao.entity.i18n.I18nWithI18nType; import cn.bunny.dao.entity.system.MenuIcon; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -23,13 +22,6 @@ import java.util.List; @Mapper public interface I18nMapper extends BaseMapper { - /** - * * 多语言和多语言类型 - * - * @return 多语言和多语言类型列表 - */ - List selectListWithI18nType(); - /** * * 分页查询多语言内容 * diff --git a/service/src/main/java/cn/bunny/services/service/impl/I18nServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/I18nServiceImpl.java index 116d0ad..a8e1a4a 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/I18nServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/I18nServiceImpl.java @@ -6,7 +6,6 @@ import cn.bunny.dao.dto.i18n.I18nDto; import cn.bunny.dao.dto.i18n.I18nUpdateDto; import cn.bunny.dao.entity.i18n.I18n; import cn.bunny.dao.entity.i18n.I18nType; -import cn.bunny.dao.entity.i18n.I18nWithI18nType; import cn.bunny.dao.entity.system.MenuIcon; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.ResultCodeEnum; @@ -54,17 +53,13 @@ public class I18nServiceImpl extends ServiceImpl implements I1 public HashMap getI18n() { // 查找默认语言内容 I18nType i18nType = i18nTypeMapper.selectOne(Wrappers.lambdaQuery().eq(I18nType::getIsDefault, true)); - List i18nWithI18nTypes = baseMapper.selectListWithI18nType(); + List i18nList = list(); // 整理集合 - Map> map = i18nWithI18nTypes.stream() + Map> map = i18nList.stream() .collect(Collectors.groupingBy( - I18nWithI18nType::getTypeName, - Collectors.toMap( - I18nWithI18nType::getKeyName, - I18nWithI18nType::getTranslation - ) - )); + I18n::getTypeName, + Collectors.toMap(I18n::getKeyName, I18n::getTranslation))); // 返回集合 HashMap hashMap = new HashMap<>(map); @@ -102,10 +97,10 @@ public class I18nServiceImpl extends ServiceImpl implements I1 @Override public void addI18n(@Valid I18nAddDto dto) { String keyName = dto.getKeyName(); - Long typeId = dto.getTypeId(); + String typeName = dto.getTypeName(); // 查询数据是否存在 - List i18nList = list(Wrappers.lambdaQuery().eq(I18n::getKeyName, keyName).eq(I18n::getTypeId, typeId)); + List i18nList = list(Wrappers.lambdaQuery().eq(I18n::getKeyName, keyName).eq(I18n::getTypeName, typeName)); if (!i18nList.isEmpty()) throw new BunnyException(ResultCodeEnum.DATA_EXIST); // 保存内容 @@ -140,6 +135,9 @@ public class I18nServiceImpl extends ServiceImpl implements I1 */ @Override public void deleteI18n(List ids) { + if (ids.isEmpty()) { + throw new BunnyException(ResultCodeEnum.REQUEST_IS_EMPTY); + } baseMapper.deleteBatchIdsWithPhysics(ids); } } diff --git a/service/src/main/resources/application.yml b/service/src/main/resources/application.yml index 3956f92..4d6f3a6 100644 --- a/service/src/main/resources/application.yml +++ b/service/src/main/resources/application.yml @@ -50,12 +50,12 @@ spring: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 - rabbitmq: - host: ${bunny.rabbitmq.host} - port: ${bunny.rabbitmq.port} - username: ${bunny.rabbitmq.username} - password: ${bunny.rabbitmq.password} - virtual-host: ${bunny.rabbitmq.virtual-host} +# rabbitmq: +# host: ${bunny.rabbitmq.host} +# port: ${bunny.rabbitmq.port} +# username: ${bunny.rabbitmq.username} +# password: ${bunny.rabbitmq.password} +# virtual-host: ${bunny.rabbitmq.virtual-host} # publisher-confirm-type: correlated # 交换机确认 # publisher-returns: true # 队列确认 # listener: diff --git a/service/src/main/resources/mapper/I18nMapper.xml b/service/src/main/resources/mapper/I18nMapper.xml index 0ace840..62dcdda 100644 --- a/service/src/main/resources/mapper/I18nMapper.xml +++ b/service/src/main/resources/mapper/I18nMapper.xml @@ -7,7 +7,7 @@ - + @@ -17,7 +17,7 @@ - id, key_name, translation, type_id, create_user, update_user, update_time, create_time, is_deleted + id, key_name, translation, type_name, create_user, update_user, update_time, create_time, is_deleted @@ -30,24 +30,23 @@ - - -