Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
pserimal
2023-06-30 17:23:10 +08:00
20 changed files with 305 additions and 38 deletions

View File

@@ -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
*/
String handleHyPhoneAddress(String phoneNumber);
}

View File

@@ -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);

View File

@@ -199,6 +199,8 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
List<EnterpriseUserRoleDO> enterpriseUserRole = EnterpriseUserRoleDO.convertSyncDO(role.getRoleId(), new ArrayList<>(Arrays.asList(userDetail.getUserId())));
enterpriseUserRoleDAO.batchInsertOrUpdate(enterpriseUserRole);
enterpriseUserRoleDAO.deleteUserInRole(userDetail.getUserId(), DataSourceEnum.SYNC, role.getRoleId());
}else{
enterpriseUserRoleDAO.deleteUserRole(userDetail.getUserId());
}
EnterpriseUserDO enterpriseUser = EnterpriseUserDTO.transUserDtoToDo(userDetail, regionPathMap, leaderDeptMap);
enterpriseUserDAO.batchInsertOrUpdate(new ArrayList<>(Arrays.asList(enterpriseUser)));

View File

@@ -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

View File

@@ -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,9 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
partnerIntentApplyInfo.setList(resultList);
return partnerIntentApplyInfo;
}
@Override
public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) {
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
@@ -101,10 +103,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 +233,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 +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());
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(x.getMobile());
publicSeaLineListVo.setPhoneAddress(phoneNumberAttribute.getCity());
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());
@@ -709,6 +707,12 @@ 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;
}
@@ -733,6 +737,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage());
partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus());
partnerLineInfoAndBaseInfoVO.setPassCause(partnerLineInfoAndBaseInfoDTO.getPassCause());
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

@@ -0,0 +1,59 @@
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;
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;
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;
@Resource
RedisUtilPool redisUtilPool;
@Resource
RedisConstantUtil redisConstantUtil;
@Override
public String handleHyPhoneAddress(String phoneNumber) {
if (StringUtils.isEmpty(phoneNumber)){
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){
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);
//redis一周时间
redisUtilPool.setString(redisConstantUtil.getPhoneNumber(phoneNumber),JSONObject.toJSONString(phoneNumberAttribute),7*24*60*60);
return hy.getPhoneAddress();
}
return hyPhoneLocationDO.getPhoneAddress();
}
}

View File

@@ -58,10 +58,6 @@ public class LoginServiceImpl implements LoginService {
throw new ServiceException(ErrorCodeEnum.NOT_AUTH);
}
SysRoleDO sysRole = sysRoleDAO.getHighestPriorityRoleByUserId(userId);
if(Objects.isNull(sysRole)){
log.info("当前用户没角色:{}", userId);
throw new ServiceException(ErrorCodeEnum.NOT_AUTH);
}
if(UserStatusEnum.FREEZE.getCode().equals(enterpriseUser.getUserStatus())){
throw new ServiceException(ErrorCodeEnum.USER_FREEZE);
}

View File

@@ -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) {

View File

@@ -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;