Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
D
data-acquisition
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
竹天卫
data-acquisition
Commits
10ba9c05
Commit
10ba9c05
authored
Apr 23, 2021
by
竹天卫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统一异常处理模块3
parent
f110d894
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
2179 additions
and
0 deletions
+2179
-0
TEquipmentAccountController.java
...tion/business/controller/TEquipmentAccountController.java
+51
-0
TEquipmentAccount.java
...ise/sc/acquisition/business/entity/TEquipmentAccount.java
+143
-0
TEquipmentAccountMapper.java
.../acquisition/business/mapper/TEquipmentAccountMapper.java
+16
-0
TEquipmentAccountMapper.xml
...quisition/business/mapper/xml/TEquipmentAccountMapper.xml
+5
-0
ITEquipmentAccountService.java
...quisition/business/service/ITEquipmentAccountService.java
+37
-0
TEquipmentAccountServiceImpl.java
...n/business/service/impl/TEquipmentAccountServiceImpl.java
+136
-0
pom.xml
im-common/pom.xml
+28
-0
IResponseEnum.java
...c/main/java/cn/wise/im/common/currency/IResponseEnum.java
+18
-0
UnifiedMessageSource.java
...cn/wise/im/common/currency/i18n/UnifiedMessageSource.java
+49
-0
ArgumentException.java
...n/java/cn/wise/im/common/exception/ArgumentException.java
+22
-0
BaseException.java
.../main/java/cn/wise/im/common/exception/BaseException.java
+54
-0
BusinessException.java
...n/java/cn/wise/im/common/exception/BusinessException.java
+21
-0
ValidationException.java
...java/cn/wise/im/common/exception/ValidationException.java
+21
-0
WrapMessageException.java
...ava/cn/wise/im/common/exception/WrapMessageException.java
+17
-0
ArgumentExceptionAssert.java
...m/common/exception/assertion/ArgumentExceptionAssert.java
+36
-0
Assert.java
...in/java/cn/wise/im/common/exception/assertion/Assert.java
+868
-0
BusinessExceptionAssert.java
...m/common/exception/assertion/BusinessExceptionAssert.java
+35
-0
CommonExceptionAssert.java
.../im/common/exception/assertion/CommonExceptionAssert.java
+37
-0
ArgumentResponseEnum.java
.../wise/im/common/exception/enums/ArgumentResponseEnum.java
+29
-0
CommonResponseEnum.java
...cn/wise/im/common/exception/enums/CommonResponseEnum.java
+63
-0
ServletResponseEnum.java
...n/wise/im/common/exception/enums/ServletResponseEnum.java
+46
-0
GlobalExceptionHandler.java
...e/im/common/exception/handler/GlobalExceptionHandler.java
+39
-0
MainsiteErrorController.java
.../im/common/exception/handler/MainsiteErrorController.java
+43
-0
UnifiedExceptionHandler.java
.../im/common/exception/handler/UnifiedExceptionHandler.java
+251
-0
R.java
im-common/src/main/java/cn/wise/im/common/http/R.java
+63
-0
ResponseEnum.java
...on/src/main/java/cn/wise/im/common/http/ResponseEnum.java
+36
-0
package-info.java
im-common/src/main/java/cn/wise/im/common/package-info.java
+6
-0
spring.factories
im-common/src/main/resources/META-INF/spring.factories
+4
-0
application.yml
im-common/src/main/resources/application.yml
+5
-0
No files found.
acquisition-business/src/main/java/cn/wise/sc/acquisition/business/controller/TEquipmentAccountController.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
sc
.
acquisition
.
business
.
controller
;
import
cn.wise.im.common.http.R
;
import
cn.wise.sc.acquisition.business.model.PageQuery
;
import
cn.wise.sc.acquisition.business.service.ITEquipmentAccountService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2021-04-23
*/
@Api
(
tags
=
"设备管理"
)
@RestController
@RequestMapping
(
"/business/t-equipment-account"
)
public
class
TEquipmentAccountController
{
@Autowired
private
ITEquipmentAccountService
equipmentAccountService
;
@ApiOperation
(
value
=
"人员分页列表"
)
@ApiImplicitParams
(
value
=
{
@ApiImplicitParam
(
name
=
"EquipmentName"
,
value
=
"设备名称"
,
paramType
=
"query"
,
dataType
=
"EquipmentName"
)
})
@GetMapping
(
"/getPage"
)
public
R
getPage
(
PageQuery
pageQuery
,
String
EquipmentName
)
{
return
equipmentAccountService
.
getPage
(
pageQuery
,
EquipmentName
);
}
}
acquisition-business/src/main/java/cn/wise/sc/acquisition/business/entity/TEquipmentAccount.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
sc
.
acquisition
.
business
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-23
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"T_Equipment_Account"
)
public
class
TEquipmentAccount
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 设备编码
*/
@TableId
(
"EquipmentID"
)
private
String
EquipmentID
;
/**
* 设备名称
*/
@TableField
(
"EquipmentName"
)
private
String
EquipmentName
;
/**
* 所属工序
*/
@TableField
(
"ProcessesName"
)
private
String
ProcessesName
;
/**
* 设备类型,包括租赁和自有
*/
@TableField
(
"EquipmentType"
)
private
String
EquipmentType
;
/**
* 机长
*/
@TableField
(
"EquManager"
)
private
String
EquManager
;
/**
* 规格型号
*/
@TableField
(
"Ggxh"
)
private
String
Ggxh
;
/**
* 生产能力
*/
@TableField
(
"Scnl"
)
private
String
Scnl
;
/**
* 装机容量
*/
@TableField
(
"Zjrl"
)
private
String
Zjrl
;
/**
* 生产厂家
*/
@TableField
(
"Sccj"
)
private
String
Sccj
;
/**
* 出厂日期
*/
@TableField
(
"Ccrq"
)
private
LocalDateTime
Ccrq
;
/**
* 出厂编号
*/
@TableField
(
"Ccbh"
)
private
String
Ccbh
;
/**
* 耐用年限
*/
@TableField
(
"Nynx"
)
private
String
Nynx
;
/**
* 资产编码
*/
@TableField
(
"Zcbm"
)
private
String
Zcbm
;
/**
* 设备原值
*/
@TableField
(
"Yz"
)
private
Float
Yz
;
/**
* 启用日期
*/
@TableField
(
"Qyrq"
)
private
LocalDateTime
Qyrq
;
/**
* 燃料类别
*/
@TableField
(
"Rllb"
)
private
String
Rllb
;
/**
* 转速
*/
@TableField
(
"Zs"
)
private
String
Zs
;
/**
* 状态,分为在用1和报废0
*/
@TableField
(
"IsUsing"
)
private
Boolean
IsUsing
;
/**
* 备注
*/
@TableField
(
"Bz"
)
private
String
Bz
;
}
acquisition-business/src/main/java/cn/wise/sc/acquisition/business/mapper/TEquipmentAccountMapper.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
sc
.
acquisition
.
business
.
mapper
;
import
cn.wise.sc.acquisition.business.entity.TEquipmentAccount
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2021-04-23
*/
public
interface
TEquipmentAccountMapper
extends
BaseMapper
<
TEquipmentAccount
>
{
}
acquisition-business/src/main/java/cn/wise/sc/acquisition/business/mapper/xml/TEquipmentAccountMapper.xml
0 → 100644
View file @
10ba9c05
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.wise.sc.acquisition.business.mapper.TEquipmentAccountMapper"
>
</mapper>
acquisition-business/src/main/java/cn/wise/sc/acquisition/business/service/ITEquipmentAccountService.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
sc
.
acquisition
.
business
.
service
;
import
cn.wise.im.common.http.R
;
import
cn.wise.sc.acquisition.business.entity.TEquipmentAccount
;
import
cn.wise.sc.acquisition.business.model.PageQuery
;
import
cn.wise.sc.acquisition.business.model.query.TEquipmentAccountQuery
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2021-04-23
*/
public
interface
ITEquipmentAccountService
extends
IService
<
TEquipmentAccount
>
{
R
<
IPage
<
TEquipmentAccount
>>
getPage
(
PageQuery
pageQuery
,
String
EquipmentName
);
R
create
(
TEquipmentAccountQuery
query
);
R
update
(
TEquipmentAccountQuery
query
);
R
<
TEquipmentAccount
>
getDetail
(
String
EquipmentID
);
R
<
List
<
TEquipmentAccount
>>
getList
();
R
<
TEquipmentAccount
>
delete
(
String
EquipmentID
);
}
acquisition-business/src/main/java/cn/wise/sc/acquisition/business/service/impl/TEquipmentAccountServiceImpl.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
sc
.
acquisition
.
business
.
service
.
impl
;
import
cn.wise.im.common.http.R
;
import
cn.wise.sc.acquisition.business.constant.Rcode
;
import
cn.wise.sc.acquisition.business.entity.TEquipmentAccount
;
import
cn.wise.sc.acquisition.business.mapper.TEquipmentAccountMapper
;
import
cn.wise.sc.acquisition.business.model.PageQuery
;
import
cn.wise.sc.acquisition.business.model.query.PostQuery
;
import
cn.wise.sc.acquisition.business.model.query.TEquipmentAccountQuery
;
import
cn.wise.sc.acquisition.business.service.ITEquipmentAccountService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2021-04-23
*/
@Service
@Transactional
public
class
TEquipmentAccountServiceImpl
extends
ServiceImpl
<
TEquipmentAccountMapper
,
TEquipmentAccount
>
implements
ITEquipmentAccountService
{
@Resource
private
TEquipmentAccountMapper
equipmentAccountMapper
;
/**
* 分页列表
* @param pageQuery
* @param EquipmentName
* @return
*/
@Override
public
R
<
IPage
<
TEquipmentAccount
>>
getPage
(
PageQuery
pageQuery
,
String
EquipmentName
)
{
QueryWrapper
<
TEquipmentAccount
>
qw
=
new
QueryWrapper
<>();
if
(
StringUtils
.
isNotEmpty
(
EquipmentName
))
{
qw
.
like
(
"EquipmentName"
,
EquipmentName
);
}
qw
.
orderByDesc
(
"Ccrq"
);
IPage
<
TEquipmentAccount
>
page
=
new
Page
<>(
pageQuery
.
getPageNo
(),
pageQuery
.
getPageSize
());
page
=
equipmentAccountMapper
.
selectPage
(
page
,
qw
);
return
R
.
ok
(
page
);
}
/**
* 新增
* @param query
* @return
*/
@Override
public
R
create
(
TEquipmentAccountQuery
query
)
{
Rcode
.
NOT_PARAM
.
assertNotNull
(
query
);
Rcode
.
NOT_PARAM
.
assertNotNull
(
query
.
getEquipmentName
());
TEquipmentAccount
account
=
new
TEquipmentAccount
();
BeanUtils
.
copyProperties
(
query
,
account
);
equipmentAccountMapper
.
insert
(
account
);
return
R
.
ok
();
}
/**
* 修改
* @param query
* @return
*/
@Override
public
R
update
(
TEquipmentAccountQuery
query
)
{
Rcode
.
NOT_PARAM
.
assertNotNull
(
query
);
Rcode
.
NOT_PARAM
.
assertNotNull
(
query
.
getEquipmentID
());
Rcode
.
NOT_PARAM
.
assertNotNull
(
query
.
getEquipmentName
());
TEquipmentAccount
account
=
equipmentAccountMapper
.
selectById
(
query
.
getEquipmentID
());
Rcode
.
NOT_FOUND
.
assertNotNull
(
account
);
BeanUtils
.
copyProperties
(
query
,
account
);
equipmentAccountMapper
.
updateById
(
account
);
return
R
.
ok
();
}
/**
* 详情
* @param EquipmentID
* @return
*/
@Override
public
R
<
TEquipmentAccount
>
getDetail
(
String
EquipmentID
)
{
Rcode
.
NOT_PARAM
.
assertNotNull
(
EquipmentID
);
TEquipmentAccount
account
=
equipmentAccountMapper
.
selectById
(
EquipmentID
);
Rcode
.
NOT_FOUND
.
assertNotNull
(
account
);
return
R
.
ok
(
account
);
}
/**
* 列表
* @return
*/
@Override
public
R
<
List
<
TEquipmentAccount
>>
getList
()
{
List
<
TEquipmentAccount
>
list
=
this
.
list
();
Rcode
.
NOT_FOUND
.
assertIsFalse
(
list
!=
null
&&
list
.
size
()>
0
);
return
R
.
ok
(
list
);
}
/**
* 删除
* @param EquipmentID
* @return
*/
@Override
public
R
<
TEquipmentAccount
>
delete
(
String
EquipmentID
)
{
Rcode
.
NOT_PARAM
.
assertNotNull
(
EquipmentID
);
TEquipmentAccount
account
=
equipmentAccountMapper
.
selectById
(
EquipmentID
);
Rcode
.
NOT_FOUND
.
assertNotNull
(
account
);
equipmentAccountMapper
.
deleteById
(
EquipmentID
);
return
R
.
ok
();
}
}
im-common/pom.xml
0 → 100644
View file @
10ba9c05
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<groupId>
cn.wise.sc.acquisition
</groupId>
<artifactId>
data-acquisition
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
im-common
</artifactId>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot
</artifactId>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
im-common/src/main/java/cn/wise/im/common/currency/IResponseEnum.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
currency
;
public
interface
IResponseEnum
{
/**
* code
*获取返回码
* @return code
*/
int
getCode
();
/**
* message desc
*获取返回信息
* @return message
*/
String
getMessage
();
}
\ No newline at end of file
im-common/src/main/java/cn/wise/im/common/currency/i18n/UnifiedMessageSource.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
currency
.
i18n
;
import
org.springframework.context.MessageSource
;
import
org.springframework.context.i18n.LocaleContextHolder
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.Locale
;
@Service
public
class
UnifiedMessageSource
{
@Resource
private
MessageSource
messageSource
;
/**
* 获取国际化消息
* @param code 消息code
* @return
*/
public
String
getMessage
(
String
code
)
{
return
getMessage
(
code
,
null
);
}
/**
* 获取国际化消息
* @param code 消息code
* @param args 参数
* @return
*/
public
String
getMessage
(
String
code
,
Object
[]
args
)
{
return
getMessage
(
code
,
args
,
""
);
}
/**
* 获取国际化消息
* @param code 消息code
* @param args 参数
* @param defaultMessage 默认消息
* @return
*/
public
String
getMessage
(
String
code
,
Object
[]
args
,
String
defaultMessage
)
{
Locale
locale
=
LocaleContextHolder
.
getLocale
();
return
messageSource
.
getMessage
(
code
,
args
,
defaultMessage
,
locale
);
}
}
\ No newline at end of file
im-common/src/main/java/cn/wise/im/common/exception/ArgumentException.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
;
import
cn.wise.im.common.currency.IResponseEnum
;
/**
* <p>参数异常</p>
* <p>在处理业务过程中校验参数出现错误, 可以抛出该异常</p>
* <p>编写公共代码(如工具类)时,对传入参数检查不通过时,可以抛出该异常</p>
*/
public
class
ArgumentException
extends
BaseException
{
private
static
final
long
serialVersionUID
=
1L
;
public
ArgumentException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
)
{
super
(
responseEnum
,
args
,
message
);
}
public
ArgumentException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
,
Throwable
cause
)
{
super
(
responseEnum
,
args
,
message
,
cause
);
}
}
im-common/src/main/java/cn/wise/im/common/exception/BaseException.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
;
import
lombok.Getter
;
import
cn.wise.im.common.currency.IResponseEnum
;
/**
* <p>基础异常类,所有自定义异常类都需要继承本类</p>
*/
@Getter
public
class
BaseException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 返回码
*/
protected
IResponseEnum
responseEnum
;
/**
* 异常消息参数
*/
protected
Object
[]
args
;
public
BaseException
(
IResponseEnum
responseEnum
)
{
super
(
responseEnum
.
getMessage
());
this
.
responseEnum
=
responseEnum
;
}
public
BaseException
(
int
code
,
String
msg
)
{
super
(
msg
);
this
.
responseEnum
=
new
IResponseEnum
()
{
@Override
public
int
getCode
()
{
return
code
;
}
@Override
public
String
getMessage
()
{
return
msg
;
}
};
}
public
BaseException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
)
{
super
(
message
);
this
.
responseEnum
=
responseEnum
;
this
.
args
=
args
;
}
public
BaseException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
this
.
responseEnum
=
responseEnum
;
this
.
args
=
args
;
}
}
im-common/src/main/java/cn/wise/im/common/exception/BusinessException.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
;
import
cn.wise.im.common.currency.IResponseEnum
;
/**
* <p>业务异常</p>
* <p>业务处理时,出现异常,可以抛出该异常</p>
*/
public
class
BusinessException
extends
BaseException
{
private
static
final
long
serialVersionUID
=
1L
;
public
BusinessException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
)
{
super
(
responseEnum
,
args
,
message
);
}
public
BusinessException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
,
Throwable
cause
)
{
super
(
responseEnum
,
args
,
message
,
cause
);
}
}
\ No newline at end of file
im-common/src/main/java/cn/wise/im/common/exception/ValidationException.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
;
import
cn.wise.im.common.currency.IResponseEnum
;
/**
* <p>校验异常</p>
* <p>调用接口时,参数格式不合法可以抛出该异常</p>
*/
public
class
ValidationException
extends
BaseException
{
private
static
final
long
serialVersionUID
=
1L
;
public
ValidationException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
)
{
super
(
responseEnum
,
args
,
message
);
}
public
ValidationException
(
IResponseEnum
responseEnum
,
Object
[]
args
,
String
message
,
Throwable
cause
)
{
super
(
responseEnum
,
args
,
message
,
cause
);
}
}
im-common/src/main/java/cn/wise/im/common/exception/WrapMessageException.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
;
/**
* 只包装了 错误信息 的 {@link RuntimeException}.
* 用于中用于包装自定义异常信息
*/
public
class
WrapMessageException
extends
RuntimeException
{
public
WrapMessageException
(
String
message
)
{
super
(
message
);
}
public
WrapMessageException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
}
im-common/src/main/java/cn/wise/im/common/exception/assertion/ArgumentExceptionAssert.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
assertion
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.wise.im.common.currency.IResponseEnum
;
import
cn.wise.im.common.exception.ArgumentException
;
import
cn.wise.im.common.exception.BaseException
;
import
java.text.MessageFormat
;
/**
* <pre>
*参数异常断言
* </pre>
*/
public
interface
ArgumentExceptionAssert
extends
IResponseEnum
,
Assert
{
@Override
default
BaseException
newException
(
Object
...
args
)
{
String
msg
=
this
.
getMessage
();
if
(
ArrayUtil
.
isNotEmpty
(
args
))
{
msg
=
MessageFormat
.
format
(
this
.
getMessage
(),
args
);
}
return
new
ArgumentException
(
this
,
args
,
msg
);
}
@Override
default
BaseException
newException
(
Throwable
t
,
Object
...
args
)
{
String
msg
=
this
.
getMessage
();
if
(
ArrayUtil
.
isNotEmpty
(
args
))
{
msg
=
MessageFormat
.
format
(
this
.
getMessage
(),
args
);
}
return
new
ArgumentException
(
this
,
args
,
msg
,
t
);
}
}
im-common/src/main/java/cn/wise/im/common/exception/assertion/Assert.java
0 → 100644
View file @
10ba9c05
This diff is collapsed.
Click to expand it.
im-common/src/main/java/cn/wise/im/common/exception/assertion/BusinessExceptionAssert.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
assertion
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.wise.im.common.currency.IResponseEnum
;
import
cn.wise.im.common.exception.BaseException
;
import
cn.wise.im.common.exception.BusinessException
;
import
java.text.MessageFormat
;
/**
* <p>业务异常断言</p>
*/
public
interface
BusinessExceptionAssert
extends
IResponseEnum
,
Assert
{
@Override
default
BaseException
newException
(
Object
...
args
)
{
String
msg
=
this
.
getMessage
();
if
(
ArrayUtil
.
isNotEmpty
(
args
))
{
msg
=
MessageFormat
.
format
(
this
.
getMessage
(),
args
);
}
return
new
BusinessException
(
this
,
args
,
msg
);
}
@Override
default
BaseException
newException
(
Throwable
t
,
Object
...
args
)
{
String
msg
=
this
.
getMessage
();
if
(
ArrayUtil
.
isNotEmpty
(
args
))
{
msg
=
MessageFormat
.
format
(
this
.
getMessage
(),
args
);
}
return
new
BusinessException
(
this
,
args
,
msg
,
t
);
}
}
im-common/src/main/java/cn/wise/im/common/exception/assertion/CommonExceptionAssert.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
assertion
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.wise.im.common.currency.IResponseEnum
;
import
cn.wise.im.common.exception.ArgumentException
;
import
cn.wise.im.common.exception.BaseException
;
import
java.text.MessageFormat
;
/**
* <pre>
*通用异常断言
* </pre>
*/
public
interface
CommonExceptionAssert
extends
IResponseEnum
,
Assert
{
@Override
default
BaseException
newException
(
Object
...
args
)
{
String
msg
=
this
.
getMessage
();
if
(
ArrayUtil
.
isNotEmpty
(
args
))
{
msg
=
MessageFormat
.
format
(
this
.
getMessage
(),
args
);
}
return
new
ArgumentException
(
this
,
args
,
msg
);
}
@Override
default
BaseException
newException
(
Throwable
t
,
Object
...
args
)
{
String
msg
=
this
.
getMessage
();
if
(
ArrayUtil
.
isNotEmpty
(
args
))
{
msg
=
MessageFormat
.
format
(
this
.
getMessage
(),
args
);
}
return
new
ArgumentException
(
this
,
args
,
msg
,
t
);
}
}
im-common/src/main/java/cn/wise/im/common/exception/enums/ArgumentResponseEnum.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
enums
;
import
cn.wise.im.common.exception.assertion.CommonExceptionAssert
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* <p>参数校验异常返回结果</p>
*/
@Getter
@AllArgsConstructor
public
enum
ArgumentResponseEnum
implements
CommonExceptionAssert
{
/**
* 绑定参数校验异常
*/
VALID_ERROR
(
6000
,
"参数校验异常"
),
;
/**
* 返回码
*/
private
int
code
;
/**
* 返回消息
*/
private
String
message
;
}
im-common/src/main/java/cn/wise/im/common/exception/enums/CommonResponseEnum.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
enums
;
import
cn.wise.im.common.exception.BaseException
;
import
cn.wise.im.common.exception.assertion.CommonExceptionAssert
;
import
cn.wise.im.common.http.R
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* <p>通用返回结果</p>
*/
@Getter
@AllArgsConstructor
public
enum
CommonResponseEnum
implements
CommonExceptionAssert
{
/**
* 成功
*/
SUCCESS
(
0
,
"SUCCESS"
),
/**
* 服务器繁忙,请稍后重试
*/
SERVER_BUSY
(
9998
,
"服务器繁忙"
),
/**
* 服务器异常,无法识别的异常,尽可能对通过判断减少未定义异常抛出
*/
SERVER_ERROR
(
9999
,
"网络异常"
),
/**
* 5***,一般对应于,系统封装的工具出现异常
*/
// Time
DATE_NOT_NULL
(
5001
,
"日期不能为空"
),
DATETIME_NOT_NULL
(
5001
,
"时间不能为空"
),
TIME_NOT_NULL
(
5001
,
"时间不能为空"
),
DATE_PATTERN_MISMATCH
(
5002
,
"日期[%s]与格式[%s]不匹配,无法解析"
),
PATTERN_NOT_NULL
(
5003
,
"日期格式不能为空"
),
PATTERN_INVALID
(
5003
,
"日期格式[%s]无法识别"
),
;
/**
* 返回码
*/
private
int
code
;
/**
* 返回消息
*/
private
String
message
;
/**
* 校验返回结果是否成功
* @param response 远程调用的响应
*/
public
static
void
assertSuccess
(
R
response
)
{
SERVER_ERROR
.
assertNotNull
(
response
);
int
code
=
response
.
getCode
();
if
(
CommonResponseEnum
.
SUCCESS
.
getCode
()
!=
code
)
{
String
msg
=
response
.
getMessage
();
throw
new
BaseException
(
code
,
msg
);
}
}
}
im-common/src/main/java/cn/wise/im/common/exception/enums/ServletResponseEnum.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
javax.servlet.http.HttpServletResponse
;
/**
* <p>异常类与http status对照关系</p>
* @see org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler
*/
@Getter
@AllArgsConstructor
public
enum
ServletResponseEnum
{
MethodArgumentNotValidException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
MethodArgumentTypeMismatchException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
MissingServletRequestPartException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
MissingPathVariableException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
BindException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
MissingServletRequestParameterException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
TypeMismatchException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
ServletRequestBindingException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
HttpMessageNotReadableException
(
4400
,
""
,
HttpServletResponse
.
SC_BAD_REQUEST
),
NoHandlerFoundException
(
4404
,
""
,
HttpServletResponse
.
SC_NOT_FOUND
),
NoSuchRequestHandlingMethodException
(
4404
,
""
,
HttpServletResponse
.
SC_NOT_FOUND
),
HttpRequestMethodNotSupportedException
(
4405
,
""
,
HttpServletResponse
.
SC_METHOD_NOT_ALLOWED
),
HttpMediaTypeNotAcceptableException
(
4406
,
""
,
HttpServletResponse
.
SC_NOT_ACCEPTABLE
),
HttpMediaTypeNotSupportedException
(
4415
,
""
,
HttpServletResponse
.
SC_UNSUPPORTED_MEDIA_TYPE
),
ConversionNotSupportedException
(
4500
,
""
,
HttpServletResponse
.
SC_INTERNAL_SERVER_ERROR
),
HttpMessageNotWritableException
(
4500
,
""
,
HttpServletResponse
.
SC_INTERNAL_SERVER_ERROR
),
AsyncRequestTimeoutException
(
4503
,
""
,
HttpServletResponse
.
SC_SERVICE_UNAVAILABLE
)
;
/**
* 返回码,目前与{@link #statusCode}相同
*/
private
int
code
;
/**
* 返回信息,直接读取异常的message
*/
private
String
message
;
/**
* HTTP状态码
*/
private
int
statusCode
;
}
im-common/src/main/java/cn/wise/im/common/exception/handler/GlobalExceptionHandler.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
handler
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.servlet.ModelAndView
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
@ControllerAdvice
public
class
GlobalExceptionHandler
{
public
static
final
String
ERROR_VIEW
=
"error"
;
@ExceptionHandler
(
value
=
Exception
.
class
)
public
Object
errorHandler
(
HttpServletRequest
reqest
,
HttpServletResponse
response
,
Exception
e
)
throws
Exception
{
e
.
printStackTrace
();
// 是否ajax请求
if
(
isAjax
(
reqest
))
{
return
null
;
//JSONResult.errorException(e.getMessage());
}
else
{
ModelAndView
mav
=
new
ModelAndView
();
mav
.
addObject
(
"exception"
,
e
);
mav
.
addObject
(
"url"
,
reqest
.
getRequestURL
());
mav
.
setViewName
(
ERROR_VIEW
);
return
mav
;
}
}
public
static
boolean
isAjax
(
HttpServletRequest
httpRequest
){
return
(
httpRequest
.
getHeader
(
"X-Requested-With"
)
!=
null
&&
"XMLHttpRequest"
.
equals
(
httpRequest
.
getHeader
(
"X-Requested-With"
))
);
}
}
\ No newline at end of file
im-common/src/main/java/cn/wise/im/common/exception/handler/MainsiteErrorController.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
handler
;
import
cn.wise.im.common.http.R
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.boot.web.servlet.error.ErrorController
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
@Slf4j
@RestController
@RequestMapping
(
"${server.error.path:/error}"
)
public
class
MainsiteErrorController
implements
ErrorController
{
private
final
String
ERROR_PATH
=
"/error"
;
/**
* 出现错误,跳转到如下映射中
* @return
*/
@Override
public
String
getErrorPath
()
{
return
ERROR_PATH
;
}
@RequestMapping
public
R
handleError
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
int
code
=
response
.
getStatus
();
if
(
404
==
code
)
{
return
R
.
fail
(
404
,
"未找到资源"
);
}
else
if
(
403
==
code
)
{
return
R
.
fail
(
403
,
"没有访问权限"
);
}
else
if
(
401
==
code
)
{
return
R
.
fail
(
401
,
"登录过期"
);
}
else
{
return
R
.
fail
(
500
,
"服务器错误"
);
}
}
}
\ No newline at end of file
im-common/src/main/java/cn/wise/im/common/exception/handler/UnifiedExceptionHandler.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
exception
.
handler
;
import
cn.hutool.json.JSON
;
import
cn.wise.im.common.currency.i18n.UnifiedMessageSource
;
import
cn.wise.im.common.exception.BaseException
;
import
cn.wise.im.common.exception.BusinessException
;
import
cn.wise.im.common.exception.enums.ArgumentResponseEnum
;
import
cn.wise.im.common.exception.enums.CommonResponseEnum
;
import
cn.wise.im.common.exception.enums.ServletResponseEnum
;
import
cn.wise.im.common.http.R
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.ConversionNotSupportedException
;
import
org.springframework.beans.TypeMismatchException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication
;
import
org.springframework.http.converter.HttpMessageNotReadableException
;
import
org.springframework.http.converter.HttpMessageNotWritableException
;
import
org.springframework.stereotype.Component
;
import
org.springframework.validation.BindException
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.FieldError
;
import
org.springframework.validation.ObjectError
;
import
org.springframework.web.HttpMediaTypeNotAcceptableException
;
import
org.springframework.web.HttpMediaTypeNotSupportedException
;
import
org.springframework.web.HttpRequestMethodNotSupportedException
;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.MissingPathVariableException
;
import
org.springframework.web.bind.MissingServletRequestParameterException
;
import
org.springframework.web.bind.ServletRequestBindingException
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.context.request.async.AsyncRequestTimeoutException
;
import
org.springframework.web.multipart.support.MissingServletRequestPartException
;
import
org.springframework.web.servlet.NoHandlerFoundException
;
import
javax.validation.ConstraintViolation
;
import
javax.validation.ConstraintViolationException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* <p>全局异常处理器</p>
*/
@Slf4j
@Component
@ControllerAdvice
@ConditionalOnWebApplication
@ConditionalOnMissingBean
(
UnifiedExceptionHandler
.
class
)
public
class
UnifiedExceptionHandler
{
/**
* 生产环境
*/
private
final
static
String
ENV_PROD
=
"prod"
;
@Autowired
private
UnifiedMessageSource
unifiedMessageSource
;
/**
* 当前环境
*/
@Value
(
"${spring.profiles.active}"
)
private
String
profile
;
/**
* 获取国际化消息
*
* @param e 异常
* @return
*/
public
String
getMessage
(
BaseException
e
)
{
String
code
=
"response."
+
e
.
getResponseEnum
().
toString
();
String
message
=
unifiedMessageSource
.
getMessage
(
code
,
e
.
getArgs
());
if
(
message
==
null
||
message
.
isEmpty
())
{
return
e
.
getMessage
();
}
return
message
;
}
/**
* 业务异常
*
* @param e 异常
* @return 异常结果
*/
@ExceptionHandler
(
value
=
BusinessException
.
class
)
@ResponseBody
public
R
handleBusinessException
(
BaseException
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
return
R
.
fail
(
e
.
getResponseEnum
().
getCode
(),
getMessage
(
e
));
}
/**
* 自定义异常
*
* @param e 异常
* @return 异常结果
*/
@ExceptionHandler
(
value
=
BaseException
.
class
)
@ResponseBody
public
R
handleBaseException
(
BaseException
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
return
R
.
fail
(
e
.
getResponseEnum
().
getCode
(),
getMessage
(
e
));
}
/**
* Controller上一层相关异常
*
* @param e 异常
* @return 异常结果
*/
@ExceptionHandler
({
NoHandlerFoundException
.
class
,
HttpRequestMethodNotSupportedException
.
class
,
HttpMediaTypeNotSupportedException
.
class
,
HttpMediaTypeNotAcceptableException
.
class
,
MissingPathVariableException
.
class
,
MissingServletRequestParameterException
.
class
,
TypeMismatchException
.
class
,
HttpMessageNotReadableException
.
class
,
HttpMessageNotWritableException
.
class
,
// BindException.class,
// MethodArgumentNotValidException.class
ServletRequestBindingException
.
class
,
ConversionNotSupportedException
.
class
,
MissingServletRequestPartException
.
class
,
AsyncRequestTimeoutException
.
class
})
@ResponseBody
public
R
handleServletException
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
int
code
=
CommonResponseEnum
.
SERVER_ERROR
.
getCode
();
try
{
ServletResponseEnum
servletExceptionEnum
=
ServletResponseEnum
.
valueOf
(
e
.
getClass
().
getSimpleName
());
code
=
servletExceptionEnum
.
getCode
();
}
catch
(
IllegalArgumentException
e1
)
{
log
.
error
(
"class [{}] not defined in enum {}"
,
e
.
getClass
().
getName
(),
ServletResponseEnum
.
class
.
getName
());
}
if
(
ENV_PROD
.
equals
(
profile
))
{
// 当为生产环境, 不适合把具体的异常信息展示给用户, 比如404.
code
=
CommonResponseEnum
.
SERVER_ERROR
.
getCode
();
BaseException
baseException
=
new
BaseException
(
CommonResponseEnum
.
SERVER_ERROR
);
String
message
=
getMessage
(
baseException
);
return
R
.
fail
(
code
,
message
);
}
return
R
.
fail
(
code
,
e
.
getMessage
());
}
/**
* 参数绑定异常
*
* @param e 异常
* @return 异常结果
*/
@ExceptionHandler
(
value
=
BindException
.
class
)
@ResponseBody
public
R
handleBindException
(
BindException
e
)
{
log
.
error
(
"参数绑定校验异常"
,
e
);
return
wrapperBindingResult
(
e
.
getBindingResult
());
}
/**
* 参数校验(Valid)异常,将校验失败的所有异常组合成一条错误信息
*
* @param e 异常
* @return 异常结果
*/
@ExceptionHandler
(
value
=
MethodArgumentNotValidException
.
class
)
@ResponseBody
public
R
handleValidException
(
MethodArgumentNotValidException
e
)
{
log
.
error
(
"参数绑定校验异常"
,
e
);
return
wrapperBindingResult
(
e
.
getBindingResult
());
}
/**
* 参数校验(ConstraintViolationException)异常
* @param ex
* @return
*/
@ExceptionHandler
(
value
=
ConstraintViolationException
.
class
)
@ResponseBody
public
R
ConstraintViolationExceptionHandler
(
ConstraintViolationException
ex
)
{
Set
<
ConstraintViolation
<?>>
constraintViolations
=
ex
.
getConstraintViolations
();
Iterator
<
ConstraintViolation
<?>>
iterator
=
constraintViolations
.
iterator
();
List
<
String
>
msgList
=
new
ArrayList
<>();
while
(
iterator
.
hasNext
())
{
ConstraintViolation
<?>
cvl
=
iterator
.
next
();
msgList
.
add
(
cvl
.
getMessage
());
}
return
R
.
fail
(
ArgumentResponseEnum
.
VALID_ERROR
.
getCode
(),
msgList
.
get
(
0
));
}
/**
* 包装绑定异常结果
*
* @param bindingResult 绑定结果
* @return 异常结果
*/
private
R
wrapperBindingResult
(
BindingResult
bindingResult
)
{
StringBuilder
msg
=
new
StringBuilder
();
for
(
ObjectError
error
:
bindingResult
.
getAllErrors
())
{
msg
.
append
(
", "
);
if
(
error
instanceof
FieldError
)
{
msg
.
append
(((
FieldError
)
error
).
getField
()).
append
(
": "
);
}
msg
.
append
(
error
.
getDefaultMessage
()
==
null
?
""
:
error
.
getDefaultMessage
());
}
return
R
.
fail
(
ArgumentResponseEnum
.
VALID_ERROR
.
getCode
(),
msg
.
substring
(
2
));
}
/**
* 未定义异常
*
* @param e 异常
* @return 异常结果
*/
@ExceptionHandler
(
value
=
Exception
.
class
)
@ResponseBody
public
R
handleException
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
if
(
ENV_PROD
.
equals
(
profile
))
{
// 当为生产环境, 不适合把具体的异常信息展示给用户, 比如数据库异常信息.
int
code
=
CommonResponseEnum
.
SERVER_ERROR
.
getCode
();
BaseException
baseException
=
new
BaseException
(
CommonResponseEnum
.
SERVER_ERROR
);
String
message
=
getMessage
(
baseException
);
return
R
.
fail
(
code
,
message
);
}
return
R
.
fail
(
CommonResponseEnum
.
SERVER_ERROR
.
getCode
(),
e
.
getMessage
());
}
}
im-common/src/main/java/cn/wise/im/common/http/R.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
http
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
R
<
T
>
implements
Serializable
{
private
Integer
code
;
private
String
message
;
private
T
data
;
private
R
()
{
}
public
static
<
T
>
R
<
T
>
ok
()
{
return
createResult
(
ResponseEnum
.
SUCCESS
.
getCode
(),
null
,
null
);
}
public
static
<
T
>
R
<
T
>
ok
(
T
data
)
{
return
createResult
(
ResponseEnum
.
SUCCESS
.
getCode
(),
ResponseEnum
.
SUCCESS
.
getMessage
(),
data
);
}
public
static
<
T
>
R
<
T
>
ok
(
String
message
)
{
return
createResult
(
ResponseEnum
.
SUCCESS
.
getCode
(),
message
,
null
);
}
public
static
<
T
>
R
<
T
>
ok
(
T
data
,
String
message
)
{
return
createResult
(
ResponseEnum
.
SUCCESS
.
getCode
(),
message
,
data
);
}
public
static
<
T
>
R
<
T
>
fail
()
{
return
createResult
(
ResponseEnum
.
FAIL
.
getCode
(),
ResponseEnum
.
FAIL
.
getMessage
(),
null
);
}
public
static
<
T
>
R
<
T
>
fail
(
ResponseEnum
responseCode
)
{
return
createResult
(
responseCode
.
getCode
(),
responseCode
.
getMessage
(),
null
);
}
public
static
<
T
>
R
<
T
>
fail
(
ResponseEnum
responseCode
,
T
data
)
{
return
createResult
(
responseCode
.
getCode
(),
responseCode
.
getMessage
(),
data
);
}
public
static
<
T
>
R
<
T
>
fail
(
ResponseEnum
responseCode
,
String
message
)
{
return
createResult
(
responseCode
.
getCode
(),
String
.
format
(
"%s %s"
,
responseCode
.
getMessage
(),
message
),
null
);
}
public
static
<
T
>
R
<
T
>
fail
(
Integer
code
,
String
message
)
{
return
createResult
(
code
,
message
,
null
);
}
private
static
<
T
>
R
<
T
>
createResult
(
Integer
code
,
String
message
,
T
data
)
{
R
<
T
>
r
=
new
R
<>();
r
.
setCode
(
code
);
r
.
setMessage
(
message
);
r
.
setData
(
data
);
return
r
;
}
}
im-common/src/main/java/cn/wise/im/common/http/ResponseEnum.java
0 → 100644
View file @
10ba9c05
package
cn
.
wise
.
im
.
common
.
http
;
import
cn.wise.im.common.currency.IResponseEnum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
ResponseEnum
implements
IResponseEnum
{
/**
* 成功
*/
SUCCESS
(
200
,
"请求成功"
),
/**
* 失败
*/
FAIL
(
400
,
"请求失败"
),
/**
* 用户信息不存在
*/
USER_NOT_FOUND
(
10001
,
"用户信息不存在"
),
;
/**
* code
*/
final
int
code
;
/**
* message desc
*/
final
String
message
;
}
\ No newline at end of file
im-common/src/main/java/cn/wise/im/common/package-info.java
0 → 100644
View file @
10ba9c05
/**
* @author neo.shu
* @since 2021/4/16 15:33
*/
package
cn
.
wise
.
im
.
common
;
\ No newline at end of file
im-common/src/main/resources/META-INF/spring.factories
0 → 100644
View file @
10ba9c05
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cn.wise.im.common.exception.handler.UnifiedExceptionHandler,\
cn.wise.im.common.currency.i18n.UnifiedMessageSource
im-common/src/main/resources/application.yml
0 → 100644
View file @
10ba9c05
spring
:
mvc
:
throw-exception-if-no-handler-found
:
true
resources
:
add-mappings
:
false
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment