个人资料页改造-根据ip查询地区

This commit is contained in:
2023-02-16 22:37:23 +08:00
parent 71e43824b8
commit 2bffcc1e84
4 changed files with 44 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
package com.accompany.business.service.region;
import lombok.SneakyThrows;
import org.apache.commons.io.IOUtils;
import org.lionsoul.ip2region.xdb.Searcher;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;
import java.io.RandomAccessFile;
@Service
public class RegionSearchService implements InitializingBean {
private Searcher regionSearcher;
@SneakyThrows
public String getCountry(String ip){
//国家|区域|省份|城市|ISP
String region = regionSearcher.search(ip);
return region.split("\\|")[0];
}
@Override
public void afterPropertiesSet() throws Exception {
ClassPathResource resource = new ClassPathResource("ip2region.xdb");
byte[] cBuff = IOUtils.toByteArray(resource.getInputStream());
regionSearcher = Searcher.newWithBuffer(cBuff);
}
}

View File

@@ -31,6 +31,7 @@ import com.accompany.business.service.live.LiveAttestationService;
import com.accompany.business.service.nameplate.UserNameplateService;
import com.accompany.business.service.noble.NobleUsersService;
import com.accompany.business.service.purse.UserPurseService;
import com.accompany.business.service.region.RegionSearchService;
import com.accompany.business.service.room.QueryRoomService;
import com.accompany.business.service.room.RoomService;
import com.accompany.business.service.skillcard.SkillCardUserRecordService;
@@ -219,6 +220,8 @@ public class UsersService extends BaseService {
@Autowired
private PhoneAuthApplyRecordService phoneAuthApplyRecordService;
@Autowired
private RegionSearchService regionSearchService;
private static String regEx = "^[0-9]*[1-9][0-9]*$";
@@ -698,7 +701,7 @@ public class UsersService extends BaseService {
// @Transactional(rollbackFor = Exception.class)
public BusiResult<UserVo> saveOrUpdateUserByUidV2(Users users, DeviceInfo deviceInfo) throws Exception {
BusiResult<UserVo> busiResult = new BusiResult<UserVo>(BusiStatus.SUCCESS);
BusiResult<UserVo> busiResult = new BusiResult<>(BusiStatus.SUCCESS);
Account account = accountService.getById(users.getUid());
if (account == null) {
return new BusiResult<>(BusiStatus.USERNOTEXISTS);
@@ -746,6 +749,9 @@ public class UsersService extends BaseService {
if (deviceInfo != null) {
fillDeviceInfo(users, deviceInfo);
}
if (StringUtils.isNotBlank(account.getRegisterIp())){
users.setRegion(regionSearchService.getCountry(account.getRegisterIp()));
}
hasRegPacket = checkHasInviteRegisterPacket(users.getShareUid(), deviceInfo);
users.setErbanNo(account.getErbanNo());
users.setCreateTime(date);

View File

@@ -98,6 +98,7 @@
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
<esayexcel.version>3.1.5</esayexcel.version>
<googlecode-libphonenumber.version>8.12.43</googlecode-libphonenumber.version>
<ip2region.version>2.7.0</ip2region.version>
</properties>
<dependencyManagement>
@@ -962,6 +963,12 @@
<artifactId>libphonenumber</artifactId>
</dependency>
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>${ip2region.version}</version>
</dependency>
</dependencies>
<build>