Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
F
feo-jobs
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
探普后端
feo-jobs
Commits
8e64ca03
Commit
8e64ca03
authored
May 25, 2021
by
吴泽佳
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增小程序二维码生成逻辑
parent
9405e012
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
72 additions
and
1 deletion
+72
-1
RestTemplateConfig.java
.../java/com/tanpu/feo/feojob/config/RestTemplateConfig.java
+32
-0
OrgSyncByWxcpJob.java
...main/java/com/tanpu/feo/feojob/jobs/OrgSyncByWxcpJob.java
+32
-1
application.yml
src/main/resources/application.yml
+8
-0
No files found.
src/main/java/com/tanpu/feo/feojob/config/RestTemplateConfig.java
0 → 100644
View file @
8e64ca03
package
com
.
tanpu
.
feo
.
feojob
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.client.ClientHttpRequestFactory
;
import
org.springframework.http.client.SimpleClientHttpRequestFactory
;
import
org.springframework.http.converter.StringHttpMessageConverter
;
import
org.springframework.web.client.RestTemplate
;
import
java.nio.charset.Charset
;
@Configuration
public
class
RestTemplateConfig
{
@Bean
public
RestTemplate
restTemplate
(
ClientHttpRequestFactory
factory
){
RestTemplate
restTemplate
=
new
RestTemplate
(
factory
);
// 支持中文编码
restTemplate
.
getMessageConverters
().
set
(
1
,
new
StringHttpMessageConverter
(
Charset
.
forName
(
"UTF-8"
)));
return
restTemplate
;
}
@Bean
public
ClientHttpRequestFactory
simpleClientHttpRequestFactory
(){
SimpleClientHttpRequestFactory
factory
=
new
SimpleClientHttpRequestFactory
();
factory
.
setReadTimeout
(
5000
);
//单位为ms
factory
.
setConnectTimeout
(
5000
);
//单位为ms
return
factory
;
}
}
src/main/java/com/tanpu/feo/feojob/jobs/OrgSyncByWxcpJob.java
View file @
8e64ca03
...
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
...
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.crypto.digest.MD5
;
import
cn.hutool.crypto.digest.MD5
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.tanpu.feo.feojob.entity.*
;
import
com.tanpu.feo.feojob.entity.*
;
import
com.tanpu.feo.feojob.jobs.dto.WorkDataDto
;
import
com.tanpu.feo.feojob.jobs.dto.WorkDataDto
;
...
@@ -18,8 +19,10 @@ import me.chanjar.weixin.cp.bean.Gender;
...
@@ -18,8 +19,10 @@ import me.chanjar.weixin.cp.bean.Gender;
import
me.chanjar.weixin.cp.bean.WxCpDepart
;
import
me.chanjar.weixin.cp.bean.WxCpDepart
;
import
me.chanjar.weixin.cp.bean.WxCpUser
;
import
me.chanjar.weixin.cp.bean.WxCpUser
;
import
me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl
;
import
me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestTemplate
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
...
@@ -54,6 +57,12 @@ public class OrgSyncByWxcpJob {
...
@@ -54,6 +57,12 @@ public class OrgSyncByWxcpJob {
private
OrgSyncByWxcpService
orgSyncByWxcpService
;
private
OrgSyncByWxcpService
orgSyncByWxcpService
;
@Resource
@Resource
private
IfaAssetsService
ifaAssetsService
;
private
IfaAssetsService
ifaAssetsService
;
@Value
(
"${wx.xcxqrcode}"
)
String
qrcodeurl
;
@Value
(
"${user.wxDefaultImg}"
)
String
wxDefaultImg
;
@Resource
private
RestTemplate
restTemplate
;
@Scheduled
(
cron
=
"0 30 2 * * ?"
)
//每日凌晨2点30执行
@Scheduled
(
cron
=
"0 30 2 * * ?"
)
//每日凌晨2点30执行
public
void
execute
(){
public
void
execute
(){
...
@@ -436,10 +445,11 @@ public class OrgSyncByWxcpJob {
...
@@ -436,10 +445,11 @@ public class OrgSyncByWxcpJob {
continue
;
continue
;
}
}
// 更新
// 更新
if
(!
userInfo
.
getUiUsername
().
equals
(
wxCpUser
.
getName
())
||
StrUtil
.
isBlankIfStr
(
userInfo
.
getUiHeadimgMp
())
||
!
wxCpUser
.
getUserId
().
equals
(
userInfo
.
getWxcpUid
()))
{
if
(!
userInfo
.
getUiUsername
().
equals
(
wxCpUser
.
getName
())
||
StrUtil
.
isBlankIfStr
(
userInfo
.
getUiHeadimgMp
())
||
!
wxCpUser
.
getUserId
().
equals
(
userInfo
.
getWxcpUid
())
||
StrUtil
.
isBlankIfStr
(
userInfo
.
getUiWechatXcxQrcode
())
)
{
userInfo
.
setUiUsername
(
wxCpUser
.
getName
());
userInfo
.
setUiUsername
(
wxCpUser
.
getName
());
userInfo
.
setUiHeadimgMp
(
wxCpUser
.
getThumbAvatar
());
userInfo
.
setUiHeadimgMp
(
wxCpUser
.
getThumbAvatar
());
userInfo
.
setWxcpUid
(
wxCpUser
.
getUserId
());
userInfo
.
setWxcpUid
(
wxCpUser
.
getUserId
());
userInfo
.
setUiWechatXcxQrcode
(
createWechatXcxQrcode
(
userInfo
.
getId
(),
wxCpUser
.
getThumbAvatar
()));
updateList
.
add
(
userInfo
);
updateList
.
add
(
userInfo
);
}
}
hashMap
.
remove
(
id
);
hashMap
.
remove
(
id
);
...
@@ -477,6 +487,7 @@ public class OrgSyncByWxcpJob {
...
@@ -477,6 +487,7 @@ public class OrgSyncByWxcpJob {
userInfo
.
setUiRegisterTime
(
userInfo
.
getCreatetime
());
userInfo
.
setUiRegisterTime
(
userInfo
.
getCreatetime
());
userInfo
.
setUiChannel
(
null
);
userInfo
.
setUiChannel
(
null
);
userInfo
.
setWxcpUid
(
wxCpUser
.
getUserId
());
userInfo
.
setWxcpUid
(
wxCpUser
.
getUserId
());
userInfo
.
setUiWechatXcxQrcode
(
createWechatXcxQrcode
(
userInfo
.
getId
(),
userInfo
.
getUiHeadimgMp
()));
insertList
.
add
(
userInfo
);
insertList
.
add
(
userInfo
);
}
}
workDataDto
.
setDeleteList
(
deleteList
);
workDataDto
.
setDeleteList
(
deleteList
);
...
@@ -485,6 +496,26 @@ public class OrgSyncByWxcpJob {
...
@@ -485,6 +496,26 @@ public class OrgSyncByWxcpJob {
return
workDataDto
;
return
workDataDto
;
}
}
private
String
createWechatXcxQrcode
(
String
userId
,
String
headImg
)
{
if
(
StrUtil
.
isBlank
(
headImg
))
{
headImg
=
wxDefaultImg
;
}
String
res
=
restTemplate
.
getForObject
(
qrcodeurl
+
"?userId="
+
userId
+
"&headimage="
+
headImg
+
"¶ms="
+
userId
,
String
.
class
);
JSONObject
jsonObject
=
JSONUtil
.
parseObj
(
res
);
String
url
=
null
;
try
{
String
statusCode
=
(
String
)
jsonObject
.
get
(
"statusCode"
);
if
(
"0000"
.
equals
(
statusCode
))
{
url
=
(
String
)
jsonObject
.
get
(
"attributes"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"======用户:{} 生成小程序二维码失败: {}======"
,
userId
,
e
.
getMessage
());
}
finally
{
return
url
;
}
}
private
String
isExecute
(
String
isAuto
,
List
<
WxCpDepartDto
>
wxCpDepartDtoList
,
String
md5WxcpData
)
{
private
String
isExecute
(
String
isAuto
,
List
<
WxCpDepartDto
>
wxCpDepartDtoList
,
String
md5WxcpData
)
{
String
digestHex
=
MD5
.
create
().
digestHex
(
JSONUtil
.
toJsonStr
(
wxCpDepartDtoList
));
String
digestHex
=
MD5
.
create
().
digestHex
(
JSONUtil
.
toJsonStr
(
wxCpDepartDtoList
));
if
(!
"Y"
.
equals
(
isAuto
))
{
if
(!
"Y"
.
equals
(
isAuto
))
{
...
...
src/main/resources/application.yml
View file @
8e64ca03
...
@@ -34,4 +34,12 @@ spring:
...
@@ -34,4 +34,12 @@ spring:
# url: jdbc:mysql://rm-uf6r22t3d798q4kmkao.mysql.rds.aliyuncs.com:3306/tamp_feo_diagnose_app?useUnicode=true&characterEncoding=utf-8&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
# url: jdbc:mysql://rm-uf6r22t3d798q4kmkao.mysql.rds.aliyuncs.com:3306/tamp_feo_diagnose_app?useUnicode=true&characterEncoding=utf-8&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
# username: tamp_admin
# username: tamp_admin
# password: '@imeng123'
# password: '@imeng123'
#用户
user
:
wxDefaultImg
:
https://qimengimg.oss-cn-shanghai.aliyuncs.com/common/fatoolsHeadImg.png
#微信
wx
:
#用户小程序二维码生成接口 wxb0e9fdb02bbfcc25为小程序appid
xcxqrcode
:
https://feotesttamper.tanpuyun.com/wxmini/wx/user/wx12c5764ee9aeab05/getBallCodeByDetails
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