手机归属地

This commit is contained in:
苏竹红
2023-06-30 16:57:14 +08:00
parent 50cad2e64e
commit 3281decdcd
7 changed files with 35 additions and 17 deletions

View File

@@ -13,6 +13,6 @@ public interface HyPhoneLocationService {
* @param phoneNumber
* @return
*/
void handleHyPhoneAddress(String phoneNumber);
String handleHyPhoneAddress(String phoneNumber);
}

View File

@@ -83,8 +83,6 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request, PartnerUserInfoVO currentUser) {
log.info("HyPartnerBaseInfoServiceImpl#submitPartnerBaseInfo request:{}", JSONObject.toJSONString(request));
//处理手机号
hyPhoneLocationService.handleHyPhoneAddress(request.getMobile());
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId());
if(!request.getSubmitFlag()){
// 自动保存时

View File

@@ -98,8 +98,6 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
@Override
public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) {
//处理手机号
hyPhoneLocationService.handleHyPhoneAddress(baseUserInfoRequest.getMobile());
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId()));
if (hyPartnerUserInfoDO==null){
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);

View File

@@ -75,6 +75,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
WorkFlowService workFlowService;
@Resource
HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO;
@Resource
HyPhoneLocationService hyPhoneLocationService;
@Override
@@ -445,7 +447,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
publicSeaLineListVo.setPartnerUserName(x.getUserName());
publicSeaLineListVo.setPartnerUserPhone(x.getMobile());
publicSeaLineListVo.setPhoneAddress(x.getPhoneAddress());
String phoneAddress = x.getPhoneAddress();
if (StringUtils.isEmpty(phoneAddress)){
phoneAddress = hyPhoneLocationService.handleHyPhoneAddress(x.getMobile());
}
publicSeaLineListVo.setPhoneAddress(phoneAddress);
publicSeaLineListVo.setWantShopArea(x.getWantShopArea());
publicSeaLineListVo.setUpdateTime(DateUtil.format(x.getUpdateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
publicSeaLineListVo.setId(x.getLineId());
@@ -701,6 +707,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
blackListVO.setCloseTime(closeTime);
blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason());
blackListVO.setCloseUserId(partnerBlackListDTO.getCloseUserId());
String phoneAddress = partnerBlackListDTO.getPhoneAddress();
if (StringUtils.isEmpty(phoneAddress)){
phoneAddress = hyPhoneLocationService.handleHyPhoneAddress(partnerBlackListDTO.getMobile());
}
blackListVO.setPhoneAddress(phoneAddress);
blackListVO.setPhoneAddress(partnerBlackListDTO.getPhoneAddress());
blackListVO.setCloseUserPhone(partnerBlackListDTO.getCloseUserId());
return blackListVO;
@@ -726,7 +737,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage());
partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus());
partnerLineInfoAndBaseInfoVO.setPassCause(partnerLineInfoAndBaseInfoDTO.getPassCause());
partnerLineInfoAndBaseInfoVO.setPhoneAddress(partnerLineInfoAndBaseInfoVO.getPhoneAddress());
String phoneAddress = partnerLineInfoAndBaseInfoDTO.getPhoneAddress();
if (StringUtils.isEmpty(phoneAddress)){
phoneAddress = hyPhoneLocationService.handleHyPhoneAddress(partnerLineInfoAndBaseInfoDTO.getPartnerUserPhone());
}
partnerLineInfoAndBaseInfoVO.setPhoneAddress(phoneAddress);
partnerLineInfoAndBaseInfoVO.setLineStatus(partnerLineInfoAndBaseInfoDTO.getLineStatus());
partnerLineInfoAndBaseInfoVO.setInvestmentManagerPhone(partnerLineInfoAndBaseInfoDTO.getInvestmentManagerPhone());
partnerLineInfoAndBaseInfoVO.setPartnerUserPhone(partnerLineInfoAndBaseInfoDTO.getPartnerUserPhone());

View File

@@ -1,5 +1,6 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.HyPhoneLocationDAO;
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
import com.cool.store.dto.wx.PhoneInfoDTO;
@@ -7,6 +8,8 @@ import com.cool.store.entity.HyPhoneLocationDO;
import com.cool.store.mapper.HyPhoneLocationMapper;
import com.cool.store.service.AliyunService;
import com.cool.store.service.HyPhoneLocationService;
import com.cool.store.utils.RedisConstantUtil;
import com.cool.store.utils.RedisUtilPool;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -25,12 +28,20 @@ public class HyPhoneLocationServiceImpl implements HyPhoneLocationService {
HyPhoneLocationDAO hyPhoneLocationDAO;
@Resource
AliyunService aliyunService;
@Resource
RedisUtilPool redisUtilPool;
@Resource
RedisConstantUtil redisConstantUtil;
@Override
public void handleHyPhoneAddress(String phoneNumber) {
long start = System.currentTimeMillis();
public String handleHyPhoneAddress(String phoneNumber) {
if (StringUtils.isEmpty(phoneNumber)){
return;
return "";
}
String phone = redisUtilPool.getString(redisConstantUtil.getPhoneNumber(phoneNumber));
if (StringUtils.isNotEmpty(phone)){
DescribePhoneNumberDTO describePhoneNumberDTO = JSONObject.parseObject(phone, DescribePhoneNumberDTO.class);
return String.format("%s %s", describePhoneNumberDTO.getProvince(), describePhoneNumberDTO.getCity());
}
HyPhoneLocationDO hyPhoneLocationDO = hyPhoneLocationDAO.selectByPhoneNumber(phoneNumber);
if (hyPhoneLocationDO==null){
@@ -39,7 +50,9 @@ public class HyPhoneLocationServiceImpl implements HyPhoneLocationService {
hy.setPhoneNumber(phoneNumber);
hy.setPhoneAddress(String.format("%s %s", phoneNumberAttribute.getProvince(), phoneNumberAttribute.getCity()));
hyPhoneLocationDAO.insertSelective(hy);
redisUtilPool.setString(redisConstantUtil.getPhoneNumber(phoneNumber),JSONObject.toJSONString(phoneNumberAttribute),24*60*60);
return hy.getPhoneAddress();
}
log.info("秒:{}",(System.currentTimeMillis()-start)/1000);
return hyPhoneLocationDO.getPhoneAddress();
}
}

View File

@@ -100,8 +100,6 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
if (hyPartnerUserInfoDO == null){
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
}
//处理手机号
hyPhoneLocationService.handleHyPhoneAddress(partnerUserInfoRequest.getMobile());
UserInfoUpdateDTO.UserInfoUpdate beforeUserinfoUpdate = new UserInfoUpdateDTO.UserInfoUpdate(hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile(), hyPartnerUserInfoDO.getLiveArea(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType());
UserInfoUpdateDTO.UserInfoUpdate afterUserinfoUpdate = new UserInfoUpdateDTO.UserInfoUpdate(partnerUserInfoRequest.getUsername(), partnerUserInfoRequest.getMobile(), partnerUserInfoRequest.getLiveArea(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType());

View File

@@ -137,8 +137,6 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
// 获取手机号码
PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(mobileCode, accessToken);
if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){
//处理手机号归属地
hyPhoneLocationService.handleHyPhoneAddress(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
return phoneInfoDTO.getPhoneInfo().getPhoneNumber();
}
return null;
@@ -157,8 +155,6 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(request.getMobileCode(), accessToken);
if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){
newMobile = phoneInfoDTO.getPhoneInfo().getPhoneNumber();
//处理手机号归属地
hyPhoneLocationService.handleHyPhoneAddress(newMobile);
if(newMobile.equals(oldUserInfo.getMobile())){
return newMobile;
}