手机归属地
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/30 15:02
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface HyPhoneLocationService {
|
||||
|
||||
|
||||
/**
|
||||
* 处理手机号归属地
|
||||
* @param phoneNumber
|
||||
* @return
|
||||
*/
|
||||
void handleHyPhoneAddress(String phoneNumber);
|
||||
|
||||
}
|
||||
@@ -42,18 +42,9 @@ import java.util.Random;
|
||||
@Service
|
||||
public class AliyunServiceImpl implements AliyunService {
|
||||
|
||||
@Resource
|
||||
RedisUtilPool redisUtilPool;
|
||||
@Resource
|
||||
RedisConstantUtil redisConstantUtil;
|
||||
|
||||
@Override
|
||||
public DescribePhoneNumberDTO getPhoneNumberAttribute(String phoneNumber) {
|
||||
try {
|
||||
String phone = redisUtilPool.getString(redisConstantUtil.getPhoneNumber(phoneNumber));
|
||||
if (StringUtils.isNotEmpty(phone)){
|
||||
return JSONObject.parseObject(phone, DescribePhoneNumberDTO.class);
|
||||
}
|
||||
Config config = new Config();
|
||||
//todo zcb ak sk替换
|
||||
config.accessKeyId = "LTAI5t9RaXvABZbHvoXjDFJ1";
|
||||
@@ -69,8 +60,6 @@ public class AliyunServiceImpl implements AliyunService {
|
||||
log.error("错误信息:" , response.body.message + "");
|
||||
throw new ServiceException(ErrorCodeEnum.GET_PHONENUMBER_INFO_ERROR);
|
||||
}
|
||||
//保存到redis
|
||||
redisUtilPool.setString(redisConstantUtil.getPhoneNumber(phoneNumber),JSONObject.toJSONString(response.body.data));
|
||||
return JSONObject.parseObject(JSONObject.toJSONString(response.body.data), DescribePhoneNumberDTO.class);
|
||||
} catch (Exception e) {
|
||||
log.error("获取手机号异常:", e);
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.cool.store.request.AddTagsRequest;
|
||||
import com.cool.store.request.PartnerBaseInfoRequest;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.HyPhoneLocationService;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.vo.PartnerBaseInfoVO;
|
||||
import com.cool.store.vo.PartnerUserInfoVO;
|
||||
@@ -59,6 +60,8 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||
|
||||
@Resource
|
||||
HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -80,6 +83,8 @@ 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()){
|
||||
// 自动保存时
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.request.PartnerWantShopInfoRequest;
|
||||
import com.cool.store.service.HyPartnerIntentInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.HyPhoneLocationService;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
@@ -66,6 +67,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@Resource
|
||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@Override
|
||||
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
|
||||
@@ -92,9 +95,11 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
partnerIntentApplyInfo.setList(resultList);
|
||||
return partnerIntentApplyInfo;
|
||||
}
|
||||
|
||||
@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);
|
||||
|
||||
@@ -101,10 +101,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
partnerLineInfoAndBaseInfoVO.setPassUserName(userInfo.getName());
|
||||
partnerLineInfoAndBaseInfoVO.setPassUserMobile(userInfo.getMobile());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoVO.getPartnerUserPhone())){
|
||||
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(partnerLineInfoAndBaseInfoVO.getPartnerUserPhone());
|
||||
partnerLineInfoAndBaseInfoVO.setPhoneAddress(phoneNumberAttribute!=null? phoneNumberAttribute.getProvince() + " " + phoneNumberAttribute.getCity():"");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getWantShopArea())){
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerLineInfoAndBaseInfoDTO.getWantShopArea()));
|
||||
partnerLineInfoAndBaseInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/"," "));
|
||||
@@ -235,9 +231,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
BlackListVO blackListVO = convertPartnerBlackListDTOToVo(x);
|
||||
blackListVO.setCloseUserPhone(userPhoneMap.get(x.getCloseUserId()));
|
||||
blackListVO.setCloseUserName(userPhoneMap.get(x.getCloseUserId()));
|
||||
if (StringUtils.isNotEmpty(x.getMobile())){
|
||||
blackListVO.setPhoneAddress(aliyunService.getPhoneNumberAttribute(x.getMobile()).getCity());
|
||||
}
|
||||
result.add(blackListVO);
|
||||
});
|
||||
blackListDTOPageInfo.setList(result);
|
||||
@@ -452,8 +445,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
|
||||
publicSeaLineListVo.setPartnerUserName(x.getUserName());
|
||||
publicSeaLineListVo.setPartnerUserPhone(x.getMobile());
|
||||
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(x.getMobile());
|
||||
publicSeaLineListVo.setPhoneAddress(phoneNumberAttribute.getCity());
|
||||
publicSeaLineListVo.setPhoneAddress(x.getPhoneAddress());
|
||||
publicSeaLineListVo.setWantShopArea(x.getWantShopArea());
|
||||
publicSeaLineListVo.setUpdateTime(DateUtil.format(x.getUpdateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
|
||||
publicSeaLineListVo.setId(x.getLineId());
|
||||
@@ -709,6 +701,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
blackListVO.setCloseTime(closeTime);
|
||||
blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason());
|
||||
blackListVO.setCloseUserId(partnerBlackListDTO.getCloseUserId());
|
||||
blackListVO.setPhoneAddress(partnerBlackListDTO.getPhoneAddress());
|
||||
blackListVO.setCloseUserPhone(partnerBlackListDTO.getCloseUserId());
|
||||
return blackListVO;
|
||||
}
|
||||
@@ -733,6 +726,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage());
|
||||
partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus());
|
||||
partnerLineInfoAndBaseInfoVO.setPassCause(partnerLineInfoAndBaseInfoDTO.getPassCause());
|
||||
partnerLineInfoAndBaseInfoVO.setPhoneAddress(partnerLineInfoAndBaseInfoVO.getPhoneAddress());
|
||||
partnerLineInfoAndBaseInfoVO.setLineStatus(partnerLineInfoAndBaseInfoDTO.getLineStatus());
|
||||
partnerLineInfoAndBaseInfoVO.setInvestmentManagerPhone(partnerLineInfoAndBaseInfoDTO.getInvestmentManagerPhone());
|
||||
partnerLineInfoAndBaseInfoVO.setPartnerUserPhone(partnerLineInfoAndBaseInfoDTO.getPartnerUserPhone());
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.dao.HyPhoneLocationDAO;
|
||||
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
|
||||
import com.cool.store.dto.wx.PhoneInfoDTO;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/30 15:04
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class HyPhoneLocationServiceImpl implements HyPhoneLocationService {
|
||||
@Resource
|
||||
HyPhoneLocationDAO hyPhoneLocationDAO;
|
||||
@Resource
|
||||
AliyunService aliyunService;
|
||||
|
||||
@Override
|
||||
public void handleHyPhoneAddress(String phoneNumber) {
|
||||
long start = System.currentTimeMillis();
|
||||
if (StringUtils.isEmpty(phoneNumber)){
|
||||
return;
|
||||
}
|
||||
HyPhoneLocationDO hyPhoneLocationDO = hyPhoneLocationDAO.selectByPhoneNumber(phoneNumber);
|
||||
if (hyPhoneLocationDO==null){
|
||||
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(phoneNumber);
|
||||
HyPhoneLocationDO hy = new HyPhoneLocationDO();
|
||||
hy.setPhoneNumber(phoneNumber);
|
||||
hy.setPhoneAddress(String.format("%s %s", phoneNumberAttribute.getProvince(), phoneNumberAttribute.getCity()));
|
||||
hyPhoneLocationDAO.insertSelective(hy);
|
||||
}
|
||||
log.info("秒:{}",(System.currentTimeMillis()-start)/1000);
|
||||
}
|
||||
}
|
||||
@@ -15,10 +15,7 @@ import com.cool.store.enums.OperateTypeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.request.PartnerUserInfoRequest;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.LogService;
|
||||
import com.cool.store.service.PartnerUserInfoService;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.vo.ApplyBaseInfoVO;
|
||||
@@ -55,6 +52,8 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
private RedisUtilPool redisUtilPool;
|
||||
@Autowired
|
||||
private LogService logService;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@Override
|
||||
public HyPartnerUserInfoDO selectByPartnerId(String partnerId) {
|
||||
@@ -101,6 +100,8 @@ 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());
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.cool.store.enums.UserPlatformTypeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.http.WechatRest;
|
||||
import com.cool.store.request.MobileUpdateRequest;
|
||||
import com.cool.store.service.HyPhoneLocationService;
|
||||
import com.cool.store.service.WechatMiniAppService;
|
||||
import com.cool.store.utils.AesUtil;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
@@ -55,6 +56,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@Resource
|
||||
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@Value("${weixin.appId}")
|
||||
private String wxAppId;
|
||||
@@ -134,6 +137,8 @@ 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;
|
||||
@@ -152,6 +157,8 @@ 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user