Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
Overview
Overview
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QianQiXiang
haoban-manage3.0
Commits
185364fa
Commit
185364fa
authored
Aug 02, 2021
by
fudahua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员标签同步-告警
parent
66258168
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
208 additions
and
5 deletions
+208
-5
AlertMessageDTO.java
...n/java/com/gic/haoban/manage/api/dto/AlertMessageDTO.java
+78
-0
AlertTypeEnum.java
...n/java/com/gic/haoban/manage/api/enums/AlertTypeEnum.java
+31
-0
CheckQywxSettingApiService.java
...haoban/manage/api/service/CheckQywxSettingApiService.java
+7
-0
CheckQywxSettingApiServiceImpl.java
...vice/service/out/impl/CheckQywxSettingApiServiceImpl.java
+67
-4
dubbo-haoban-manage-service.xml
...ervice/src/main/resources/dubbo-haoban-manage-service.xml
+2
-1
QywxTagTest.java
haoban-manage3-service/src/test/java/QywxTagTest.java
+23
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/AlertMessageDTO.java
0 → 100644
View file @
185364fa
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
;
import
java.io.Serializable
;
import
java.util.Map
;
/**
* Created 2021/8/2.
*
* @author hua
*/
public
class
AlertMessageDTO
implements
Serializable
{
private
String
wxEnterpriseId
;
private
String
enterpriseId
;
private
Integer
alertType
;
/**
* 用来判断唯一性 同步的
*/
private
String
key
;
private
String
traceId
;
private
String
alertTitle
;
private
Map
<
String
,
Object
>
contentMap
;
public
String
getKey
()
{
return
key
;
}
public
void
setKey
(
String
key
)
{
this
.
key
=
key
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
Integer
getAlertType
()
{
return
alertType
;
}
public
void
setAlertType
(
Integer
alertType
)
{
this
.
alertType
=
alertType
;
}
public
String
getTraceId
()
{
return
traceId
;
}
public
void
setTraceId
(
String
traceId
)
{
this
.
traceId
=
traceId
;
}
public
String
getAlertTitle
()
{
return
alertTitle
;
}
public
void
setAlertTitle
(
String
alertTitle
)
{
this
.
alertTitle
=
alertTitle
;
}
public
Map
<
String
,
Object
>
getContentMap
()
{
return
contentMap
;
}
public
void
setContentMap
(
Map
<
String
,
Object
>
contentMap
)
{
this
.
contentMap
=
contentMap
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/AlertTypeEnum.java
0 → 100644
View file @
185364fa
package
com
.
gic
.
haoban
.
manage
.
api
.
enums
;
/**
* Created by hua on 2021/8/2.
*/
public
enum
AlertTypeEnum
{
QYWX_TAG_SYNC
(
1
,
"企业微信标签同步"
);
private
Integer
type
;
private
String
name
;
AlertTypeEnum
(
Integer
type
,
String
name
)
{
this
.
type
=
type
;
this
.
name
=
name
;
}
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/CheckQywxSettingApiService.java
View file @
185364fa
...
...
@@ -30,4 +30,11 @@ public interface CheckQywxSettingApiService {
* @param dto
*/
public
void
saveFriendCallback
(
String
wxEnterpriseId
,
ExternalUserDTO
externalUserDTO
,
MemberUnionidRelatedDTO
dto
);
/**
* 告警 异步回调
*
* @param params
*/
public
void
alertCallback
(
String
params
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/CheckQywxSettingApiServiceImpl.java
View file @
185364fa
...
...
@@ -3,13 +3,14 @@ package com.gic.haoban.manage.service.service.out.impl;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.dubbo.entity.ProviderLocalTag
;
import
com.gic.
haoban.manage.api.dto.CheckFriendSetting
DTO
;
import
com.gic.
haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.
MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.
dto.WxEnterpriseDTO
;
import
com.gic.
enterprise.api.dto.Enterprise
DTO
;
import
com.gic.
enterprise.api.service.EnterpriseService
;
import
com.gic.haoban.manage.api.dto.
*
;
import
com.gic.haoban.manage.api.
enums.AlertTypeEnum
;
import
com.gic.haoban.manage.api.service.CheckQywxSettingApiService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.redisson.api.RBucket
;
import
org.redisson.api.RMap
;
...
...
@@ -20,6 +21,7 @@ import org.springframework.stereotype.Service;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.UUID
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -47,6 +49,9 @@ public class CheckQywxSettingApiServiceImpl implements CheckQywxSettingApiServic
@Autowired
private
WxEnterpriseService
wxEnterpriseService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Override
public
void
setFriendSetting
(
String
wxEnterpriseId
,
String
name
)
{
CheckFriendSettingDTO
checkFriendSettingDTO
=
new
CheckFriendSettingDTO
();
...
...
@@ -124,4 +129,62 @@ public class CheckQywxSettingApiServiceImpl implements CheckQywxSettingApiServic
String
post
=
HttpUtil
.
post
(
ALERT_URL
,
JSONObject
.
toJSONString
(
map
));
logger
.
info
(
"alert:{}"
,
post
);
}
@Override
public
void
alertCallback
(
String
params
)
{
logger
.
info
(
"告警:{}"
,
params
);
AlertMessageDTO
messageDTO
=
JSONObject
.
parseObject
(
params
,
AlertMessageDTO
.
class
);
if
(
null
==
messageDTO
)
{
return
;
}
//告警是否拦截重复告警 防止批量触发
if
(
StringUtils
.
isNotBlank
(
messageDTO
.
getKey
()))
{
RBucket
<
Object
>
bucket
=
RedisUtil
.
getRedisClient
().
getBucket
(
messageDTO
.
getKey
());
boolean
b
=
bucket
.
trySet
(
1
,
60L
,
TimeUnit
.
SECONDS
);
if
(!
b
)
{
return
;
}
}
Map
<
String
,
Object
>
dingMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
markdownMap
=
new
HashMap
<>();
dingMap
.
put
(
"msgtype"
,
"markdown"
);
dingMap
.
put
(
"markdown"
,
markdownMap
);
String
text
=
""
;
//企业微信标签同步
if
(
messageDTO
.
getAlertType
().
equals
(
AlertTypeEnum
.
QYWX_TAG_SYNC
.
getType
()))
{
markdownMap
.
put
(
"title"
,
AlertTypeEnum
.
QYWX_TAG_SYNC
.
getName
()
+
"-"
+
messageDTO
.
getAlertTitle
());
text
+=
"标题:"
+
AlertTypeEnum
.
QYWX_TAG_SYNC
.
getName
()
+
"-"
+
messageDTO
.
getAlertTitle
()
+
"\n\r"
;
}
//企业信息
if
(
StringUtils
.
isNotBlank
(
messageDTO
.
getWxEnterpriseId
()))
{
WxEnterpriseDTO
wxEnterpriseDTO
=
wxEnterpriseService
.
selectById
(
messageDTO
.
getWxEnterpriseId
());
text
+=
"企业:"
+
wxEnterpriseDTO
.
getCorpName
()
+
"\n\r"
;
}
// 商户信息
if
(
StringUtils
.
isNotBlank
(
messageDTO
.
getEnterpriseId
()))
{
EnterpriseDTO
enterpriseDTO
=
enterpriseService
.
getEnterpriseById
(
messageDTO
.
getEnterpriseId
());
text
+=
"商户:"
+
enterpriseDTO
.
getEnterpriseName
()
+
"("
+
enterpriseDTO
.
getBrandName
()
+
")\n\r"
;
}
Map
<
String
,
Object
>
contentMap
=
messageDTO
.
getContentMap
();
if
(
MapUtils
.
isNotEmpty
(
contentMap
))
{
Set
<
String
>
keySet
=
contentMap
.
keySet
();
for
(
String
k
:
keySet
)
{
Object
o
=
contentMap
.
get
(
k
);
text
+=
k
+
":"
+
o
+
"\n\r"
;
}
}
if
(
StringUtils
.
isNotBlank
(
messageDTO
.
getTraceId
()))
{
String
traceUrl
=
"http://10.105.8.172:8780/damo-stats/mongodb/getLogMessagesView?trace_id="
+
messageDTO
.
getTraceId
();
text
+=
"链路:["
+
messageDTO
.
getTraceId
()
+
"]("
+
traceUrl
+
")"
;
}
markdownMap
.
put
(
"text"
,
text
);
String
post
=
HttpUtil
.
post
(
ALERT_URL
,
JSONObject
.
toJSONString
(
dingMap
));
logger
.
info
(
"alert:{}"
,
post
);
}
}
haoban-manage3-service/src/main/resources/dubbo-haoban-manage-service.xml
View file @
185364fa
...
...
@@ -49,7 +49,8 @@
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.StaffClerkRelationApiService"
ref=
"staffClerkRelationApiServiceImpl"
timeout=
"10000"
/>
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.DealSyncOperationApiService"
ref=
"dealSyncOperationApiServiceImpl"
timeout=
"10000"
/>
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.CheckQywxSettingApiService"
ref=
"checkQywxSettingApiService"
timeout=
"10000"
/>
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.HandoverOperationApiService"
ref=
"handoverOperationApiServiceImpl"
timeout=
"10000"
/>
<dubbo:service
interface=
"com.gic.haoban.manage.api.service.QywxTagApiService"
ref=
"qywxTagApiServiceImpl"
...
...
haoban-manage3-service/src/test/java/QywxTagTest.java
View file @
185364fa
...
...
@@ -2,7 +2,10 @@ import com.alibaba.fastjson.JSONObject;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.manage.api.dto.AlertMessageDTO
;
import
com.gic.haoban.manage.api.dto.HandoverExternalDTO
;
import
com.gic.haoban.manage.api.enums.AlertTypeEnum
;
import
com.gic.haoban.manage.api.service.CheckQywxSettingApiService
;
import
com.gic.haoban.manage.api.service.HandoverOperationApiService
;
import
com.gic.haoban.manage.api.service.QywxTagApiService
;
import
com.gic.mq.sdk.GicMQClient
;
...
...
@@ -15,7 +18,9 @@ import org.springframework.test.context.ContextConfiguration;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
...
...
@@ -26,6 +31,9 @@ public class QywxTagTest {
@Autowired
private
QywxTagApiService
qywxTagApiService
;
@Autowired
private
CheckQywxSettingApiService
checkQywxSettingApiService
;
@Test
public
void
test
()
{
...
...
@@ -33,4 +41,19 @@ public class QywxTagTest {
qywxTagApiService
.
pullQywxTag
(
wxEnterpriseId
);
}
@Test
public
void
test2
()
{
AlertMessageDTO
messageDTO
=
new
AlertMessageDTO
();
messageDTO
.
setTraceId
(
"111"
);
messageDTO
.
setEnterpriseId
(
""
);
messageDTO
.
setWxEnterpriseId
(
"ca66a01b79474c40b3e7c7f93daf1a3b"
);
messageDTO
.
setAlertTitle
(
"测试标题"
);
messageDTO
.
setAlertType
(
AlertTypeEnum
.
QYWX_TAG_SYNC
.
getType
());
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"测试"
,
"test"
);
messageDTO
.
setContentMap
(
map
);
checkQywxSettingApiService
.
alertCallback
(
JSONObject
.
toJSONString
(
messageDTO
));
}
}
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