Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
187b17ed
提交
187b17ed
authored
7月 20, 2020
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
错误码的 Starter 的初始化,完成
上级
0df486a6
显示空白字符变更
内嵌
并排
正在显示
46 个修改的文件
包含
1151 行增加
和
514 行删除
+1151
-514
DateUtil.java
.../main/java/cn/iocoder/common/framework/util/DateUtil.java
+10
-0
DubboProviderExceptionFilter.java
.../mall/dubbo/core/filter/DubboProviderExceptionFilter.java
+4
-0
DeletableDO.java
.../cn/iocoder/mall/mybatis/core/dataobject/DeletableDO.java
+1
-0
QueryWrapperX.java
...ava/cn/iocoder/mall/mybatis/core/query/QueryWrapperX.java
+7
-0
ErrorCodeAutoConfiguration.java
...l/system/errorcode/config/ErrorCodeAutoConfiguration.java
+8
-0
ErrorCodeProperties.java
...der/mall/system/errorcode/config/ErrorCodeProperties.java
+5
-0
ErrorCodeAutoGenerator.java
...er/mall/system/errorcode/core/ErrorCodeAutoGenerator.java
+16
-9
ErrorCodeRemoteLoader.java
...der/mall/system/errorcode/core/ErrorCodeRemoteLoader.java
+8
-13
ErrorCodeController.java
...nagementweb/controller/errorcode/ErrorCodeController.java
+67
-0
ErrorCodeCreateDTO.java
...ementweb/controller/errorcode/dto/ErrorCodeCreateDTO.java
+26
-0
ErrorCodePageDTO.java
...agementweb/controller/errorcode/dto/ErrorCodePageDTO.java
+21
-0
ErrorCodeUpdateDTO.java
...ementweb/controller/errorcode/dto/ErrorCodeUpdateDTO.java
+29
-0
ErrorCodeVO.java
...ll/managementweb/controller/errorcode/vo/ErrorCodeVO.java
+28
-0
ErrorCodeConvert.java
...all/managementweb/convert/errorcode/ErrorCodeConvert.java
+30
-0
ErrorCodeManager.java
...all/managementweb/manager/errorcode/ErrorCodeManager.java
+94
-0
application.yml
management-web-app/src/main/resources/application.yml
+2
-0
pom.xml
pom.xml
+46
-1
SystemErrorCodeConstants.java
...er/mall/systemservice/enums/SystemErrorCodeConstants.java
+5
-6
ErrorCodeTypeEnum.java
...mall/systemservice/enums/errorcode/ErrorCodeTypeEnum.java
+12
-1
ErrorCodeRpc.java
...ocoder/mall/systemservice/rpc/errorcode/ErrorCodeRpc.java
+66
-2
ErrorCodeAutoGenerateDTO.java
...emservice/rpc/errorcode/dto/ErrorCodeAutoGenerateDTO.java
+8
-0
ErrorCodeCreateDTO.java
...l/systemservice/rpc/errorcode/dto/ErrorCodeCreateDTO.java
+45
-0
ErrorCodePageDTO.java
...all/systemservice/rpc/errorcode/dto/ErrorCodePageDTO.java
+33
-0
ErrorCodeUpdateDTO.java
...l/systemservice/rpc/errorcode/dto/ErrorCodeUpdateDTO.java
+46
-0
ErrorCodeConvert.java
...all/systemservice/convert/errorcode/ErrorCodeConvert.java
+50
-0
ErrorCodeDO.java
...emservice/dal/mysql/dataobject/errorcode/ErrorCodeDO.java
+4
-2
ErrorCodeMapper.java
...emservice/dal/mysql/mapper/errorcode/ErrorCodeMapper.java
+38
-0
ErrorCodeManager.java
...all/systemservice/manager/errorcode/ErrorCodeManager.java
+103
-0
ErrorCodeRpcImpl.java
...er/mall/systemservice/rpc/errorcode/ErrorCodeRpcImpl.java
+47
-3
ErrorCodeService.java
...all/systemservice/service/errorcode/ErrorCodeService.java
+181
-0
ErrorCodeAutoGenerateBO.java
...service/service/errorcode/bo/ErrorCodeAutoGenerateBO.java
+16
-12
ErrorCodeBO.java
.../mall/systemservice/service/errorcode/bo/ErrorCodeBO.java
+23
-6
ErrorCodeCreateBO.java
...systemservice/service/errorcode/bo/ErrorCodeCreateBO.java
+15
-15
ErrorCodePageBO.java
...l/systemservice/service/errorcode/bo/ErrorCodePageBO.java
+29
-0
ErrorCodeUpdateBO.java
...systemservice/service/errorcode/bo/ErrorCodeUpdateBO.java
+22
-5
application.yaml
...ct/system-service-app/src/main/resources/application.yaml
+6
-0
DatabaseConfiguration.java
...iocoder/mall/system/biz/config/DatabaseConfiguration.java
+0
-28
ServiceExceptionConfiguration.java
...mall/system/biz/config/ServiceExceptionConfiguration.java
+0
-32
ErrorCodeConvert.java
...r/mall/system/biz/convert/errorcode/ErrorCodeConvert.java
+0
-37
ErrorCodeMapper.java
...ocoder/mall/system/biz/dao/errorcode/ErrorCodeMapper.java
+0
-47
ErrorCodeDeleteDTO.java
...der/mall/system/biz/dto/errorcode/ErrorCodeDeleteDTO.java
+0
-17
ErrorCodeGetListDTO.java
...er/mall/system/biz/dto/errorcode/ErrorCodeGetListDTO.java
+0
-21
ErrorCodePageDTO.java
...coder/mall/system/biz/dto/errorcode/ErrorCodePageDTO.java
+0
-15
ErrorCodeService.java
...r/mall/system/biz/service/errorcode/ErrorCodeService.java
+0
-81
ErrorCodeServiceImpl.java
...ll/system/biz/service/errorcode/ErrorCodeServiceImpl.java
+0
-155
package-info.java
...n/java/cn/iocoder/mall/user/rpc/request/package-info.java
+0
-6
没有找到文件。
common/common-framework/src/main/java/cn/iocoder/common/framework/util/DateUtil.java
浏览文件 @
187b17ed
...
...
@@ -133,4 +133,14 @@ public class DateUtil {
&&
now
.
getTime
()
<=
endTime
.
getTime
();
}
public
static
Date
max
(
Date
a
,
Date
b
)
{
if
(
a
==
null
)
{
return
b
;
}
if
(
b
==
null
)
{
return
a
;
}
return
a
.
compareTo
(
b
)
>
0
?
a
:
b
;
}
}
common/mall-spring-boot-starter-dubbo/src/main/java/cn/iocoder/mall/dubbo/core/filter/DubboProviderExceptionFilter.java
浏览文件 @
187b17ed
...
...
@@ -97,6 +97,10 @@ public class DubboProviderExceptionFilter implements Filter, Filter.Listener {
private
GlobalException
defaultExceptionHandler
(
Throwable
exception
,
Invocation
invocation
)
{
logger
.
error
(
"[defaultExceptionHandler][service({}) method({}) params({}) 执行异常]"
,
invocation
.
getServiceName
(),
invocation
.
getServiceName
(),
invocation
.
getArguments
(),
exception
);
// 如果已经是 GlobalException 全局异常,直接返回即可
if
(
exception
instanceof
GlobalException
)
{
return
(
GlobalException
)
exception
;
}
return
new
GlobalException
(
INTERNAL_SERVER_ERROR
)
.
setDetailMessage
(
this
.
buildDetailMessage
(
exception
,
invocation
));
}
...
...
common/mall-spring-boot-starter-mybatis/src/main/java/cn/iocoder/mall/mybatis/core/dataobject/DeletableDO.java
浏览文件 @
187b17ed
...
...
@@ -31,4 +31,5 @@ public class DeletableDO extends BaseDO {
this
.
deleted
=
deleted
;
return
this
;
}
}
common/mall-spring-boot-starter-mybatis/src/main/java/cn/iocoder/mall/mybatis/core/query/QueryWrapperX.java
浏览文件 @
187b17ed
...
...
@@ -44,6 +44,13 @@ public class QueryWrapperX<T> extends QueryWrapper<T> {
return
this
;
}
public
QueryWrapperX
<
T
>
gtIfPresent
(
String
column
,
Object
val
)
{
if
(
val
!=
null
)
{
return
(
QueryWrapperX
<
T
>)
super
.
gt
(
column
,
val
);
}
return
this
;
}
// ========== 重写父类方法,方便链式调用 ==========
@Override
...
...
common/mall-spring-boot-starter-system-error-code/src/main/java/cn/iocoder/mall/system/errorcode/config/ErrorCodeAutoConfiguration.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
system
.
errorcode
.
config
;
import
cn.iocoder.mall.system.errorcode.core.ErrorCodeAutoGenerator
;
import
cn.iocoder.mall.system.errorcode.core.ErrorCodeRemoteLoader
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
@Configuration
@EnableConfigurationProperties
(
ErrorCodeProperties
.
class
)
@EnableScheduling
// 开启调度任务的功能,因为 ErrorCodeRemoteLoader 通过定时刷新错误码
public
class
ErrorCodeAutoConfiguration
{
@Bean
...
...
@@ -15,4 +18,9 @@ public class ErrorCodeAutoConfiguration {
.
setErrorCodeConstantsClass
(
errorCodeProperties
.
getConstantsClass
());
}
@Bean
public
ErrorCodeRemoteLoader
errorCodeRemoteLoader
(
ErrorCodeProperties
errorCodeProperties
)
{
return
new
ErrorCodeRemoteLoader
(
errorCodeProperties
.
getGroup
());
}
}
common/mall-spring-boot-starter-system-error-code/src/main/java/cn/iocoder/mall/system/errorcode/config/ErrorCodeProperties.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
system
.
errorcode
.
config
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.validation.annotation.Validated
;
import
javax.validation.constraints.NotNull
;
@ConfigurationProperties
(
"mall.error-code"
)
@Validated
public
class
ErrorCodeProperties
{
/**
* 应用分组
*/
@NotNull
(
message
=
"应用分组不能为空,请设置 mall.error-code.group 配置项,推荐直接使用 spring. application.name 配置项"
)
private
String
group
;
/**
* 错误码枚举类
...
...
common/mall-spring-boot-starter-system-error-code/src/main/java/cn/iocoder/mall/system/errorcode/core/ErrorCodeAutoGenerator.java
浏览文件 @
187b17ed
...
...
@@ -2,18 +2,19 @@ package cn.iocoder.mall.system.errorcode.core;
import
cn.iocoder.common.framework.exception.ErrorCode
;
import
cn.iocoder.common.framework.util.StringUtils
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.ErrorCodeRpc
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeAutoGenerateDTO
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.boot.context.event.ApplicationReadyEvent
;
import
org.springframework.context.event.EventListener
;
import
org.springframework.scheduling.annotation.Async
;
import
java.lang.reflect.Field
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.function.Consumer
;
public
class
ErrorCodeAutoGenerator
{
...
...
@@ -28,6 +29,9 @@ public class ErrorCodeAutoGenerator {
*/
private
String
errorCodeConstantsClass
;
@Reference
(
version
=
"${dubbo.consumer.ErrorCodeRpc.version}"
)
private
ErrorCodeRpc
errorCodeRpc
;
public
ErrorCodeAutoGenerator
(
String
group
)
{
this
.
group
=
group
;
}
...
...
@@ -54,23 +58,26 @@ public class ErrorCodeAutoGenerator {
}
// 写入 system-service 服务
logger
.
info
(
"[execute][自动将 ({}) 类的错误码,准备写入到 system-service 服务]"
,
errorCodeConstantsClass
);
List
<
ErrorCodeAutoGenerateDTO
>
autoGenerateDTO
=
new
ArrayList
<>();
Arrays
.
stream
(
errorCodeConstantsClazz
.
getFields
()).
forEach
(
new
Consumer
<
Field
>()
{
@Override
public
void
accept
(
Field
field
)
{
List
<
ErrorCodeAutoGenerateDTO
>
autoGenerateDTOs
=
new
ArrayList
<>();
Arrays
.
stream
(
errorCodeConstantsClazz
.
getFields
()).
forEach
(
field
->
{
if
(
field
.
getType
()
!=
ErrorCode
.
class
)
{
return
;
}
try
{
ErrorCode
errorCode
=
(
ErrorCode
)
field
.
get
(
errorCodeConstantsClazz
);
autoGenerateDTO
.
add
(
new
ErrorCodeAutoGenerateDTO
().
setGroup
(
group
)
autoGenerateDTOs
.
add
(
new
ErrorCodeAutoGenerateDTO
().
setGroup
(
group
)
.
setCode
(
errorCode
.
getCode
()).
setMessage
(
errorCode
.
getMessage
()));
}
catch
(
IllegalAccessException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
});
logger
.
info
(
"[execute][自动将 ({}) 类的错误码,完成写入到 system-service 服务]"
,
errorCodeConstantsClass
);
CommonResult
<
Boolean
>
autoGenerateErrorCodesResult
=
errorCodeRpc
.
autoGenerateErrorCodes
(
autoGenerateDTOs
);
if
(
autoGenerateErrorCodesResult
.
isSuccess
())
{
logger
.
info
(
"[execute][自动将 ({}) 类的错误码,成功写入到 system-service 服务]"
,
errorCodeConstantsClass
);
}
else
{
logger
.
error
(
"[execute][自动将 ({}) 类的错误码,失败写入到 system-service 服务,原因为 ({}/{}/{})]"
,
errorCodeConstantsClass
,
autoGenerateErrorCodesResult
.
getCode
(),
autoGenerateErrorCodesResult
.
getMessage
(),
autoGenerateErrorCodesResult
.
getDetailMessage
());
}
}
}
common/mall-spring-boot-starter-system-error-code/src/main/java/cn/iocoder/mall/system/errorcode/core/ErrorCodeRemoteLoader.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
system
.
errorcode
.
core
;
import
cn.iocoder.common.framework.util.CollectionUtils
;
import
cn.iocoder.common.framework.util.DateUtil
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.ErrorCodeRpc
;
...
...
@@ -44,32 +46,25 @@ public class ErrorCodeRemoteLoader {
listErrorCodesResult
.
getData
().
forEach
(
errorCodeVO
->
{
ServiceExceptionUtil
.
put
(
errorCodeVO
.
getCode
(),
errorCodeVO
.
getMessage
());
// 记录下更新时间,方便增量更新
maxUpdateTime
=
max
(
maxUpdateTime
,
errorCodeVO
.
getUpdateTime
());
maxUpdateTime
=
DateUtil
.
max
(
maxUpdateTime
,
errorCodeVO
.
getUpdateTime
());
});
}
@Scheduled
(
fixedDelay
=
REFRESH_ERROR_CODE_PERIOD
)
@Scheduled
(
fixedDelay
=
REFRESH_ERROR_CODE_PERIOD
,
initialDelay
=
REFRESH_ERROR_CODE_PERIOD
)
public
void
refreshErrorCodes
()
{
// 从 ErrorCodeRpc 加载 ErrorCode 错误码
CommonResult
<
List
<
ErrorCodeVO
>>
listErrorCodesResult
=
errorCodeRpc
.
listErrorCodes
(
group
,
maxUpdateTime
);
listErrorCodesResult
.
checkError
();
if
(
CollectionUtils
.
isEmpty
(
listErrorCodesResult
.
getData
()))
{
return
;
}
logger
.
info
(
"[refreshErrorCodes][从 group({}) 增量加载到 {} 个 ErrorCode 错误码]"
,
group
,
listErrorCodesResult
.
getData
().
size
());
// 写入到 ServiceExceptionUtil 到
listErrorCodesResult
.
getData
().
forEach
(
errorCodeVO
->
{
ServiceExceptionUtil
.
put
(
errorCodeVO
.
getCode
(),
errorCodeVO
.
getMessage
());
// 记录下更新时间,方便增量更新
maxUpdateTime
=
max
(
maxUpdateTime
,
errorCodeVO
.
getUpdateTime
());
maxUpdateTime
=
DateUtil
.
max
(
maxUpdateTime
,
errorCodeVO
.
getUpdateTime
());
});
}
private
static
Date
max
(
Date
a
,
Date
b
)
{
if
(
a
==
null
)
{
return
b
;
}
if
(
b
==
null
)
{
return
a
;
}
return
a
.
compareTo
(
b
)
>
0
?
a
:
b
;
}
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/errorcode/ErrorCodeController.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.managementweb.controller.errorcode.dto.ErrorCodeCreateDTO
;
import
cn.iocoder.mall.managementweb.controller.errorcode.dto.ErrorCodePageDTO
;
import
cn.iocoder.mall.managementweb.controller.errorcode.dto.ErrorCodeUpdateDTO
;
import
cn.iocoder.mall.managementweb.controller.errorcode.vo.ErrorCodeVO
;
import
cn.iocoder.mall.managementweb.manager.errorcode.ErrorCodeManager
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
/**
* 错误码 Controller
*/
@RestController
@RequestMapping
(
"/error-code"
)
@Api
(
tags
=
"错误码"
)
@Validated
public
class
ErrorCodeController
{
@Autowired
private
ErrorCodeManager
errorCodeManager
;
@PostMapping
(
"/create"
)
@ApiOperation
(
"创建错误码"
)
public
CommonResult
<
Integer
>
createErrorCode
(
@Valid
ErrorCodeCreateDTO
createDTO
)
{
return
success
(
errorCodeManager
.
createErrorCode
(
createDTO
));
}
@PostMapping
(
"/update"
)
@ApiOperation
(
"更新错误码"
)
public
CommonResult
<
Boolean
>
updateErrorCode
(
@Valid
ErrorCodeUpdateDTO
updateDTO
)
{
errorCodeManager
.
updateErrorCode
(
updateDTO
);
return
success
(
true
);
}
@PostMapping
(
"/delete"
)
@ApiOperation
(
"删除错误码"
)
@ApiImplicitParam
(
name
=
"errorCodeId"
,
value
=
"错误码编号"
,
required
=
true
)
public
CommonResult
<
Boolean
>
deleteErrorCode
(
@RequestParam
(
"errorCodeId"
)
Integer
errorCodeId
)
{
errorCodeManager
.
deleteErrorCode
(
errorCodeId
);
return
success
(
true
);
}
@GetMapping
(
"/get"
)
@ApiOperation
(
"获得错误码"
)
@ApiImplicitParam
(
name
=
"errorCodeId"
,
value
=
"错误码编号"
,
required
=
true
)
public
CommonResult
<
ErrorCodeVO
>
getErrorCode
(
@RequestParam
(
"errorCodeId"
)
Integer
errorCodeId
)
{
return
success
(
errorCodeManager
.
getErrorCode
(
errorCodeId
));
}
@GetMapping
(
"/page"
)
@ApiOperation
(
"获得错误码分页"
)
public
CommonResult
<
PageResult
<
ErrorCodeVO
>>
pageErrorCode
(
ErrorCodePageDTO
pageDTO
)
{
return
success
(
errorCodeManager
.
pageErrorCode
(
pageDTO
));
}
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/errorcode/dto/ErrorCodeCreateDTO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
@ApiModel
(
"错误码创建 DTO"
)
@Data
public
class
ErrorCodeCreateDTO
{
@ApiModelProperty
(
value
=
"错误码编码"
,
required
=
true
,
example
=
"10086"
)
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
@ApiModelProperty
(
value
=
"错误码错误提示"
,
required
=
true
,
example
=
"艿艿长的丑"
)
@NotEmpty
(
message
=
"错误码错误提示不能为空"
)
private
String
message
;
@ApiModelProperty
(
value
=
"错误码分组"
,
required
=
true
,
example
=
"user-service"
)
@NotEmpty
(
message
=
"错误码分组不能为空"
)
private
String
group
;
@ApiModelProperty
(
value
=
"错误码备注"
,
example
=
"我就是一个备注"
)
private
String
memo
;
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/errorcode/dto/ErrorCodePageDTO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
.
dto
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@ApiModel
(
"错误码分页 DTO"
)
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
ErrorCodePageDTO
extends
PageParam
{
@ApiModelProperty
(
value
=
"错误码编码"
,
required
=
true
)
private
Integer
code
;
@ApiModelProperty
(
value
=
"错误码错误提示"
,
required
=
true
)
private
String
message
;
@ApiModelProperty
(
value
=
"错误码分组"
,
required
=
true
)
private
String
group
;
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/errorcode/dto/ErrorCodeUpdateDTO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
@ApiModel
(
"错误码更新 DTO"
)
@Data
public
class
ErrorCodeUpdateDTO
{
@ApiModelProperty
(
value
=
"错误码编号"
,
required
=
true
,
example
=
"1"
)
@NotNull
(
message
=
"错误码编号不能为空"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"错误码编码"
,
required
=
true
,
example
=
"10086"
)
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
@ApiModelProperty
(
value
=
"错误码错误提示"
,
required
=
true
,
example
=
"艿艿长的丑"
)
@NotEmpty
(
message
=
"错误码错误提示不能为空"
)
private
String
message
;
@ApiModelProperty
(
value
=
"错误码分组"
,
required
=
true
,
example
=
"user-service"
)
@NotEmpty
(
message
=
"错误码分组不能为空"
)
private
String
group
;
@ApiModelProperty
(
value
=
"错误码备注"
,
example
=
"我就是一个备注"
)
private
String
memo
;
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/controller/errorcode/vo/ErrorCodeVO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
@ApiModel
(
"错误码 VO"
)
@Data
public
class
ErrorCodeVO
{
@ApiModelProperty
(
value
=
"错误码编号"
,
required
=
true
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"错误码编码"
,
required
=
true
,
example
=
"10086"
)
private
Integer
code
;
@ApiModelProperty
(
value
=
"错误码错误提示"
,
required
=
true
,
example
=
"艿艿长的丑"
)
private
String
message
;
@ApiModelProperty
(
value
=
"错误码类型"
,
required
=
true
,
notes
=
"见 ErrorCodeTypeEnum 枚举"
,
example
=
"1"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"错误码分组"
,
required
=
true
,
example
=
"user-service"
)
private
String
group
;
@ApiModelProperty
(
value
=
"错误码备注"
,
example
=
"我就是一个备注"
)
private
String
memo
;
@ApiModelProperty
(
value
=
"创建时间"
,
required
=
true
)
private
Date
createTime
;
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/convert/errorcode/ErrorCodeConvert.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
managementweb
.
convert
.
errorcode
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.managementweb.controller.errorcode.vo.ErrorCodeVO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodePageDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeUpdateDTO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
@Mapper
public
interface
ErrorCodeConvert
{
ErrorCodeConvert
INSTANCE
=
Mappers
.
getMapper
(
ErrorCodeConvert
.
class
);
ErrorCodeCreateDTO
convert
(
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
.
dto
.
ErrorCodeCreateDTO
bean
);
ErrorCodeUpdateDTO
convert
(
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
.
dto
.
ErrorCodeUpdateDTO
bean
);
ErrorCodeVO
convert
(
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
vo
.
ErrorCodeVO
bean
);
List
<
ErrorCodeVO
>
convertList
(
List
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
vo
.
ErrorCodeVO
>
list
);
PageResult
<
ErrorCodeVO
>
convertPage
(
PageResult
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
vo
.
ErrorCodeVO
>
page
);
ErrorCodePageDTO
convert
(
cn
.
iocoder
.
mall
.
managementweb
.
controller
.
errorcode
.
dto
.
ErrorCodePageDTO
bean
);
}
management-web-app/src/main/java/cn/iocoder/mall/managementweb/manager/errorcode/ErrorCodeManager.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
managementweb
.
manager
.
errorcode
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.managementweb.controller.errorcode.dto.ErrorCodeCreateDTO
;
import
cn.iocoder.mall.managementweb.controller.errorcode.dto.ErrorCodePageDTO
;
import
cn.iocoder.mall.managementweb.controller.errorcode.dto.ErrorCodeUpdateDTO
;
import
cn.iocoder.mall.managementweb.controller.errorcode.vo.ErrorCodeVO
;
import
cn.iocoder.mall.managementweb.convert.errorcode.ErrorCodeConvert
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.ErrorCodeRpc
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 错误码 Manager
*/
@Service
public
class
ErrorCodeManager
{
@Reference
(
version
=
"${dubbo.consumer.ErrorCodeRpc.version}"
,
validation
=
"false"
)
private
ErrorCodeRpc
errorCodeRpc
;
/**
* 创建错误码
*
* @param createDTO 创建错误码 DTO
* @return 错误码
*/
public
Integer
createErrorCode
(
ErrorCodeCreateDTO
createDTO
)
{
CommonResult
<
Integer
>
createErrorCodeResult
=
errorCodeRpc
.
createErrorCode
(
ErrorCodeConvert
.
INSTANCE
.
convert
(
createDTO
));
createErrorCodeResult
.
checkError
();
return
createErrorCodeResult
.
getData
();
}
/**
* 更新错误码
*
* @param updateDTO 更新错误码 DTO
*/
public
void
updateErrorCode
(
ErrorCodeUpdateDTO
updateDTO
)
{
CommonResult
<
Boolean
>
updateErrorCodeResult
=
errorCodeRpc
.
updateErrorCode
(
ErrorCodeConvert
.
INSTANCE
.
convert
(
updateDTO
));
updateErrorCodeResult
.
checkError
();
}
/**
* 删除错误码
*
* @param errorCodeId 错误码编号
*/
public
void
deleteErrorCode
(
Integer
errorCodeId
)
{
CommonResult
<
Boolean
>
deleteErrorCodeResult
=
errorCodeRpc
.
deleteErrorCode
(
errorCodeId
);
deleteErrorCodeResult
.
checkError
();
}
/**
* 获得错误码
*
* @param errorCodeId 错误码编号
* @return 错误码
*/
public
ErrorCodeVO
getErrorCode
(
Integer
errorCodeId
)
{
CommonResult
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
vo
.
ErrorCodeVO
>
getErrorCodeResult
=
errorCodeRpc
.
getErrorCode
(
errorCodeId
);
getErrorCodeResult
.
checkError
();
return
ErrorCodeConvert
.
INSTANCE
.
convert
(
getErrorCodeResult
.
getData
());
}
/**
* 获得错误码列表
*
* @param errorCodeIds 错误码编号列表
* @return 错误码列表
*/
public
List
<
ErrorCodeVO
>
listErrorCodes
(
List
<
Integer
>
errorCodeIds
)
{
CommonResult
<
List
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
vo
.
ErrorCodeVO
>>
listErrorCodeResult
=
errorCodeRpc
.
listErrorCodes
(
errorCodeIds
);
listErrorCodeResult
.
checkError
();
return
ErrorCodeConvert
.
INSTANCE
.
convertList
(
listErrorCodeResult
.
getData
());
}
/**
* 获得错误码分页
*
* @param pageDTO 错误码分页查询
* @return 错误码分页结果
*/
public
PageResult
<
ErrorCodeVO
>
pageErrorCode
(
ErrorCodePageDTO
pageDTO
)
{
CommonResult
<
PageResult
<
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
vo
.
ErrorCodeVO
>>
pageErrorCodeResult
=
errorCodeRpc
.
pageErrorCode
(
ErrorCodeConvert
.
INSTANCE
.
convert
(
pageDTO
));
pageErrorCodeResult
.
checkError
();
return
ErrorCodeConvert
.
INSTANCE
.
convertPage
(
pageErrorCodeResult
.
getData
());
}
}
management-web-app/src/main/resources/application.yml
浏览文件 @
187b17ed
...
...
@@ -47,6 +47,8 @@ dubbo:
version
:
1.0.0
SystemExceptionLogRpc
:
version
:
1.0.0
ErrorCodeRpc
:
version
:
1.0.0
# Swagger 配置项
swagger
:
...
...
pom.xml
浏览文件 @
187b17ed
...
...
@@ -23,7 +23,6 @@
<!-- <module>pay</module>-->
<!-- <module>promotion</module>-->
<!-- <module>search</module>-->
<!-- <module>demo</module>-->
<module>
mall-dependencies
</module>
<!-- <module>mall-spring-boot-starter-cache</module>-->
<module>
user-service-project
</module>
...
...
@@ -34,4 +33,50 @@
</modules>
<packaging>
pom
</packaging>
<!-- 属性 -->
<properties>
<java.version>
1.8
</java.version>
<!-- 工具类相关 -->
<org.projectlombok.version>
1.16.14
</org.projectlombok.version>
<org.mapstruct.version>
1.3.0.Final
</org.mapstruct.version>
</properties>
<build>
<pluginManagement>
<plugins>
<!-- 提供给 mapstruct 使用 -->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
${maven-compiler-plugin.version}
</version>
<configuration>
<source>
${java.version}
</source>
<!-- or higher, depending on your project -->
<target>
${java.version}
</target>
<!-- or higher, depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${org.mapstruct.version}
</version>
</path>
<path>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
${org.projectlombok.version}
</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- 打包 -->
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<fork>
true
</fork>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/enums/SystemErrorCodeConstants.java
浏览文件 @
187b17ed
...
...
@@ -25,13 +25,12 @@ public interface SystemErrorCodeConstants {
ErrorCode
ADMIN_NOT_FOUND
=
new
ErrorCode
(
1002002000
,
"管理员不存在"
);
ErrorCode
ADMIN_PASSWORD_ERROR
=
new
ErrorCode
(
1002002001
,
"密码不正确"
);
ErrorCode
ADMIN_IS_DISABLE
=
new
ErrorCode
(
1002002002
,
"账号被禁用"
);
ErrorCode
ADMIN_USERNAME_EXISTS
=
new
ErrorCode
(
1002002002
,
"账号已经存在"
);
ErrorCode
ADMIN_STATUS_EQUALS
=
new
ErrorCode
(
1002002003
,
"账号已经是该状态"
);
// ErrorCode ADMIN_DELETE_ONLY_DISABLE = new ErrorCode(1002002004, "只有关闭的账号才可以删除");
ErrorCode
ADMIN_USERNAME_EXISTS
=
new
ErrorCode
(
1002002003
,
"账号已经存在"
);
ErrorCode
ADMIN_STATUS_EQUALS
=
new
ErrorCode
(
1002002004
,
"账号已经是该状态"
);
ErrorCode
ADMIN_ADMIN_STATUS_CAN_NOT_UPDATE
=
new
ErrorCode
(
1002002005
,
"管理员的账号状态不允许变更"
);
ErrorCode
ADMIN_ASSIGN_ROLE_NOT_EXISTS
=
new
ErrorCode
(
1002002006
,
"分配员工角色时,有角色不存在"
);
ErrorCode
ADMIN_ADMIN_CAN_NOT_UPDATE
=
new
ErrorCode
(
1002002008
,
"管理员的账号不允许变更"
);
ErrorCode
ADMIN_USERNAME_NOT_EXISTS
=
new
ErrorCode
(
100200200
8
,
"账号不存在"
);
ErrorCode
ADMIN_USERNAME_NOT_EXISTS
=
new
ErrorCode
(
100200200
9
,
"账号不存在"
);
// ========== 资源模块 1002003000 ==========
ErrorCode
RESOURCE_NAME_DUPLICATE
=
new
ErrorCode
(
1002003000
,
"已经存在该名字的资源"
);
...
...
@@ -49,8 +48,8 @@ public interface SystemErrorCodeConstants {
ErrorCode
ROLE_CAN_NOT_DELETE_SYSTEM_TYPE_ROLE
=
new
ErrorCode
(
1002004005
,
"不能删除类型为系统内置的角色"
);
// ========== 数据字典模块 1002005000 ==========
ErrorCode
DATA_DICT_EXISTS
=
new
ErrorCode
(
1002005000
,
"
该
数据字典已经存在"
);
ErrorCode
DATA_DICT_NOT_EXISTS
=
new
ErrorCode
(
1002005001
,
"
该
数据字典不存在"
);
ErrorCode
DATA_DICT_EXISTS
=
new
ErrorCode
(
1002005000
,
"数据字典已经存在"
);
ErrorCode
DATA_DICT_NOT_EXISTS
=
new
ErrorCode
(
1002005001
,
"数据字典不存在"
);
// ========== 短信模板 1002006000 ==========
ErrorCode
SMS_PLATFORM_FAIL
=
new
ErrorCode
(
1002006000
,
"短信平台调用失败【具体错误会动态替换】"
);
...
...
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/enums/errorcode/ErrorCodeTypeEnum.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
enums
.
errorcode
;
import
cn.iocoder.common.framework.core.IntArrayValuable
;
import
java.util.Arrays
;
/**
* 错误码的类型枚举
*
...
...
@@ -8,7 +12,7 @@ package cn.iocoder.mall.systemservice.enums.errorcode;
*
* @author ding
*/
public
enum
ErrorCodeTypeEnum
{
public
enum
ErrorCodeTypeEnum
implements
IntArrayValuable
{
/**
* 自动生成
...
...
@@ -19,6 +23,8 @@ public enum ErrorCodeTypeEnum {
*/
MANUAL_OPERATION
(
2
);
public
static
final
int
[]
ARRAYS
=
Arrays
.
stream
(
values
()).
mapToInt
(
ErrorCodeTypeEnum:
:
getType
).
toArray
();
private
final
Integer
type
;
ErrorCodeTypeEnum
(
Integer
type
)
{
...
...
@@ -29,4 +35,9 @@ public enum ErrorCodeTypeEnum {
return
type
;
}
@Override
public
int
[]
array
()
{
return
ARRAYS
;
}
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/errorcode/ErrorCodeRpc.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeAutoGenerateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodePageDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeUpdateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.vo.ErrorCodeVO
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.List
;
public
interface
ErrorCodeRpc
{
CommonResult
<
List
<
ErrorCodeVO
>>
listErrorCodes
(
String
group
,
Date
minUpdateTime
);
/**
* 获得指定分组下的错误码列表
*
* @param group 错误码分组
* @param minUpdateTime 最小更新时间,允许为空。
* 通过该参数,我们可以增量获取超过 minUpdateTime 时间的错误码
* @return 错误码列表
*/
CommonResult
<
List
<
ErrorCodeVO
>>
listErrorCodes
(
@NotNull
(
message
=
"错误码分组不能为空"
)
String
group
,
Date
minUpdateTime
);
CommonResult
<
Boolean
>
autoGenerateErrorCodes
(
ErrorCodeAutoGenerateDTO
autoGenerateDTO
);
/**
* 自动生成错误码
*
* @param autoGenerateDTOs 自动生成信息 DTO
*/
CommonResult
<
Boolean
>
autoGenerateErrorCodes
(
List
<
ErrorCodeAutoGenerateDTO
>
autoGenerateDTOs
);
/**
* 创建错误码
*
* @param createDTO 创建错误码 DTO
* @return 错误码编号
*/
CommonResult
<
Integer
>
createErrorCode
(
ErrorCodeCreateDTO
createDTO
);
/**
* 更新错误码
*
* @param updateDTO 更新错误码 DTO
*/
CommonResult
<
Boolean
>
updateErrorCode
(
ErrorCodeUpdateDTO
updateDTO
);
/**
* 删除错误码
*
* @param errorCodeId 错误码编号
*/
CommonResult
<
Boolean
>
deleteErrorCode
(
Integer
errorCodeId
);
/**
* 获得错误码
*
* @param errorCodeId 错误码编号
* @return 错误码
*/
CommonResult
<
ErrorCodeVO
>
getErrorCode
(
Integer
errorCodeId
);
/**
* 获得错误码列表
*
* @param errorCodeIds 错误码编号列表
* @return 错误码列表
*/
CommonResult
<
List
<
ErrorCodeVO
>>
listErrorCodes
(
List
<
Integer
>
errorCodeIds
);
/**
* 获得错误码分页
*
* @param pageDTO 错误码分页查询
* @return 错误码分页结果
*/
CommonResult
<
PageResult
<
ErrorCodeVO
>>
pageErrorCode
(
ErrorCodePageDTO
pageDTO
);
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/errorcode/dto/ErrorCodeAutoGenerateDTO.java
浏览文件 @
187b17ed
...
...
@@ -3,8 +3,13 @@ package cn.iocoder.mall.systemservice.rpc.errorcode.dto;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* 错误码自动生成 DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeAutoGenerateDTO
implements
Serializable
{
...
...
@@ -12,14 +17,17 @@ public class ErrorCodeAutoGenerateDTO implements Serializable {
/**
* 错误码编码
*/
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
/**
* 错误码错误提示
*/
@NotEmpty
(
message
=
"错误码错误提示不能为空"
)
private
String
message
;
/**
* 错误码分组
*/
@NotNull
(
message
=
"错误码分组不能为空"
)
private
String
group
;
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/errorcode/dto/ErrorCodeCreateDTO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
dto
;
import
cn.iocoder.common.framework.validator.InEnum
;
import
cn.iocoder.mall.systemservice.enums.errorcode.ErrorCodeTypeEnum
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* 错误码创建 DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeCreateDTO
implements
Serializable
{
/**
* 错误码编码
*/
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
/**
* 错误码错误提示
*/
@NotEmpty
(
message
=
"错误码错误提示不能为空"
)
private
String
message
;
/**
* 错误码类型
*/
@NotNull
(
message
=
"错误码类型不能为空"
)
@InEnum
(
value
=
ErrorCodeTypeEnum
.
class
,
message
=
"错误码类型必须是 {value}"
)
private
Integer
type
;
/**
* 错误码分组
*/
@NotNull
(
message
=
"错误码分组不能为空"
)
private
String
group
;
/**
* 错误码备注
*/
private
String
memo
;
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/errorcode/dto/ErrorCodePageDTO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
dto
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* 错误码分页 DTO
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
ErrorCodePageDTO
extends
PageParam
{
/**
* 错误码编码
*/
private
Integer
code
;
/**
* 错误码错误提示
*
* 模糊匹配
*/
private
String
message
;
/**
* 错误码分组
*
* 模糊匹配
*/
private
String
group
;
}
system-service-project/system-service-api/src/main/java/cn/iocoder/mall/systemservice/rpc/errorcode/dto/ErrorCodeUpdateDTO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
.
dto
;
import
cn.iocoder.common.framework.validator.InEnum
;
import
cn.iocoder.mall.systemservice.enums.errorcode.ErrorCodeTypeEnum
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* 错误码更新 DTO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeUpdateDTO
implements
Serializable
{
/**
* 错误码编号
*/
@NotNull
(
message
=
"错误码编号不能为空"
)
private
Integer
id
;
/**
* 错误码编码
*/
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
/**
* 错误码错误提示
*/
private
String
message
;
/**
* 错误码类型
*/
@InEnum
(
value
=
ErrorCodeTypeEnum
.
class
,
message
=
"错误码类型必须是 {value}"
)
private
Integer
type
;
/**
* 错误码分组
*/
private
String
group
;
/**
* 错误码备注
*/
private
String
memo
;
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/convert/errorcode/ErrorCodeConvert.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
convert
.
errorcode
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.errorcode.ErrorCodeDO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeAutoGenerateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodePageDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeUpdateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.vo.ErrorCodeVO
;
import
cn.iocoder.mall.systemservice.service.errorcode.bo.*
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
@Mapper
public
interface
ErrorCodeConvert
{
ErrorCodeConvert
INSTANCE
=
Mappers
.
getMapper
(
ErrorCodeConvert
.
class
);
ErrorCodeDO
convert
(
ErrorCodeCreateBO
bean
);
ErrorCodeBO
convert
(
ErrorCodeDO
bean
);
List
<
ErrorCodeBO
>
convertList
(
List
<
ErrorCodeDO
>
list
);
@Mapping
(
source
=
"records"
,
target
=
"list"
)
PageResult
<
ErrorCodeBO
>
convertPage
(
IPage
<
ErrorCodeDO
>
page
);
ErrorCodeDO
convert
(
ErrorCodeUpdateBO
bean
);
ErrorCodeCreateBO
convert
(
ErrorCodeCreateDTO
bean
);
ErrorCodeUpdateBO
convert
(
ErrorCodeUpdateDTO
bean
);
ErrorCodeVO
convert
(
ErrorCodeBO
bean
);
List
<
ErrorCodeVO
>
convertList02
(
List
<
ErrorCodeBO
>
list
);
PageResult
<
ErrorCodeVO
>
convertPage
(
PageResult
<
ErrorCodeBO
>
page
);
ErrorCodePageBO
convert
(
ErrorCodePageDTO
bean
);
ErrorCodeDO
convert
(
ErrorCodeAutoGenerateBO
bean
);
List
<
ErrorCodeAutoGenerateBO
>
convertList03
(
List
<
ErrorCodeAutoGenerateDTO
>
list
);
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/dataobject/errorcode/ErrorCodeDO.java
浏览文件 @
187b17ed
...
...
@@ -2,6 +2,7 @@ package cn.iocoder.mall.systemservice.dal.mysql.dataobject.errorcode;
import
cn.iocoder.mall.mybatis.core.dataobject.DeletableDO
;
import
cn.iocoder.mall.systemservice.enums.errorcode.ErrorCodeTypeEnum
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -10,7 +11,7 @@ import lombok.experimental.Accessors;
/**
* 错误码实体
*/
@TableName
(
value
=
"error_code"
)
@TableName
(
value
=
"
system_
error_code"
)
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
...
...
@@ -39,7 +40,8 @@ public class ErrorCodeDO extends DeletableDO {
*
* 一般情况下,可以采用应用名
*/
private
Integer
group
;
@TableField
(
"`group`"
)
// 避免和数据库关键字冲突
private
String
group
;
/**
* 错误码备注
*/
...
...
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/dal/mysql/mapper/errorcode/ErrorCodeMapper.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
dal
.
mysql
.
mapper
.
errorcode
;
import
cn.iocoder.mall.mybatis.core.query.QueryWrapperX
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.errorcode.ErrorCodeDO
;
import
cn.iocoder.mall.systemservice.service.errorcode.bo.ErrorCodePageBO
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.springframework.stereotype.Repository
;
import
java.util.Collection
;
import
java.util.Date
;
import
java.util.List
;
@Repository
public
interface
ErrorCodeMapper
extends
BaseMapper
<
ErrorCodeDO
>
{
default
IPage
<
ErrorCodeDO
>
selectPage
(
ErrorCodePageBO
pageBO
)
{
return
selectPage
(
new
Page
<>(
pageBO
.
getPageNo
(),
pageBO
.
getPageSize
()),
new
QueryWrapperX
<
ErrorCodeDO
>().
likeIfPresent
(
"`group`"
,
pageBO
.
getGroup
())
.
eqIfPresent
(
"code"
,
pageBO
.
getCode
()).
likeIfPresent
(
"message"
,
pageBO
.
getMessage
()));
}
default
List
<
ErrorCodeDO
>
selectListByCodes
(
Collection
<
Integer
>
codes
)
{
return
selectList
(
new
QueryWrapper
<
ErrorCodeDO
>().
in
(
"code"
,
codes
));
}
default
ErrorCodeDO
selectByCode
(
Integer
code
)
{
return
selectOne
(
new
QueryWrapper
<
ErrorCodeDO
>().
eq
(
"code"
,
code
));
}
default
List
<
ErrorCodeDO
>
selectListByGroup
(
String
group
,
Date
minUpdateTime
)
{
return
selectList
(
new
QueryWrapperX
<
ErrorCodeDO
>().
eq
(
"`group`"
,
group
)
.
gtIfPresent
(
"update_time"
,
minUpdateTime
));
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/manager/errorcode/ErrorCodeManager.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
manager
.
errorcode
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.convert.errorcode.ErrorCodeConvert
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeAutoGenerateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodePageDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeUpdateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.vo.ErrorCodeVO
;
import
cn.iocoder.mall.systemservice.service.errorcode.ErrorCodeService
;
import
cn.iocoder.mall.systemservice.service.errorcode.bo.ErrorCodeBO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
/**
* 错误码 Manager
*/
@Service
public
class
ErrorCodeManager
{
@Autowired
private
ErrorCodeService
errorCodeService
;
/**
* 创建错误码
*
* @param createDTO 创建错误码 DTO
* @return 错误码
*/
public
Integer
createErrorCode
(
ErrorCodeCreateDTO
createDTO
)
{
ErrorCodeBO
errorCodeBO
=
errorCodeService
.
createErrorCode
(
ErrorCodeConvert
.
INSTANCE
.
convert
(
createDTO
));
return
errorCodeBO
.
getId
();
}
/**
* 更新错误码
*
* @param updateDTO 更新错误码 DTO
*/
public
void
updateErrorCode
(
ErrorCodeUpdateDTO
updateDTO
)
{
errorCodeService
.
updateErrorCode
(
ErrorCodeConvert
.
INSTANCE
.
convert
(
updateDTO
));
}
/**
* 自动生成错误码
*
* @param autoGenerateDTOs 自动生成信息 DTO
*/
public
void
autoGenerateErrorCodes
(
List
<
ErrorCodeAutoGenerateDTO
>
autoGenerateDTOs
)
{
errorCodeService
.
autoGenerateErrorCodes
(
ErrorCodeConvert
.
INSTANCE
.
convertList03
(
autoGenerateDTOs
));
}
/**
* 删除错误码
*
* @param errorCodeId 错误码编号
*/
public
void
deleteErrorCode
(
Integer
errorCodeId
)
{
errorCodeService
.
deleteErrorCode
(
errorCodeId
);
}
/**
* 获得错误码
*
* @param errorCodeId 错误码编号
* @return 错误码
*/
public
ErrorCodeVO
getErrorCode
(
Integer
errorCodeId
)
{
ErrorCodeBO
errorCodeBO
=
errorCodeService
.
getErrorCode
(
errorCodeId
);
return
ErrorCodeConvert
.
INSTANCE
.
convert
(
errorCodeBO
);
}
/**
* 获得错误码列表
*
* @param errorCodeIds 错误码编号列表
* @return 错误码列表
*/
public
List
<
ErrorCodeVO
>
listErrorCodes
(
List
<
Integer
>
errorCodeIds
)
{
List
<
ErrorCodeBO
>
errorCodeBOs
=
errorCodeService
.
listErrorCodes
(
errorCodeIds
);
return
ErrorCodeConvert
.
INSTANCE
.
convertList02
(
errorCodeBOs
);
}
/**
* 获得错误码分页
*
* @param pageDTO 错误码分页查询
* @return 错误码分页结果
*/
public
PageResult
<
ErrorCodeVO
>
pageErrorCode
(
ErrorCodePageDTO
pageDTO
)
{
PageResult
<
ErrorCodeBO
>
pageResultBO
=
errorCodeService
.
pageErrorCode
(
ErrorCodeConvert
.
INSTANCE
.
convert
(
pageDTO
));
return
ErrorCodeConvert
.
INSTANCE
.
convertPage
(
pageResultBO
);
}
public
List
<
ErrorCodeVO
>
listErrorCodes
(
String
group
,
Date
minUpdateTime
)
{
List
<
ErrorCodeBO
>
errorCodeBOs
=
errorCodeService
.
listErrorCodes
(
group
,
minUpdateTime
);
return
ErrorCodeConvert
.
INSTANCE
.
convertList02
(
errorCodeBOs
);
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/rpc/errorcode/ErrorCodeRpcImpl.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
rpc
.
errorcode
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.manager.errorcode.ErrorCodeManager
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeAutoGenerateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeCreateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodePageDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.dto.ErrorCodeUpdateDTO
;
import
cn.iocoder.mall.systemservice.rpc.errorcode.vo.ErrorCodeVO
;
import
org.apache.dubbo.config.annotation.Service
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.util.Date
;
import
java.util.List
;
import
static
cn
.
iocoder
.
common
.
framework
.
vo
.
CommonResult
.
success
;
@Service
(
version
=
"${dubbo.provider.ErrorCodeRpc.version}"
)
public
class
ErrorCodeRpcImpl
implements
ErrorCodeRpc
{
@Autowired
private
ErrorCodeManager
errorCodeManager
;
@Override
public
CommonResult
<
List
<
ErrorCodeVO
>>
listErrorCodes
(
String
group
,
Date
minUpdateTime
)
{
return
null
;
return
success
(
errorCodeManager
.
listErrorCodes
(
group
,
minUpdateTime
));
}
@Override
public
CommonResult
<
Boolean
>
autoGenerateErrorCodes
(
List
<
ErrorCodeAutoGenerateDTO
>
autoGenerateDTOs
)
{
errorCodeManager
.
autoGenerateErrorCodes
(
autoGenerateDTOs
);
return
success
(
true
);
}
@Override
public
CommonResult
<
Integer
>
createErrorCode
(
ErrorCodeCreateDTO
createDTO
)
{
return
success
(
errorCodeManager
.
createErrorCode
(
createDTO
));
}
@Override
public
CommonResult
<
Boolean
>
updateErrorCode
(
ErrorCodeUpdateDTO
updateDTO
)
{
errorCodeManager
.
updateErrorCode
(
updateDTO
);
return
success
(
true
);
}
@Override
public
CommonResult
<
Boolean
>
deleteErrorCode
(
Integer
errorCodeId
)
{
errorCodeManager
.
deleteErrorCode
(
errorCodeId
);
return
success
(
true
);
}
@Override
public
CommonResult
<
ErrorCodeVO
>
getErrorCode
(
Integer
errorCodeId
)
{
return
success
(
errorCodeManager
.
getErrorCode
(
errorCodeId
));
}
@Override
public
CommonResult
<
List
<
ErrorCodeVO
>>
listErrorCodes
(
List
<
Integer
>
errorCodeIds
)
{
return
success
(
errorCodeManager
.
listErrorCodes
(
errorCodeIds
));
}
@Override
public
CommonResult
<
Boolean
>
autoGenerateErrorCodes
(
ErrorCodeAutoGenerateDTO
autoGenerat
eDTO
)
{
return
null
;
public
CommonResult
<
PageResult
<
ErrorCodeVO
>>
pageErrorCode
(
ErrorCodePageDTO
pag
eDTO
)
{
return
success
(
errorCodeManager
.
pageErrorCode
(
pageDTO
))
;
}
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/errorcode/ErrorCodeService.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
service
.
errorcode
;
import
cn.iocoder.common.framework.util.CollectionUtils
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.systemservice.convert.errorcode.ErrorCodeConvert
;
import
cn.iocoder.mall.systemservice.dal.mysql.dataobject.errorcode.ErrorCodeDO
;
import
cn.iocoder.mall.systemservice.dal.mysql.mapper.errorcode.ErrorCodeMapper
;
import
cn.iocoder.mall.systemservice.enums.errorcode.ErrorCodeTypeEnum
;
import
cn.iocoder.mall.systemservice.service.errorcode.bo.*
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.validation.annotation.Validated
;
import
javax.validation.Valid
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
static
cn
.
iocoder
.
mall
.
systemservice
.
enums
.
SystemErrorCodeConstants
.
ERROR_CODE_DUPLICATE
;
import
static
cn
.
iocoder
.
mall
.
systemservice
.
enums
.
SystemErrorCodeConstants
.
ERROR_CODE_NOT_EXISTS
;
/**
* 错误码 Service
*/
@Service
@Validated
@Slf4j
public
class
ErrorCodeService
{
@Autowired
private
ErrorCodeMapper
errorCodeMapper
;
/**
* 创建错误码
*
* @param createBO 创建错误码 BO
* @return 错误码
*/
public
ErrorCodeBO
createErrorCode
(
@Valid
ErrorCodeCreateBO
createBO
)
{
checkDuplicateErrorCode
(
createBO
.
getCode
(),
null
);
// 插入到数据库
ErrorCodeDO
errorCodeDO
=
ErrorCodeConvert
.
INSTANCE
.
convert
(
createBO
);
errorCodeMapper
.
insert
(
errorCodeDO
);
// 返回
return
ErrorCodeConvert
.
INSTANCE
.
convert
(
errorCodeDO
);
}
/**
* 更新错误码
*
* @param updateBO 更新错误码 BO
*/
public
void
updateErrorCode
(
@Valid
ErrorCodeUpdateBO
updateBO
)
{
checkDuplicateErrorCode
(
updateBO
.
getCode
(),
updateBO
.
getId
());
// 校验更新的错误码是否存在
if
(
errorCodeMapper
.
selectById
(
updateBO
.
getId
())
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
ERROR_CODE_NOT_EXISTS
);
}
// 更新到数据库
ErrorCodeDO
updateObject
=
ErrorCodeConvert
.
INSTANCE
.
convert
(
updateBO
);
errorCodeMapper
.
updateById
(
updateObject
);
}
@Transactional
public
void
autoGenerateErrorCodes
(
@Valid
List
<
ErrorCodeAutoGenerateBO
>
autoGenerateBOs
)
{
if
(
CollectionUtils
.
isEmpty
(
autoGenerateBOs
))
{
return
;
}
List
<
ErrorCodeDO
>
errorCodeDOs
=
errorCodeMapper
.
selectListByCodes
(
CollectionUtils
.
convertSet
(
autoGenerateBOs
,
ErrorCodeAutoGenerateBO:
:
getCode
));
Map
<
Integer
,
ErrorCodeDO
>
errorCodeDOMap
=
CollectionUtils
.
convertMap
(
errorCodeDOs
,
ErrorCodeDO:
:
getCode
);
// 遍历 autoGenerateBOs 数组,逐个插入或更新。考虑到每次量级不大,就不走批量了
autoGenerateBOs
.
forEach
(
autoGenerateBO
->
{
ErrorCodeDO
errorCodeDO
=
errorCodeDOMap
.
get
(
autoGenerateBO
.
getCode
());
// 不存在,则进行新增
if
(
errorCodeDO
==
null
)
{
errorCodeDO
=
ErrorCodeConvert
.
INSTANCE
.
convert
(
autoGenerateBO
)
.
setType
(
ErrorCodeTypeEnum
.
AUTO_GENERATION
.
getType
());
errorCodeMapper
.
insert
(
errorCodeDO
);
return
;
}
// 存在,则进行更新。更新有三个前置条件:
// 条件 1. 只更新自动生成的错误码,即 Type 为 ErrorCodeTypeEnum.AUTO_GENERATION
if
(!
ErrorCodeTypeEnum
.
AUTO_GENERATION
.
getType
().
equals
(
errorCodeDO
.
getType
()))
{
return
;
}
// 条件 2. 分组 group 必须匹配,避免存在错误码冲突的情况
if
(!
autoGenerateBO
.
getGroup
().
equals
(
errorCodeDO
.
getGroup
()))
{
log
.
error
(
"[autoGenerateErrorCodes][自动创建({}/{}) 错误码失败,数据库中已经存在({}/{})]"
,
autoGenerateBO
.
getCode
(),
autoGenerateBO
.
getGroup
(),
errorCodeDO
.
getCode
(),
errorCodeDO
.
getGroup
());
return
;
}
// 条件 3. 错误提示语存在差异
if
(
autoGenerateBO
.
getMessage
().
equals
(
errorCodeDO
.
getMessage
()))
{
return
;
}
// 最终匹配,进行更新
errorCodeMapper
.
updateById
(
new
ErrorCodeDO
().
setId
(
errorCodeDO
.
getId
()).
setMessage
(
autoGenerateBO
.
getMessage
()));
});
}
/**
* 删除错误码
*
* @param errorCodeId 错误码编号
*/
public
void
deleteErrorCode
(
Integer
errorCodeId
)
{
// 校验删除的错误码是否存在
if
(
errorCodeMapper
.
selectById
(
errorCodeId
)
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
ERROR_CODE_NOT_EXISTS
);
}
// 标记删除
errorCodeMapper
.
deleteById
(
errorCodeId
);
}
/**
* 获得错误码
*
* @param errorCodeId 错误码编号
* @return 错误码
*/
public
ErrorCodeBO
getErrorCode
(
Integer
errorCodeId
)
{
ErrorCodeDO
errorCodeDO
=
errorCodeMapper
.
selectById
(
errorCodeId
);
return
ErrorCodeConvert
.
INSTANCE
.
convert
(
errorCodeDO
);
}
/**
* 获得错误码列表
*
* @param errorCodeIds 错误码编号列表
* @return 错误码列表
*/
public
List
<
ErrorCodeBO
>
listErrorCodes
(
List
<
Integer
>
errorCodeIds
)
{
List
<
ErrorCodeDO
>
errorCodeDOs
=
errorCodeMapper
.
selectBatchIds
(
errorCodeIds
);
return
ErrorCodeConvert
.
INSTANCE
.
convertList
(
errorCodeDOs
);
}
/**
* 获得错误码分页
*
* @param pageBO 错误码分页查询
* @return 错误码分页结果
*/
public
PageResult
<
ErrorCodeBO
>
pageErrorCode
(
ErrorCodePageBO
pageBO
)
{
IPage
<
ErrorCodeDO
>
errorCodeDOPage
=
errorCodeMapper
.
selectPage
(
pageBO
);
return
ErrorCodeConvert
.
INSTANCE
.
convertPage
(
errorCodeDOPage
);
}
/**
* 校验错误码的唯一字段是否重复
*
* 是否存在相同编码的错误码
*
* @param code 错误码编码
* @param id 错误码编号
*/
private
void
checkDuplicateErrorCode
(
Integer
code
,
Integer
id
)
{
ErrorCodeDO
errorCodeDO
=
errorCodeMapper
.
selectByCode
(
code
);
if
(
errorCodeDO
==
null
)
{
return
;
}
// 如果 id 为空,说明不用比较是否为相同 id 的错误码
if
(
id
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
ERROR_CODE_DUPLICATE
);
}
if
(!
errorCodeDO
.
getId
().
equals
(
id
))
{
throw
ServiceExceptionUtil
.
exception
(
ERROR_CODE_DUPLICATE
);
}
}
public
List
<
ErrorCodeBO
>
listErrorCodes
(
String
group
,
Date
minUpdateTime
)
{
List
<
ErrorCodeDO
>
errorCodeDOs
=
errorCodeMapper
.
selectListByGroup
(
group
,
minUpdateTime
);
return
ErrorCodeConvert
.
INSTANCE
.
convertList
(
errorCodeDOs
);
}
}
system
/system-biz/src/main/java/cn/iocoder/mall/system/biz/dto/errorcode/ErrorCodeAddDT
O.java
→
system
-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/errorcode/bo/ErrorCodeAutoGenerateB
O.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dto
.
errorcode
;
package
cn
.
iocoder
.
mall
.
system
service
.
service
.
errorcode
.
bo
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
*
角色模块 - 添加角色 DT
O
*
错误码自动生成 B
O
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeA
ddDTO
{
public
class
ErrorCodeA
utoGenerateBO
implements
Serializable
{
@NotNull
(
message
=
"错误码编码"
)
/**
* 错误码编码
*/
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
@NotEmpty
(
message
=
"错误码错误信息"
)
/**
* 错误码错误提示
*/
@NotEmpty
(
message
=
"错误码错误提示不能为空"
)
private
String
message
;
@NotNull
(
message
=
"错误码分组id"
)
private
Integer
group
;
/**
* 错误码
备注
* 错误码
分组
*/
private
String
remark
;
@NotNull
(
message
=
"错误码分组不能为空"
)
private
String
group
;
}
system
/system-biz/src/main/java/cn/iocoder/mall/system/biz/bo/errorcode
/ErrorCodeBO.java
→
system
-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/errorcode/bo
/ErrorCodeBO.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
system
.
biz
.
bo
.
errorcode
;
package
cn
.
iocoder
.
mall
.
system
service
.
service
.
errorcode
.
bo
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
...
...
@@ -6,12 +6,12 @@ import lombok.experimental.Accessors;
import
java.util.Date
;
/**
* 错误码模块 - 错误码信息 BO
* @author ding
*/
* 错误码 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeBO
{
/**
* 错误码编号
*/
...
...
@@ -21,11 +21,28 @@ public class ErrorCodeBO {
*/
private
Integer
code
;
/**
* 错误码错误
信息
* 错误码错误
提示
*/
private
String
message
;
/**
* 添加时间
* 错误码类型
*/
private
Integer
type
;
/**
* 错误码分组
*/
private
String
group
;
/**
* 错误码备注
*/
private
String
memo
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 最后更新时间
*/
private
Date
updateTime
;
}
system
/system-biz/src/main/java/cn/iocoder/mall/system/biz/dto/errorcode/ErrorCodeUpdateDT
O.java
→
system
-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/errorcode/bo/ErrorCodeCreateB
O.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dto
.
errorcode
;
package
cn
.
iocoder
.
mall
.
system
service
.
service
.
errorcode
.
bo
;
import
cn.iocoder.mall.system.biz.enums.errorcode.ErrorCodeTypeEnum
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
/**
* @author ding
*/
* 错误码创建 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeUpdateDTO
{
// TODO FROM 芋艿 to 鱿鱼丝:必要的参数校验噢
@NotNull
(
message
=
"错误码id不能为空"
)
private
Integer
id
;
public
class
ErrorCodeCreateBO
{
/**
* 错误码编码
*/
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
/**
* 错误码错误
信息
* 错误码错误
提示
*/
@NotEmpty
(
message
=
"错误码错误提示不能为空"
)
private
String
message
;
/**
* 错误码类型
{@link ErrorCodeTypeEnum}
* 错误码类型
*/
@NotNull
(
message
=
"错误码类型不能为空"
)
private
Integer
type
;
/**
* 错误码分组
*/
private
Integer
group
;
private
String
group
;
/**
* 错误码备注
*/
private
String
remark
;
private
String
memo
;
}
system-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/errorcode/bo/ErrorCodePageBO.java
0 → 100644
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
systemservice
.
service
.
errorcode
.
bo
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* 错误码分页 BO
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
ErrorCodePageBO
extends
PageParam
{
/**
* 错误码编码
*/
private
Integer
code
;
/**
* 错误码错误提示
*/
private
String
message
;
/**
* 错误码分组
*/
private
String
group
;
}
system
/system-biz/src/main/java/cn/iocoder/mall/system/biz/dto/errorcode/ErrorCodeDT
O.java
→
system
-service-project/system-service-app/src/main/java/cn/iocoder/mall/systemservice/service/errorcode/bo/ErrorCodeUpdateB
O.java
浏览文件 @
187b17ed
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dto
.
errorcode
;
package
cn
.
iocoder
.
mall
.
system
service
.
service
.
errorcode
.
bo
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
/**
* @author ding
*/
* 错误码更新 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeDTO
{
public
class
ErrorCodeUpdateBO
{
/**
* 错误码编号
*/
@NotNull
(
message
=
"错误码编号不能为空"
)
private
Integer
id
;
/**
* 错误码编码
*/
@NotNull
(
message
=
"错误码编码不能为空"
)
private
Integer
code
;
/**
* 错误码错误
信息
* 错误码错误
提示
*/
@NotEmpty
(
message
=
"错误码错误提示不能为空"
)
private
String
message
;
/**
* 错误码类型
*/
@NotNull
(
message
=
"错误码类型不能为空"
)
private
Integer
type
;
/**
* 错误码分组
*/
private
String
group
;
/**
* 错误码备注
*/
private
String
memo
;
}
system-service-project/system-service-app/src/main/resources/application.yaml
浏览文件 @
187b17ed
...
...
@@ -54,8 +54,14 @@ dubbo:
version
:
1.0.0
ErrorCodeRpc
:
version
:
1.0.0
# Dubbo 服务消费者的配置
consumer
:
ErrorCodeRpc
:
version
:
1.0.0
# Mall 配置项
mall
:
# 错误码配置项对应 ErrorCodeProperties 配置类
error-code
:
group
:
${spring.application.name}
constants-class
:
cn.iocoder.mall.systemservice.enums.SystemErrorCodeConstants
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/config/DatabaseConfiguration.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
config
;
import
com.baomidou.mybatisplus.core.injector.DefaultSqlInjector
;
import
com.baomidou.mybatisplus.core.injector.ISqlInjector
;
import
com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
@Configuration
@MapperScan
(
"cn.iocoder.mall.system.biz.dao"
)
// 扫描对应的 Mapper 接口
@EnableTransactionManagement
(
proxyTargetClass
=
true
)
// 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600
public
class
DatabaseConfiguration
{
// 数据库连接池 Druid
@Bean
public
ISqlInjector
sqlInjector
()
{
return
new
DefaultSqlInjector
();
// MyBatis Plus 逻辑删除
}
@Bean
public
PaginationInterceptor
paginationInterceptor
()
{
return
new
PaginationInterceptor
();
// MyBatis Plus 分页插件
}
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/config/ServiceExceptionConfiguration.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
config
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.mall.system.biz.enums.SystemErrorCodeEnum
;
import
cn.iocoder.mall.system.biz.service.errorcode.ErrorCodeService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.event.ApplicationReadyEvent
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.event.EventListener
;
@Configuration
public
class
ServiceExceptionConfiguration
{
// TODO FROM 芋艿 to 鱿鱼须:这块的实现,微信一起沟通下哈。大体是说,要调用 RPC 接口,不然别的模块无法使用哟。最终,我们是要做成 starter,提供给各个模块用。
@Autowired
private
ErrorCodeService
errorCodeService
;
@EventListener
(
ApplicationReadyEvent
.
class
)
// 可参考 https://www.cnblogs.com/ssslinppp/p/7607509.html
public
void
initMessages
()
{
// TODO FROM 芋艿 to 芋艿:暂时注释掉,有问题的。
// errorCodeService.deleteSyStemErrorCode(SystemErrorCodeEnum.ADMIN_NOT_FOUND.getGroup());
// errorCodeService.addSystemErrorCodeList(SystemErrorCodeEnum.values());
for
(
SystemErrorCodeEnum
item
:
SystemErrorCodeEnum
.
values
())
{
ServiceExceptionUtil
.
put
(
item
.
getCode
(),
item
.
getMessage
());
}
// TODO FROM 芋艿 to 芋艿:暂时注释掉,有问题的。
// for (ErrorCodeBO bo : errorCodeService.getErrorCodeByGroup(SystemErrorCodeEnum.ADMIN_NOT_FOUND.getGroup())) {
// ServiceExceptionUtil.put(bo.getCode(),bo.getMessage());
// }
}
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/convert/errorcode/ErrorCodeConvert.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
convert
.
errorcode
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.system.biz.bo.errorcode.ErrorCodeBO
;
import
cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO
;
import
cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodeAddDTO
;
import
cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodeDTO
;
import
cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodeUpdateDTO
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
/**
* @author ding
*/
@Mapper
public
interface
ErrorCodeConvert
{
ErrorCodeConvert
INSTANCE
=
Mappers
.
getMapper
(
ErrorCodeConvert
.
class
);
ErrorCodeDO
convert
(
ErrorCodeDTO
bean
);
ErrorCodeBO
convert
(
ErrorCodeDO
bean
);
List
<
ErrorCodeBO
>
convertList
(
List
<
ErrorCodeDO
>
beans
);
@Mapping
(
source
=
"records"
,
target
=
"list"
)
PageResult
<
ErrorCodeBO
>
convertPage
(
IPage
<
ErrorCodeDO
>
page
);
ErrorCodeDO
convert
(
ErrorCodeAddDTO
bean
);
ErrorCodeDO
convert
(
ErrorCodeUpdateDTO
bean
);
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/dao/errorcode/ErrorCodeMapper.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dao
.
errorcode
;
import
cn.iocoder.mall.mybatis.core.query.QueryWrapperX
;
import
cn.iocoder.mall.system.biz.dataobject.authorization.RoleDO
;
import
cn.iocoder.mall.system.biz.dataobject.authorization.RoleResourceDO
;
import
cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO
;
import
cn.iocoder.mall.system.biz.dto.authorization.RolePageDTO
;
import
cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodePageDTO
;
import
cn.iocoder.mall.system.biz.enums.SystemErrorCodeEnum
;
import
cn.iocoder.mall.system.biz.enums.errorcode.ErrorCodeTypeEnum
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.springframework.stereotype.Repository
;
import
java.util.Collection
;
import
java.util.List
;
/**
* @author ding
*/
@Repository
public
interface
ErrorCodeMapper
extends
BaseMapper
<
ErrorCodeDO
>
{
default
ErrorCodeDO
selectByCode
(
Integer
code
){
return
selectOne
(
new
QueryWrapperX
<
ErrorCodeDO
>().
eqIfPresent
(
"code"
,
code
));
}
default
IPage
<
ErrorCodeDO
>
selectPage
(
ErrorCodePageDTO
errorCodePageDTO
)
{
return
selectPage
(
new
Page
<>(
errorCodePageDTO
.
getPageNo
(),
errorCodePageDTO
.
getPageSize
()),
new
QueryWrapperX
<
ErrorCodeDO
>().
likeIfPresent
(
"message"
,
errorCodePageDTO
.
getMessage
()));
}
default
List
<
ErrorCodeDO
>
selectListByIds
(
Collection
<
Integer
>
ids
)
{
return
selectList
(
new
QueryWrapperX
<
ErrorCodeDO
>().
inIfPresent
(
"id"
,
ids
));
}
default
List
<
ErrorCodeDO
>
selectByGroup
(
Integer
group
)
{
return
selectList
(
new
QueryWrapperX
<
ErrorCodeDO
>().
eqIfPresent
(
"group"
,
group
));
}
default
int
deleteSyStemErrorCode
(
int
group
){
return
delete
(
new
QueryWrapper
<
ErrorCodeDO
>().
eq
(
"group"
,
group
));
}
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/dto/errorcode/ErrorCodeDeleteDTO.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dto
.
errorcode
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
/**
* 只可以删除自定义错误码
* @author ding
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeDeleteDTO
{
@NotNull
(
message
=
"错误码编号不能为空"
)
private
Integer
id
;
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/dto/errorcode/ErrorCodeGetListDTO.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dto
.
errorcode
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.Collection
;
/**
* todo 考虑是否删除
* @author ding
*/
@Data
@Accessors
(
chain
=
true
)
public
class
ErrorCodeGetListDTO
{
/**
* 错误码编号数组
*
* 如果传入空,则不进行错误码编号的过滤
*/
private
Collection
<
Integer
>
ids
;
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/dto/errorcode/ErrorCodePageDTO.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
dto
.
errorcode
;
import
cn.iocoder.common.framework.vo.PageParam
;
import
lombok.Data
;
/**
* @author ding
*/
@Data
public
class
ErrorCodePageDTO
extends
PageParam
{
/**
* 错误码信息
*/
private
String
message
;
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/service/errorcode/ErrorCodeService.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
service
.
errorcode
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.system.biz.bo.errorcode.ErrorCodeBO
;
import
cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO
;
import
cn.iocoder.mall.system.biz.dto.errorcode.*
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* @author ding
*/
public
interface
ErrorCodeService
extends
IService
<
ErrorCodeDO
>{
/**
* 根据code查询错误码
* @param code code
* @return 错误码信息
*/
ErrorCodeBO
getErrorCode
(
Integer
code
);
/**
* 从db取出错误码列表数据
* @return db错误码列表
*/
List
<
ErrorCodeBO
>
getErrorCodeList
(
ErrorCodeGetListDTO
errorCodeGetListDTO
);
/**
* 取出所有错误码列表数据
* @param group 分组标示
* @return 所有错误码列表
*/
List
<
ErrorCodeBO
>
getErrorCodeByGroup
(
Integer
group
);
/**
* 分页取出所有错误码列表数据
* @param pageDTO 分页数据
* @return 错误码列表
*/
PageResult
<
ErrorCodeBO
>
getErrorCodePage
(
ErrorCodePageDTO
pageDTO
);
/**
* 新增
* @param errorCodeAddDTO 错误码信息,默认类型为自定义错误码
* @return
*/
Integer
addErrorCode
(
ErrorCodeAddDTO
errorCodeAddDTO
);
/**
* 批量添加错误码信息
* @param list 错误码集合
* @return
*/
Boolean
addErrorCodeList
(
List
<
ErrorCodeAddDTO
>
list
);
/**
* 批量添加错误码信息,项目启动时初始化错误码信息。
* @param enumerable 错误码枚举类
* @return 是否成功
*/
Boolean
addSystemErrorCodeList
(
ServiceExceptionUtil
.
Enumerable
[]
enumerable
);
/**
* 更新错误码,系统内置错误码是不允许更新
* @param errorCodeUpdateDTO 错误码信息
*/
void
updateErrorCode
(
ErrorCodeUpdateDTO
errorCodeUpdateDTO
);
/**
* 删除错误码
* @param errorCodeDeleteDTO 只允许删除自定义错误码
*/
void
deleteErrorCode
(
ErrorCodeDeleteDTO
errorCodeDeleteDTO
);
/**
* 删除分组下的错误码,只提供给服务初始化时候
* @param group 分组
*/
void
deleteSyStemErrorCode
(
int
group
);
}
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/service/errorcode/ErrorCodeServiceImpl.java
deleted
100644 → 0
浏览文件 @
0df486a6
package
cn
.
iocoder
.
mall
.
system
.
biz
.
service
.
errorcode
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.mybatis.core.enums.DeletedStatusEnum
;
import
cn.iocoder.mall.system.biz.bo.errorcode.ErrorCodeBO
;
import
cn.iocoder.mall.system.biz.convert.errorcode.ErrorCodeConvert
;
import
cn.iocoder.mall.system.biz.dao.errorcode.ErrorCodeMapper
;
import
cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO
;
import
cn.iocoder.mall.system.biz.dto.errorcode.*
;
import
cn.iocoder.mall.system.biz.enums.SystemErrorCodeEnum
;
import
cn.iocoder.mall.system.biz.enums.errorcode.ErrorCodeTypeEnum
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author ding
*/
@Service
public
class
ErrorCodeServiceImpl
extends
ServiceImpl
<
ErrorCodeMapper
,
ErrorCodeDO
>
implements
ErrorCodeService
{
@Autowired
private
ErrorCodeMapper
errorCodeMapper
;
@Override
public
ErrorCodeBO
getErrorCode
(
Integer
code
)
{
return
ErrorCodeConvert
.
INSTANCE
.
convert
(
errorCodeMapper
.
selectByCode
(
code
));
}
@Override
public
List
<
ErrorCodeBO
>
getErrorCodeList
(
ErrorCodeGetListDTO
errorCodeGetListDTO
)
{
return
ErrorCodeConvert
.
INSTANCE
.
convertList
(
errorCodeMapper
.
selectListByIds
(
errorCodeGetListDTO
.
getIds
()));
}
@Override
public
List
<
ErrorCodeBO
>
getErrorCodeByGroup
(
Integer
group
)
{
List
<
ErrorCodeDO
>
list
=
errorCodeMapper
.
selectByGroup
(
group
);
// TODO FROM 芋艿 to 鱿鱼丝:这块微信交流一波哈。
return
ErrorCodeConvert
.
INSTANCE
.
convertList
(
list
);
}
@Override
public
PageResult
<
ErrorCodeBO
>
getErrorCodePage
(
ErrorCodePageDTO
pageDTO
)
{
IPage
<
ErrorCodeDO
>
list
=
errorCodeMapper
.
selectPage
(
pageDTO
);
return
ErrorCodeConvert
.
INSTANCE
.
convertPage
(
list
);
}
@Override
public
Integer
addErrorCode
(
ErrorCodeAddDTO
errorCodeAddDTO
)
{
// 校验错误码
checkDuplicateErrorCode
(
errorCodeAddDTO
.
getCode
(),
null
);
// 保存到数据库
ErrorCodeDO
errorCode
=
ErrorCodeConvert
.
INSTANCE
.
convert
(
errorCodeAddDTO
);
errorCode
.
setCreateTime
(
new
Date
());
errorCode
.
setDeleted
(
DeletedStatusEnum
.
DELETED_NO
.
getValue
());
errorCodeMapper
.
insert
(
errorCode
);
// TODO 插入操作日志
// 返回成功
return
errorCode
.
getId
();
}
@Override
public
Boolean
addErrorCodeList
(
List
<
ErrorCodeAddDTO
>
list
)
{
List
<
ErrorCodeDO
>
doList
=
new
ArrayList
<>();
for
(
ErrorCodeAddDTO
errorCodeAddDTO:
list
)
{
// 校验错误码
checkDuplicateErrorCode
(
errorCodeAddDTO
.
getCode
(),
null
);
ErrorCodeDO
errorCode
=
ErrorCodeConvert
.
INSTANCE
.
convert
(
errorCodeAddDTO
);
errorCode
.
setCreateTime
(
new
Date
());
errorCode
.
setDeleted
(
DeletedStatusEnum
.
DELETED_NO
.
getValue
());
doList
.
add
(
errorCode
);
}
// TODO 插入操作日志
return
this
.
saveBatch
(
doList
);
}
@Override
public
Boolean
addSystemErrorCodeList
(
ServiceExceptionUtil
.
Enumerable
[]
enumerable
)
{
List
<
ErrorCodeDO
>
doList
=
new
ArrayList
<>();
for
(
ServiceExceptionUtil
.
Enumerable
errorCodeEnum
:
enumerable
){
ErrorCodeDO
errorCode
=
new
ErrorCodeDO
().
setCode
(
errorCodeEnum
.
getCode
()).
setMessage
(
errorCodeEnum
.
getMessage
()).
setType
(
ErrorCodeTypeEnum
.
SYSTEM
.
getType
())
.
setGroup
(
errorCodeEnum
.
getGroup
());
errorCode
.
setCreateTime
(
new
Date
());
errorCode
.
setDeleted
(
DeletedStatusEnum
.
DELETED_NO
.
getValue
());
doList
.
add
(
errorCode
);
}
// TODO 插入操作日志
return
this
.
saveBatch
(
doList
);
}
@Override
public
void
updateErrorCode
(
ErrorCodeUpdateDTO
errorCodeUpdateDTO
)
{
// 校验错误码是否存在
ErrorCodeDO
errorCodeDO
=
errorCodeMapper
.
selectByCode
(
errorCodeUpdateDTO
.
getCode
());
if
(
errorCodeDO
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
SystemErrorCodeEnum
.
ERROR_CODE_NOT_EXISTS
);
}
// 内置错误码,写死在枚举类中,不允许修改
if
(
ErrorCodeTypeEnum
.
SYSTEM
.
getType
().
equals
(
errorCodeDO
.
getType
()))
{
throw
ServiceExceptionUtil
.
exception
(
SystemErrorCodeEnum
.
ERROR_CAN_NOT_UPDATE_SYSTEM_TYPE_ERROR
);
}
// 校验角色的唯一字段是否重复
checkDuplicateErrorCode
(
errorCodeDO
.
getCode
(),
errorCodeDO
.
getId
());
// 更新到数据库
ErrorCodeDO
updateRole
=
ErrorCodeConvert
.
INSTANCE
.
convert
(
errorCodeUpdateDTO
);
errorCodeMapper
.
updateById
(
updateRole
);
// TODO 插入操作日志
}
@Override
public
void
deleteErrorCode
(
ErrorCodeDeleteDTO
errorCodeDeleteDTO
)
{
// 校验错误码是否存在
ErrorCodeDO
errorCodeDO
=
errorCodeMapper
.
selectById
(
errorCodeDeleteDTO
.
getId
());
if
(
errorCodeDO
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
SystemErrorCodeEnum
.
ERROR_CODE_NOT_EXISTS
);
}
// 内置错误码,不允许删除
if
(
ErrorCodeTypeEnum
.
SYSTEM
.
getType
().
equals
(
errorCodeDO
.
getType
()))
{
throw
ServiceExceptionUtil
.
exception
(
SystemErrorCodeEnum
.
ERROR_CAN_NOT_UPDATE_SYSTEM_TYPE_ERROR
);
}
// 更新到数据库,标记删除
errorCodeMapper
.
deleteById
(
errorCodeDO
.
getId
());
ServiceExceptionUtil
.
delete
(
errorCodeDO
.
getCode
(),
errorCodeDO
.
getMessage
());
}
@Override
public
void
deleteSyStemErrorCode
(
int
group
)
{
errorCodeMapper
.
deleteSyStemErrorCode
(
group
);
}
/**
* 校验错误码的唯一字段是否重复
*
* 是否存在相同编码的错误码
*
* @param code 错误码编码
* @param id 错误码编号
*/
private
void
checkDuplicateErrorCode
(
Integer
code
,
Integer
id
)
{
ErrorCodeDO
errorCodeDO
=
errorCodeMapper
.
selectByCode
(
code
);
if
(
errorCodeDO
!=
null
&&
!
errorCodeDO
.
getId
().
equals
(
id
))
{
throw
ServiceExceptionUtil
.
exception
(
SystemErrorCodeEnum
.
ERROR_CODE_DUPLICATE
,
errorCodeDO
.
getCode
());
}
}
}
user/user-rpc-api/src/main/java/cn/iocoder/mall/user/rpc/request/package-info.java
deleted
100644 → 0
浏览文件 @
0df486a6
/**
* author: sin
* time: 2020/5/3 8:41 下午
*/
package
cn
.
iocoder
.
mall
.
user
.
rpc
.
request
;
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论