个人资料页改造-根据ip查询地区
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
@@ -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);
|
||||
|
Binary file not shown.
7
pom.xml
7
pom.xml
@@ -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>
|
||||
|
Reference in New Issue
Block a user