From 868db9c798d700d831c805516e45f021e974ac4c Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 30 Jul 2020 13:49:58 +0800 Subject: [PATCH 01/11] =?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()); } From 8353234e9966803b227aae0da6be2fd7e3cffbf9 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Thu, 30 Jul 2020 14:13:59 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=B9=B3=E5=8F=B0-feign=E4=BF=AE=E6=94=B9http?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/AuthHttpUrlConstant.java | 24 ++++++ .../impl/PublicUserLoginServiceImpl.java | 10 ++- .../service/impl/ThirdLoginServiceImpl.java | 86 +++++++++++-------- .../commons/tools/utils/ConvertUtils.java | 26 ++++++ .../com/epmet/constant/HttpUrlConstant.java | 19 ++++ .../impl/ComponentAccessTokenServiceImpl.java | 14 ++- .../RefreshAuthAccessTokenServiceImpl.java | 14 ++- .../epmet/constant/GuideHttpUrlConstant.java | 11 +++ .../impl/StrangerAccessRecordServiceImpl.java | 32 +++++-- 9 files changed, 185 insertions(+), 51 deletions(-) create mode 100644 epmet-auth/src/main/java/com/epmet/constant/AuthHttpUrlConstant.java create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/constant/HttpUrlConstant.java create mode 100644 epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/constant/GuideHttpUrlConstant.java diff --git a/epmet-auth/src/main/java/com/epmet/constant/AuthHttpUrlConstant.java b/epmet-auth/src/main/java/com/epmet/constant/AuthHttpUrlConstant.java new file mode 100644 index 0000000000..dc3ec4e07d --- /dev/null +++ b/epmet-auth/src/main/java/com/epmet/constant/AuthHttpUrlConstant.java @@ -0,0 +1,24 @@ +package com.epmet.constant; + +/** + * @Author zxc + * @CreateTime 2020/7/30 10:05 + */ +public interface AuthHttpUrlConstant { + + /** + * 注册url + */ + String REGISTER_URL = "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/register"; + + /** + * 获取客户信息url + */ + String CUSTOMER_MSG_URL = "https://epmet-cloud.elinkservice.cn/api/third/customermp/getcustomermsg/"; + + /** + * 登录url + */ + String RESI_AND_WORK_LOGIN_URL = "https://epmet-cloud.elinkservice.cn/api/third/customermp/resiandworklogin"; + +} 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 20063eb79f..8acd320419 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 @@ -6,11 +6,13 @@ import com.epmet.common.token.constant.LoginConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; 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.AuthHttpUrlConstant; import com.epmet.constant.PublicUserLoginConstant; import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.ThirdApiConstant; @@ -260,12 +262,16 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { @Override public UserTokenResultDTO register(RegisterFormDTO formDTO) { //1.调用epmet-third服务,完成信息注册 - Result result = epmetThirdFeignClient.register(formDTO); + String data = HttpClientManager.getInstance().sendPostByJSON(AuthHttpUrlConstant.REGISTER_URL, JSON.toJSONString(formDTO)).getData(); + JSONObject toResult = JSON.parseObject(data); + Result result = ConvertUtils.mapToEntity(toResult, Result.class); if (!result.success()) { logger.error("调用epmet_third服务初始化用户信息失败"); throw new RenException(result.getCode()); } - RegisterResultDTO resultDTO = result.getData(); + Object RegisterResult = result.getData(); + JSONObject jsonObject = JSON.parseObject(RegisterResult.toString()); + RegisterResultDTO resultDTO = ConvertUtils.mapToEntity(jsonObject, RegisterResultDTO.class); //2.直接生成一个新的token放入缓存中(不管缓存中是否存在旧的token,都重新生成) //2-1.生成token diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java index 2bb6c09a7e..9b3c2fc0a7 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java @@ -1,6 +1,8 @@ package com.epmet.service.impl; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.epmet.common.token.constant.LoginConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -9,10 +11,8 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.GovTokenDto; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.password.PasswordUtils; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.CpUserDetailRedis; -import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; +import com.epmet.constant.AuthHttpUrlConstant; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -70,12 +70,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { WxLoginFormDTO resiLoginFormDTO = new WxLoginFormDTO(); resiLoginFormDTO.setAppId(formDTO.getAppId()); resiLoginFormDTO.setWxCode(formDTO.getWxCode()); - Result result = epmetThirdFeignClient.resiAndWorkLogin(resiLoginFormDTO); - if (!result.success()) { - logger.error("居民端小程序登陆,调用epmet_third服务获取数据失败"); - throw new RenException(result.getCode()); - } - UserWechatDTO userWechatDTO = result.getData(); + UserWechatDTO userWechatDTO = this.getUserWeChat(resiLoginFormDTO); //2.调用epmet-user服务,新增用户信息(先判断用户是否存在,不存在则新增存在则更新) WxUserFormDTO wxUserFormDTO = new WxUserFormDTO(); @@ -83,7 +78,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { wxUserFormDTO.setApp(formDTO.getApp()); Result userResult = epmetUserOpenFeignClient.saveWxUser(wxUserFormDTO); if (!userResult.success()) { - throw new RenException(result.getCode()); + throw new RenException(userResult.getCode()); } UserDTO userDTO = userResult.getData(); @@ -147,12 +142,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { WxLoginFormDTO resiLoginFormDTO = new WxLoginFormDTO(); resiLoginFormDTO.setAppId(formDTO.getAppId()); resiLoginFormDTO.setWxCode(formDTO.getWxCode()); - Result result = epmetThirdFeignClient.resiAndWorkLogin(resiLoginFormDTO); - if (!result.success()) { - logger.error("工作端小程序登陆,调用epmet_third服务获取数据失败"); - throw new RenException(result.getCode()); - } - UserWechatDTO userWechatDTO = result.getData(); + UserWechatDTO userWechatDTO = this.getUserWeChat(resiLoginFormDTO); //2.根据openid查询用户是否存在历史登陆信息 Result latestStaffWechat = epmetUserOpenFeignClient.getLatestStaffWechatLoginRecord(userWechatDTO.getWxOpenId()); @@ -369,12 +359,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { WxLoginFormDTO resiLoginFormDTO = new WxLoginFormDTO(); resiLoginFormDTO.setAppId(formDTO.getAppId()); resiLoginFormDTO.setWxCode(formDTO.getWxCode()); - Result result = epmetThirdFeignClient.resiAndWorkLogin(resiLoginFormDTO); - if (!result.success()) { - logger.error("工作端小程序登陆,调用epmet_third服务获取数据失败"); - throw new RenException(result.getCode()); - } - UserWechatDTO userWechatDTO = result.getData(); + UserWechatDTO userWechatDTO = this.getUserWeChat(resiLoginFormDTO); WxMaJscode2SessionResult wxMaJscode2SessionResult = new WxMaJscode2SessionResult(); wxMaJscode2SessionResult.setOpenid(userWechatDTO.getWxOpenId()); wxMaJscode2SessionResult.setSessionKey(userWechatDTO.getSessionKey()); @@ -419,12 +404,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { throw new RenException(EpmetErrorCode.MOBILE_CODE_ERROR.getCode()); } //1.根据appId查询对应客户Id - Result resultDTO = epmetThirdFeignClient.getCustomerMsg(formDTO.getAppId()); - if (!resultDTO.success()) { - logger.error(String.format("根据appId查询客户Id失败,对应appId->" + formDTO.getAppId())); - throw new RenException(resultDTO.getMsg()); - } - PaCustomerDTO customer = resultDTO.getData().getCustomer(); + PaCustomerDTO customer = this.getCustomerInfo(formDTO.getAppId()); //7.28 根据appId只能存在一个客户Id,后边的批量操作逻辑 //2.根据手机号查询到用户信息 @@ -461,12 +441,8 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { @Override public List getMyOrgByPassword(ThirdStaffOrgsFormDTO formDTO) { //0.根据appId查询对应客户Id - Result resultDTO = epmetThirdFeignClient.getCustomerMsg(formDTO.getAppId()); - if (!resultDTO.success()) { - logger.error(String.format("根据appId查询客户Id失败,对应appId->" + formDTO.getAppId())); - throw new RenException(resultDTO.getMsg()); - } - PaCustomerDTO customer = resultDTO.getData().getCustomer(); +// Result resultDTO = epmetThirdFeignClient.getCustomerMsg(formDTO.getAppId()); + PaCustomerDTO customer = this.getCustomerInfo(formDTO.getAppId()); //7.28 上边根据appId只能锁定一条客户id,后边的批量循环操作暂不做调整,还是使用之前的代码 sun //1、根据手机号查询到用户信息 ThirdCustomerStaffFormDTO dto = new ThirdCustomerStaffFormDTO(); @@ -526,4 +502,44 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { return new ArrayList<>(); } + /** + * @Description 获取客户信息 + * @param appId + * @author zxc + */ + public PaCustomerDTO getCustomerInfo(String appId){ + JSONObject jsonObject = new JSONObject(); + String data = HttpClientManager.getInstance().sendPostByJSON(AuthHttpUrlConstant.CUSTOMER_MSG_URL + appId, JSON.toJSONString(jsonObject)).getData(); + JSONObject toResult = JSON.parseObject(data); + Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class); + if (!mapToResult.success()) { + logger.error(String.format("根据appId查询客户Id失败,对应appId->" + appId)); + throw new RenException(mapToResult.getMsg()); + } + Object PublicCustomerResultDTO = mapToResult.getData(); + JSONObject json = JSON.parseObject(PublicCustomerResultDTO.toString()); + PublicCustomerResultDTO publicCustomerResultDTO = ConvertUtils.mapToEntity(json, PublicCustomerResultDTO.class); + PaCustomerDTO customer = publicCustomerResultDTO.getCustomer(); + return customer; + } + + /** + * @Description 获取UserWechatDTO + * @param resiLoginFormDTO + * @author zxc + */ + public UserWechatDTO getUserWeChat(WxLoginFormDTO resiLoginFormDTO){ + String data = HttpClientManager.getInstance().sendPostByJSON(AuthHttpUrlConstant.RESI_AND_WORK_LOGIN_URL, JSON.toJSONString(resiLoginFormDTO)).getData(); + JSONObject toResult = JSON.parseObject(data); + Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class); + if (!mapToResult.success()) { + logger.error("居民端小程序登陆,调用epmet_third服务获取数据失败"); + throw new RenException(mapToResult.getCode()); + } + Object UserWeChatDTO = mapToResult.getData(); + JSONObject json = JSON.parseObject(UserWeChatDTO.toString()); + UserWechatDTO userWechatDTO = ConvertUtils.mapToEntity(json, UserWechatDTO.class); + return userWechatDTO; + } + } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ConvertUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ConvertUtils.java index f54c2cbf69..edc8633f02 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ConvertUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ConvertUtils.java @@ -12,9 +12,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; /** * 转换工具类 @@ -58,4 +60,28 @@ public class ConvertUtils { return targetList; } + + public static T mapToEntity(Map map, Class entity) { + T t = null; + try { + t = entity.newInstance(); + for(Field field : entity.getDeclaredFields()) { + if (map.containsKey(field.getName())) { + boolean flag = field.isAccessible(); + field.setAccessible(true); + Object object = map.get(field.getName()); + if (object!= null && field.getType().isAssignableFrom(object.getClass())) { + field.set(t, object); + } + field.setAccessible(flag); + } + } + return t; + } catch (InstantiationException e) { + logger.error("convert error ", e); + } catch (IllegalAccessException e) { + logger.error("convert error ", e); + } + return t; + } } diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/constant/HttpUrlConstant.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/constant/HttpUrlConstant.java new file mode 100644 index 0000000000..1ed41a08f2 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/constant/HttpUrlConstant.java @@ -0,0 +1,19 @@ +package com.epmet.constant; + +/** + * @Author zxc + * @CreateTime 2020/7/30 9:47 + */ +public interface HttpUrlConstant { + + /** + * 定时任务 刷新【authorizer_access_token】url + */ + String AUTH_ACCESS_TOKEN_URL = "https://epmet-cloud.elinkservice.cn/api/third/wechatthird/refreshtoken"; + + /** + * 定时任务 刷新【component_access_token】url + */ + String COMPONENT_ACCESS_TOKEN_URL = "https://epmet-cloud.elinkservice.cn/api/third/wechatthird/componentaccesstoken"; + +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ComponentAccessTokenServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ComponentAccessTokenServiceImpl.java index dbf0375a29..c5f112e056 100644 --- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ComponentAccessTokenServiceImpl.java +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/ComponentAccessTokenServiceImpl.java @@ -1,6 +1,11 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +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.HttpUrlConstant; import com.epmet.feign.EpmetThirdFeignClient; import com.epmet.service.ComponentAccessTokenService; import lombok.extern.slf4j.Slf4j; @@ -15,11 +20,12 @@ import org.springframework.stereotype.Service; @Service public class ComponentAccessTokenServiceImpl implements ComponentAccessTokenService { - @Autowired - private EpmetThirdFeignClient epmetThirdFeignClient; - @Override public Result componentAccessTokenJob() { - return epmetThirdFeignClient.getComponentAccessTokenJob(); + JSONObject jsonObject = new JSONObject(); + String data = HttpClientManager.getInstance().sendPostByJSON(HttpUrlConstant.COMPONENT_ACCESS_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); + JSONObject toResult = JSON.parseObject(data); + Result result = ConvertUtils.mapToEntity(toResult, Result.class); + return result; } } diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/RefreshAuthAccessTokenServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/RefreshAuthAccessTokenServiceImpl.java index 5edb9725a2..8961d7db14 100644 --- a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/RefreshAuthAccessTokenServiceImpl.java +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/RefreshAuthAccessTokenServiceImpl.java @@ -1,6 +1,11 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +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.HttpUrlConstant; import com.epmet.feign.EpmetThirdFeignClient; import com.epmet.service.RefreshAuthAccessTokenService; import org.springframework.beans.factory.annotation.Autowired; @@ -13,11 +18,12 @@ import org.springframework.stereotype.Service; @Service public class RefreshAuthAccessTokenServiceImpl implements RefreshAuthAccessTokenService { - @Autowired - private EpmetThirdFeignClient epmetThirdFeignClient; - @Override public Result refreshAuthorizerAccessTokenJob() { - return epmetThirdFeignClient.refreshAuthorizerAccessTokenJob(); + JSONObject jsonObject = new JSONObject(); + String data = HttpClientManager.getInstance().sendPostByJSON(HttpUrlConstant.AUTH_ACCESS_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); + JSONObject toResult = JSON.parseObject(data); + Result result = ConvertUtils.mapToEntity(toResult, Result.class); + return result; } } diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/constant/GuideHttpUrlConstant.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/constant/GuideHttpUrlConstant.java new file mode 100644 index 0000000000..b3496051ff --- /dev/null +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/constant/GuideHttpUrlConstant.java @@ -0,0 +1,11 @@ +package com.epmet.constant; + +/** + * @Author zxc + * @CreateTime 2020/7/30 13:56 + */ +public interface GuideHttpUrlConstant { + + String CUSTOMER_MSG_URL = "https://epmet-cloud.elinkservice.cn/api/third/customermp/getcustomermsg/"; + +} diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java index e1d44ec93a..3d18720301 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java @@ -1,6 +1,8 @@ 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; @@ -11,7 +13,9 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; 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.GuideHttpUrlConstant; import com.epmet.constant.StrangerResiGuideConstant; import com.epmet.dao.StrangerAccessRecordDao; import com.epmet.dto.PaCustomerDTO; @@ -255,12 +259,7 @@ public class StrangerAccessRecordServiceImpl extends BaseServiceImpl> thirdCustomerGridList(PublicCustomerGridListFormDTO formDTO) { //0.调用epmet-third服务,根据appId查询客户信息 - Result result = epmetThirdFeignClient.getCustomerMsg(formDTO.getAppId()); - if(!result.success()){ - throw new RenException(result.getCode()); - } - PublicCustomerResultDTO resultDTO = result.getData(); - PaCustomerDTO customer = resultDTO.getCustomer(); + PaCustomerDTO customer = this.getCustomerInfo(formDTO.getAppId()); ThirdCustomerGridListFormDTO third = new ThirdCustomerGridListFormDTO(); third.setCustomerId(customer.getId()); @@ -306,4 +305,25 @@ public class StrangerAccessRecordServiceImpl extends BaseServiceImpl" + appId)); + throw new RenException(mapToResult.getMsg()); + } + Object PublicCustomerResultDTO = mapToResult.getData(); + JSONObject json = JSON.parseObject(PublicCustomerResultDTO.toString()); + PublicCustomerResultDTO publicCustomerResultDTO = ConvertUtils.mapToEntity(json, PublicCustomerResultDTO.class); + PaCustomerDTO customer = publicCustomerResultDTO.getCustomer(); + return customer; + } + } From 15f45579df5cae8bc98d2b9fc494da9d649c1320 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Thu, 30 Jul 2020 14:25:09 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=B9=B3=E5=8F=B0-=E7=B1=BB=E5=9E=8B=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AppLetAuthorizationServiceImpl.java | 10 ++--- .../ComponentVerifyTicketServiceImpl.java | 40 +++---------------- .../service/impl/WarrantServiceImpl.java | 7 ++-- 3 files changed, 11 insertions(+), 46 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java index 834866bfd2..dd50366b48 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/AppLetAuthorizationServiceImpl.java @@ -5,12 +5,12 @@ import com.alibaba.fastjson.JSONObject; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.constant.ModuleConstant; import com.epmet.dao.BindingAccountDao; import com.epmet.dao.CustomerMpDao; import com.epmet.dao.OpenPlatformAccountDao; -import com.epmet.dao.PaCustomerAgencyDao; import com.epmet.dto.form.GoToAuthFormDTO; import com.epmet.dto.form.OpenAppIdFormDTO; import com.epmet.dto.form.RemoveBindFormDTO; @@ -35,13 +35,9 @@ import java.util.Map; @Service public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationService { - @Autowired - private PaCustomerAgencyDao paCustomerAgencyDao; @Autowired private ComponentVerifyTicketService componentVerifyTicketService; @Autowired - private ComponentVerifyTicketServiceImpl componentVerifyTicketServiceImpl; - @Autowired private OpenPlatformAccountDao openPlatformAccountDao; @Autowired private CustomerMpDao customerMpDao; @@ -85,7 +81,7 @@ public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationServic //查询appId String authAppId = customerMpDao.getAppId(customerId, clientType); Map authInfo = redisThird.getAuthInfo(customerId, clientType); - AuthorizationInfoResultDTO authorizationInfo = componentVerifyTicketServiceImpl.mapToEntity(authInfo, AuthorizationInfoResultDTO.class); + AuthorizationInfoResultDTO authorizationInfo = ConvertUtils.mapToEntity(authInfo, AuthorizationInfoResultDTO.class); JSONObject jsonObject = new JSONObject(); jsonObject.put(ModuleConstant.LOW_APP_ID,authAppId); jsonObject.put(ModuleConstant.OPEN_APP_ID,openAppId); @@ -110,7 +106,7 @@ public class AppLetAuthorizationServiceImpl implements AppLetAuthorizationServic String clientType = formDTO.getClientType(); String authAppId = customerMpDao.getAppId(customerId, clientType); Map authInfo = redisThird.getAuthInfo(customerId, clientType); - AuthorizationInfoResultDTO authorizationInfo = componentVerifyTicketServiceImpl.mapToEntity(authInfo, AuthorizationInfoResultDTO.class); + AuthorizationInfoResultDTO authorizationInfo = ConvertUtils.mapToEntity(authInfo, AuthorizationInfoResultDTO.class); JSONObject jsonObject = new JSONObject(); jsonObject.put(ModuleConstant.LOW_APP_ID,authAppId); String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.UN_BIND + authorizationInfo.getAuthorizer_access_token(), JSON.toJSONString(jsonObject)).getData(); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java index 0791597950..4414fac9bd 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java @@ -6,6 +6,7 @@ import com.alibaba.nacos.client.config.utils.IOUtils; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.constant.ModuleConstant; import com.epmet.constant.ThirdRedisKeyConstant; @@ -31,7 +32,6 @@ import org.springframework.web.bind.annotation.RequestBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; -import java.lang.reflect.Field; import java.util.*; import static com.epmet.constant.ModuleConstant.COMPONENT_ACCESS_TOKEN; @@ -175,7 +175,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe public void disposeAuthResult(Map result){ Map tempMap = result; Map data = tempMap; - AuthResultRecordFormDTO authResultRecord = mapToEntity(data, AuthResultRecordFormDTO.class); + AuthResultRecordFormDTO authResultRecord = ConvertUtils.mapToEntity(data, AuthResultRecordFormDTO.class); authResultRecord.setWechatCreateTime(this.sToDate(result.get(ModuleConstant.CREATE_TIME))); if (result.containsKey(ModuleConstant.AUTHORIZATION_CODE_EXPIRED_TIME)) { authResultRecord.setExpiredTime(this.sToDate(result.get(ModuleConstant.AUTHORIZATION_CODE_EXPIRED_TIME))); @@ -285,7 +285,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe String authInfo = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_QUERY_AUTH_URL + accessToken, JSON.toJSONString(jsonObject)).getData(); HashMap hashMap = JSON.parseObject(authInfo, HashMap.class); Map map = hashMap.get(ModuleConstant.AUTHORIZATION_INFO); - authorizationInfoResultDTO = mapToEntity(map, AuthorizationInfoResultDTO.class); + authorizationInfoResultDTO = ConvertUtils.mapToEntity(map, AuthorizationInfoResultDTO.class); String authAppId = authorizationInfoResultDTO.getAuthorizer_appid(); log.info("授权信息:"+map); String expiresIn = authorizationInfoResultDTO.getExpires_in().toString(); @@ -433,7 +433,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe boolean keyExist = authorizerInfo.containsKey(ModuleConstant.MINI_PROGRAM_INFO); if (keyExist == true){ log.info("授权方为小程序 并 开始插入信息"); - MiniInfoFormDTO miniInfoFormDTO = this.mapToEntity(authorizerInfo, MiniInfoFormDTO.class); + MiniInfoFormDTO miniInfoFormDTO = ConvertUtils.mapToEntity(authorizerInfo, MiniInfoFormDTO.class); miniInfoFormDTO.setCustomerId(customerId); miniInfoFormDTO.setClientType(clientType); //基础信息插入 @@ -485,7 +485,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe } }else { log.info("授权方为公众号 并 开始插入信息"); - PaInfoFormDTO paInfoFormDTO = this.mapToEntity(authorizerInfo, PaInfoFormDTO.class); + PaInfoFormDTO paInfoFormDTO = ConvertUtils.mapToEntity(authorizerInfo, PaInfoFormDTO.class); //公众号基本信息插入 paInfoDao.insertPaInfo(paInfoFormDTO); String primaryId = paInfoFormDTO.getId(); @@ -611,36 +611,6 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe } } - /** - * @Description map 转 Entity - * @param map - * @param entity - * @author zxc - */ - public T mapToEntity(Map map, Class entity) { - T t = null; - try { - t = entity.newInstance(); - for(Field field : entity.getDeclaredFields()) { - if (map.containsKey(field.getName())) { - boolean flag = field.isAccessible(); - field.setAccessible(true); - Object object = map.get(field.getName()); - if (object!= null && field.getType().isAssignableFrom(object.getClass())) { - field.set(t, object); - } - field.setAccessible(flag); - } - } - return t; - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - return t; - } - /** * @Description 转换过期时间 * @param expiresIn diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java index 20f75b74fb..956c5c31e6 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java @@ -1,6 +1,7 @@ package com.epmet.service.impl; import com.alibaba.nacos.client.config.utils.IOUtils; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.constant.ModuleConstant; import com.epmet.constant.ThirdRunTimeInfoConstant; import com.epmet.dao.*; @@ -44,8 +45,6 @@ public class WarrantServiceImpl implements WarrantService { @Value("${third.platform.token}") private String token; @Autowired - private ComponentVerifyTicketServiceImpl componentVerifyTicketService; - @Autowired private CodeAuditRecordDao codeAuditRecordDao; @Autowired private MiniInfoDao miniInfoDao; @@ -96,7 +95,7 @@ public class WarrantServiceImpl implements WarrantService { if (xml.get(ModuleConstant.MSG_TYPE).equals(ModuleConstant.EVENT_LOW)) { // TODO 目前来看,msgType = ‘event’ 的是代码审核结果 Long createTime = Long.valueOf(xml.get(ModuleConstant.CREATE_TIME).toString()); - CodeAuditRecordFormDTO codeAuditRecord = componentVerifyTicketService.mapToEntity(xml, CodeAuditRecordFormDTO.class); + CodeAuditRecordFormDTO codeAuditRecord = ConvertUtils.mapToEntity(xml, CodeAuditRecordFormDTO.class); codeAuditRecord.setWechatCreateTime(componentVerifyTicketServiceImpl.sToDate(createTime.toString())); String toUserName = codeAuditRecord.getToUserName();//小程序原始ID CustomerIdAndClientResultDTO customerIdAndClientResultDTO = miniInfoDao.selectCustomerIdAndClientByToUserName(toUserName); @@ -130,7 +129,7 @@ public class WarrantServiceImpl implements WarrantService { codeAuditResultDao.updateAuditResult(customerId, codeCustomerId, codeResult); }else if (xml.get(ModuleConstant.MSG_TYPE).equals(ModuleConstant.TEXT)){ // TODO 公众号回复消息 - MessagePushTextFormDTO messagePushTextFormDTO = componentVerifyTicketService.mapToEntity(xml, MessagePushTextFormDTO.class); + MessagePushTextFormDTO messagePushTextFormDTO = ConvertUtils.mapToEntity(xml, MessagePushTextFormDTO.class); Object createTime = xml.get(ModuleConstant.CREATE_TIME); Date date = componentVerifyTicketServiceImpl.sToDate(createTime.toString()); messagePushTextFormDTO.setWeChatCreateTime(date); From 292ea6c65bed575fba564c821e4c45a9ad8102b1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 30 Jul 2020 14:54:36 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=B7wxcodetotken?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PublicUserLoginController.java | 17 ++++++---- .../com/epmet/dto/form/PaWxCodeFormDTO.java | 4 +++ .../impl/PublicUserLoginServiceImpl.java | 5 ++- .../epmet/dto/form/RegisterByAuthFormDTO.java | 12 +++++++ .../epmet/dto/form/RegisterInfoFormDTO.java | 9 ++++++ .../dto/form/SaveUserVisitedFormDTO.java | 6 ++++ .../epmet/dto/form/WxCodeToTokenFormDTO.java | 28 +++++++++++++++++ .../epmet/controller/PaUserController.java | 10 +++--- .../java/com/epmet/dao/CustomerMpDao.java | 4 +-- .../java/com/epmet/dao/PaCustomerDao.java | 4 +-- .../java/com/epmet/dao/PaUserVisitedDao.java | 4 +-- .../java/com/epmet/dao/PaUserWechatDao.java | 4 +-- .../java/com/epmet/service/PaUserService.java | 6 ++-- .../epmet/service/PaUserWechatService.java | 4 +-- .../service/impl/PaCustomerServiceImpl.java | 4 +-- .../epmet/service/impl/PaUserServiceImpl.java | 28 ++++++++++++----- .../service/impl/PaUserWechatServiceImpl.java | 6 ++-- .../main/resources/mapper/CustomerMpDao.xml | 20 +++++++----- .../main/resources/mapper/PaCustomerDao.xml | 2 ++ .../resources/mapper/PaUserVisitedDao.xml | 1 + .../main/resources/mapper/PaUserWechatDao.xml | 31 ++++++++++--------- 21 files changed, 150 insertions(+), 59 deletions(-) create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxCodeToTokenFormDTO.java diff --git a/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java index 85163f625c..4b7beadab0 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java @@ -1,6 +1,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; @@ -12,11 +13,12 @@ import com.epmet.dto.form.PublicSendSmsCodeFormDTO; import com.epmet.dto.form.RegisterFormDTO; import com.epmet.dto.result.UserTokenResultDTO; import com.epmet.service.PublicUserLoginService; +import com.netflix.ribbon.proxy.annotation.Http; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpRequest; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.web.bind.annotation.*; /** * 描述一下 @@ -38,8 +40,10 @@ public class PublicUserLoginController { * @description 解析wxcode获取用户信息并生成token **/ @PostMapping(value = "/wxcodetotoken") - public Result wxCodeToToken(@RequestBody PaWxCodeFormDTO formDTO) { + + public Result wxCodeToToken(@RequestHeader("source") String source, @RequestBody PaWxCodeFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, PaWxCodeFormDTO.AddUserInternalGroup.class); + formDTO.setSource(source); return new Result().ok(publicUserLoginService.wxCodeToToken(formDTO)); } @@ -66,8 +70,9 @@ public class PublicUserLoginController { * @Description 公众号-手机验证码登陆 **/ @PostMapping(value = "/loginbyphone") - public Result loginByPhone(@LoginUser TokenDto tokenDTO, @RequestBody LoginByPhoneFormDTO formDTO) { + public Result loginByPhone(@RequestHeader("source") String source, @LoginUser TokenDto tokenDTO, @RequestBody LoginByPhoneFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, LoginByPhoneFormDTO.AddUserShowGroup.class, LoginByPhoneFormDTO.LoginByPhone.class); + System.out.println(source); return new Result().ok(publicUserLoginService.loginByPhone(tokenDTO, formDTO)); } diff --git a/epmet-auth/src/main/java/com/epmet/dto/form/PaWxCodeFormDTO.java b/epmet-auth/src/main/java/com/epmet/dto/form/PaWxCodeFormDTO.java index 33161e90c9..9d21fb8aea 100644 --- a/epmet-auth/src/main/java/com/epmet/dto/form/PaWxCodeFormDTO.java +++ b/epmet-auth/src/main/java/com/epmet/dto/form/PaWxCodeFormDTO.java @@ -20,4 +20,8 @@ public class PaWxCodeFormDTO implements Serializable { */ @NotBlank(message = "wxCode不能为空",groups = {AddUserInternalGroup.class}) private String wxCode; + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + private String source; } 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 8acd320419..7cd1fddc8e 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 @@ -70,10 +70,13 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { public UserTokenResultDTO wxCodeToToken(PaWxCodeFormDTO formDTO) { //1.通过微信code获取用户基本信息 WxMpUser wxMpUser = this.getWxMpUser(formDTO.getWxCode()); + WxCodeToTokenFormDTO dto = new WxCodeToTokenFormDTO(); + dto.setWxMpUser(wxMpUser); + dto.setSource(formDTO.getSource()); //2.将获取的用户基本信息初始化到数据库 String url = ThirdApiConstant.THIRD_PAUSER_SAVEUSER; - Result result = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(wxMpUser)); + Result result = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(dto)); if (!result.success()) { throw new RenException(PublicUserLoginConstant.SAVE_USER_EXCEPTION); } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterByAuthFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterByAuthFormDTO.java index c8c1288c12..c23d1461a6 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterByAuthFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterByAuthFormDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -12,10 +14,20 @@ import java.io.Serializable; public class RegisterByAuthFormDTO implements Serializable { private static final long serialVersionUID = -6547893374373422628L; + public interface AddUserInternalGroup { + } + public interface AddUserShowGroup extends CustomerClientShowGroup { + } /** * 初始化状态(0:已初始化、1:未初始化) * */ private Integer initState; + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + @NotBlank(message = "数据来源不能为空", groups = {RegisterByAuthFormDTO.AddUserInternalGroup.class, RegisterByAuthFormDTO.AddUserShowGroup.class}) + private String source; + } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterInfoFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterInfoFormDTO.java index 7b20804835..e4afc383d5 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterInfoFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterInfoFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.Min; @@ -17,6 +18,8 @@ public class RegisterInfoFormDTO implements Serializable { public interface AddUserInternalGroup { } + public interface AddUserShowGroup extends CustomerClientShowGroup { + } /** * 当前页 @@ -29,4 +32,10 @@ public class RegisterInfoFormDTO implements Serializable { * */ private Integer pageSize = 20; + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + @NotBlank(message = "数据来源不能为空", groups = {RegisterInfoFormDTO.AddUserInternalGroup.class, RegisterInfoFormDTO.AddUserShowGroup.class}) + private String source; + } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/SaveUserVisitedFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/SaveUserVisitedFormDTO.java index eecf8da6d0..d74f56a2a3 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/SaveUserVisitedFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/SaveUserVisitedFormDTO.java @@ -31,4 +31,10 @@ public class SaveUserVisitedFormDTO implements Serializable { */ private String phone; + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + private String source; + + } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxCodeToTokenFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxCodeToTokenFormDTO.java new file mode 100644 index 0000000000..fa671d63d5 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxCodeToTokenFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; +import me.chanjar.weixin.mp.bean.result.WxMpUser; + +import java.io.Serializable; +import java.util.Date; + +/** + * 公众号-wxcode换取token保存微信用户信息-接口入参 + * @Author sun + */ +@Data +public class WxCodeToTokenFormDTO implements Serializable { + + private static final long serialVersionUID = -6163303184086480522L; + + /** + * 微信用户信息 + */ + private WxMpUser wxMpUser; + + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + private String source; + +} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java index d7c07bc506..5c28f75d2c 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java @@ -23,14 +23,14 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.PaUserDTO; +import com.epmet.dto.form.WxCodeToTokenFormDTO; import com.epmet.dto.result.CustomerUserResultDTO; import com.epmet.dto.result.SaveUserResultDTO; import com.epmet.excel.PaUserExcel; import com.epmet.service.PaUserService; -import me.chanjar.weixin.mp.bean.result.WxMpUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -95,14 +95,14 @@ public class PaUserController { } /** - * @param wxMpUser + * @param formDTO * @return * @Author sun * @Description 根据openId新增或更新用户信息 **/ @PostMapping(value = "/saveuser") - public Result saveUser(@RequestBody WxMpUser wxMpUser) { - return new Result().ok(paUserService.saveUser(wxMpUser)); + public Result saveUser(@RequestBody WxCodeToTokenFormDTO formDTO) { + return new Result().ok(paUserService.saveUser(formDTO)); } /** diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CustomerMpDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CustomerMpDao.java index 3b3a4ee9b8..a3fca59cc8 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CustomerMpDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/CustomerMpDao.java @@ -49,9 +49,9 @@ public interface CustomerMpDao extends BaseDao { * @param * @return * @Author sun - * @Description 查询所有客户小程序的授权信息 + * @Description 根据数据来源查询所有客户小程序的授权信息 **/ - List selectAll(); + List selectAll(@Param("source")String source); /** * @Description 查询授权的数量 diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java index f22a55b563..5d403cb1cf 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerDao.java @@ -49,9 +49,9 @@ public interface PaCustomerDao extends BaseDao { * @param * @return * @Author sun - * @Description 查询公众号注册的客户信息列表 + * @Description 根据数据来源查询公众号注册的客户信息列表 **/ - List registerInfo(); + List registerInfo(@Param("source") String source); /** * @param dto diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserVisitedDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserVisitedDao.java index 943bb0a132..76c9b34ff6 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserVisitedDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserVisitedDao.java @@ -36,7 +36,7 @@ public interface PaUserVisitedDao extends BaseDao { * @param openId * @return * @Author sun - * @Description 根据openId查询登陆访问记录数据,按时间倒序 + * @Description 根据数据来源和openId查询登陆访问记录数据,按时间倒序 **/ - PaUserVisitedDTO selectByOpenId(@Param("openId") String openId); + PaUserVisitedDTO selectByOpenId(@Param("openId") String openId, @Param("source") String source); } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserWechatDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserWechatDao.java index 78d08c42dc..deae68e025 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserWechatDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserWechatDao.java @@ -38,9 +38,9 @@ public interface PaUserWechatDao extends BaseDao { * @param openId * @return * @Author sun - * @Description 根据openId查询user_wechat表信息 + * @Description 根据数据来源和openId查询user_wechat表信息 **/ - List selectWechatByOpenId(@Param("openId") String openId); + List selectWechatByOpenId(@Param("openId") String openId, @Param("source") String source); /** * @param dto diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java index c9208eef81..1105fe6301 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java @@ -20,10 +20,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.PaUserDTO; +import com.epmet.dto.form.WxCodeToTokenFormDTO; import com.epmet.dto.result.CustomerUserResultDTO; import com.epmet.dto.result.SaveUserResultDTO; import com.epmet.entity.PaUserEntity; -import me.chanjar.weixin.mp.bean.result.WxMpUser; import java.util.List; import java.util.Map; @@ -97,12 +97,12 @@ public interface PaUserService extends BaseService { void delete(String[] ids); /** - * @param wxMpUser + * @param formDTO * @return * @Author sun * @Description 根据openId新增或更新用户信息 **/ - SaveUserResultDTO saveUser(WxMpUser wxMpUser); + SaveUserResultDTO saveUser(WxCodeToTokenFormDTO formDTO); /** * @param phone diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserWechatService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserWechatService.java index bc873038ac..e47be27016 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserWechatService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserWechatService.java @@ -97,7 +97,7 @@ public interface PaUserWechatService extends BaseService { * @param openId * @return * @Author sun - * @Description 根据openId查询user_wechat表信息 + * @Description 根据数据来源和openId查询user_wechat表信息 **/ - List getWechatByOpenId(String openId); + List getWechatByOpenId(String openId, String source); } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java index df6c581a92..fb4c90293b 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java @@ -408,9 +408,9 @@ public class PaCustomerServiceImpl extends BaseServiceImpl list = baseDao.registerInfo(); + List list = baseDao.registerInfo(formDTO.getSource()); //2.查询客户小程序授权信息 - List mpList = customerMpDao.selectAll(); + List mpList = customerMpDao.selectAll(formDTO.getSource()); //3.封装数据 list.forEach(l -> { mpList.forEach(mp -> { diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java index d5acc59fb5..093f167936 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java @@ -34,12 +34,15 @@ import com.epmet.dto.PaCustomerDTO; import com.epmet.dto.PaUserDTO; import com.epmet.dto.PaUserVisitedDTO; import com.epmet.dto.PaUserWechatDTO; +import com.epmet.dto.form.SaveUserVisitedFormDTO; +import com.epmet.dto.form.WxCodeToTokenFormDTO; import com.epmet.dto.result.CustomerUserResultDTO; import com.epmet.dto.result.SaveUserResultDTO; import com.epmet.entity.PaUserEntity; import com.epmet.entity.PaUserWechatEntity; import com.epmet.redis.PaUserRedis; import com.epmet.service.PaUserService; +import com.epmet.service.PaUserVisitedService; import com.epmet.service.PaUserWechatService; import me.chanjar.weixin.mp.bean.result.WxMpUser; import org.apache.commons.lang3.StringUtils; @@ -72,6 +75,8 @@ public class PaUserServiceImpl extends BaseServiceImpl private PaUserWechatDao paUserWechatDao; @Autowired private PaUserVisitedDao paUserVisitedDao; + @Autowired + private PaUserVisitedService paUserVisitedService; @Override public PageData page(Map params) { @@ -126,22 +131,24 @@ public class PaUserServiceImpl extends BaseServiceImpl } /** - * @param wxMpUser + * @param formDTO * @return * @Author sun * @Description 根据openId新增或更新用户信息 **/ @Override @Transactional(rollbackFor = Exception.class) - public SaveUserResultDTO saveUser(WxMpUser wxMpUser) { + public SaveUserResultDTO saveUser(WxCodeToTokenFormDTO formDTO) { + WxMpUser wxMpUser = formDTO.getWxMpUser(); SaveUserResultDTO resultDTO = new SaveUserResultDTO(); - //1.根据openId查询user_wechat表是否存在用户信息(user表和user_wechat表数据时多对多关系) - List wechatDTO = paUserWechatService.getWechatByOpenId(wxMpUser.getOpenId()); + //1.根据openId查询user_wechat表是否存在用户信息(user表和user_wechat表数据是多对多关系) + List wechatDTO = paUserWechatService.getWechatByOpenId(wxMpUser.getOpenId(), formDTO.getSource()); //2.不存在则新增用户信息,存在则更新user_wechat表信息 if (null == wechatDTO || wechatDTO.size() < NumConstant.ONE) { //2.1、user表新增数据 PaUserEntity userEntity = new PaUserEntity(); + userEntity.setSource(formDTO.getSource()); baseDao.insert(userEntity); //2.2、user_wechat表新增数据 PaUserWechatEntity wechatEntity = new PaUserWechatEntity(); @@ -157,9 +164,16 @@ public class PaUserServiceImpl extends BaseServiceImpl wechatEntity.setLanguage(null == wxMpUser.getLanguage() ? "" : wxMpUser.getLanguage()); paUserWechatService.insert(wechatEntity); + //2.3、pa_user_visited表新增访问记录数据 + SaveUserVisitedFormDTO visited = new SaveUserVisitedFormDTO(); + visited.setUserId(userEntity.getId()); + visited.setLogonUserId(userEntity.getId()); + visited.setSource(formDTO.getSource()); + paUserVisitedService.saveUserVisited(visited); + resultDTO.setUserId(userEntity.getId()); } else { - //2.3、批量更新user_wechat表数据 + //2.4、批量更新user_wechat表数据 List wechatEntity = ConvertUtils.sourceToTarget(wechatDTO, PaUserWechatEntity.class); for(PaUserWechatEntity entity : wechatEntity){ entity.setGender(wxMpUser.getSex().toString()); @@ -172,8 +186,8 @@ public class PaUserServiceImpl extends BaseServiceImpl } paUserWechatService.updateBatchById(wechatEntity); - //2.4、根据openid查询用户登陆访问记录表数据,按登陆时间倒序 - PaUserVisitedDTO visitedDTO = paUserVisitedDao.selectByOpenId(wxMpUser.getOpenId()); + //2.5、根据openid查询用户登陆访问记录表数据,按登陆时间倒序 + PaUserVisitedDTO visitedDTO = paUserVisitedDao.selectByOpenId(wxMpUser.getOpenId(), formDTO.getSource()); if (null == visitedDTO || "".equals(visitedDTO.getUserId())) { logger.error("根据openid查询用户访问记录表数据失败,openid->"+wxMpUser.getOpenId()); throw new RenException(PaConstant.SELECT_VISITED_EXCEPTION); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserWechatServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserWechatServiceImpl.java index 46726a9823..0820b359d4 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserWechatServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserWechatServiceImpl.java @@ -105,11 +105,11 @@ public class PaUserWechatServiceImpl extends BaseServiceImpl getWechatByOpenId(String openId) { - return baseDao.selectWechatByOpenId(openId); + public List getWechatByOpenId(String openId, String source) { + return baseDao.selectWechatByOpenId(openId, source); } } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml index 20632a7f3c..cf24463139 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/CustomerMpDao.xml @@ -61,17 +61,21 @@ @@ -64,6 +65,7 @@ pa_customer WHERE del_flag = '0' + AND source = #{source} AND is_initialize = #{initState} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml index 76a3d7fee6..15ed900ef8 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml @@ -14,6 +14,7 @@ pa_user_visited WHERE del_flag = '0' + AND source = #{source} AND wx_open_id = #{openId} ORDER BY created_time DESC diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserWechatDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserWechatDao.xml index e571713767..9a5a08e973 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserWechatDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserWechatDao.xml @@ -5,22 +5,25 @@ \ No newline at end of file From ad2fbb2d22305e5a2dbb657392036136b7d5f614 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 30 Jul 2020 15:51:17 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=B7=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/ThirdApiConstant.java | 2 +- .../controller/PublicUserLoginController.java | 10 ++++--- .../epmet/dto/form/LoginByPhoneFormDTO.java | 5 ++++ .../dto/form/PublicSendSmsCodeFormDTO.java | 6 +++++ .../impl/PublicUserLoginServiceImpl.java | 21 ++++++++++----- .../epmet/dto/form/CheckPaUserFormDTO.java | 27 +++++++++++++++++++ .../com/epmet/dto/form/RegisterFormDTO.java | 5 ++++ .../epmet/controller/PaUserController.java | 7 ++--- .../main/java/com/epmet/dao/PaUserDao.java | 15 ++++++++--- .../java/com/epmet/service/PaUserService.java | 7 ++--- .../service/impl/PaCustomerServiceImpl.java | 14 +++++----- .../epmet/service/impl/PaUserServiceImpl.java | 7 ++--- .../impl/PaUserVisitedServiceImpl.java | 1 + .../src/main/resources/mapper/PaUserDao.xml | 19 ++++++++++++- .../resources/mapper/PaUserVisitedDao.xml | 3 ++- 15 files changed, 116 insertions(+), 33 deletions(-) create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CheckPaUserFormDTO.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 index 9cae0fa6ed..80bd70e7b7 100644 --- a/epmet-auth/src/main/java/com/epmet/constant/ThirdApiConstant.java +++ b/epmet-auth/src/main/java/com/epmet/constant/ThirdApiConstant.java @@ -13,7 +13,7 @@ public interface ThirdApiConstant { /** * 根据手机号查询公众号用户基本信息,校验用户是否存在 */ - String THIRD_PAUSER_CHECKPAUSER = "https://epmet-cloud.elinkservice.cn/api/third/pauser/checkpauser/"; + String THIRD_PAUSER_CHECKPAUSER = "https://epmet-cloud.elinkservice.cn/api/third/pauser/checkpauser"; /** * 用户登陆,新增访问记录数据 */ diff --git a/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java index 4b7beadab0..8f93ab52fb 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/PublicUserLoginController.java @@ -54,11 +54,12 @@ public class PublicUserLoginController { * @Description 公众号登录-发送验证码 **/ @PostMapping(value = "/sendsmscode") - public Result sendSmsCode(@RequestBody PublicSendSmsCodeFormDTO formDTO) { + public Result sendSmsCode(@RequestHeader("source") String source, @RequestBody PublicSendSmsCodeFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO,PublicSendSmsCodeFormDTO.AddUserShowGroup.class); - if(formDTO.getIsLogon()!=true&&formDTO.getIsLogon()!=false){ + if (formDTO.getIsLogon() != true && formDTO.getIsLogon() != false) { throw new RenException(PublicUserLoginConstant.PARAMETER_EXCEPTION); } + formDTO.setSource(source); publicUserLoginService.sendSmsCode(formDTO); return new Result(); } @@ -72,7 +73,7 @@ public class PublicUserLoginController { @PostMapping(value = "/loginbyphone") public Result loginByPhone(@RequestHeader("source") String source, @LoginUser TokenDto tokenDTO, @RequestBody LoginByPhoneFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, LoginByPhoneFormDTO.AddUserShowGroup.class, LoginByPhoneFormDTO.LoginByPhone.class); - System.out.println(source); + formDTO.setSource(source); return new Result().ok(publicUserLoginService.loginByPhone(tokenDTO, formDTO)); } @@ -83,9 +84,10 @@ public class PublicUserLoginController { * @Description 公众号-手机号注册 **/ @PostMapping(value = "/register") - public Result register(@LoginUser TokenDto tokenDTO, @RequestBody RegisterFormDTO formDTO) { + public Result register(@RequestHeader("source") String source, @LoginUser TokenDto tokenDTO, @RequestBody RegisterFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, RegisterFormDTO.AddUserInternalGroup.class, RegisterFormDTO.AddUserShowGroup.class); formDTO.setUserId(tokenDTO.getUserId()); + formDTO.setSource(source); return new Result().ok(publicUserLoginService.register(formDTO)); } diff --git a/epmet-auth/src/main/java/com/epmet/dto/form/LoginByPhoneFormDTO.java b/epmet-auth/src/main/java/com/epmet/dto/form/LoginByPhoneFormDTO.java index 8b09d458d9..40a1851c89 100644 --- a/epmet-auth/src/main/java/com/epmet/dto/form/LoginByPhoneFormDTO.java +++ b/epmet-auth/src/main/java/com/epmet/dto/form/LoginByPhoneFormDTO.java @@ -34,5 +34,10 @@ public class LoginByPhoneFormDTO implements Serializable { @NotBlank(message="验证码不能为空", groups = {LoginByPhone.class}) private String smsCode; + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + private String source; + } diff --git a/epmet-auth/src/main/java/com/epmet/dto/form/PublicSendSmsCodeFormDTO.java b/epmet-auth/src/main/java/com/epmet/dto/form/PublicSendSmsCodeFormDTO.java index 22b096ca6a..cfedfd3a40 100644 --- a/epmet-auth/src/main/java/com/epmet/dto/form/PublicSendSmsCodeFormDTO.java +++ b/epmet-auth/src/main/java/com/epmet/dto/form/PublicSendSmsCodeFormDTO.java @@ -26,8 +26,14 @@ public class PublicSendSmsCodeFormDTO implements Serializable { */ @NotBlank(message = "手机号不能为空", groups = {AddUserShowGroup.class}) private String phone; + /** * 是否登陆(登陆:true 注册:false) */ private Boolean isLogon; + + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + private String source; } 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 7cd1fddc8e..3c04b206be 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 @@ -162,9 +162,12 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getPhone(), EpmetErrorCode.ERROR_PHONE.getCode(), EpmetErrorCode.ERROR_PHONE.getMsg())); throw new RenException(EpmetErrorCode.ERROR_PHONE.getCode()); } - //2、根据手机号校验用户是否存在 - String url = ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER + formDTO.getPhone(); - Result result = HttpClientManager.getInstance().sendPostByJSON(url, null); + //2、根据数据来源和手机号校验用户是否存在 + CheckPaUserFormDTO dto = new CheckPaUserFormDTO(); + dto.setPhone(formDTO.getPhone()); + dto.setSource(formDTO.getSource()); + String url = ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER; + Result result = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(dto)); if (!result.success()) { logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getPhone(), result.getCode(), result.getMsg())); throw new RenException(result.getCode()); @@ -201,9 +204,12 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { **/ @Override public UserTokenResultDTO loginByPhone(TokenDto tokenDTO, LoginByPhoneFormDTO formDTO) { - //1.根据手机号查询到用户、客户信息 - String url = ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER + formDTO.getPhone(); - Result result = HttpClientManager.getInstance().sendPostByJSON(url, null); + //1.根据数据来源和手机号查询用户、客户信息 + CheckPaUserFormDTO dto = new CheckPaUserFormDTO(); + dto.setPhone(formDTO.getPhone()); + dto.setSource(formDTO.getSource()); + String url = ThirdApiConstant.THIRD_PAUSER_CHECKPAUSER; + Result result = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(dto)); if (!result.success()) { logger.error(String.format("手机验证码登录异常,手机号[%s],code[%s],msg[%s]", formDTO.getPhone(), result.getCode(), result.getMsg())); throw new RenException(result.getCode()); @@ -244,6 +250,7 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { visited.setUserId(userDTO.getId()); visited.setLogonUserId(tokenDTO.getUserId()); visited.setPhone(formDTO.getPhone()); + visited.setSource(formDTO.getSource()); String saveUserVisitedUrl = ThirdApiConstant.THIRD_PAUSERVISITED_SAVEUSERVISITED; Result visitedResult = HttpClientManager.getInstance().sendPostByJSON(saveUserVisitedUrl, JSON.toJSONString(visited)); if(!visitedResult.success()){ @@ -269,7 +276,7 @@ public class PublicUserLoginServiceImpl implements PublicUserLoginService { JSONObject toResult = JSON.parseObject(data); Result result = ConvertUtils.mapToEntity(toResult, Result.class); if (!result.success()) { - logger.error("调用epmet_third服务初始化用户信息失败"); + logger.error(String.format("调用epmet_third服务初始化用户信息失败,数据来源[%s],手机号[%s],userId:[%S]", formDTO.getSource(), formDTO.getPhone(), formDTO.getUserId())); throw new RenException(result.getCode()); } Object RegisterResult = result.getData(); diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CheckPaUserFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CheckPaUserFormDTO.java new file mode 100644 index 0000000000..c3bf330549 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/CheckPaUserFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 公众号-发送短信验证码-接口入参 + * @Author sun + */ +@Data +public class CheckPaUserFormDTO implements Serializable { + + private static final long serialVersionUID = -6163303184086480522L; + + /** + * s手机号 + */ + private String phone; + + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + private String source; + +} diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterFormDTO.java index fe16eaab4c..55c822466a 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/RegisterFormDTO.java @@ -51,4 +51,9 @@ public class RegisterFormDTO implements Serializable { */ private String userId; + /** + * 数据来源(dev:开发 test:体验 prod:生产) + */ + private String source; + } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java index 5c28f75d2c..a0270dbe4b 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/PaUserController.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.PaUserDTO; +import com.epmet.dto.form.CheckPaUserFormDTO; import com.epmet.dto.form.WxCodeToTokenFormDTO; import com.epmet.dto.result.CustomerUserResultDTO; import com.epmet.dto.result.SaveUserResultDTO; @@ -106,14 +107,14 @@ public class PaUserController { } /** - * @param phone + * @param formDTO * @return * @Author sun * @Description 根据手机号查询公众号用户基本信息,校验用户是否存在 **/ @PostMapping(value = "/checkpauser/{phone}") - public Result checkPaUser(@PathVariable("phone") String phone) { - return new Result().ok(paUserService.checkPaUser(phone)); + public Result checkPaUser(@RequestBody CheckPaUserFormDTO formDTO) { + return new Result().ok(paUserService.checkPaUser(formDTO)); } } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserDao.java index 2cdd7a9bb4..5595a3d61f 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaUserDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.PaUserDTO; +import com.epmet.dto.form.CheckPaUserFormDTO; import com.epmet.entity.PaUserEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -35,12 +36,12 @@ import java.util.List; public interface PaUserDao extends BaseDao { /** - * @param phone + * @param phone source * @return * @Author sun - * @Description 根据手机号查询公众号用户基本信息,校验用户是否存在 + * @Description 根据数据来源和手机号查询公众号用户基本信息,校验用户是否存在 **/ - List selectUserByPhone(@Param("phone") String phone); + List selectUserByPhone(@Param("phone") String phone, @Param("source") String source); /** * @param customerId @@ -49,4 +50,12 @@ public interface PaUserDao extends BaseDao { * @Description 根据客户Id级联查询客户管理员注册信息 **/ PaUserDTO selectPaUser(@Param("customerId") String customerId); + + /** + * @param id source + * @return + * @Author sun + * @Description 根据数据来源和手机号查询公众号用户基本信息,校验用户是否存在 + **/ + PaUserDTO selectUser(@Param("id") String id, @Param("source") String source); } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java index 1105fe6301..52bbd09614 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PaUserService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.PaUserDTO; +import com.epmet.dto.form.CheckPaUserFormDTO; import com.epmet.dto.form.WxCodeToTokenFormDTO; import com.epmet.dto.result.CustomerUserResultDTO; import com.epmet.dto.result.SaveUserResultDTO; @@ -105,10 +106,10 @@ public interface PaUserService extends BaseService { SaveUserResultDTO saveUser(WxCodeToTokenFormDTO formDTO); /** - * @param phone + * @param formDTO * @return * @Author sun - * @Description 根据手机号查询公众号用户基本信息,校验用户是否存在 + * @Description 根据数据来源和手机号查询公众号用户基本信息,校验用户是否存在 **/ - CustomerUserResultDTO checkPaUser(String phone); + CustomerUserResultDTO checkPaUser(CheckPaUserFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java index 3c2205f2c4..5404602aed 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaCustomerServiceImpl.java @@ -164,21 +164,21 @@ public class PaCustomerServiceImpl extends BaseServiceImpl userList = paUserDao.selectUserByPhone(formDTO.getPhone()); + //1.根据数据来源和手机号查询到用户信息,判断用户是否存 + List userList = paUserDao.selectUserByPhone(formDTO.getPhone(), formDTO.getSource()); if (null != userList && userList.size() > NumConstant.ZERO) { throw new RenException(EpmetErrorCode.MOBILE_USED.getCode()); } - //2.根据token中的userId查询pa_user表数据,根据手机号是否为空判断后续是新增还是更新user数据 - PaUserEntity paUserEntity = paUserDao.selectById(formDTO.getUserId()); - if (null == paUserEntity) { - logger.error("根据token中userId查询pa_user表信息失败,userId->"+formDTO.getUserId()); + //2.根据数据来源和token中的userId查询pa_user表数据,根据手机号是否为空判断后续是新增还是更新user数据 + PaUserDTO paUserDTO= paUserDao.selectUser(formDTO.getUserId(), formDTO.getSource()); + if (null == paUserDTO) { + logger.error("根据数据来源和token中userId查询pa_user表信息失败,数据来源->" + formDTO.getSource() + ",userId->" + formDTO.getUserId()); throw new RenException(PaConstant.SELECT_USER_EXCEPTION); } //3.手机号不为空说明是同一个微信用户用第二个手机号注册,手机为空说明当前微信用户用第一个手机号注册 - if(StringUtils.isNotBlank(paUserEntity.getPhone())){ + if(StringUtils.isNotBlank(paUserDTO.getPhone())){ //手机号不为空说明是同一个微信用户用第二个手机号注册,新增user和user_wechat表数据 //3-1.user表新增数据 PaUserEntity userEntity = new PaUserEntity(); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java index 093f167936..6bd58a8be9 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserServiceImpl.java @@ -34,6 +34,7 @@ import com.epmet.dto.PaCustomerDTO; import com.epmet.dto.PaUserDTO; import com.epmet.dto.PaUserVisitedDTO; import com.epmet.dto.PaUserWechatDTO; +import com.epmet.dto.form.CheckPaUserFormDTO; import com.epmet.dto.form.SaveUserVisitedFormDTO; import com.epmet.dto.form.WxCodeToTokenFormDTO; import com.epmet.dto.result.CustomerUserResultDTO; @@ -201,16 +202,16 @@ public class PaUserServiceImpl extends BaseServiceImpl } /** - * @param phone + * @param formDTO * @return * @Author sun * @Description 根据手机号查询公众号用户基本信息,校验用户是否存在 **/ @Override - public CustomerUserResultDTO checkPaUser(String phone) { + public CustomerUserResultDTO checkPaUser(CheckPaUserFormDTO formDTO) { CustomerUserResultDTO resultDTO = new CustomerUserResultDTO(); //1.根据手机号查询用户信息 - List userList = baseDao.selectUserByPhone(phone); + List userList = baseDao.selectUserByPhone(formDTO.getPhone(), formDTO.getSource()); if (null == userList || userList.size() < NumConstant.ONE) { resultDTO.setPaUserResult(null); resultDTO.setPaCustomerResult(null); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserVisitedServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserVisitedServiceImpl.java index 2071fde88f..e0c67c9a6b 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserVisitedServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PaUserVisitedServiceImpl.java @@ -135,6 +135,7 @@ public class PaUserVisitedServiceImpl extends BaseServiceImpl + + \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml index 15ed900ef8..2bdeaee6c7 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PaUserVisitedDao.xml @@ -9,7 +9,8 @@ user_id, wx_open_id, open_id, - phone + phone, + source FROM pa_user_visited WHERE From 4beb51018176ff3017cca09146a32c73284e47d1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 30 Jul 2020 15:54:59 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=95=B4?= =?UTF-8?q?=E4=BD=93=E8=B0=83=E6=95=B4-=E6=9C=8D=E5=8A=A1=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-auth/deploy/docker-compose-dev.yml | 2 +- epmet-auth/pom.xml | 2 +- .../epmet-third-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/epmet-third/epmet-third-server/pom.xml | 2 +- .../oper-crm/oper-crm-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/oper-crm/oper-crm-server/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-auth/deploy/docker-compose-dev.yml b/epmet-auth/deploy/docker-compose-dev.yml index 7ee9697721..a0cb5c97e9 100644 --- a/epmet-auth/deploy/docker-compose-dev.yml +++ b/epmet-auth/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-auth-server: container_name: epmet-auth-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.57 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.58 ports: - "8081:8081" network_mode: host # 使用现有网络 diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml index 489c6b5373..9421eca9b1 100644 --- a/epmet-auth/pom.xml +++ b/epmet-auth/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.57 + 0.3.58 com.epmet epmet-cloud diff --git a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml index ae94d96717..8f81520b29 100644 --- a/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-third-server: container_name: epmet-third-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.79 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-third-server:0.0.80 ports: - "8110:8110" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index 42b6661983..c21cbba05b 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.0.79 + 0.0.80 com.epmet diff --git a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml index 19e846598d..98161f536b 100644 --- a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml +++ b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: oper-crm-server: container_name: oper-crm-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/oper-crm-server:0.3.55 + image: 192.168.1.130:10080/epmet-cloud-dev/oper-crm-server:0.3.56 ports: - "8090:8090" network_mode: host # 使用现有网络 diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index 4fb5098016..b3df9a1166 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.55 + 0.3.56 com.epmet oper-crm From acb6143edc648c26a2e435d8320070e5ab924a7c Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 30 Jul 2020 16:02:03 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dao/PaCustomerUserAgencyDao.java | 8 ++++++++ .../impl/ComponentVerifyTicketServiceImpl.java | 2 +- .../resources/mapper/PaCustomerUserAgencyDao.xml | 15 +++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerUserAgencyDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerUserAgencyDao.java index cb819bdee8..2083f9c1e9 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerUserAgencyDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PaCustomerUserAgencyDao.java @@ -39,4 +39,12 @@ public interface PaCustomerUserAgencyDao extends BaseDao + + \ No newline at end of file From 34fd7a3642b656f4e8553118bcfe66e9e0e047aa Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 30 Jul 2020 16:04:56 +0800 Subject: [PATCH 09/11] =?UTF-8?q?historicalact=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/work/UserHistoricalActFormDTO.java | 4 ++++ .../src/main/java/com/epmet/dao/ActUserRelationDao.java | 2 +- .../com/epmet/service/impl/WorkActUserServiceImpl.java | 8 +++----- .../src/main/resources/mapper/ActUserRelationDao.xml | 5 +++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/UserHistoricalActFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/UserHistoricalActFormDTO.java index 26e2944e35..951b7ce3a6 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/UserHistoricalActFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/UserHistoricalActFormDTO.java @@ -19,4 +19,8 @@ public class UserHistoricalActFormDTO implements Serializable { */ @NotBlank(message = "居民端用户id不能为空", groups = {AddUserInternalGroup.class}) private String userId; + + @NotBlank(message = "当前活动id不能为空", groups = {AddUserInternalGroup.class}) + private String currentActId; + } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java index 46affbe03e..b60d5f9b4a 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java @@ -119,7 +119,7 @@ public interface ActUserRelationDao extends BaseDao { * @description 根据userId,查询参与活动记录 * @Date 2020/7/23 16:46 **/ - List selectAllByUserId(String userId); + List selectAllByUserId(@Param("userId") String userId,@Param("currentActId") String currentActId); /** * @return java.util.List diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java index 4efe296e17..aea287bb50 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java @@ -356,13 +356,11 @@ public class WorkActUserServiceImpl implements WorkActUserService { //参与活动统计值 HistoricalActInfo historicalActInfo=getHistoricalActInfo(formDTO.getUserId()); resultDTO.setSignInActNum(historicalActInfo.getSignInActNum()); - resultDTO.setSignUpActNum(historicalActInfo.getSignUpActNum()); + //减去当前的 + resultDTO.setSignUpActNum(historicalActInfo.getSignUpActNum()-1); resultDTO.setObtainPointsActNum(historicalActInfo.getObtainPointsActNum()); //历史活动列表 - List actInfoList=actUserRelationDao.selectAllByUserId(formDTO.getUserId()); - for(UserHistoricalActInfoDTO userHistoricalActInfoDTO:actInfoList){ - - } + List actInfoList=actUserRelationDao.selectAllByUserId(formDTO.getUserId(),formDTO.getCurrentActId()); resultDTO.setActInfoList(actInfoList); return resultDTO; } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml index 343f3babd3..6d53c1f139 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml @@ -137,8 +137,8 @@ - + SELECT acr.ACT_ID AS actId, ACR.USER_ID AS userId, ai.TITLE AS title, @@ -169,6 +169,7 @@ WHERE acr.DEL_FLAG = '0' AND acr.USER_ID =#{userId} + and acr.act_id !=#{currentActId} ORDER BY acr.CREATED_TIME DESC From 73fdfc916b5b20b88c22a639755ce710b6170936 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 30 Jul 2020 16:06:04 +0800 Subject: [PATCH 10/11] heart+1 --- .../epmet-heart-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/epmet-heart/epmet-heart-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml index 730ba2347b..338276660c 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-heart-server: container_name: epmet-heart-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:0.0.14 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:0.0.15 ports: - "8111:8111" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-heart/epmet-heart-server/pom.xml b/epmet-module/epmet-heart/epmet-heart-server/pom.xml index a481eb29b8..72d7c54d09 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/pom.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.0.14 + 0.0.15 com.epmet epmet-heart From 5023aeab4932b7d39af3db62b6d2e111e95ec41f Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 30 Jul 2020 16:21:36 +0800 Subject: [PATCH 11/11] heart+1 --- .../epmet-heart-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/epmet-heart/epmet-heart-server/pom.xml | 2 +- .../java/com/epmet/service/impl/WorkActUserServiceImpl.java | 2 +- .../src/main/resources/mapper/ActUserRelationDao.xml | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml index 338276660c..d746c51e89 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-heart-server: container_name: epmet-heart-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:0.0.15 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-heart-server:0.0.16 ports: - "8111:8111" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-heart/epmet-heart-server/pom.xml b/epmet-module/epmet-heart/epmet-heart-server/pom.xml index 72d7c54d09..0b946b3626 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/pom.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.0.15 + 0.0.16 com.epmet epmet-heart diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java index aea287bb50..8ac5edd27a 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActUserServiceImpl.java @@ -357,7 +357,7 @@ public class WorkActUserServiceImpl implements WorkActUserService { HistoricalActInfo historicalActInfo=getHistoricalActInfo(formDTO.getUserId()); resultDTO.setSignInActNum(historicalActInfo.getSignInActNum()); //减去当前的 - resultDTO.setSignUpActNum(historicalActInfo.getSignUpActNum()-1); + resultDTO.setSignUpActNum(historicalActInfo.getSignUpActNum()); resultDTO.setObtainPointsActNum(historicalActInfo.getObtainPointsActNum()); //历史活动列表 List actInfoList=actUserRelationDao.selectAllByUserId(formDTO.getUserId(),formDTO.getCurrentActId()); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml index 6d53c1f139..7f1b94d77c 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml @@ -121,6 +121,7 @@ act_user_relation acu WHERE DEL_FLAG = '0' + and acu.STATUS !='auditing' AND acu.USER_ID = #{userId}