Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
ims-ci-test
Commits
226e4486
提交
226e4486
authored
7月 13, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
消息推送token验证
上级
6ddbedf5
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
50 行增加
和
4 行删除
+50
-4
WxApiService.java
...c/main/java/com/mmc/csf/release/service/WxApiService.java
+2
-0
DynamicServiceImpl.java
.../com/mmc/csf/release/service/impl/DynamicServiceImpl.java
+0
-0
WxApiServiceImpl.java
...va/com/mmc/csf/release/service/impl/WxApiServiceImpl.java
+47
-4
not-check.yml
release-service/src/main/resources/not-check.yml
+1
-0
没有找到文件。
release-service/src/main/java/com/mmc/csf/release/service/WxApiService.java
浏览文件 @
226e4486
...
...
@@ -20,4 +20,6 @@ public interface WxApiService {
String
getStableAccessToken
()
throws
Exception
;
String
checkSignature
(
Map
<
String
,
String
>
params
)
throws
Exception
;
ResultBody
mediaCheckAsync
(
String
openid
,
String
mediaUrl
);
}
release-service/src/main/java/com/mmc/csf/release/service/impl/DynamicServiceImpl.java
浏览文件 @
226e4486
差异被折叠。
点击展开。
release-service/src/main/java/com/mmc/csf/release/service/impl/WxApiServiceImpl.java
浏览文件 @
226e4486
...
...
@@ -9,6 +9,7 @@ import com.mmc.csf.common.util.wx.WXMsgPushUtils;
import
com.mmc.csf.release.constant.UserSystemConstant
;
import
com.mmc.csf.release.constant.WxConstant
;
import
com.mmc.csf.release.service.WxApiService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
...
...
@@ -24,6 +25,7 @@ import java.util.concurrent.TimeUnit;
* 概要:
*/
@Service
@Slf4j
public
class
WxApiServiceImpl
implements
WxApiService
{
@Autowired
private
UserSystemConstant
userSystemConstant
;
...
...
@@ -31,6 +33,13 @@ public class WxApiServiceImpl implements WxApiService {
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
/**
* 文本识别
*
* @param openid
* @param content
* @return
*/
@Override
public
ResultBody
msgSecCheck
(
String
openid
,
String
content
)
{
try
{
...
...
@@ -41,10 +50,7 @@ public class WxApiServiceImpl implements WxApiService {
param
.
put
(
"scene"
,
3
);
param
.
put
(
"openid"
,
openid
);
String
url
=
"https://api.weixin.qq.com/wxa/msg_sec_check?access_token="
+
accessToken
;
String
res
=
HttpHelper
.
httpPost
(
url
,
param
.
toString
());
JSONObject
result
=
JSONObject
.
parseObject
(
res
);
JSONObject
resultData
=
result
.
getJSONObject
(
WxConstant
.
RESULT
);
if
(!
resultData
.
getString
(
WxConstant
.
LABEL
).
equals
(
WxConstant
.
LABEL_DATA
))
{
if
(
buildParams
(
param
,
url
))
{
return
ResultBody
.
error
(
ResultEnum
.
DYNAMIC_SENSITIVE_INFO
);
}
}
catch
(
Exception
e
)
{
...
...
@@ -53,6 +59,43 @@ public class WxApiServiceImpl implements WxApiService {
return
ResultBody
.
success
();
}
/**
* 图片视频识别
*
* @param openid
* @param mediaUrl
* @return
*/
@Override
public
ResultBody
mediaCheckAsync
(
String
openid
,
String
mediaUrl
)
{
try
{
String
accessToken
=
this
.
getStableAccessToken
();
JSONObject
param
=
new
JSONObject
();
param
.
put
(
"media_url"
,
mediaUrl
);
param
.
put
(
"media_type"
,
2
);
param
.
put
(
"version"
,
2
);
param
.
put
(
"scene"
,
3
);
param
.
put
(
"openid"
,
openid
);
String
url
=
"https://api.weixin.qq.com/wxa/media_check_async?access_token="
+
accessToken
;
if
(
buildParams
(
param
,
url
))
{
return
ResultBody
.
error
(
ResultEnum
.
DYNAMIC_SENSITIVE_INFO
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
ResultBody
.
success
();
}
private
boolean
buildParams
(
JSONObject
param
,
String
url
)
throws
Exception
{
String
res
=
HttpHelper
.
httpPost
(
url
,
param
.
toString
());
JSONObject
result
=
JSONObject
.
parseObject
(
res
);
JSONObject
resultData
=
result
.
getJSONObject
(
WxConstant
.
RESULT
);
if
(!
resultData
.
getString
(
WxConstant
.
LABEL
).
equals
(
WxConstant
.
LABEL_DATA
))
{
return
true
;
}
return
false
;
}
@Override
public
String
getStableAccessToken
()
{
//token有效期为7200s,需要保存起来,先从redis中获取accessToken,没有则请求获取
...
...
release-service/src/main/resources/not-check.yml
浏览文件 @
226e4486
...
...
@@ -34,3 +34,4 @@ data-filter:
-
/release/actuator/health/readiness
-
/release/tender/infoById
-
/release/wechat/checkSignature
-
/release/wechat/mediaCheckAsync
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论