Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-yunqueyilian
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.wechat
pica-cloud-yunqueyilian
提交
fd960c0e
提交
fd960c0e
编写于
8月 10, 2018
作者:
chenzhehao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微信事件推送增加熔断机制
上级
ad2d92ec
变更
4
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
49 行增加
和
9 行删除
+49
-9
IUserServiceClient.java
...wechat/yunqueyilian/server/client/IUserServiceClient.java
+2
-1
UserServiceFailFactory.java
...nqueyilian/server/client/impl/UserServiceFailFactory.java
+37
-0
CoreServiceImpl.java
...hat/yunqueyilian/server/service/impl/CoreServiceImpl.java
+8
-4
PWechatUserMapper.xml
server/src/main/resources/mybatis/PWechatUserMapper.xml
+2
-4
未找到文件。
server/src/main/java/com/pica/cloud/wechat/yunqueyilian/server/client/IUserServiceClient.java
浏览文件 @
fd960c0e
package
com
.
pica
.
cloud
.
wechat
.
yunqueyilian
.
server
.
client
;
package
com
.
pica
.
cloud
.
wechat
.
yunqueyilian
.
server
.
client
;
import
com.pica.cloud.wechat.yunqueyilian.server.client.impl.UserServiceFailFactory
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestMethod
;
...
@@ -13,7 +14,7 @@ import java.util.Map;
...
@@ -13,7 +14,7 @@ import java.util.Map;
* @Description:
* @Description:
* @date: 2018/8/9 13:15
* @date: 2018/8/9 13:15
*/
*/
@FeignClient
(
"10102-PICA-CLOUD-WECHAT"
)
@FeignClient
(
value
=
"10102-PICA-CLOUD-WECHAT"
,
fallbackFactory
=
UserServiceFailFactory
.
class
)
@RequestMapping
(
"/wechats"
)
@RequestMapping
(
"/wechats"
)
public
interface
IUserServiceClient
{
public
interface
IUserServiceClient
{
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/users"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/users"
)
...
...
server/src/main/java/com/pica/cloud/wechat/yunqueyilian/server/client/impl/UserServiceFailFactory.java
0 → 100644
浏览文件 @
fd960c0e
package
com
.
pica
.
cloud
.
wechat
.
yunqueyilian
.
server
.
client
.
impl
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.wechat.yunqueyilian.server.client.IUserServiceClient
;
import
feign.hystrix.FallbackFactory
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author: zhehao.chen
* @version: V1.0
* @Description:
* @date: 2018/8/10 10:57
*/
@Component
public
class
UserServiceFailFactory
implements
FallbackFactory
<
IUserServiceClient
>
{
public
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
UserServiceFailFactory
.
class
);
@Override
public
IUserServiceClient
create
(
Throwable
cause
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"code"
,
PicaResultCode
.
INTERFACE_INVOKE_ERROR
.
code
());
map
.
put
(
"message"
,
PicaResultCode
.
INTERFACE_INVOKE_ERROR
.
message
());
return
new
IUserServiceClient
()
{
@Override
public
Map
users
(
String
wechatName
,
String
openId
)
{
logger
.
error
(
"触发熔断机制 IUserServiceClient fallback"
,
cause
);
return
map
;
}
};
}
}
server/src/main/java/com/pica/cloud/wechat/yunqueyilian/server/service/impl/CoreServiceImpl.java
浏览文件 @
fd960c0e
package
com
.
pica
.
cloud
.
wechat
.
yunqueyilian
.
server
.
service
.
impl
;
package
com
.
pica
.
cloud
.
wechat
.
yunqueyilian
.
server
.
service
.
impl
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.utils.utils.StringUtil
;
import
com.pica.cloud.foundation.utils.utils.StringUtil
;
import
com.pica.cloud.wechat.yunqueyilian.common.CommonUtils
;
import
com.pica.cloud.wechat.yunqueyilian.common.CommonUtils
;
import
com.pica.cloud.wechat.yunqueyilian.common.Constants
;
import
com.pica.cloud.wechat.yunqueyilian.common.Constants
;
...
@@ -79,6 +81,9 @@ public class CoreServiceImpl implements CoreService {
...
@@ -79,6 +81,9 @@ public class CoreServiceImpl implements CoreService {
mapIn
.
put
(
"openId"
,
openId
);
mapIn
.
put
(
"openId"
,
openId
);
PWechatUser
userGet
=
wechatUserMapper
.
queryByOpenId
(
mapIn
);
//从wechat表中获取数据
PWechatUser
userGet
=
wechatUserMapper
.
queryByOpenId
(
mapIn
);
//从wechat表中获取数据
Map
map
=
userServiceClient
.
users
(
Constants
.
WECHAT_NAME_YQYL
,
openId
);
//调用微信的接口,获取微信用户的详细信息
Map
map
=
userServiceClient
.
users
(
Constants
.
WECHAT_NAME_YQYL
,
openId
);
//调用微信的接口,获取微信用户的详细信息
if
(!
PicaResultCode
.
SUCCESS
.
code
().
equals
((
String
)
map
.
get
(
"code"
)))
{
throw
new
PicaException
((
String
)
map
.
get
(
"code"
),
(
String
)
map
.
get
(
"message"
));
}
logger
.
info
(
"调用微信接口获取用户信息:"
+
map
.
toString
());
logger
.
info
(
"调用微信接口获取用户信息:"
+
map
.
toString
());
//1.首先处理p_wechat_user表,存在信息就补全,不存在就新增
//1.首先处理p_wechat_user表,存在信息就补全,不存在就新增
insertOrUpdataWechatUser
(
requestMap
,
(
HashMap
)
map
.
get
(
"data"
),
userGet
);
insertOrUpdataWechatUser
(
requestMap
,
(
HashMap
)
map
.
get
(
"data"
),
userGet
);
...
@@ -135,12 +140,10 @@ public class CoreServiceImpl implements CoreService {
...
@@ -135,12 +140,10 @@ public class CoreServiceImpl implements CoreService {
wechatUser
.
setSubscribe
((
Integer
)
map
.
get
(
"subscribe"
));
wechatUser
.
setSubscribe
((
Integer
)
map
.
get
(
"subscribe"
));
wechatUser
.
setLanguage
((
String
)
map
.
get
(
"language"
));
wechatUser
.
setLanguage
((
String
)
map
.
get
(
"language"
));
Integer
subscribe_time
=
(
Integer
)
map
.
get
(
"subscribe_time"
);
Integer
subscribe_time
=
(
Integer
)
map
.
get
(
"subscribe_time"
);
logger
.
info
(
subscribe_time
.
toString
());
wechatUser
.
setSubscribeTime
(
StringUtil
.
isNull
(
subscribe_time
)
?
new
Date
()
:
new
Date
((
long
)
subscribe_time
*
1000
));
wechatUser
.
setSubscribeTime
(
StringUtil
.
isNull
(
subscribe_time
)
?
new
Date
()
:
new
Date
(
subscribe_time
));
wechatUser
.
setRemark
((
String
)
map
.
get
(
"remark"
));
wechatUser
.
setRemark
((
String
)
map
.
get
(
"remark"
));
wechatUser
.
setGroupid
(
String
.
valueOf
(
map
.
get
(
"groupid"
)));
wechatUser
.
setGroupid
(
String
.
valueOf
(
map
.
get
(
"groupid"
)));
List
tagid_list
=
(
ArrayList
)
map
.
get
(
"tagid_list"
);
List
tagid_list
=
(
ArrayList
)
map
.
get
(
"tagid_list"
);
logger
.
info
(
StringUtil
.
isNull
(
tagid_list
)
?
""
:
tagid_list
.
toString
());
wechatUser
.
setTagidList
(
StringUtil
.
isNull
(
tagid_list
)
?
""
:
tagid_list
.
toString
());
wechatUser
.
setTagidList
(
StringUtil
.
isNull
(
tagid_list
)
?
""
:
tagid_list
.
toString
());
wechatUser
.
setDeleteFlag
(
1
);
wechatUser
.
setDeleteFlag
(
1
);
wechatUser
.
setCreatId
(
0
);
wechatUser
.
setCreatId
(
0
);
...
@@ -152,7 +155,8 @@ public class CoreServiceImpl implements CoreService {
...
@@ -152,7 +155,8 @@ public class CoreServiceImpl implements CoreService {
}
}
}
else
if
(
eventType
.
equals
(
Constants
.
EVENT_TYPE_UNSUBSCRIBE
))
{
//取消关注
}
else
if
(
eventType
.
equals
(
Constants
.
EVENT_TYPE_UNSUBSCRIBE
))
{
//取消关注
if
(
StringUtil
.
isNull
(
wechatUser
))
{
//新增
if
(
StringUtil
.
isNull
(
wechatUser
))
{
//新增
logger
.
error
(
"取消关注未能从数据库中获取到用户信息异常"
);
return
;
}
}
wechatUser
.
setSubscribe
(
0
);
wechatUser
.
setSubscribe
(
0
);
wechatUserMapper
.
updateSubscribeById
(
wechatUser
);
wechatUserMapper
.
updateSubscribeById
(
wechatUser
);
...
...
server/src/main/resources/mybatis/PWechatUserMapper.xml
浏览文件 @
fd960c0e
...
@@ -115,9 +115,7 @@
...
@@ -115,9 +115,7 @@
<if
test=
"modifyId != null"
>
<if
test=
"modifyId != null"
>
modify_id = #{modifyId,jdbcType=INTEGER},
modify_id = #{modifyId,jdbcType=INTEGER},
</if>
</if>
<if
test=
"modifyTime != null"
>
modify_time = SYSDATE()
modify_time = #{modifyTime,jdbcType=TIMESTAMP},
</if>
</set>
</set>
where id = #{id,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</update>
...
@@ -129,6 +127,6 @@
...
@@ -129,6 +127,6 @@
</select>
</select>
<update
id=
"updateSubscribeById"
parameterType=
"com.pica.cloud.wechat.yunqueyilian.server.entity.PWechatUser"
>
<update
id=
"updateSubscribeById"
parameterType=
"com.pica.cloud.wechat.yunqueyilian.server.entity.PWechatUser"
>
update p_wechat_user set subscribe = #{subscribe} where id = #{id,jdbcType=INTEGER}
update p_wechat_user set subscribe = #{subscribe}
,modify_time = SYSDATE()
where id = #{id,jdbcType=INTEGER}
</update>
</update>
</mapper>
</mapper>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录