From 868db9c798d700d831c805516e45f021e974ac4c Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 30 Jul 2020 13:49:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E7=AC=AC=E4=B8=89=E6=96=B9feign?= =?UTF-8?q?=E6=94=B9=E6=88=90HTTP=20Client?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/ThirdApiConstant.java | 30 ++++++++++++++++ .../impl/PublicUserLoginServiceImpl.java | 36 ++++++++++--------- .../wxapi/result/WxMaCategoryResult.java | 6 ++++ .../service/impl/CustomerServiceImpl.java | 10 ++++-- 4 files changed, 63 insertions(+), 19 deletions(-) create mode 100644 epmet-auth/src/main/java/com/epmet/constant/ThirdApiConstant.java diff --git a/epmet-auth/src/main/java/com/epmet/constant/ThirdApiConstant.java b/epmet-auth/src/main/java/com/epmet/constant/ThirdApiConstant.java new file mode 100644 index 0000000000..9cae0fa6ed --- /dev/null +++ b/epmet-auth/src/main/java/com/epmet/constant/ThirdApiConstant.java @@ -0,0 +1,30 @@ +package com.epmet.constant; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/7/30 10:46 + */ +public interface ThirdApiConstant { + /** + * 根据openId新增或更新用户信息 + */ + String THIRD_PAUSER_SAVEUSER = "https://epmet-cloud.elinkservice.cn/api/third/pauser/saveuser"; + /** + * 根据手机号查询公众号用户基本信息,校验用户是否存在 + */ + String THIRD_PAUSER_CHECKPAUSER = "https://epmet-cloud.elinkservice.cn/api/third/pauser/checkpauser/"; + /** + * 用户登陆,新增访问记录数据 + */ + String THIRD_PAUSERVISITED_SAVEUSERVISITED = "https://epmet-cloud.elinkservice.cn/api/third/pauservisited/saveuservisited"; + /** + * 根据客户Id查询各项注册信息 + */ + String THIRD_PACUSTOMER_GETCUSTOMERAGENCYUSER = "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/getcustomeragencyuser/"; + /** + * 修改客户数据状态为已完成初始化 + */ + String THIRD_PACUSTOMER_UPDATECUSTOMER = "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/updatecustomer/"; + +} diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java index 524f475671..20063eb79f 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/PublicUserLoginServiceImpl.java @@ -1,17 +1,19 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.epmet.common.token.constant.LoginConstant; -import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.CpUserDetailRedis; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.PhoneValidatorUtils; import com.epmet.constant.PublicUserLoginConstant; import com.epmet.constant.SmsTemplateConstant; +import com.epmet.constant.ThirdApiConstant; import com.epmet.dto.PaCustomerDTO; import com.epmet.dto.PaUserDTO; import com.epmet.dto.PaUserWechatDTO; @@ -32,10 +34,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -70,11 +70,12 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { WxMpUser wxMpUser = this.getWxMpUser(formDTO.getWxCode()); //2.将获取的用户基本信息初始化到数据库 - Result result = epmetThirdFeignClient.saveUser(wxMpUser); + String url = ThirdApiConstant.THIRD_PAUSER_SAVEUSER; + Result result = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(wxMpUser)); if (!result.success()) { throw new RenException(PublicUserLoginConstant.SAVE_USER_EXCEPTION); } - SaveUserResultDTO resultDTO = result.getData(); + SaveUserResultDTO resultDTO = JSONObject.parseObject(result.getData(), SaveUserResultDTO.class); //3.获取用户token String token = this.generateGovWxmpToken(resultDTO.getUserId()); @@ -157,18 +158,19 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { throw new RenException(EpmetErrorCode.ERROR_PHONE.getCode()); } //2、根据手机号校验用户是否存在 - Result Result = epmetThirdFeignClient.checkPaUser(formDTO.getPhone()); - if (!Result.success()) { - logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getPhone(), Result.getCode(), Result.getMsg())); - throw new RenException(Result.getCode()); + String url = ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER + formDTO.getPhone(); + Result result = HttpClientManager.getInstance().sendPostByJSON(url, null); + if (!result.success()) { + logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getPhone(), result.getCode(), result.getMsg())); + throw new RenException(result.getCode()); } - CustomerUserResultDTO ResultDTO = Result.getData(); + CustomerUserResultDTO resultDTO = JSONObject.parseObject(result.getData(), CustomerUserResultDTO.class); //登陆 - if (formDTO.getIsLogon() && null == ResultDTO.getPaUserResult()) { + if (formDTO.getIsLogon() && null == resultDTO.getPaUserResult()) { throw new RenException(EpmetErrorCode.PUBLIC_NOT_EXISTS.getCode()); } //注册 - if (!formDTO.getIsLogon() && null != ResultDTO.getPaUserResult()) { + if (!formDTO.getIsLogon() && null != resultDTO.getPaUserResult()) { throw new RenException(EpmetErrorCode.MOBILE_USED.getCode()); } //3、发送短信验证码 @@ -195,12 +197,13 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { @Override public UserTokenResultDTO loginByPhone(TokenDto tokenDTO, LoginByPhoneFormDTO formDTO) { //1.根据手机号查询到用户、客户信息 - Result result = epmetThirdFeignClient.checkPaUser(formDTO.getPhone()); + String url = ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER + formDTO.getPhone(); + Result result = HttpClientManager.getInstance().sendPostByJSON(url, null); if (!result.success()) { logger.error(String.format("手机验证码登录异常,手机号[%s],code[%s],msg[%s]", formDTO.getPhone(), result.getCode(), result.getMsg())); throw new RenException(result.getCode()); } - CustomerUserResultDTO resultDTO = result.getData(); + CustomerUserResultDTO resultDTO = JSONObject.parseObject(result.getData(), CustomerUserResultDTO.class); //2.用户不存在时不允许登陆 PaUserDTO userDTO = resultDTO.getPaUserResult(); @@ -236,7 +239,8 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { visited.setUserId(userDTO.getId()); visited.setLogonUserId(tokenDTO.getUserId()); visited.setPhone(formDTO.getPhone()); - Result visitedResult = epmetThirdFeignClient.saveUserVisited(visited); + String saveUserVisitedUrl = ThirdApiConstant.THIRD_PAUSERVISITED_SAVEUSERVISITED; + Result visitedResult = HttpClientManager.getInstance().sendPostByJSON(saveUserVisitedUrl, JSON.toJSONString(visited)); if(!visitedResult.success()){ logger.error(PublicUserLoginConstant.SAVE_VISITED_EXCEPTION); } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaCategoryResult.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaCategoryResult.java index b0d8445e8b..c2787cabff 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaCategoryResult.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/result/WxMaCategoryResult.java @@ -16,26 +16,32 @@ public class WxMaCategoryResult implements Serializable { /** * 一级类目名称 */ + @SerializedName("first_class") private String firstClass; /** * 二级类目名称 */ + @SerializedName("second_class") private String secondClass; /** * 三级类目名称 */ + @SerializedName("third_class") private String thirdClass; /** * 一级类目的ID编号 */ + @SerializedName("first_id") private String firstId; /** * 二级类目的ID编号 */ + @SerializedName("second_id") private String secondId; /** * 三级类目的ID编号 */ + @SerializedName("third_id") private String thirdId; } \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java index 238a90a94a..77a9f6bad9 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java @@ -18,6 +18,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -27,6 +28,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.RoleKeyConstants; import com.epmet.constant.UserWorkType; @@ -402,11 +404,12 @@ public class CustomerServiceImpl extends BaseServiceImpl thirdResult = epmetThirdFeignClient.getCustomerAgencyUser(formDTO.getCustomerId()); + String url = "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/getcustomeragencyuser/" + formDTO.getCustomerId(); + Result thirdResult = HttpClientManager.getInstance().sendPostByJSON(url, null); if (!thirdResult.success()) { throw new RenException(thirdResult.getCode(), thirdResult.getInternalMsg()); } - InitCustomerResultDTO initCustomer = thirdResult.getData(); + InitCustomerResultDTO initCustomer = JSONObject.parseObject(thirdResult.getData(), InitCustomerResultDTO.class); PaCustomerDTO paCustomer = initCustomer.getPaCustomer(); PaCustomerAgencyDTO paAgency = initCustomer.getPaAgency(); PaUserDTO paUser = initCustomer.getPaUser(); @@ -486,7 +489,8 @@ public class CustomerServiceImpl extends BaseServiceImpl customerResult = HttpClientManager.getInstance().sendPostByJSON(customerUrl, null); if (!customerResult.success()) { throw new RenException(customerResult.getCode(), customerResult.getInternalMsg()); }