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.event.NewUserEvent;
|
||||||
import com.accompany.business.service.game.ChargeUserXService;
|
import com.accompany.business.service.game.ChargeUserXService;
|
||||||
import com.accompany.core.model.Users;
|
import com.accompany.core.model.Users;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.ApplicationListener;
|
||||||
@@ -21,6 +22,7 @@ public class NewUserListener implements ApplicationListener<NewUserEvent> {
|
|||||||
@Override
|
@Override
|
||||||
public void onApplicationEvent(NewUserEvent event) {
|
public void onApplicationEvent(NewUserEvent event) {
|
||||||
Users user = (Users) event.getSource();
|
Users user = (Users) event.getSource();
|
||||||
|
log.info("NewUserListener,user:{}", JSONObject.toJSONString(user));
|
||||||
chargeUserXService.check(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.model.UserRechargeLevel;
|
||||||
import com.accompany.payment.service.UserRechargeLevelService;
|
import com.accompany.payment.service.UserRechargeLevelService;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -171,48 +172,53 @@ public class ChargeUserXService {
|
|||||||
|
|
||||||
public void check(Users users) {
|
public void check(Users users) {
|
||||||
Long uid = users.getUid();
|
Long uid = users.getUid();
|
||||||
|
String lastLoginIp = users.getLastLoginIp();
|
||||||
|
String deviceId = users.getDeviceId();
|
||||||
ChargeUserXDetail chargeUserXDetail = new ChargeUserXDetail();
|
ChargeUserXDetail chargeUserXDetail = new ChargeUserXDetail();
|
||||||
AccountLoginRecord lastLogin = accountLoginRecordService.getLastLoginRecord(uid);
|
AccountLoginRecord lastLogin = accountLoginRecordService.getLastLoginRecord(uid);
|
||||||
if (lastLogin != null) {
|
if (StringUtils.isEmpty(lastLoginIp) && lastLogin != null) {
|
||||||
chargeUserXDetail.setUid(uid);
|
lastLoginIp = lastLogin.getLoginIp();
|
||||||
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(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
|
@Async
|
||||||
public void sendRobotMsg(Integer partitionId, Long erbanNo, String regionName, BigDecimal payGold, BigDecimal winGold, String refValue) {
|
public void sendRobotMsg(Integer partitionId, Long erbanNo, String regionName, BigDecimal payGold, BigDecimal winGold, String refValue) {
|
||||||
|
Reference in New Issue
Block a user