公会-h5邀请-注册填资料中的国家选项跟随邀请人
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
package com.accompany.business.service.guild;
|
||||
|
||||
import com.accompany.business.model.guild.GuildH5InviteRecord;
|
||||
import com.accompany.business.mybatismapper.guild.GuildH5InviteRecordMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class GuildH5InviteRecordService extends ServiceImpl<GuildH5InviteRecordMapper, GuildH5InviteRecord> {
|
||||
|
||||
public GuildH5InviteRecord getByEmail(String email) {
|
||||
return lambdaQuery().eq(GuildH5InviteRecord::getEmail, email).one();
|
||||
}
|
||||
|
||||
}
|
@@ -5,14 +5,12 @@ import com.accompany.business.model.guild.BdInfo;
|
||||
import com.accompany.business.model.guild.GuildApply;
|
||||
import com.accompany.business.model.guild.GuildH5InviteRecord;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.mybatismapper.guild.GuildH5InviteRecordMapper;
|
||||
import com.accompany.business.param.GuildH5ApplyParam;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -30,7 +28,7 @@ import java.util.Date;
|
||||
public class GuildH5InviteService {
|
||||
|
||||
@Autowired
|
||||
private GuildH5InviteRecordMapper recordMapper;
|
||||
private GuildH5InviteRecordService recordService;
|
||||
@Autowired
|
||||
private GuildService guildService;
|
||||
@Autowired
|
||||
@@ -70,8 +68,7 @@ public class GuildH5InviteService {
|
||||
throw new ServiceException(BusiStatus.PARAMETERILLEGAL);
|
||||
}
|
||||
|
||||
GuildH5InviteRecord record = recordMapper.selectOne(Wrappers.<GuildH5InviteRecord>lambdaQuery()
|
||||
.eq(GuildH5InviteRecord::getEmail, emailAddress));
|
||||
GuildH5InviteRecord record = recordService.getByEmail(emailAddress);
|
||||
if (null != record){
|
||||
throw new ServiceException(BusiStatus.SERVERERROR);
|
||||
}
|
||||
@@ -103,7 +100,7 @@ public class GuildH5InviteService {
|
||||
record.setInviterUid(inviterUid);
|
||||
record.setPartitionId(guildMember.getPartitionId());
|
||||
record.setCreateTime(new Date());
|
||||
recordMapper.insert(record);
|
||||
recordService.save(record);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,7 +133,7 @@ public class GuildH5InviteService {
|
||||
record.setIdCard(guildApplyParam.getIdCard());
|
||||
record.setInviteErbanNo(guildApplyParam.getInviteErbanNo());
|
||||
record.setInviteCheck(guildApplyParam.getInviteCheck());
|
||||
recordMapper.insert(record);
|
||||
recordService.save(record);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -11,6 +11,7 @@ import com.accompany.business.model.HallMember;
|
||||
import com.accompany.business.model.PrivatePhoto;
|
||||
import com.accompany.business.model.UserFrozenRecord;
|
||||
import com.accompany.business.model.UserRoomCard;
|
||||
import com.accompany.business.model.guild.GuildH5InviteRecord;
|
||||
import com.accompany.business.mybatismapper.UserFrozenRecordMapper;
|
||||
import com.accompany.business.mybatismapper.UsersMapperExpend;
|
||||
import com.accompany.business.param.UserParam;
|
||||
@@ -19,6 +20,7 @@ import com.accompany.business.service.UploadAvatarService;
|
||||
import com.accompany.business.service.UserRoomCardService;
|
||||
import com.accompany.business.service.car.CarportService;
|
||||
import com.accompany.business.service.dfa.DfaService;
|
||||
import com.accompany.business.service.guild.GuildH5InviteRecordService;
|
||||
import com.accompany.business.service.hall.HallService;
|
||||
import com.accompany.business.service.headwear.HeadwearService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
@@ -74,6 +76,7 @@ import com.accompany.email.service.EmailService;
|
||||
import com.accompany.payment.service.RechargeUserService;
|
||||
import com.accompany.sms.service.SmsService;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -165,6 +168,8 @@ public class UsersService extends BaseService {
|
||||
private UploadAvatarService uploadAvatarService;
|
||||
@Autowired
|
||||
private UserConfigService userConfigService;
|
||||
@Autowired
|
||||
private GuildH5InviteRecordService guildH5InviteRecordService;
|
||||
|
||||
public Users getUsersByUid(Long uid) {
|
||||
if (uid == null) {
|
||||
@@ -550,7 +555,7 @@ public class UsersService extends BaseService {
|
||||
users.setLastLoginIp(account.getRegisterIp());
|
||||
users.setLastLoginRegion(regionService.getRegion(account.getRegisterIp()));
|
||||
|
||||
users.setPartitionId(selectPartitionId(users, account.getRegisterIp()));
|
||||
users.setPartitionId(selectPartitionId(users, account.getRegisterIp(), account.getEmail()));
|
||||
|
||||
logger.info("saveOrUpdateUserByUidV2 users before insert: {}", JSONObject.toJSONString(users));
|
||||
usersMapper.insertSelective(users);
|
||||
@@ -595,7 +600,16 @@ public class UsersService extends BaseService {
|
||||
return userVo;
|
||||
}
|
||||
|
||||
private Integer selectPartitionId(Users users, String registerIp) {
|
||||
private Integer selectPartitionId(Users users, String registerIp, String email) {
|
||||
//公会h5邀请
|
||||
if (StringUtils.isNotBlank(email)){
|
||||
GuildH5InviteRecord guildH5InviteRecord = guildH5InviteRecordService.getByEmail(email);
|
||||
if (null != guildH5InviteRecord){
|
||||
Users inviterUser = getNotNullUsersByUid(guildH5InviteRecord.getInviterUid());
|
||||
return inviterUser.getPartitionId();
|
||||
}
|
||||
}
|
||||
|
||||
if (null != users.getRegionId()){
|
||||
RegionInfo regionInfo = regionInfoService.getById(users.getRegionId());
|
||||
if (null == regionInfo){
|
||||
|
@@ -1,13 +1,19 @@
|
||||
package com.accompany.business.controller.region;
|
||||
|
||||
import com.accompany.business.common.BaseController;
|
||||
import com.accompany.business.model.guild.GuildH5InviteRecord;
|
||||
import com.accompany.business.service.guild.GuildH5InviteRecordService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.annotation.Authorization;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.common.utils.IPUtils;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Account;
|
||||
import com.accompany.core.model.RegionInfo;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.account.AccountService;
|
||||
import com.accompany.core.service.region.RegionInfoService;
|
||||
import com.accompany.core.service.region.RegionNetworkSearchService;
|
||||
import com.accompany.core.vo.RegionInfoVo;
|
||||
@@ -36,12 +42,35 @@ public class RegionInfoController extends BaseController {
|
||||
private RegionNetworkSearchService regionNetworkSearchService;
|
||||
@Autowired
|
||||
private RegionInfoService service;
|
||||
@Autowired
|
||||
private AccountService accountService;
|
||||
@Autowired
|
||||
private GuildH5InviteRecordService guildH5InviteRecordService;
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
|
||||
@ApiOperation("获取地区列表")
|
||||
@GetMapping("/listAll")
|
||||
public BusiResult<List<RegionInfoVo>> listAll(HttpServletRequest request) {
|
||||
Long uid = getUid(request);
|
||||
List<RegionInfoVo> regionInfos = service.getAllList();
|
||||
if (!CollectionUtils.isEmpty(regionInfos)) {
|
||||
//公会h5邀请优先
|
||||
Account account = accountService.getById(uid);
|
||||
if (null != account && StringUtils.hasText(account.getEmail())){
|
||||
GuildH5InviteRecord inviteRecord = guildH5InviteRecordService.getByEmail(account.getEmail());
|
||||
if (null != inviteRecord && null != inviteRecord.getInviterUid()){
|
||||
Users inviterUser = usersService.getNotNullUsersByUid(inviteRecord.getInviterUid());
|
||||
if (null != inviterUser.getRegionId()){
|
||||
List<RegionInfoVo> inviterRegionInfoVos = regionInfos.stream()
|
||||
.filter(regionInfo -> regionInfo.getId().equals(inviterUser.getRegionId()))
|
||||
.peek(regionInfo -> regionInfo.setChecked(Boolean.TRUE))
|
||||
.toList();
|
||||
return BusiResult.success(inviterRegionInfoVos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String ip = IPUtils.getRealIpAddress(request);
|
||||
RegionNetworkVo regionNetworkVo = regionNetworkSearchService.networkSearch(ip);
|
||||
String countryCode = StringUtils.hasText(regionNetworkVo.getCountryCode()) ? regionNetworkVo.getCountryCode() : "";
|
||||
|
Reference in New Issue
Block a user