x用户-fixedAll
This commit is contained in:
@@ -75,7 +75,7 @@ public class ChargeUserXDetailService extends ServiceImpl<ChargeUserXDetailMappe
|
||||
record.setAdminAdd(1);
|
||||
this.updateById(record);
|
||||
this.delCache(uid);
|
||||
chargeUserXRecordService.saveRecord(uid);
|
||||
chargeUserXRecordService.saveRecord(uid, null, null);
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -92,7 +92,7 @@ public class ChargeUserXDetailService extends ServiceImpl<ChargeUserXDetailMappe
|
||||
chargeUserXDetail.setRemark(remark);
|
||||
this.save(chargeUserXDetail);
|
||||
this.delCache(uid);
|
||||
chargeUserXRecordService.saveRecord(uid);
|
||||
chargeUserXRecordService.saveRecord(uid, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -102,6 +102,7 @@ public class ChargeUserXDetailService extends ServiceImpl<ChargeUserXDetailMappe
|
||||
ChargeUserXDetail record = this.baseMapper.getRecord(uid);
|
||||
record.setIdentity(3);
|
||||
record.setUpdateTime(new Date());
|
||||
removeReason = removeReason == null ? "" : removeReason;
|
||||
record.setRemoveReason("后台移除:" + username + ":" + removeReason);
|
||||
record.setAdminId(adminId);
|
||||
this.updateById(record);
|
||||
@@ -137,9 +138,7 @@ public class ChargeUserXDetailService extends ServiceImpl<ChargeUserXDetailMappe
|
||||
|
||||
public Long selectMaxId() {
|
||||
LambdaQueryWrapper<ChargeUserXDetail> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ChargeUserXDetail::getIdentity, 1)
|
||||
.gt(ChargeUserXDetail::getRefStatus, 0)
|
||||
.orderByDesc(ChargeUserXDetail::getId)
|
||||
queryWrapper.orderByDesc(ChargeUserXDetail::getId)
|
||||
.last("limit 1");
|
||||
ChargeUserXDetail chargeUserXDetail = this.baseMapper.selectOne(queryWrapper);
|
||||
return chargeUserXDetail == null ? 0 : chargeUserXDetail.getId();
|
||||
|
@@ -3,6 +3,7 @@ package com.accompany.business.service.game;
|
||||
import com.accompany.business.model.game.ChargeUserXRecord;
|
||||
import com.accompany.business.mybatismapper.game.ChargeUserXRecordMapper;
|
||||
import com.accompany.business.param.BasePageParams;
|
||||
import com.accompany.core.util.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -10,10 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -32,16 +30,23 @@ public class ChargeUserXRecordService extends ServiceImpl<ChargeUserXRecordMappe
|
||||
return this.baseMapper.listPage(page,uid, type);
|
||||
}
|
||||
|
||||
public void saveRecord(Long uid) {
|
||||
public void saveRecord(Long uid, String lastLoginIp, String lastLoginDevice) {
|
||||
List<String> ips = this.baseMapper.getLastThirtyXIp(uid);
|
||||
Date updateTime = new Date();
|
||||
if (!CollectionUtils.isEmpty(ips)){
|
||||
Set<String> ipSet = new HashSet<>();
|
||||
if (StringUtils.isNoneEmpty(lastLoginIp)) {
|
||||
ipSet.add(lastLoginIp);
|
||||
}
|
||||
if (CollectionUtils.isEmpty(ips)) {
|
||||
ips.addAll(ips);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(ipSet)){
|
||||
List<ChargeUserXRecord> uidIpRecords = this.listUidIpRecord(uid);
|
||||
Map<String, ChargeUserXRecord> ipRecordMap = new HashMap<>();
|
||||
if (CollectionUtils.isNotEmpty(uidIpRecords)) {
|
||||
ipRecordMap = uidIpRecords.stream().collect(Collectors.toMap(ChargeUserXRecord::getIp, v -> v));
|
||||
}
|
||||
for (String ip : ips) {
|
||||
for (String ip : ipSet) {
|
||||
ChargeUserXRecord xRecord = ipRecordMap.get(ip);
|
||||
if (xRecord != null) {
|
||||
xRecord.setStatus(1);
|
||||
@@ -56,16 +61,23 @@ public class ChargeUserXRecordService extends ServiceImpl<ChargeUserXRecordMappe
|
||||
chargeUserXRecord.setCreateTime(updateTime);
|
||||
ipRecordMap.put(ip, chargeUserXRecord);
|
||||
}
|
||||
this.saveBatch(ipRecordMap.values());
|
||||
this.saveOrUpdateBatch(ipRecordMap.values());
|
||||
}
|
||||
List<String> devices = this.baseMapper.getLastThirtyXDevice(uid);
|
||||
if (!CollectionUtils.isEmpty(devices)){
|
||||
Set<String> deviceSet = new HashSet<>();
|
||||
if (StringUtils.isNotEmpty(lastLoginDevice)) {
|
||||
deviceSet.add(lastLoginDevice);
|
||||
}
|
||||
if (CollectionUtils.isEmpty(devices)) {
|
||||
deviceSet.addAll(devices);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(deviceSet)){
|
||||
List<ChargeUserXRecord> uidDeviceRecords = this.listUidDeviceRecord(uid);
|
||||
Map<String, ChargeUserXRecord> deviceRecordMap = new HashMap<>();
|
||||
if (CollectionUtils.isNotEmpty(uidDeviceRecords)) {
|
||||
deviceRecordMap = uidDeviceRecords.stream().collect(Collectors.toMap(ChargeUserXRecord::getIp, v -> v));
|
||||
}
|
||||
for (String device : devices) {
|
||||
for (String device : deviceSet) {
|
||||
ChargeUserXRecord xRecord = deviceRecordMap.get(device);
|
||||
if (xRecord != null) {
|
||||
xRecord.setStatus(1);
|
||||
@@ -79,7 +91,7 @@ public class ChargeUserXRecordService extends ServiceImpl<ChargeUserXRecordMappe
|
||||
chargeUserXRecord.setCreateTime(updateTime);
|
||||
deviceRecordMap.put(device, chargeUserXRecord);
|
||||
}
|
||||
this.saveBatch(deviceRecordMap.values());
|
||||
this.saveOrUpdateBatch(deviceRecordMap.values());
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -154,7 +154,7 @@ public class ChargeUserXService {
|
||||
tipUids.add(uid);
|
||||
}
|
||||
chargeUserXDetailService.detailCache().put(uid, chargeUserXDetail);
|
||||
chargeUserXRecordService.saveRecord(uid);
|
||||
chargeUserXRecordService.saveRecord(uid, chargeUserXDetail.getIp(), chargeUserXDetail.getDeviceId());
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(tipUser)) {
|
||||
@@ -187,7 +187,7 @@ public class ChargeUserXService {
|
||||
chargeUserXDetail.setRefStatus(1);
|
||||
chargeUserXDetailService.save(chargeUserXDetail);
|
||||
chargeUserXDetailService.delCache(uid);
|
||||
chargeUserXRecordService.saveRecord(uid);
|
||||
chargeUserXRecordService.saveRecord(uid, chargeUserXDetail.getIp(), chargeUserXDetail.getDeviceId());
|
||||
String regionName = "";
|
||||
if (users.getRegionId() != null) {
|
||||
RegionInfo regionInfo = regionInfoService.getById(users.getRegionId());
|
||||
@@ -202,7 +202,7 @@ public class ChargeUserXService {
|
||||
chargeUserXDetail.setRefStatus(1);
|
||||
chargeUserXDetailService.save(chargeUserXDetail);
|
||||
chargeUserXDetailService.delCache(uid);
|
||||
chargeUserXRecordService.saveRecord(uid);
|
||||
chargeUserXRecordService.saveRecord(uid, chargeUserXDetail.getIp(), chargeUserXDetail.getDeviceId());
|
||||
String regionName = "";
|
||||
if (users.getRegionId() != null) {
|
||||
RegionInfo regionInfo = regionInfoService.getById(users.getRegionId());
|
||||
@@ -218,7 +218,7 @@ public class ChargeUserXService {
|
||||
public void sendRobotMsg(Integer partitionId, Long erbanNo, String regionName, BigDecimal payGold, BigDecimal winGold, String refValue) {
|
||||
String key;
|
||||
if (envComponent.getDevOrNativeEnv()) {
|
||||
key = "474c92e5-385d-4b6a-b606-b33769f59457";
|
||||
key = "ce275432-117d-4016-9f24-3410f1d54e4d";
|
||||
} else {
|
||||
key = "10879113-5e0e-4385-8c52-faa6a96417d9";
|
||||
}
|
||||
@@ -233,7 +233,7 @@ public class ChargeUserXService {
|
||||
msg.add(MarkdownMessage.getReferenceText("用户国家: " + regionName));
|
||||
msg.add(MarkdownMessage.getReferenceText("累计进入金币: " + payGold));
|
||||
msg.add(MarkdownMessage.getReferenceText("累计退出金币: " + winGold));
|
||||
msg.add(MarkdownMessage.getReferenceText("累计差额: " + payGold.subtract(winGold)));
|
||||
msg.add(MarkdownMessage.getReferenceText("累计差额(退出-进入): " + winGold.subtract(payGold)));
|
||||
if (refValue != null) {
|
||||
msg.add(MarkdownMessage.getReferenceText("关联值: " + refValue));
|
||||
}
|
||||
|
Reference in New Issue
Block a user