diff --git a/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java b/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java index f0b497faa9..b55ec45b9f 100644 --- a/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java +++ b/epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java @@ -3,10 +3,7 @@ package com.epmet.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; -import com.epmet.dto.result.ResiDingAppLoginResDTO; -import com.epmet.dto.result.ResiRegisterLantuResultDTO; -import com.epmet.dto.result.StaffOrgsResultDTO; -import com.epmet.dto.result.UserTokenResultDTO; +import com.epmet.dto.result.*; import com.epmet.service.ThirdLoginService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -215,9 +212,9 @@ public class ThirdLoginController { * @Date: 2023/8/15 09:23 */ @PostMapping("resilogin-hfive") - public Result resiLoginHfive(@RequestBody HfiveLoginMdFormDTO formDTO) { + public Result resiLoginHfive(@RequestBody HfiveLoginMdFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - return new Result().ok(thirdLoginService.resiLoginHfive(formDTO)); + return new Result().ok(thirdLoginService.resiLoginHfive(formDTO)); } /** diff --git a/epmet-auth/src/main/java/com/epmet/dto/form/HfiveLoginMdFormDTO.java b/epmet-auth/src/main/java/com/epmet/dto/form/HfiveLoginMdFormDTO.java index 9238314377..55e648a1c9 100644 --- a/epmet-auth/src/main/java/com/epmet/dto/form/HfiveLoginMdFormDTO.java +++ b/epmet-auth/src/main/java/com/epmet/dto/form/HfiveLoginMdFormDTO.java @@ -12,8 +12,9 @@ import javax.validation.constraints.NotBlank; @Data public class HfiveLoginMdFormDTO { + @NotBlank(message = "userBaseInfoId不能为空") + private String userBaseInfoId; - @NotBlank(message = "phone不能为空") private String phone; diff --git a/epmet-auth/src/main/java/com/epmet/dto/result/ResiHfiveAppLoginResDTO.java b/epmet-auth/src/main/java/com/epmet/dto/result/ResiHfiveAppLoginResDTO.java new file mode 100644 index 0000000000..972f3efd55 --- /dev/null +++ b/epmet-auth/src/main/java/com/epmet/dto/result/ResiHfiveAppLoginResDTO.java @@ -0,0 +1,14 @@ +package com.epmet.dto.result; + +import lombok.Data; + +/** + * @Description: h5 token获取 + * @Author: lichao + * @Date: 2023/8/17 15:01 + */ +@Data +public class ResiHfiveAppLoginResDTO { + private String authorization; +} + diff --git a/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java b/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java index bf7838f699..c52d783561 100644 --- a/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java +++ b/epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java @@ -1,10 +1,7 @@ package com.epmet.service; import com.epmet.dto.form.*; -import com.epmet.dto.result.ResiDingAppLoginResDTO; -import com.epmet.dto.result.ResiRegisterLantuResultDTO; -import com.epmet.dto.result.StaffOrgsResultDTO; -import com.epmet.dto.result.UserTokenResultDTO; +import com.epmet.dto.result.*; import java.util.List; @@ -117,7 +114,7 @@ public interface ThirdLoginService { * @param formDTO * @return */ - ResiDingAppLoginResDTO resiLoginHfive(HfiveLoginMdFormDTO formDTO); + ResiHfiveAppLoginResDTO resiLoginHfive(HfiveLoginMdFormDTO formDTO); /** * 蓝图 居民端 注册 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 3be7a46f94..9d8715f7bd 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 @@ -1110,36 +1110,27 @@ public class ThirdLoginServiceImpl implements ThirdLoginService, ResultDataResol * @return */ @Override - public ResiDingAppLoginResDTO resiLoginHfive(HfiveLoginMdFormDTO formDTO) { + public ResiHfiveAppLoginResDTO resiLoginHfive(HfiveLoginMdFormDTO formDTO) { // 获取用户手机号 - log.info("1、钉钉居民端应用登录入参:" + JSON.toJSONString(formDTO)); - ResiDingAppLoginResDTO resDTO = new ResiDingAppLoginResDTO(); - resDTO.setCustomerId(getCurrentCustomerId()); + ResiHfiveAppLoginResDTO resDTO = new ResiHfiveAppLoginResDTO(); // 1、获取用户手机号 // DingLoginResiFormDTO dingLoginResiFormDTO = getDingLoginResiFormDTOInternal(formDTO.getMiniAppId(), formDTO.getAuthCode()); HfiveLoginResiFormDTO hfiveLoginResiFormDTO = new HfiveLoginResiFormDTO(); - // todo 目前只有手机号以及customerId - hfiveLoginResiFormDTO.setCustomerId(resDTO.getCustomerId()); - hfiveLoginResiFormDTO.setMobile(formDTO.getPhone()); - // todo 暂时无信息获取 编写h5 - resDTO.setRealName("h5"); + + hfiveLoginResiFormDTO.setUserBaseInfoId(formDTO.getUserBaseInfoId()); + // 2、调用userfeign接口获取userId、注册网格相关信息 Result loginResiResDTOResult = epmetUserOpenFeignClient.hFiveResiLogin(hfiveLoginResiFormDTO); if (!loginResiResDTOResult.success() || null == loginResiResDTOResult.getData()) { // 临时打个日志 log.error(String.format("resiLoginHfive获取epmetUserId异常,入参:%s", JSON.toJSONString(hfiveLoginResiFormDTO))); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取epmetUserId异常:"+ JSON.toJSONString(loginResiResDTOResult), "获取epmetUserId异常"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "提供的居民id获取居民信息失败:"+ formDTO.getUserBaseInfoId(), "获取token失败"); } DingLoginResiResDTO resiResDTO = loginResiResDTOResult.getData(); - resDTO.setGridId(resiResDTO.getGridId()); - resDTO.setGridName(resiResDTO.getGridName()); - resDTO.setAgencyId(resiResDTO.getAgencyId()); - resDTO.setEpmetUserId(resiResDTO.getEpmetUserId()); - resDTO.setRegFlag(resiResDTO.getRegFlag()); // 3.生成token,并且存放Redis - String token = this.saveTokenDtoHfive(AppClientConstant.APP_RESI, AppClientConstant.H_FIVE, resDTO.getEpmetUserId(), resDTO.getCustomerId()); + String token = this.saveTokenDtoHfive(AppClientConstant.APP_RESI, AppClientConstant.LAN_TU, resiResDTO.getEpmetUserId(), getCurrentCustomerId()); resDTO.setAuthorization(token); return resDTO; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/HfiveLoginResiFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/HfiveLoginResiFormDTO.java index 194a8c50a9..9ae6e2af9a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/HfiveLoginResiFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/HfiveLoginResiFormDTO.java @@ -12,13 +12,8 @@ import javax.validation.constraints.NotBlank; */ @Data public class HfiveLoginResiFormDTO { - public interface AddUserInternalGroup { - } - public interface AddUserShowGroup extends CustomerClientShowGroup { - } - @NotBlank(message = "customerId不能为空", groups = AddUserShowGroup.class) private String customerId; // 以下参数是微信返回的 @@ -34,8 +29,9 @@ public class HfiveLoginResiFormDTO { * 用户的手机号。 * 说明 如果要获取用户手机号,需要在开发者后台申请个人手机号信息权限,如下图。 */ - @NotBlank(message = "手机号不能为空", groups = AddUserShowGroup.class) public String mobile; + + public String userBaseInfoId; /** * 用户的钉钉昵称。 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 6c884e48bd..2b61ff57f5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -639,81 +639,12 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl registerWrapper = new LambdaQueryWrapper<>(); - registerWrapper.eq(RegisterRelationEntity::getCustomerId, formDTO.getCustomerId()); - registerWrapper.eq(RegisterRelationEntity::getUserId, baseInfo.getUserId()); - registerWrapper.eq(RegisterRelationEntity::getFirstRegister, NumConstant.ONE_STR); - RegisterRelationEntity registerRelation = registerRelationDao.selectOne(registerWrapper); - if (null != registerRelation) { - result.setAgencyId(registerRelation.getAgencyId()); - result.setGridId(registerRelation.getGridId()); - GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(registerRelation.getGridId()); - if (null == gridInfo) { - logger.error(String.format("获取用户注册网格信息为空,userId:%s,gridId:%s", baseInfo.getUserId(), registerRelation.getGridId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取网格信息为空", "获取小程序注册网格信息失败"); - } - result.setGridName(gridInfo.getGridNamePath()); - result.setRegFlag(true); - } - } - } finally { - distributedLock.unLock(lock); + // 用id获取userbaseInfo信息 + UserBaseInfoEntity baseInfo = baseDao.selectById(formDTO.getUserBaseInfoId()); + if (null == baseInfo) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民信息失败", "获取居民信息失败"); + }else { + result.setEpmetUserId(baseInfo.getUserId()); } return result; }