Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1229420a
authored
Sep 14, 2023
by
huangjy
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat,json转换字段
parent
437a22cd
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
77 additions
and
1 deletions
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleep.java
server-service/src/main/java/com/makeit/typehandler/ElderListStringJsonTypeHandler.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleep.java
View file @
1229420a
...
@@ -3,6 +3,7 @@ package com.makeit.entity.platform.elder;
...
@@ -3,6 +3,7 @@ package com.makeit.entity.platform.elder;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.typehandler.ListStringJsonTypeHandler
;
import
com.makeit.common.typehandler.ListStringJsonTypeHandler
;
import
com.makeit.typehandler.ElderListStringJsonTypeHandler
;
import
com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO
;
import
com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -40,7 +41,7 @@ public class PlatElderSleep extends BaseBusEntity {
...
@@ -40,7 +41,7 @@ public class PlatElderSleep extends BaseBusEntity {
private
String
currentDate
;
private
String
currentDate
;
@ApiModelProperty
(
value
=
"睡眠记录 区分时间段记录 [{\"sleepType\":\"\",\"startTime\":\"\",\"endTime\":\"\"},{}]"
)
@ApiModelProperty
(
value
=
"睡眠记录 区分时间段记录 [{\"sleepType\":\"\",\"startTime\":\"\",\"endTime\":\"\"},{}]"
)
@TableField
(
typeHandler
=
ListStringJsonTypeHandler
.
class
)
@TableField
(
typeHandler
=
Elder
ListStringJsonTypeHandler
.
class
)
private
List
<
PlatSleepRangeVO
>
sleepRecord
;
private
List
<
PlatSleepRangeVO
>
sleepRecord
;
...
...
server-service/src/main/java/com/makeit/typehandler/ElderListStringJsonTypeHandler.java
0 → 100644
View file @
1229420a
/*
* Copyright (c) 2011-2021, baomidou (jobob@qq.com).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
makeit
.
typehandler
;
import
com.baomidou.mybatisplus.core.toolkit.Assert
;
import
com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.ibatis.type.JdbcType
;
import
org.apache.ibatis.type.MappedJdbcTypes
;
import
org.apache.ibatis.type.MappedTypes
;
import
java.io.IOException
;
import
java.util.List
;
/**
* Jackson 实现 JSON 字段类型处理器
*
* @author hubin
* @since 2019-08-25
*/
@Slf4j
@MappedTypes
({
List
.
class
})
@MappedJdbcTypes
(
JdbcType
.
VARCHAR
)
public
class
ElderListStringJsonTypeHandler
extends
AbstractJsonTypeHandler
<
List
>
{
private
static
ObjectMapper
OBJECT_MAPPER
;
@Override
protected
List
<
PlatSleepRangeVO
>
parse
(
String
json
)
{
try
{
return
getObjectMapper
().
readValue
(
json
,
new
TypeReference
<
List
<
PlatSleepRangeVO
>>()
{
});
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
@Override
protected
String
toJson
(
List
obj
)
{
try
{
return
getObjectMapper
().
writeValueAsString
(
obj
);
}
catch
(
JsonProcessingException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
public
static
ObjectMapper
getObjectMapper
()
{
if
(
null
==
OBJECT_MAPPER
)
{
OBJECT_MAPPER
=
new
ObjectMapper
();
}
return
OBJECT_MAPPER
;
}
public
static
void
setObjectMapper
(
ObjectMapper
objectMapper
)
{
Assert
.
notNull
(
objectMapper
,
"ObjectMapper should not be null"
);
ElderListStringJsonTypeHandler
.
OBJECT_MAPPER
=
objectMapper
;
}
}
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