From e66803cdafb234a4af596ad9b2455fdf7a348f43 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Mon, 29 Sep 2025 12:33:01 +0800 Subject: [PATCH] =?UTF-8?q?x=E7=94=A8=E6=88=B7-=E6=B3=A8=E5=86=8C=E6=A0=A1?= =?UTF-8?q?=E9=AA=8Cx=E8=BA=AB=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/listener/NewUserListener.java | 2 + .../service/game/ChargeUserXService.java | 84 ++++++++++--------- 2 files changed, 47 insertions(+), 39 deletions(-) diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/NewUserListener.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/NewUserListener.java index 19e317b7a..eec647b1d 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/NewUserListener.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/event/listener/NewUserListener.java @@ -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 { @Override public void onApplicationEvent(NewUserEvent event) { Users user = (Users) event.getSource(); + log.info("NewUserListener,user:{}", JSONObject.toJSONString(user)); chargeUserXService.check(user); } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/game/ChargeUserXService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/game/ChargeUserXService.java index 673d4e86a..43e51a1f4 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/game/ChargeUserXService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/game/ChargeUserXService.java @@ -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) {