Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-parent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
schbrain-parent
Commits
59680bbc
Commit
59680bbc
authored
Feb 05, 2024
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Consider int value for logic delete boolean value
parent
67737a48
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
0 deletions
+24
-0
starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/base/BaseEntityWithLogicDelete.java
...autoconfigure/mybatis/base/BaseEntityWithLogicDelete.java
+24
-0
No files found.
starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/base/BaseEntityWithLogicDelete.java
View file @
59680bbc
package
com.schbrain.framework.autoconfigure.mybatis.base
;
import
cn.hutool.core.util.NumberUtil
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.fasterxml.jackson.core.JsonParser
;
import
com.fasterxml.jackson.databind.DeserializationContext
;
import
com.fasterxml.jackson.databind.JsonDeserializer
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.schbrain.framework.autoconfigure.mybatis.constant.MybatisConstants
;
import
lombok.*
;
import
java.io.IOException
;
/**
* 带逻辑删除的基础实体类, 此类属性不需要显式设置, 框架会自动处理
*
...
...
@@ -22,6 +29,7 @@ public class BaseEntityWithLogicDelete extends BaseEntity {
* 注意:默认不参与查询, 只有写 sql 明确指定查询此字段的时候才有值
*/
@TableLogic
@JsonDeserialize
(
using
=
LogicDeleteDeserializer
.
class
)
@TableField
(
value
=
MybatisConstants
.
DELETED
,
select
=
false
)
protected
Boolean
deleted
;
...
...
@@ -35,4 +43,20 @@ public class BaseEntityWithLogicDelete extends BaseEntity {
@TableField
(
value
=
MybatisConstants
.
DELETE_VERSION
,
select
=
false
)
protected
Long
deleteVersion
;
public
static
class
LogicDeleteDeserializer
extends
JsonDeserializer
<
Boolean
>
{
@Override
public
Boolean
deserialize
(
JsonParser
parser
,
DeserializationContext
context
)
throws
IOException
{
String
currentValue
=
parser
.
getValueAsString
();
if
(
currentValue
==
null
)
{
return
null
;
}
if
(
NumberUtil
.
isNumber
(
currentValue
))
{
return
NumberUtil
.
parseInt
(
currentValue
)
==
1
;
}
return
Boolean
.
parseBoolean
(
currentValue
);
}
}
}
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