Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
md-cdr-v1
Project
Project
Details
Activity
Releases
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
余涛
md-cdr-v1
Commits
ba9495c1
Commit
ba9495c1
authored
Jul 14, 2025
by
yutao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
79ba2708
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
361 additions
and
18 deletions
+361
-18
templates.xml
.idea/mybatisx/templates.xml
+65
-0
CdrApplication.java
src/main/java/com/ediagnosis/cdr/CdrApplication.java
+2
-0
DimDataSummaryRepository.java
...java/com/ediagnosis/cdr/dao/DimDataSummaryRepository.java
+40
-0
DimDataSummaryEntity.java
...a/com/ediagnosis/cdr/dao/entity/DimDataSummaryEntity.java
+2
-2
DimDataSummaryMapper.java
...a/com/ediagnosis/cdr/dao/mapper/DimDataSummaryMapper.java
+15
-0
DimDataSummary.java
src/main/java/com/ediagnosis/cdr/domain/DimDataSummary.java
+14
-0
JsonProcessor.java
src/main/java/com/ediagnosis/cdr/util/JsonProcessor.java
+18
-14
TimeUtil.java
src/main/java/com/ediagnosis/cdr/util/TimeUtil.java
+79
-0
DimDataSummaryMapper.xml
src/main/resources/generator/mapper/DimDataSummaryMapper.xml
+2
-2
JsonProcessorTest.java
src/test/java/com/ediagnosis/cdr/util/JsonProcessorTest.java
+33
-0
Person.java
src/test/java/com/ediagnosis/cdr/util/Person.java
+44
-0
TimeUtilTest.java
src/test/java/com/ediagnosis/cdr/util/TimeUtilTest.java
+47
-0
No files found.
.idea/mybatisx/templates.xml
0 → 100644
View file @
ba9495c1
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"TemplatesSettings"
>
<option
name=
"templateConfigs"
>
<TemplateContext>
<option
name=
"generateConfig"
>
<GenerateConfig>
<option
name=
"annotationType"
value=
"MYBATIS_PLUS3"
/>
<option
name=
"basePackage"
value=
"generator"
/>
<option
name=
"basePath"
value=
"src/main/java"
/>
<option
name=
"classNameStrategy"
value=
"camel"
/>
<option
name=
"encoding"
value=
"UTF-8"
/>
<option
name=
"extraClassSuffix"
value=
""
/>
<option
name=
"ignoreFieldPrefix"
value=
""
/>
<option
name=
"ignoreFieldSuffix"
value=
""
/>
<option
name=
"ignoreTablePrefix"
value=
""
/>
<option
name=
"ignoreTableSuffix"
value=
""
/>
<option
name=
"moduleName"
value=
"md-cdr-v1"
/>
<option
name=
"modulePath"
value=
"$PROJECT_DIR$"
/>
<option
name=
"moduleUIInfoList"
>
<list>
<ModuleInfoGo>
<option
name=
"basePath"
value=
"${domain.basePath}"
/>
<option
name=
"configFileName"
value=
"mapperInterface.ftl"
/>
<option
name=
"configName"
value=
"mapperInterface"
/>
<option
name=
"encoding"
value=
"${domain.encoding}"
/>
<option
name=
"fileName"
value=
"${domain.fileName}Mapper"
/>
<option
name=
"fileNameWithSuffix"
value=
"${domain.fileName}Mapper.java"
/>
<option
name=
"modulePath"
value=
"$PROJECT_DIR$"
/>
<option
name=
"packageName"
value=
"${domain.basePackage}.mapper"
/>
</ModuleInfoGo>
<ModuleInfoGo>
<option
name=
"basePath"
value=
"src/main/resources"
/>
<option
name=
"configFileName"
value=
"mapperXml.ftl"
/>
<option
name=
"configName"
value=
"mapperXml"
/>
<option
name=
"encoding"
value=
"${domain.encoding}"
/>
<option
name=
"fileName"
value=
"${domain.fileName}Mapper"
/>
<option
name=
"fileNameWithSuffix"
value=
"${domain.fileName}Mapper.xml"
/>
<option
name=
"modulePath"
value=
"$PROJECT_DIR$"
/>
<option
name=
"packageName"
value=
"${domain.basePackage}.mapper"
/>
</ModuleInfoGo>
</list>
</option>
<option
name=
"needsComment"
value=
"true"
/>
<option
name=
"needsModel"
value=
"true"
/>
<option
name=
"relativePackage"
value=
"domain"
/>
<option
name=
"superClass"
value=
""
/>
<option
name=
"tableUIInfoList"
>
<list>
<TableUIInfo>
<option
name=
"className"
value=
"DimDataSummary"
/>
<option
name=
"tableName"
value=
"dim_data_summary"
/>
</TableUIInfo>
</list>
</option>
<option
name=
"templatesName"
value=
"mybatis-plus3"
/>
</GenerateConfig>
</option>
<option
name=
"moduleName"
value=
"md-cdr-v1"
/>
<option
name=
"projectPath"
value=
"$PROJECT_DIR$"
/>
<option
name=
"templateName"
value=
"mybatis-plus3"
/>
</TemplateContext>
</option>
</component>
</project>
\ No newline at end of file
src/main/java/com/ediagnosis/cdr/CdrApplication.java
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
@MapperScan
(
"com.ediagnosis.cdr.dao.mapper"
)
public
class
CdrApplication
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/com/ediagnosis/cdr/dao/DimDataSummaryRepository.java
0 → 100644
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
dao
;
import
com.ediagnosis.cdr.dao.entity.DimDataSummaryEntity
;
import
com.ediagnosis.cdr.dao.mapper.DimDataSummaryMapper
;
import
com.ediagnosis.cdr.domain.DimDataSummary
;
import
com.ediagnosis.cdr.util.TimeUtil
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Optional
;
@Repository
public
class
DimDataSummaryRepository
{
private
final
DimDataSummaryMapper
dimDataSummaryMapper
;
public
DimDataSummaryRepository
(
DimDataSummaryMapper
dimDataSummaryMapper
)
{
this
.
dimDataSummaryMapper
=
dimDataSummaryMapper
;
}
public
List
<
DimDataSummary
>
getAllDimDataSummary
()
{
List
<
DimDataSummaryEntity
>
entityList
=
dimDataSummaryMapper
.
selectAll
();
return
entityList
.
stream
().
map
(
this
::
convertToDimDataSummary
).
toList
();
}
private
DimDataSummary
convertToDimDataSummary
(
DimDataSummaryEntity
entity
)
{
Optional
<
LocalDateTime
>
timeOptional
=
TimeUtil
.
toLocalDateTime
(
entity
.
getUpdateTime
());
return
new
DimDataSummary
(
entity
.
getName
(),
entity
.
getCode
(),
entity
.
getValue
(),
timeOptional
.
orElse
(
null
)
);
}
}
src/main/java/com/ediagnosis/cdr/
entity/DimDataSummar
y.java
→
src/main/java/com/ediagnosis/cdr/
dao/entity/DimDataSummaryEntit
y.java
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
entity
;
package
com
.
ediagnosis
.
cdr
.
dao
.
entity
;
import
com.mybatisflex.annotation.Id
;
...
...
@@ -10,7 +10,7 @@ import com.mybatisflex.annotation.Table;
* @TableName dim_data_summary
*/
@Table
(
value
=
"dim_data_summary"
)
public
class
DimDataSummary
{
public
class
DimDataSummary
Entity
{
/**
*
*/
...
...
src/main/java/com/ediagnosis/cdr/mapper/DimDataSummaryMapper.java
→
src/main/java/com/ediagnosis/cdr/
dao/
mapper/DimDataSummaryMapper.java
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
mapper
;
package
com
.
ediagnosis
.
cdr
.
dao
.
mapper
;
import
com.ediagnosis.cdr.
entity.DimDataSummar
y
;
import
com.ediagnosis.cdr.
dao.entity.DimDataSummaryEntit
y
;
import
com.mybatisflex.core.BaseMapper
;
import
org.mybatis.spring.annotation.MapperScan
;
public
interface
DimDataSummaryMapper
extends
BaseMapper
<
DimDataSummary
>
{
@MapperScan
public
interface
DimDataSummaryMapper
extends
BaseMapper
<
DimDataSummary
Entity
>
{
}
...
...
src/main/java/com/ediagnosis/cdr/domain/DimDataSummary.java
0 → 100644
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
domain
;
import
java.time.LocalDateTime
;
public
record
DimDataSummary
(
String
name
,
String
code
,
String
value
,
LocalDateTime
updateTime
)
{
}
src/main/java/com/ediagnosis/cdr/util/JsonProcessor.java
View file @
ba9495c1
...
...
@@ -2,34 +2,38 @@ package com.ediagnosis.cdr.util;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
@Component
public
class
JsonProcessor
{
import
java.util.Optional
;
private
final
ObjectMapper
objectMapper
;
public
JsonProcessor
(
ObjectMapper
objectMapper
)
{
this
.
objectMapper
=
objectMapper
;
}
public
class
JsonProcessor
{
private
static
final
ObjectMapper
objectMapper
=
new
ObjectMapper
();
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
JsonProcessor
.
class
);
public
<
T
>
T
toObject
(
String
json
,
Class
<
T
>
clazz
)
{
public
static
<
T
>
Optional
<
T
>
toObject
(
String
json
,
Class
<
T
>
clazz
)
{
T
value
=
null
;
try
{
return
objectMapper
.
readValue
(
json
,
clazz
);
value
=
objectMapper
.
readValue
(
json
,
clazz
);
}
catch
(
Exception
e
)
{
// todo:打印日志
throw
new
RuntimeException
(
e
);
log
.
error
(
"json to object error"
,
e
);
}
return
Optional
.
ofNullable
(
value
);
}
public
String
toJson
(
Object
object
)
{
public
static
Optional
<
String
>
toJson
(
Object
object
)
{
String
value
=
""
;
try
{
return
objectMapper
.
writeValueAsString
(
object
);
value
=
objectMapper
.
writeValueAsString
(
object
);
}
catch
(
JsonProcessingException
e
)
{
// todo:打印日志
throw
new
RuntimeException
(
e
);
log
.
error
(
"object to json error"
,
e
);
}
return
Optional
.
ofNullable
(
value
);
}
}
src/main/java/com/ediagnosis/cdr/util/TimeUtil.java
0 → 100644
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
util
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.time.DateTimeException
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeParseException
;
import
java.time.temporal.Temporal
;
import
java.util.Optional
;
public
class
TimeUtil
{
private
static
final
DateTimeFormatter
DATE_TIME_FORMATTER
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
private
static
final
DateTimeFormatter
DATE_FORMATTER
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
TimeUtil
.
class
);
public
static
Optional
<
LocalDateTime
>
toLocalDateTime
(
String
time
)
{
return
parseTime
(
time
,
LocalDateTime
.
class
,
DATE_TIME_FORMATTER
);
}
public
static
Optional
<
String
>
toString
(
LocalDateTime
time
)
{
return
formatTime
(
time
,
DATE_TIME_FORMATTER
);
}
public
static
Optional
<
LocalDate
>
toLocalDate
(
String
time
)
{
return
parseTime
(
time
,
LocalDate
.
class
,
DATE_FORMATTER
);
}
public
static
Optional
<
String
>
toString
(
LocalDate
time
)
{
return
formatTime
(
time
,
DATE_FORMATTER
);
}
private
static
<
T
extends
Temporal
>
Optional
<
T
>
parseTime
(
String
time
,
Class
<
T
>
temporalClass
,
DateTimeFormatter
formatter
)
{
try
{
if
(
temporalClass
.
equals
(
LocalDateTime
.
class
))
{
LocalDateTime
dateTime
=
LocalDateTime
.
parse
(
time
,
formatter
);
log
.
debug
(
"time parse success:{}"
,
dateTime
);
return
Optional
.
of
(
dateTime
).
map
(
temporalClass:
:
cast
);
}
else
if
(
temporalClass
.
equals
(
LocalDate
.
class
))
{
LocalDate
date
=
LocalDate
.
parse
(
time
,
formatter
);
log
.
debug
(
"time parse success:{}"
,
date
);
return
Optional
.
of
(
date
).
map
(
temporalClass:
:
cast
);
}
else
{
log
.
error
(
"Unsupported temporal class: {}"
,
temporalClass
.
getName
());
return
Optional
.
empty
();
}
}
catch
(
DateTimeParseException
e
)
{
log
.
error
(
"time parse error"
,
e
);
return
Optional
.
empty
();
}
}
private
static
Optional
<
String
>
formatTime
(
Temporal
time
,
DateTimeFormatter
formatter
)
{
try
{
if
(
time
instanceof
LocalDateTime
dateTime
){
String
format
=
dateTime
.
format
(
formatter
);
log
.
debug
(
"time format success:{}"
,
format
);
return
Optional
.
of
(
format
);
}
else
if
(
time
instanceof
LocalDate
date
){
String
format
=
date
.
format
(
formatter
);
log
.
debug
(
"time format success:{}"
,
format
);
return
Optional
.
of
(
format
);
}
else
{
log
.
error
(
"Unsupported temporal class: {}"
,
time
.
getClass
().
getName
());
return
Optional
.
empty
();
}
}
catch
(
DateTimeException
e
){
log
.
error
(
"time format error"
,
e
);
return
Optional
.
empty
();
}
}
}
src/main/resources/generator/mapper/DimDataSummaryMapper.xml
View file @
ba9495c1
...
...
@@ -2,9 +2,9 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.ediagnosis.cdr.mapper.DimDataSummaryMapper"
>
<mapper
namespace=
"com.ediagnosis.cdr.
dao.
mapper.DimDataSummaryMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.ediagnosis.cdr.
entity.DimDataSummar
y"
>
<resultMap
id=
"BaseResultMap"
type=
"com.ediagnosis.cdr.
dao.entity.DimDataSummaryEntit
y"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"code"
column=
"code"
/>
...
...
src/test/java/com/ediagnosis/cdr/util/JsonProcessorTest.java
0 → 100644
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
util
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.util.Assert
;
import
java.util.Optional
;
@SpringBootTest
class
JsonProcessorTest
{
private
static
final
Person
person
=
new
Person
(
"张三"
,
18
);
@Test
void
toObject
()
{
String
json
=
"{\"name\":\"张三\",\"age\":18}"
;
Optional
<
Person
>
personOptional
=
JsonProcessor
.
toObject
(
json
,
Person
.
class
);
Assert
.
isTrue
(
personOptional
.
isPresent
(),
"转换结果不应为空"
);
Person
tmpPerson
=
personOptional
.
get
();
Assert
.
isTrue
(
person
.
equals
(
tmpPerson
),
"转换后的对象与预期不一致"
);
}
@Test
void
toJson
()
{
Optional
<
String
>
json
=
JsonProcessor
.
toJson
(
person
);
Assert
.
isTrue
(
json
.
isPresent
(),
"转换结果不应为空"
);
Assert
.
isTrue
(
json
.
get
().
equals
(
"{\"name\":\"张三\",\"age\":18}"
),
"转换结果与预期不一致"
);
}
}
\ No newline at end of file
src/test/java/com/ediagnosis/cdr/util/Person.java
0 → 100644
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
util
;
import
java.util.Objects
;
public
class
Person
{
private
String
name
;
private
int
age
;
public
Person
()
{
}
public
Person
(
String
name
,
int
age
)
{
this
.
name
=
name
;
this
.
age
=
age
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
int
getAge
()
{
return
age
;
}
public
void
setAge
(
int
age
)
{
this
.
age
=
age
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(!(
o
instanceof
Person
person
))
return
false
;
return
age
==
person
.
age
&&
Objects
.
equals
(
name
,
person
.
name
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
name
,
age
);
}
}
src/test/java/com/ediagnosis/cdr/util/TimeUtilTest.java
0 → 100644
View file @
ba9495c1
package
com
.
ediagnosis
.
cdr
.
util
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.util.Assert
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.Optional
;
@SpringBootTest
class
TimeUtilTest
{
String
time
=
"2021-01-01 00:00:00"
;
String
date
=
"2021-01-01"
;
LocalDateTime
localDateTime
=
LocalDateTime
.
of
(
2021
,
1
,
1
,
0
,
0
,
0
);
LocalDate
localDate
=
LocalDate
.
of
(
2021
,
1
,
1
);
@Test
void
toLocalDateTime
()
{
Optional
<
LocalDateTime
>
timeOptional
=
TimeUtil
.
toLocalDateTime
(
time
);
Assert
.
isTrue
(
timeOptional
.
isPresent
(),
"时间不存在"
);
Assert
.
isTrue
(
localDateTime
.
equals
(
timeOptional
.
get
()),
"时间不相等"
);
}
@Test
void
testToString
()
{
Optional
<
String
>
timeOptional
=
TimeUtil
.
toString
(
localDateTime
);
Assert
.
isTrue
(
timeOptional
.
isPresent
(),
"时间不存在"
);
Assert
.
isTrue
(
time
.
equals
(
timeOptional
.
get
()),
"时间字符串不相等"
);
}
@Test
void
toLocalDate
()
{
Optional
<
LocalDate
>
timeOptional
=
TimeUtil
.
toLocalDate
(
date
);
Assert
.
isTrue
(
timeOptional
.
isPresent
(),
"时间不存在"
);
Assert
.
isTrue
(
localDate
.
equals
(
timeOptional
.
get
()),
"时间不相等"
);
}
@Test
void
testDateToString
()
{
Optional
<
String
>
timeOptional
=
TimeUtil
.
toString
(
localDate
);
Assert
.
isTrue
(
timeOptional
.
isPresent
(),
"时间不存在"
);
Assert
.
isTrue
(
date
.
equals
(
timeOptional
.
get
()),
"时间字符串不相等"
);
}
}
\ 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