Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
workflow2
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄夏豪
workflow2
Commits
6bad79ed
提交
6bad79ed
authored
9月 15, 2021
作者:
黄承天
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[用户模块]增加同步秘钥、用户、组织架构信息相关功能
上级
5b3474bf
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
145 行增加
和
5 行删除
+145
-5
ResultObj.java
...ain/java/com/tykj/workflowcore/base/result/ResultObj.java
+2
-0
SyncDataController.java
...tykj/workflowcore/user/controller/SyncDataController.java
+28
-0
Organization.java
...in/java/com/tykj/workflowcore/user/pojo/Organization.java
+2
-0
StorageKey.java
...main/java/com/tykj/workflowcore/user/pojo/StorageKey.java
+2
-0
User.java
src/main/java/com/tykj/workflowcore/user/pojo/User.java
+3
-1
SyncDataService.java
.../tykj/workflowcore/user/service/impl/SyncDataService.java
+102
-0
application-mysql.yml
src/main/resources/application-mysql.yml
+6
-4
没有找到文件。
src/main/java/com/tykj/workflowcore/base/result/ResultObj.java
浏览文件 @
6bad79ed
package
com
.
tykj
.
workflowcore
.
base
.
result
;
package
com
.
tykj
.
workflowcore
.
base
.
result
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonPropertyOrder
;
import
com.fasterxml.jackson.annotation.JsonPropertyOrder
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -9,6 +10,7 @@ import lombok.NoArgsConstructor;
...
@@ -9,6 +10,7 @@ import lombok.NoArgsConstructor;
* @author dengdiyi
* @author dengdiyi
* @description 接口返回统一标准类
* @description 接口返回统一标准类
*/
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@Data
@Data
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
...
...
src/main/java/com/tykj/workflowcore/user/controller/SyncDataController.java
0 → 100644
浏览文件 @
6bad79ed
package
com
.
tykj
.
workflowcore
.
user
.
controller
;
import
com.google.common.collect.ImmutableMap
;
import
com.tykj.workflowcore.user.service.impl.SyncDataService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Api
(
tags
=
"数据同步"
)
@RequestMapping
(
"/sync/data"
)
@RestController
public
class
SyncDataController
{
@Autowired
private
SyncDataService
syncDataService
;
@ApiOperation
(
"主动触发一次数据同步操作"
)
@PostMapping
(
"/execute"
)
public
ResponseEntity
execute
()
{
syncDataService
.
execute
();
return
ResponseEntity
.
ok
(
ImmutableMap
.
of
(
"msg"
,
"同步完成"
));
}
}
src/main/java/com/tykj/workflowcore/user/pojo/Organization.java
浏览文件 @
6bad79ed
package
com
.
tykj
.
workflowcore
.
user
.
pojo
;
package
com
.
tykj
.
workflowcore
.
user
.
pojo
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.tykj.workflowcore.user.pojo.vo.OrganizationVo
;
import
com.tykj.workflowcore.user.pojo.vo.OrganizationVo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -10,6 +11,7 @@ import lombok.NoArgsConstructor;
...
@@ -10,6 +11,7 @@ import lombok.NoArgsConstructor;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@Entity
@Entity
@Data
@Data
@NoArgsConstructor
@NoArgsConstructor
...
...
src/main/java/com/tykj/workflowcore/user/pojo/StorageKey.java
浏览文件 @
6bad79ed
package
com
.
tykj
.
workflowcore
.
user
.
pojo
;
package
com
.
tykj
.
workflowcore
.
user
.
pojo
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
...
@@ -8,6 +9,7 @@ import lombok.NoArgsConstructor;
...
@@ -8,6 +9,7 @@ import lombok.NoArgsConstructor;
import
javax.persistence.*
;
import
javax.persistence.*
;
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@Entity
@Entity
@Data
@Data
@NoArgsConstructor
@NoArgsConstructor
...
...
src/main/java/com/tykj/workflowcore/user/pojo/User.java
浏览文件 @
6bad79ed
package
com
.
tykj
.
workflowcore
.
user
.
pojo
;
package
com
.
tykj
.
workflowcore
.
user
.
pojo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.programmaticallyspeaking.aptdemo.NoAutoIncreament
;
import
com.programmaticallyspeaking.aptdemo.NoAutoIncreament
;
import
com.tykj.workflowcore.user.pojo.vo.OrganizationVo
;
import
com.tykj.workflowcore.user.pojo.vo.OrganizationVo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
...
@@ -14,6 +15,7 @@ import javax.persistence.*;
...
@@ -14,6 +15,7 @@ import javax.persistence.*;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@Entity
@Entity
@Data
@Data
@NoArgsConstructor
@NoArgsConstructor
...
@@ -43,7 +45,7 @@ public class User {
...
@@ -43,7 +45,7 @@ public class User {
private
Integer
locked
=
0
;
private
Integer
locked
=
0
;
@ApiModelProperty
(
value
=
"用户的性别"
)
@ApiModelProperty
(
value
=
"用户的性别"
)
private
char
sex
;
private
String
sex
;
@ApiModelProperty
(
value
=
"身份证号"
)
@ApiModelProperty
(
value
=
"身份证号"
)
private
String
idCardNumber
;
private
String
idCardNumber
;
...
...
src/main/java/com/tykj/workflowcore/user/service/impl/SyncDataService.java
0 → 100644
浏览文件 @
6bad79ed
package
com
.
tykj
.
workflowcore
.
user
.
service
.
impl
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.tykj.workflowcore.base.result.ResultObj
;
import
com.tykj.workflowcore.user.dao.OrganizationDao
;
import
com.tykj.workflowcore.user.dao.StorageKeyDao
;
import
com.tykj.workflowcore.user.dao.UserDao
;
import
com.tykj.workflowcore.user.pojo.Organization
;
import
com.tykj.workflowcore.user.pojo.StorageKey
;
import
com.tykj.workflowcore.user.pojo.User
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.HashMap
;
import
java.util.List
;
import
static
java
.
util
.
Objects
.
nonNull
;
@Slf4j
@Service
public
class
SyncDataService
{
@Autowired
private
OrganizationDao
organizationDao
;
@Autowired
private
UserDao
userDao
;
@Autowired
private
StorageKeyDao
storageKeyDao
;
private
RestTemplate
restTemplate
=
new
RestTemplate
();
@Value
(
"${sync.ip}"
)
private
String
ip
;
@Value
(
"${sync.port}"
)
private
Integer
port
=
8880
;
private
String
url
=
String
.
format
(
"http://%s:%s"
,
ip
,
port
);
@Scheduled
(
cron
=
"0 0 */1 * * ?"
)
public
void
execute
()
{
syncKey
();
syncUser
();
syncOrganization
();
}
private
void
syncKey
()
{
log
.
info
(
"开始同步秘钥信息..."
);
ResponseEntity
<
String
>
entity
=
restTemplate
.
postForEntity
(
url
+
"/storageKey/getKeys"
,
null
,
String
.
class
,
new
HashMap
<>());
if
(
nonNull
(
entity
)
&&
nonNull
(
entity
.
getBody
()))
{
try
{
ResultObj
<
StorageKey
>
resultObj
=
new
ObjectMapper
().
readValue
(
entity
.
getBody
(),
new
TypeReference
<
ResultObj
<
StorageKey
>>()
{
});
StorageKey
key
=
resultObj
.
getData
();
storageKeyDao
.
save
(
key
);
}
catch
(
JsonProcessingException
e
)
{
e
.
printStackTrace
();
log
.
error
(
"解析json数据失败"
);
}
}
}
private
void
syncUser
()
{
log
.
info
(
"开始同步用户信息..."
);
ResponseEntity
<
String
>
entity
=
restTemplate
.
getForEntity
(
url
+
"/user/all"
,
String
.
class
,
new
HashMap
<>());
if
(
nonNull
(
entity
)
&&
nonNull
(
entity
.
getBody
()))
{
try
{
ResultObj
<
List
<
User
>>
resultObj
=
new
ObjectMapper
().
readValue
(
entity
.
getBody
(),
new
TypeReference
<
ResultObj
<
List
<
User
>>>()
{
});
List
<
User
>
users
=
resultObj
.
getData
();
userDao
.
saveAll
(
users
);
}
catch
(
JsonProcessingException
e
)
{
e
.
printStackTrace
();
log
.
error
(
"解析json数据失败"
);
}
}
}
private
void
syncOrganization
()
{
log
.
info
(
"开始同步组织架构信息..."
);
ResponseEntity
<
String
>
entity
=
restTemplate
.
getForEntity
(
url
+
"/organization/all"
,
String
.
class
,
new
HashMap
<>());
if
(
nonNull
(
entity
)
&&
nonNull
(
entity
.
getBody
()))
{
try
{
ResultObj
<
List
<
Organization
>>
resultObj
=
new
ObjectMapper
().
readValue
(
entity
.
getBody
(),
new
TypeReference
<
ResultObj
<
List
<
Organization
>>>()
{
});
List
<
Organization
>
organizations
=
resultObj
.
getData
();
organizationDao
.
saveAll
(
organizations
);
}
catch
(
JsonProcessingException
e
)
{
e
.
printStackTrace
();
log
.
error
(
"解析json数据失败"
);
}
}
}
}
src/main/resources/application-mysql.yml
浏览文件 @
6bad79ed
...
@@ -17,12 +17,15 @@ spring:
...
@@ -17,12 +17,15 @@ spring:
maximum-pool-size
:
60
maximum-pool-size
:
60
minimum-idle
:
10
minimum-idle
:
10
jpa
:
jpa
:
show-sql
:
tru
e
show-sql
:
fals
e
hibernate
:
hibernate
:
naming
:
naming
:
physical-strategy
:
com.tykj.workflow
2
.base.config.ToUpperCase
physical-strategy
:
com.tykj.workflow
core
.base.config.ToUpperCase
ddl-auto
:
update
ddl-auto
:
update
database-platform
:
org.hibernate.dialect.MySQL8Dialect
database-platform
:
org.hibernate.dialect.MySQL8Dialect
sync
:
ip
:
192.168.102.171
port
:
8880
server
:
server
:
port
:
8088
port
:
8800
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论