提交 adfe45f3 编写于 作者: chenzhehao's avatar chenzhehao

fegin调用修改

上级 44cbc4ea
package com.pica.cloud.wechat.yunqueyilian.server.client;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.wechat.yunqueyilian.server.client.impl.UserServiceFailFactory;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -18,6 +19,5 @@ import java.util.Map;
@RequestMapping("/wechats")
public interface IUserServiceClient {
@RequestMapping(method = RequestMethod.GET, value = "/users")
Map users(@RequestParam(value = "wechatName") String wechatName, @RequestParam(value = "openId") String openId);
PicaResponse<Map<String, Object>> users(@RequestParam(value = "wechatName") String wechatName, @RequestParam(value = "openId") String openId);
}
package com.pica.cloud.wechat.yunqueyilian.server.client.impl;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.wechat.yunqueyilian.server.client.IUserServiceClient;
import feign.hystrix.FallbackFactory;
......@@ -22,15 +23,15 @@ public class UserServiceFailFactory implements FallbackFactory<IUserServiceClien
@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());
PicaResponse response = (new PicaResponse.Builder<Map<String, Object>>()).build();
response.setCode(PicaResultCode.INTERFACE_INVOKE_ERROR.code());
response.setMessage(PicaResultCode.INTERFACE_INVOKE_ERROR.message());
return new IUserServiceClient() {
@Override
public Map users(String wechatName, String openId) {
logger.error("触发熔断机制 IUserServiceClient fallback", cause);
return map;
public PicaResponse users(String wechatName, String openId) {
logger.error("service:IUserServiceClient interface:users 触发熔断机制fallback", cause);
return response;
}
};
}
......
package com.pica.cloud.wechat.yunqueyilian.server.service.impl;
import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.utils.utils.StringUtil;
import com.pica.cloud.wechat.yunqueyilian.common.CommonUtils;
......@@ -80,13 +81,13 @@ public class CoreServiceImpl implements CoreService {
mapIn.put("type", 1);//1云鹊医联
mapIn.put("openId", openId);
PWechatUser userGet = wechatUserMapper.queryByOpenId(mapIn);//从wechat表中获取数据
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"));
PicaResponse<Map<String, Object>> response = userServiceClient.users(Constants.WECHAT_NAME_YQYL, openId); //调用微信的接口,获取微信用户的详细信息
logger.info("调用微信接口获取用户信息:" + response);
if (!PicaResultCode.SUCCESS.code().equals(response.getCode())) {
throw new PicaException(response.getCode(), response.getMessage());
}
logger.info("调用微信接口获取用户信息:" + map.toString());
//1.首先处理p_wechat_user表,存在信息就补全,不存在就新增
insertOrUpdataWechatUser(requestMap, (HashMap) map.get("data"), userGet);
insertOrUpdataWechatUser(requestMap, response.getData(), userGet);
}
// 自定义菜单点击事件
else if (eventType.equals(Constants.EVENT_TYPE_CLICK)) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册