x用户-注册校验x身份
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user