Compare commits
3 Commits
0fcf4d0593
...
58cdc3a44b
Author | SHA1 | Date |
---|---|---|
|
58cdc3a44b | |
|
8a6a70b687 | |
|
98e1e8731a |
|
@ -92,7 +92,7 @@ public class ApiMemberController extends BaseController {
|
|||
*/
|
||||
@PostMapping("/create")
|
||||
@Transactional
|
||||
public AjaxResult createMember(@Validated @RequestBody MemberCreateApiRequest memberCreateApiRequest) {
|
||||
public synchronized AjaxResult createMember(@Validated @RequestBody MemberCreateApiRequest memberCreateApiRequest) {
|
||||
|
||||
IGamesService iGamesService = gamesService.get(memberCreateApiRequest.getPlatformCode() + Constants.SERVICE);
|
||||
ApiException.notNull(iGamesService, ErrorCode.PLATFORM_NOT_EXIST.getCode());
|
||||
|
|
|
@ -6,6 +6,7 @@ import org.hibernate.validator.constraints.Length;
|
|||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
|
@ -21,6 +22,7 @@ public class MemberCreateApiRequest implements Serializable{
|
|||
|
||||
@NotBlank(message = "account不能为空")
|
||||
@Length(max = 64, message = "account长度不能超过64个字符")
|
||||
@Pattern(regexp = "^[a-z0-9]+$", message = "account只能包含小写字母和数字")
|
||||
private String account;
|
||||
|
||||
/** 平台编码 */
|
||||
|
|
|
@ -94,6 +94,6 @@ public interface NGClient {
|
|||
* @param headerMap 标题映射
|
||||
* @return {@link ApiNGResponseDTO }<{@link ApiGameBetRecordPageResponseDTO }>
|
||||
*/
|
||||
@Post(url = "server/recordAll")
|
||||
@Post(url = "server/recordHistory")
|
||||
ApiNGResponseDTO<ApiGameBetRecordPageResponseDTO> getBetRecordByTime(@JSONBody Map<String, Object> parameters, @Header Map<String, String> headerMap);
|
||||
}
|
||||
|
|
|
@ -43,6 +43,10 @@ import javax.annotation.Resource;
|
|||
import java.math.BigDecimal;
|
||||
import java.security.SecureRandom;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.Instant;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
@ -499,6 +503,16 @@ public class GamesPGServiceImpl implements IGamesService {
|
|||
.build());
|
||||
|
||||
|
||||
String startTime = DateTimeFormatter
|
||||
.ofPattern("yyyy-MM-dd HH:mm:ss")
|
||||
.withZone(ZoneId.of("Asia/Shanghai"))
|
||||
.format(Instant.ofEpochMilli(betRecordByTimeDTO.getStartTime()));
|
||||
|
||||
String endTime = DateTimeFormatter
|
||||
.ofPattern("yyyy-MM-dd HH:mm:ss")
|
||||
.withZone(ZoneId.of("Asia/Shanghai"))
|
||||
.format(Instant.ofEpochMilli(betRecordByTimeDTO.getEndTime()));
|
||||
|
||||
|
||||
|
||||
betRecordByTimeDTO.setAgentId(currencyDTO.getCode());
|
||||
|
@ -509,9 +523,11 @@ public class GamesPGServiceImpl implements IGamesService {
|
|||
paramsMap.put("currency", currencyDTO.getCurrency());
|
||||
paramsMap.put("pageNo", pageNo);
|
||||
paramsMap.put("pageSize", pageSize);
|
||||
paramsMap.put("startTime", startTime);
|
||||
paramsMap.put("endTime",endTime);
|
||||
Map<String, String> key = this.getKey(betRecordByTimeDTO);
|
||||
|
||||
SleepUtil.sleep(6000);
|
||||
|
||||
ApiNGResponseDTO<ApiGameBetRecordPageResponseDTO> betRecordByTime = ngClient.getBetRecordByTime(paramsMap, key);
|
||||
|
||||
if (this.getIsSuccess(betRecordByTime.getCode())) {
|
||||
|
@ -539,6 +555,9 @@ public class GamesPGServiceImpl implements IGamesService {
|
|||
paramMap.put("currency", currencyDTO.getCurrency());
|
||||
paramMap.put("pageNo", pageNoAtomic.get());
|
||||
paramMap.put("pageSize", pageSize);
|
||||
paramMap.put("startTime", startTime);
|
||||
paramMap.put("endTime", endTime);
|
||||
SleepUtil.sleep(10000);
|
||||
ApiNGResponseDTO<ApiGameBetRecordPageResponseDTO> betRecordByTimePage = ngClient.getBetRecordByTime(paramMap, key);
|
||||
data = betRecordByTimePage.getData();
|
||||
//数据组装
|
||||
|
|
|
@ -124,7 +124,7 @@ public class MemberServiceImpl implements IMemberService
|
|||
*/
|
||||
@Override
|
||||
public Member selectMemberByGameAccount(String gameAccount) {
|
||||
return memberMapper.selectMemberByGameAccount(gameAccount);
|
||||
return memberMapper.selectMemberByGameAccount(gameAccount.toLowerCase());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.ff.quartz.task;
|
||||
|
||||
import com.ff.base.constant.Constants;
|
||||
import com.ff.base.core.redis.RedisCache;
|
||||
import com.ff.base.datasource.DynamicDataSourceContextHolder;
|
||||
import com.ff.base.enums.GamePlatforms;
|
||||
import com.ff.base.enums.NGPlatforms;
|
||||
|
@ -32,6 +33,7 @@ import org.springframework.security.core.parameters.P;
|
|||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.sql.DataSource;
|
||||
|
@ -71,7 +73,11 @@ public class GameTask {
|
|||
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||
|
||||
@Resource
|
||||
private IMemberService memberService;
|
||||
private IMemberService memberService;
|
||||
|
||||
@Resource
|
||||
private RedisCache redisCache;
|
||||
|
||||
/**
|
||||
* 插入游戏投注详细信息
|
||||
*/
|
||||
|
@ -83,47 +89,50 @@ public class GameTask {
|
|||
Long endTime = DateUtils.getNowDate();
|
||||
|
||||
|
||||
for (String gameKey : gamesService.keySet()) {
|
||||
String platformCode = gameKey.replace(Constants.SERVICE, "");
|
||||
if (NGPlatforms.exists(platformCode)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(platformCode).build());
|
||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
||||
try {
|
||||
gamesService.get(gameKey).getGameList(GamesBaseRequestDTO.builder()
|
||||
.agentId(gameSecretKey.getCode())
|
||||
.agentKey(gameSecretKey.getKey())
|
||||
.build());
|
||||
BetRecordByTimeDTO betRecordByTimeDTO = new BetRecordByTimeDTO();
|
||||
betRecordByTimeDTO.setGamePlatform(gameSecretKey.getPlatform());
|
||||
betRecordByTimeDTO.setStartTime(startTime);
|
||||
betRecordByTimeDTO.setEndTime(endTime);
|
||||
betRecordByTimeDTO.setPage(1);
|
||||
betRecordByTimeDTO.setPageLimit(1000);
|
||||
betRecordByTimeDTO.setAgentId(gameSecretKey.getCode());
|
||||
betRecordByTimeDTO.setAgentKey(gameSecretKey.getKey());
|
||||
gamesService.get(gameKey).getBetRecordByTime(betRecordByTimeDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 币种 {} 投注记录失败,错误信息 {}", gameSecretKey.getCode(), e);
|
||||
}
|
||||
}
|
||||
|
||||
for (String gameKey : gamesService.keySet()) {
|
||||
String platformCode = gameKey.replace(Constants.SERVICE, "");
|
||||
if (NGPlatforms.exists(platformCode)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(platformCode).build());
|
||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
||||
try {
|
||||
gamesService.get(gameKey).getGameList(GamesBaseRequestDTO.builder()
|
||||
.agentId(gameSecretKey.getCode())
|
||||
.agentKey(gameSecretKey.getKey())
|
||||
.build());
|
||||
BetRecordByTimeDTO betRecordByTimeDTO = new BetRecordByTimeDTO();
|
||||
betRecordByTimeDTO.setGamePlatform(gameSecretKey.getPlatform());
|
||||
betRecordByTimeDTO.setStartTime(startTime);
|
||||
betRecordByTimeDTO.setEndTime(endTime);
|
||||
betRecordByTimeDTO.setPage(1);
|
||||
betRecordByTimeDTO.setPageLimit(1000);
|
||||
betRecordByTimeDTO.setAgentId(gameSecretKey.getCode());
|
||||
betRecordByTimeDTO.setAgentKey(gameSecretKey.getKey());
|
||||
gamesService.get(gameKey).getBetRecordByTime(betRecordByTimeDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 币种 {} 投注记录失败,错误信息 {}", gameSecretKey.getCode(), e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入游戏ngbetting详细信息
|
||||
*
|
||||
*/
|
||||
public void insertGameNGBettingDetails() {
|
||||
public void insertGameNGBettingDetails(Integer backTime) {
|
||||
|
||||
|
||||
try {
|
||||
|
||||
//捞取指定分钟前的数据
|
||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTime);
|
||||
Long endTime = DateUtils.getNowDate();
|
||||
BetRecordByTimeDTO betRecordByTimeDTO = new BetRecordByTimeDTO();
|
||||
betRecordByTimeDTO.setStartTime(startTime);
|
||||
betRecordByTimeDTO.setEndTime(endTime);
|
||||
gamesService.get(NGPlatforms.PG.getPlatform() + Constants.SERVICE).getBetRecordByTime(betRecordByTimeDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 NG 投注记录失败,错误信息 {}", e);
|
||||
|
@ -137,27 +146,27 @@ public class GameTask {
|
|||
* 插入免费游戏局数情况
|
||||
*/
|
||||
public void insertFreeSpinDashflow() {
|
||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), -70);
|
||||
for (String gameKey : gamesService.keySet()) {
|
||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(gameKey.replace(Constants.SERVICE, "")).build());
|
||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
||||
try {
|
||||
GetFreeSpinDashflowRequestDTO getFreeSpinDashflowRequestDTO = new GetFreeSpinDashflowRequestDTO();
|
||||
getFreeSpinDashflowRequestDTO.setStartTime(startTime);
|
||||
getFreeSpinDashflowRequestDTO.setAgentId(gameSecretKey.getCode());
|
||||
getFreeSpinDashflowRequestDTO.setAgentKey(gameSecretKey.getKey());
|
||||
gamesService.get(gameKey).getFreeSpinDashflow(getFreeSpinDashflowRequestDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 币种 {} 免费游戏投注记录失败,错误信息 {}", gameSecretKey.getCode(), e.getMessage());
|
||||
}
|
||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), -70);
|
||||
for (String gameKey : gamesService.keySet()) {
|
||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(gameKey.replace(Constants.SERVICE, "")).build());
|
||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
||||
try {
|
||||
GetFreeSpinDashflowRequestDTO getFreeSpinDashflowRequestDTO = new GetFreeSpinDashflowRequestDTO();
|
||||
getFreeSpinDashflowRequestDTO.setStartTime(startTime);
|
||||
getFreeSpinDashflowRequestDTO.setAgentId(gameSecretKey.getCode());
|
||||
getFreeSpinDashflowRequestDTO.setAgentKey(gameSecretKey.getKey());
|
||||
gamesService.get(gameKey).getFreeSpinDashflow(getFreeSpinDashflowRequestDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 币种 {} 免费游戏投注记录失败,错误信息 {}", gameSecretKey.getCode(), e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void updateGameExchangeMoney() {
|
||||
public void updateGameExchangeMoney() {
|
||||
List<GameExchangeMoney> gameExchangeMoneyList = gameExchangeMoneyService.selectGameExchangeMoneyList(GameExchangeMoney.builder().status(StatusType.IN_PROGRESS.getValue()).build());
|
||||
for (GameExchangeMoney exchangeMoney : gameExchangeMoneyList) {
|
||||
try {
|
||||
|
@ -172,13 +181,13 @@ public class GameTask {
|
|||
exchangeTransferStatusRequestDTO.setOrderId(exchangeMoney.getTransactionId());
|
||||
exchangeTransferStatusRequestDTO.setAgentId(gameSecretKey.getCode());
|
||||
exchangeTransferStatusRequestDTO.setAgentKey(gameSecretKey.getKey());
|
||||
gamesService.get(exchangeMoney.getPlatformCode()+Constants.SERVICE).exchangeTransferStatus(exchangeTransferStatusRequestDTO);
|
||||
gamesService.get(exchangeMoney.getPlatformCode() + Constants.SERVICE).exchangeTransferStatus(exchangeTransferStatusRequestDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 更新交易记录失败,错误信息 {}", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue