x用户-注册校验x身份

This commit is contained in:
2025-09-29 12:33:01 +08:00
parent 0563963c64
commit e66803cdaf
2 changed files with 47 additions and 39 deletions

View File

@@ -4,6 +4,7 @@ package com.accompany.business.event.listener;
import com.accompany.business.event.NewUserEvent;
import com.accompany.business.service.game.ChargeUserXService;
import com.accompany.core.model.Users;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
@@ -21,6 +22,7 @@ public class NewUserListener implements ApplicationListener<NewUserEvent> {
@Override
public void onApplicationEvent(NewUserEvent event) {
Users user = (Users) event.getSource();
log.info("NewUserListener,user:{}", JSONObject.toJSONString(user));
chargeUserXService.check(user);
}

View File

@@ -20,6 +20,7 @@ import com.accompany.core.service.region.RegionInfoService;
import com.accompany.payment.model.UserRechargeLevel;
import com.accompany.payment.service.UserRechargeLevelService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -171,48 +172,53 @@ public class ChargeUserXService {
public void check(Users users) {
Long uid = users.getUid();
String lastLoginIp = users.getLastLoginIp();
String deviceId = users.getDeviceId();
ChargeUserXDetail chargeUserXDetail = new ChargeUserXDetail();
AccountLoginRecord lastLogin = accountLoginRecordService.getLastLoginRecord(uid);
if (lastLogin != null) {
chargeUserXDetail.setUid(uid);
chargeUserXDetail.setIp(lastLogin.getLoginIp());
chargeUserXDetail.setDeviceId(lastLogin.getDeviceId());
chargeUserXDetail.setIdentity(1);
//进行iP检测
ChargeUserXRecord recordByIp = chargeUserXRecordService.getRecordByIp(String.valueOf(lastLogin.getLoginIp()));
String remark = "注册关联,关联记录id:{0},关联值:{1}";
ChargeUserXRecord recordByDevice = chargeUserXRecordService.getRecordByDevice(String.valueOf(lastLogin.getDeviceId()));
if (recordByDevice != null) {
chargeUserXDetail.setRemark(MessageFormat.format(remark, recordByDevice.getId(), recordByDevice.getDeviceId()));
chargeUserXDetail.setRefStatus(1);
chargeUserXDetailService.save(chargeUserXDetail);
chargeUserXDetailService.delCache(uid);
chargeUserXRecordService.saveRecord(uid, chargeUserXDetail.getIp(), chargeUserXDetail.getDeviceId());
String regionName = "";
if (users.getRegionId() != null) {
RegionInfo regionInfo = regionInfoService.getById(users.getRegionId());
regionName = regionInfo.getName();
}
this.sendRobotMsg(users.getPartitionId(), users.getErbanNo(), regionName, BigDecimal.ZERO, BigDecimal.ZERO, lastLogin.getDeviceId());
return;
}
if (recordByIp != null) {
chargeUserXDetail.setRemark(MessageFormat.format(remark, recordByIp.getId(),recordByIp.getIp()));
chargeUserXDetail.setRefStatus(1);
chargeUserXDetailService.save(chargeUserXDetail);
chargeUserXDetailService.delCache(uid);
chargeUserXRecordService.saveRecord(uid, chargeUserXDetail.getIp(), chargeUserXDetail.getDeviceId());
String regionName = "";
if (users.getRegionId() != null) {
RegionInfo regionInfo = regionInfoService.getById(users.getRegionId());
regionName = regionInfo.getName();
}
this.sendRobotMsg(users.getPartitionId(), users.getErbanNo(), regionName, BigDecimal.ZERO, BigDecimal.ZERO, lastLogin.getDeviceId());
}
if (StringUtils.isEmpty(lastLoginIp) && lastLogin != null) {
lastLoginIp = lastLogin.getLoginIp();
}
}
if (StringUtils.isEmpty(deviceId) && lastLogin != null) {
deviceId = lastLogin.getDeviceId();
}
chargeUserXDetail.setUid(uid);
chargeUserXDetail.setIp(lastLoginIp);
chargeUserXDetail.setDeviceId(deviceId);
chargeUserXDetail.setIdentity(1);
//进行iP检测
String remark = "注册关联,关联记录id:{0},关联值:{1}";
ChargeUserXRecord recordByDevice = chargeUserXRecordService.getRecordByDevice(String.valueOf(deviceId));
if (recordByDevice != null) {
chargeUserXDetail.setRemark(MessageFormat.format(remark, recordByDevice.getId(), recordByDevice.getDeviceId()));
chargeUserXDetail.setRefStatus(1);
chargeUserXDetailService.save(chargeUserXDetail);
chargeUserXDetailService.delCache(uid);
chargeUserXRecordService.saveRecord(uid, chargeUserXDetail.getIp(), chargeUserXDetail.getDeviceId());
String regionName = "";
if (users.getRegionId() != null) {
RegionInfo regionInfo = regionInfoService.getById(users.getRegionId());
regionName = regionInfo.getName();
}
this.sendRobotMsg(users.getPartitionId(), users.getErbanNo(), regionName, BigDecimal.ZERO, BigDecimal.ZERO, deviceId);
return;
}
ChargeUserXRecord recordByIp = chargeUserXRecordService.getRecordByIp(String.valueOf(lastLoginIp));
if (recordByIp != null) {
chargeUserXDetail.setRemark(MessageFormat.format(remark, recordByIp.getId(), recordByIp.getIp()));
chargeUserXDetail.setRefStatus(1);
chargeUserXDetailService.save(chargeUserXDetail);
chargeUserXDetailService.delCache(uid);
chargeUserXRecordService.saveRecord(uid, chargeUserXDetail.getIp(), chargeUserXDetail.getDeviceId());
String regionName = "";
if (users.getRegionId() != null) {
RegionInfo regionInfo = regionInfoService.getById(users.getRegionId());
regionName = regionInfo.getName();
}
this.sendRobotMsg(users.getPartitionId(), users.getErbanNo(), regionName, BigDecimal.ZERO, BigDecimal.ZERO, deviceId);
}
}
@Async
public void sendRobotMsg(Integer partitionId, Long erbanNo, String regionName, BigDecimal payGold, BigDecimal winGold, String refValue) {