From 3f01d8590a45742d84abe932bb69cc339c95e9a3 Mon Sep 17 00:00:00 2001 From: zyh Date: Sun, 24 Aug 2025 20:46:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Apache=20Commons=20Codec?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E4=BB=A5=E6=94=AF=E6=8C=81SHA-256=E5=92=8C?= =?UTF-8?q?=E5=8D=81=E5=85=AD=E8=BF=9B=E5=88=B6=E5=B7=A5=E5=85=B7=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E5=9C=A8application.yml=E4=B8=AD=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=A4=96=E9=83=A8=E8=84=9A=E6=9C=AC=E9=85=8D=E7=BD=AE=E5=8F=8A?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E8=BF=87=E6=9C=9F=E6=97=B6=E9=97=B4=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E3=80=82=E5=90=8C=E6=97=B6=EF=BC=8C=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E4=BD=BF=E7=94=A8=E7=9A=84=E7=B1=BB=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=BB=A5=E6=B8=85=E7=90=86=E9=A1=B9=E7=9B=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 + .../controller/link/LinkController.java | 48 +++++ .../controller/link/QrProxyController.java | 41 +++++ .../model/dto/link/LinkGenerateRequest.java | 21 +++ .../model/dto/link/LinkGenerateResponse.java | 28 +++ .../server/service/external/ScriptClient.java | 60 ++++++ .../service/link/LinkGenerationService.java | 174 ++++++++++++++++++ src/main/resources/application.yml | 9 + target/classes/application.yml | 9 + .../GamePlatformServerApplication.class | Bin 887 -> 0 bytes .../server/config/CorsConfig.class | Bin 1614 -> 0 bytes .../server/config/SwaggerConfig.class | Bin 2207 -> 0 bytes .../server/controller/UserController.class | Bin 5005 -> 0 bytes .../controller/admin/AccountController.class | Bin 5978 -> 0 bytes .../controller/auth/AuthController$1.class | Bin 1439 -> 0 bytes .../controller/auth/AuthController.class | Bin 4903 -> 0 bytes .../controller/link/LinkController.class | Bin 0 -> 4749 bytes .../controller/link/QrProxyController.class | Bin 0 -> 4063 bytes .../exception/GlobalExceptionHandler$1.class | Bin 1312 -> 0 bytes .../exception/GlobalExceptionHandler$2.class | Bin 1439 -> 0 bytes .../exception/GlobalExceptionHandler.class | Bin 7530 -> 0 bytes .../mapper/account/UserAccountMapper.class | Bin 1564 -> 0 bytes .../mapper/admin/AnnouncementMapper.class | Bin 1255 -> 0 bytes .../mapper/admin/OperationLogMapper.class | Bin 1515 -> 0 bytes .../mapper/agent/AgentPointsTxMapper.class | Bin 1263 -> 0 bytes .../server/mapper/agent/LinkBatchMapper.class | Bin 1016 -> 0 bytes .../server/mapper/agent/LinkTaskMapper.class | Bin 2213 -> 0 bytes .../dto/account/AccountCreateRequest.class | Bin 2841 -> 0 bytes .../model/dto/account/AccountResponse.class | Bin 2503 -> 0 bytes .../dto/account/AccountUpdateRequest.class | Bin 2272 -> 0 bytes .../dto/account/ResetPasswordRequest.class | Bin 1583 -> 0 bytes .../server/model/dto/auth/LoginRequest.class | Bin 984 -> 0 bytes .../server/model/dto/auth/LoginResponse.class | Bin 1745 -> 0 bytes .../server/model/dto/common/PageResult.class | Bin 1893 -> 0 bytes .../model/dto/link/LinkGenerateRequest.class | Bin 0 -> 1446 bytes .../model/dto/link/LinkGenerateResponse.class | Bin 0 -> 1841 bytes .../model/entity/account/UserAccount.class | Bin 2203 -> 0 bytes .../model/entity/admin/Announcement.class | Bin 2033 -> 0 bytes .../model/entity/admin/OperationLog.class | Bin 2352 -> 0 bytes .../model/entity/agent/AgentPointsTx.class | Bin 2595 -> 0 bytes .../server/model/entity/agent/LinkBatch.class | Bin 2181 -> 0 bytes .../server/model/entity/agent/LinkTask.class | Bin 3357 -> 0 bytes .../server/security/JwtService.class | Bin 5134 -> 0 bytes .../server/security/SecurityConfig.class | Bin 4495 -> 0 bytes .../server/service/UserService.class | Bin 7377 -> 0 bytes .../service/account/AccountService.class | Bin 11478 -> 0 bytes .../server/service/auth/AuthService.class | Bin 8906 -> 0 bytes .../service/external/ScriptClient.class | Bin 0 -> 6202 bytes ...LinkGenerationService$GenerateResult.class | Bin 0 -> 3732 bytes .../compile/default-compile/createdFiles.lst | 31 +++- .../compile/default-compile/inputFiles.lst | 6 + .../default-testCompile/createdFiles.lst | 2 + .../default-testCompile/inputFiles.lst | 2 + 53 files changed, 428 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/gameplatform/server/controller/link/LinkController.java create mode 100644 src/main/java/com/gameplatform/server/controller/link/QrProxyController.java create mode 100644 src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateRequest.java create mode 100644 src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateResponse.java create mode 100644 src/main/java/com/gameplatform/server/service/external/ScriptClient.java create mode 100644 src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java delete mode 100644 target/classes/com/gameplatform/server/GamePlatformServerApplication.class delete mode 100644 target/classes/com/gameplatform/server/config/CorsConfig.class delete mode 100644 target/classes/com/gameplatform/server/config/SwaggerConfig.class delete mode 100644 target/classes/com/gameplatform/server/controller/UserController.class delete mode 100644 target/classes/com/gameplatform/server/controller/admin/AccountController.class delete mode 100644 target/classes/com/gameplatform/server/controller/auth/AuthController$1.class delete mode 100644 target/classes/com/gameplatform/server/controller/auth/AuthController.class create mode 100644 target/classes/com/gameplatform/server/controller/link/LinkController.class create mode 100644 target/classes/com/gameplatform/server/controller/link/QrProxyController.class delete mode 100644 target/classes/com/gameplatform/server/exception/GlobalExceptionHandler$1.class delete mode 100644 target/classes/com/gameplatform/server/exception/GlobalExceptionHandler$2.class delete mode 100644 target/classes/com/gameplatform/server/exception/GlobalExceptionHandler.class delete mode 100644 target/classes/com/gameplatform/server/mapper/account/UserAccountMapper.class delete mode 100644 target/classes/com/gameplatform/server/mapper/admin/AnnouncementMapper.class delete mode 100644 target/classes/com/gameplatform/server/mapper/admin/OperationLogMapper.class delete mode 100644 target/classes/com/gameplatform/server/mapper/agent/AgentPointsTxMapper.class delete mode 100644 target/classes/com/gameplatform/server/mapper/agent/LinkBatchMapper.class delete mode 100644 target/classes/com/gameplatform/server/mapper/agent/LinkTaskMapper.class delete mode 100644 target/classes/com/gameplatform/server/model/dto/account/AccountCreateRequest.class delete mode 100644 target/classes/com/gameplatform/server/model/dto/account/AccountResponse.class delete mode 100644 target/classes/com/gameplatform/server/model/dto/account/AccountUpdateRequest.class delete mode 100644 target/classes/com/gameplatform/server/model/dto/account/ResetPasswordRequest.class delete mode 100644 target/classes/com/gameplatform/server/model/dto/auth/LoginRequest.class delete mode 100644 target/classes/com/gameplatform/server/model/dto/auth/LoginResponse.class delete mode 100644 target/classes/com/gameplatform/server/model/dto/common/PageResult.class create mode 100644 target/classes/com/gameplatform/server/model/dto/link/LinkGenerateRequest.class create mode 100644 target/classes/com/gameplatform/server/model/dto/link/LinkGenerateResponse.class delete mode 100644 target/classes/com/gameplatform/server/model/entity/account/UserAccount.class delete mode 100644 target/classes/com/gameplatform/server/model/entity/admin/Announcement.class delete mode 100644 target/classes/com/gameplatform/server/model/entity/admin/OperationLog.class delete mode 100644 target/classes/com/gameplatform/server/model/entity/agent/AgentPointsTx.class delete mode 100644 target/classes/com/gameplatform/server/model/entity/agent/LinkBatch.class delete mode 100644 target/classes/com/gameplatform/server/model/entity/agent/LinkTask.class delete mode 100644 target/classes/com/gameplatform/server/security/JwtService.class delete mode 100644 target/classes/com/gameplatform/server/security/SecurityConfig.class delete mode 100644 target/classes/com/gameplatform/server/service/UserService.class delete mode 100644 target/classes/com/gameplatform/server/service/account/AccountService.class delete mode 100644 target/classes/com/gameplatform/server/service/auth/AuthService.class create mode 100644 target/classes/com/gameplatform/server/service/external/ScriptClient.class create mode 100644 target/classes/com/gameplatform/server/service/link/LinkGenerationService$GenerateResult.class create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst diff --git a/pom.xml b/pom.xml index cd1de69..86c94cd 100644 --- a/pom.xml +++ b/pom.xml @@ -92,6 +92,13 @@ 2.3.0 + + + commons-codec + commons-codec + 1.16.1 + + org.springframework.boot spring-boot-starter-test diff --git a/src/main/java/com/gameplatform/server/controller/link/LinkController.java b/src/main/java/com/gameplatform/server/controller/link/LinkController.java new file mode 100644 index 0000000..ef03747 --- /dev/null +++ b/src/main/java/com/gameplatform/server/controller/link/LinkController.java @@ -0,0 +1,48 @@ +package com.gameplatform.server.controller.link; + +import com.gameplatform.server.model.dto.link.LinkGenerateRequest; +import com.gameplatform.server.model.dto.link.LinkGenerateResponse; +import com.gameplatform.server.service.link.LinkGenerationService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.*; +import reactor.core.publisher.Mono; + + +@RestController +@RequestMapping("/api/link") +@Tag(name = "链接管理", description = "生成链接与二维码代理") +public class LinkController { + private final LinkGenerationService linkGenerationService; + + public LinkController(LinkGenerationService linkGenerationService) { + this.linkGenerationService = linkGenerationService; + } + + @PostMapping("/generate") + @ResponseStatus(HttpStatus.CREATED) + @Operation(summary = "生成链接批次", description = "times * perTimeQuantity = 目标点数;代理需扣点,管理员不扣") + public Mono generate(@Valid @RequestBody LinkGenerateRequest req, + @RequestHeader(value = "X-Operator-Id", required = false) Long operatorId, + @RequestHeader(value = "X-Operator-Type", required = false) String operatorType) { + // 暂时用两个 Header 传操作者信息;后续接入 JWT 解析 + Long targetAccountId = req.getAgentAccountId() != null ? req.getAgentAccountId() : operatorId; + return linkGenerationService.generateLinks(operatorId, safeUpper(operatorType), targetAccountId, + defaultInt(req.getTimes(), 0), defaultInt(req.getPerTimeQuantity(), 0)) + .map(r -> { + LinkGenerateResponse resp = new LinkGenerateResponse(); + resp.setBatchId(r.getBatchId()); + resp.setDeductPoints(r.getNeedPoints()); + resp.setExpireAt(r.getExpireAt()); + resp.setCodeNos(r.getCodeNos()); + return resp; + }); + } + + private static String safeUpper(String s) { return s == null ? null : s.toUpperCase(); } + private static int defaultInt(Integer v, int d) { return v == null ? d : v; } +} + + diff --git a/src/main/java/com/gameplatform/server/controller/link/QrProxyController.java b/src/main/java/com/gameplatform/server/controller/link/QrProxyController.java new file mode 100644 index 0000000..6bbd39a --- /dev/null +++ b/src/main/java/com/gameplatform/server/controller/link/QrProxyController.java @@ -0,0 +1,41 @@ +package com.gameplatform.server.controller.link; + +import com.gameplatform.server.service.external.ScriptClient; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.CacheControl; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import reactor.core.publisher.Mono; + +import java.util.concurrent.TimeUnit; + +@RestController +@RequestMapping("/api/link") +@Tag(name = "二维码代理", description = "转发脚本端的二维码图片,避免混合内容") +public class QrProxyController { + private final ScriptClient scriptClient; + + public QrProxyController(ScriptClient scriptClient) { + this.scriptClient = scriptClient; + } + + @GetMapping(value = "/{codeNo}/qr.png", produces = MediaType.IMAGE_PNG_VALUE) + @Operation(summary = "二维码图片代理") + public Mono> qr(@PathVariable("codeNo") String codeNo) { + String path = "/" + codeNo + "/二维码.png"; + return scriptClient.getQrPng(path) + .map(bytes -> ResponseEntity.ok() + .contentType(MediaType.IMAGE_PNG) + .cacheControl(CacheControl.maxAge(30, TimeUnit.SECONDS).cachePublic()) + .header(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=qr.png") + .body(bytes)); + } +} + + diff --git a/src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateRequest.java b/src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateRequest.java new file mode 100644 index 0000000..b054ce0 --- /dev/null +++ b/src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateRequest.java @@ -0,0 +1,21 @@ +package com.gameplatform.server.model.dto.link; + +import io.swagger.v3.oas.annotations.media.Schema; + +public class LinkGenerateRequest { + @Schema(description = "本次打脚本的次数", example = "10") + private Integer times; + @Schema(description = "每次打的数量", example = "5") + private Integer perTimeQuantity; + @Schema(description = "为哪个代理账户生成(管理员可指定,代理可省略或为自己)") + private Long agentAccountId; + + public Integer getTimes() { return times; } + public void setTimes(Integer times) { this.times = times; } + public Integer getPerTimeQuantity() { return perTimeQuantity; } + public void setPerTimeQuantity(Integer perTimeQuantity) { this.perTimeQuantity = perTimeQuantity; } + public Long getAgentAccountId() { return agentAccountId; } + public void setAgentAccountId(Long agentAccountId) { this.agentAccountId = agentAccountId; } +} + + diff --git a/src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateResponse.java b/src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateResponse.java new file mode 100644 index 0000000..f93adfb --- /dev/null +++ b/src/main/java/com/gameplatform/server/model/dto/link/LinkGenerateResponse.java @@ -0,0 +1,28 @@ +package com.gameplatform.server.model.dto.link; + +import io.swagger.v3.oas.annotations.media.Schema; + +import java.time.LocalDateTime; +import java.util.List; + +public class LinkGenerateResponse { + @Schema(description = "批次ID") + private Long batchId; + @Schema(description = "扣点(管理员为0)") + private Long deductPoints; + @Schema(description = "过期时间") + private LocalDateTime expireAt; + @Schema(description = "生成的codeNo集合") + private List codeNos; + + public Long getBatchId() { return batchId; } + public void setBatchId(Long batchId) { this.batchId = batchId; } + public Long getDeductPoints() { return deductPoints; } + public void setDeductPoints(Long deductPoints) { this.deductPoints = deductPoints; } + public LocalDateTime getExpireAt() { return expireAt; } + public void setExpireAt(LocalDateTime expireAt) { this.expireAt = expireAt; } + public List getCodeNos() { return codeNos; } + public void setCodeNos(List codeNos) { this.codeNos = codeNos; } +} + + diff --git a/src/main/java/com/gameplatform/server/service/external/ScriptClient.java b/src/main/java/com/gameplatform/server/service/external/ScriptClient.java new file mode 100644 index 0000000..26230be --- /dev/null +++ b/src/main/java/com/gameplatform/server/service/external/ScriptClient.java @@ -0,0 +1,60 @@ +package com.gameplatform.server.service.external; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Service; +import org.springframework.web.reactive.function.client.ExchangeStrategies; +import org.springframework.web.reactive.function.client.WebClient; +import reactor.core.publisher.Mono; + +import java.time.Duration; + +@Service +public class ScriptClient { + private static final Logger log = LoggerFactory.getLogger(ScriptClient.class); + + private final WebClient webClient; + private final String baseUrl; + + public ScriptClient( + @Value("${script.base-url}") String baseUrl, + @Value("${script.connect-timeout-ms:3000}") int connectTimeoutMs, + @Value("${script.read-timeout-ms:5000}") int readTimeoutMs + ) { + this.baseUrl = baseUrl; + this.webClient = WebClient.builder() + .baseUrl(baseUrl) + .exchangeStrategies(ExchangeStrategies.builder() + .codecs(cfg -> cfg.defaultCodecs().maxInMemorySize(2 * 1024 * 1024)) + .build()) + .build(); + if (log.isDebugEnabled()) { + log.debug("ScriptClient initialized baseUrl={}, connectTimeoutMs={}, readTimeoutMs={}", this.baseUrl, connectTimeoutMs, readTimeoutMs); + } + } + + public Mono getQrPng(String path) { + // path example: /{codeNo}/二维码.png + return webClient.get() + .uri(path) + .accept(MediaType.IMAGE_PNG) + .retrieve() + .bodyToMono(byte[].class) + .timeout(Duration.ofSeconds(5)) + .doOnError(e -> log.warn("ScriptClient.getQrPng error path={} err={}", path, e.toString())); + } + + public Mono getText(String path) { + return webClient.get() + .uri(path) + .accept(MediaType.TEXT_PLAIN) + .retrieve() + .bodyToMono(String.class) + .timeout(Duration.ofSeconds(5)) + .doOnError(e -> log.warn("ScriptClient.getText error path={} err={}", path, e.toString())); + } +} + + diff --git a/src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java b/src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java new file mode 100644 index 0000000..16751d1 --- /dev/null +++ b/src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java @@ -0,0 +1,174 @@ +package com.gameplatform.server.service.link; + +import com.gameplatform.server.mapper.account.UserAccountMapper; +import com.gameplatform.server.mapper.agent.AgentPointsTxMapper; +import com.gameplatform.server.mapper.agent.LinkBatchMapper; +import com.gameplatform.server.mapper.agent.LinkTaskMapper; +import com.gameplatform.server.model.entity.account.UserAccount; +import com.gameplatform.server.model.entity.agent.AgentPointsTx; +import com.gameplatform.server.model.entity.agent.LinkBatch; +import com.gameplatform.server.model.entity.agent.LinkTask; +import org.apache.commons.codec.digest.DigestUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import reactor.core.publisher.Mono; +import reactor.core.scheduler.Schedulers; + +import java.security.SecureRandom; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Service +public class LinkGenerationService { + private static final Logger log = LoggerFactory.getLogger(LinkGenerationService.class); + + private final UserAccountMapper userAccountMapper; + private final LinkBatchMapper linkBatchMapper; + private final LinkTaskMapper linkTaskMapper; + private final AgentPointsTxMapper agentPointsTxMapper; + private final int expireHours; + + public LinkGenerationService(UserAccountMapper userAccountMapper, + LinkBatchMapper linkBatchMapper, + LinkTaskMapper linkTaskMapper, + AgentPointsTxMapper agentPointsTxMapper, + @Value("${link.expire-hours:2}") int expireHours) { + this.userAccountMapper = userAccountMapper; + this.linkBatchMapper = linkBatchMapper; + this.linkTaskMapper = linkTaskMapper; + this.agentPointsTxMapper = agentPointsTxMapper; + this.expireHours = expireHours; + } + + @Transactional + public Mono generateLinks(Long operatorId, String operatorType, + Long targetAccountId, + int times, int perTimeQuantity) { + return Mono.fromCallable(() -> doGenerate(operatorId, operatorType, targetAccountId, times, perTimeQuantity)) + .subscribeOn(Schedulers.boundedElastic()); + } + + private GenerateResult doGenerate(Long operatorId, String operatorType, + Long targetAccountId, + int times, int perTimeQuantity) { + if (times <= 0 || perTimeQuantity <= 0) { + throw new IllegalArgumentException("times 与 perTimeQuantity 必须为正整数"); + } + + UserAccount target = userAccountMapper.findById(targetAccountId); + if (target == null) { + throw new IllegalArgumentException("目标账户不存在"); + } + boolean isAdminOperator = "ADMIN".equalsIgnoreCase(operatorType); + if (!isAdminOperator && !"AGENT".equalsIgnoreCase(operatorType)) { + throw new IllegalArgumentException("非法操作者类型"); + } + if (!"AGENT".equalsIgnoreCase(target.getUserType())) { + throw new IllegalArgumentException("仅支持为代理账户生成链接"); + } + + long needPoints = (long) times * (long) perTimeQuantity; + if (log.isDebugEnabled()) { + log.debug("generateLinks operatorId={} operatorType={} targetAccountId={} times={} perTimeQuantity={} needPoints={} expireHours={}", + operatorId, operatorType, targetAccountId, times, perTimeQuantity, needPoints, expireHours); + } + if (!isAdminOperator) { + // 代理商自操作,需扣点判断 + long balance = target.getPointsBalance() == null ? 0L : target.getPointsBalance(); + if (balance < needPoints) { + throw new IllegalStateException("点数不足"); + } + } + + LinkBatch batch = new LinkBatch(); + batch.setAgentId(target.getId()); + batch.setQuantity(times); + batch.setTimes(times); + batch.setBatchSize(perTimeQuantity); + batch.setDeductPoints(needPoints); + batch.setOperatorId(operatorId); + linkBatchMapper.insert(batch); + + LocalDateTime expireAt = LocalDateTime.now().plusHours(expireHours); + List tasks = new ArrayList<>(); + for (int i = 0; i < times; i++) { + LinkTask t = new LinkTask(); + t.setBatchId(batch.getId()); + t.setAgentId(target.getId()); + t.setCodeNo(generateCodeNo()); + t.setTokenHash(DigestUtils.sha256Hex(generateToken())); + t.setExpireAt(expireAt); + t.setStatus("NEW"); + linkTaskMapper.insert(t); + tasks.add(t); + } + + if (!isAdminOperator) { + // 扣点流水 + 账户余额 + long before = target.getPointsBalance() == null ? 0L : target.getPointsBalance(); + long after = before - needPoints; + + AgentPointsTx tx = new AgentPointsTx(); + tx.setAccountId(target.getId()); + tx.setType("DEDUCT"); + tx.setBeforePoints(before); + tx.setDeltaPoints(-needPoints); + tx.setAfterPoints(after); + tx.setReason("create_links"); + tx.setRefId(batch.getId()); + tx.setOperatorId(operatorId); + agentPointsTxMapper.insert(tx); + + UserAccount patch = new UserAccount(); + patch.setId(target.getId()); + patch.setPointsBalance(after); + userAccountMapper.update(patch); + } + + GenerateResult result = new GenerateResult(); + result.setBatchId(batch.getId()); + result.setNeedPoints(needPoints); + result.setExpireAt(expireAt); + result.setCodeNos(tasks.stream().map(LinkTask::getCodeNo).toList()); + return result; + } + + private static final String CODE_CHARS = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; // avoid confusing chars + private static final SecureRandom RANDOM = new SecureRandom(); + + private String generateCodeNo() { + StringBuilder sb = new StringBuilder(8); + for (int i = 0; i < 8; i++) { + sb.append(CODE_CHARS.charAt(RANDOM.nextInt(CODE_CHARS.length()))); + } + return sb.toString(); + } + + private String generateToken() { + byte[] bytes = new byte[32]; + RANDOM.nextBytes(bytes); + return org.apache.commons.codec.binary.Hex.encodeHexString(bytes); + } + + public static class GenerateResult { + private Long batchId; + private Long needPoints; + private LocalDateTime expireAt; + private List codeNos; + + public Long getBatchId() { return batchId; } + public void setBatchId(Long batchId) { this.batchId = batchId; } + public Long getNeedPoints() { return needPoints; } + public void setNeedPoints(Long needPoints) { this.needPoints = needPoints; } + public LocalDateTime getExpireAt() { return expireAt; } + public void setExpireAt(LocalDateTime expireAt) { this.expireAt = expireAt; } + public List getCodeNos() { return codeNos; } + public void setCodeNos(List codeNos) { this.codeNos = codeNos; } + } +} + + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f46ffa2..d013c02 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -53,3 +53,12 @@ springdoc: disable-swagger-default-url: true display-request-duration: true packages-to-scan: com.gameplatform.server.controller + +# 外部脚本端配置与链接过期时间 +script: + base-url: "http://36.138.184.60:12345" + connect-timeout-ms: 3000 + read-timeout-ms: 5000 + +link: + expire-hours: 2 diff --git a/target/classes/application.yml b/target/classes/application.yml index f46ffa2..d013c02 100644 --- a/target/classes/application.yml +++ b/target/classes/application.yml @@ -53,3 +53,12 @@ springdoc: disable-swagger-default-url: true display-request-duration: true packages-to-scan: com.gameplatform.server.controller + +# 外部脚本端配置与链接过期时间 +script: + base-url: "http://36.138.184.60:12345" + connect-timeout-ms: 3000 + read-timeout-ms: 5000 + +link: + expire-hours: 2 diff --git a/target/classes/com/gameplatform/server/GamePlatformServerApplication.class b/target/classes/com/gameplatform/server/GamePlatformServerApplication.class deleted file mode 100644 index 91b74416115ff01e428b17a264507c89e52a1c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 887 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 I$AP{77tP4)LI3~& diff --git a/target/classes/com/gameplatform/server/controller/admin/AccountController.class b/target/classes/com/gameplatform/server/controller/admin/AccountController.class deleted file mode 100644 index 1f547644503b93452c347e0886fccb2eec847dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5978 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%0A_~jw>+HsLN)u|EEa|XLOv! zlMFVqQYoznT)b^3G(uj}2s3!Y;y%bf2lN_wkgT4j&9--D;u6}PfXS4`KF>0n=4D&IYtR>kci zKCa=Cj%QSH+g7hiGxM&qtRhvQ$9KY@Rwe2aIzFlDQ|Gej+6jCbpV46I$RRH<)(Q?! zZYt7rc%YHM{$|PC%CrO|<}?&_%)=5G*jOb`2L*>=6lcW^E4{#;MhV2oBSf1UfW^J!=-tqiN zRwLDw8Kz5SsY+A3ji?(QxoJihWT@LTm8g2;wWlfRyzf_xGknzc#ipJTxM#gFGb@$# z2JK|iS!7Q%4Qgl=0y~XaHKe57>xpaLzfDM@gUku1utMgsGVwUrm{hf<*QSk;aEm%1 zIBVLbE`4LN>%fhoP)~ z_@;>?$j(T!!1hUV)M>fF_C!7?)-%o|*|G+-VmO}@* zu@SdgSr2NFpy=%l0_tDaG2w|Uaq2mBPEe_&;rr`4MePea#YDao-76B)PSwrJ)0XNW z+t%L{9#CFaMJ=e_H<6J{B%ddd=<-1@Z-q2Cg4gpoUOV#B#&cvmDOC|>g-D)o9N+U@ zvl5m}udf@wNZ^|brOHwaE!0rTZsBwiqYFTUd6YQ>i>HJdmB-_v9|%Ax)!U7 z_?nKFaV3c>JUpMZZRrMWUov<V-z#Ag1`@DG7|+izuC2%X1ETMsYYKnHfJizi1Z zb(;>}ywCEj@z~vk1@2np?2@{o^W8Uk4PtccDzwr4SFz=7F2zvdGlfn*2l(89I0mtm zjLTd}hh(tfa7G4!7!iz=pcpC~$75VpA3>?S|DijOIz?io<-j|*Bei{O6$96CPX|Wd zgT~26-r}cFy7~(Ou!~aDfzf7J?PIBtRgAp>eJrW1 z;^3R;9Ge{7zlOuW`*>sx9|cx%a&!$(sKHapmW}|)esTl$5XZfQVjm6=jzb*R(HyVY zHIA3?CF-yPcjL<(#qbreA@gHGHg&dp8L{K}xp}^F&Rz1YW_n_&rkM6(E^VDZ(Yi z_7R#Jgn{zy%;+j+ujAPc)FUe7y)WRchgj`FRvi!&&;FepB?QMnMf zP`P+bxp)AVz-uJ!B=gsq4?kekg}U7rh$GWf&-*C6i#wE7BJfVARf<0PA=hGfBS198 z(T_O)F?WTi{scdbSWn?+9H~6`Ie)*y@A0Q#^cVaM?*yZFag{M~ox2pDDZbUeHT)eP GV(@<$8HbSo diff --git a/target/classes/com/gameplatform/server/controller/link/LinkController.class b/target/classes/com/gameplatform/server/controller/link/LinkController.class new file mode 100644 index 0000000000000000000000000000000000000000..b04cd43277d1f66ae3a3d4359bee5c8987136d97 GIT binary patch literal 4749 zcmc&&`*#%O8Ga_&WRhh+8{>BUlPZA9SsV|z|d{|uTOfAT-*>GRF(6|xJ|AIdq|Z|3{n`}@4_ z_YVL3&-qUQ?7&}jG-$X#DYIr;WUX9A_%qVYnx5s(TdtXuj_=A$hL0KBnKR@387=MU zh-m0IB<6*g5l-4Xm^fr5eGO|B?Ow~VT;bc&nWQW`X=&IVucb$+BS~4w72Lxbnz!4I z?eEm^K+hKu)H|&qGAdJ66pdJAK!>5Bv8Q*s6&h9>XhO4wc6w?Z$Y&FlJ0%hs8s8b0 zNs*ZruC3k+n-PE3_B0IDw5NUm=~Tyl%b%60ap5xjzU5L{OF9f4l|ED3(=0v6m?>Xg z5j1PUdMa;u{&2jUnz(e*mG6_jYjdYJ?ph-0OOOd<=^Ym7G;=n8k12&$VXbE#%oS>o(seJN%?fvcP+orH z-KCd~fA;#POUK?{I`YZV2k&WEm9o5~Yv)wOYIsP6%IoUuqJSwrK9U!Vp1;twqigxZ znWd92ELzj)%(g;UGNU-;~uXP1tg;^yZUk1n5ik30W<_3caNUg4&OP1T_< zVZAB`>xtGm;rha4Q0-KZ8gp7b()MdlPyze9WNLwYTUU(eN{KD-?XyJ6a>?2D*kBku z=?=zHEJ~L}WxH0Yk$sbmqP^mLY9YsFG6+-0T^hF4YI1dv8dR)-yYXcWYtoiKLPYr^ z$)qG|mHy72-pk85N;B>;a4+s70zENfJ(^>-G;Haqpez-7xfc|+l*L;O4B@Lm%kfp3 zSqp2c6vZ6hBDRK=u3-b)u|q>NWzC3u#^;%an=6$Ssbjq{CH(;d4=U-M^k=*pM^Ws; zn2ymp;kx>rU|=`)Fjd9kQ@0a6n5;CZM&ql9P(Trj)o+EJO!__pF+9YoXZ>ebMjMNf z%KLW4oXI;$RXgUM!UJO##{nJtHEgKUWeps}I4_{A$nl0Om|jC-eH$r+Agy=JULAo% zepCicL%Irf9hV16gHb$JuxD~BC<@48b@;+nATHy#jom9b$JQC#oI0N1U0a5v%7KPk ztNVnKU(q6>_y)eENF$sPJgmjm7i?vq{M`&5I(1866~9Q?{T0 zT?1*%vL0;5XYWzHos&UKgEp_>h6+!MNaqQoq>-W}BeIE<=)POS%e8OHtAo0GZ{ham z^}r(I75zW;lfuoXgQyz*0urK-SQUkbybhLotd^+jcFe%M>UB}VWS8)hv$2#?^|XNn ze23d!X`6w+qM&=Hl}X<-@Qjkd2H+pCtkk$<+L&I69~gL6iD{>pF)Ni%`o%L3&l~t5 zenhm8YxmPR_Vf`twxNg?b@7?OtT!fnOEpCnvcwApUc^h}qQo-SEd|R~UH-WgfRVswox64Ez+wL*GlZMc>P$YJSz&<{z#JjO)$?t3Kj#8qu($ zrqH^*qkuNrJ}L8V(%NIIk@<$|&xN~GwW(qGT8AxGfM5RFppnY)}b59@*~7 z@hNO|;J0f0_`QKF9CH4y1DsHen8Odu(TwmsHMXp-Zksy(%z3&js>-$Mfa&;<8Ldys zkIyi=xSf`$5s+1^z7+Y?#Ah8XXh199_Hb?B8twa-fBk<$+lPE>Ks$d|2b?z|g0-Z* z2_4+KDWt|4%2WTMfmGHGpPM*qaN$)(hGvo~K{w+|T<@f)bv#-BBs32jaEp4ja4T-Z zMiO;-G<1`PJJ3zy{zh(X=ED~LY2Dh^pl@ zA_LnZeIKE1VDKEivM$2S`y0<;8`qs`UBt+F>;)F_@LBRU1}?7;LbQ?Yb78b?(#n_RzIlYaXiTve!8pZ zC?8ee+8QYa6accSm~uv@DCOE1g)8xGegA;2ord1Gh_9FJZ4M3x0^5v`5D98WQD@7j z&N-xzokSpe!Af<;;>r3yNK_r^|?j-Sgl7E@k+mPF+^dQ zk~@glZd$ULaN5FT+(|t2R9M!BSMeHoT9~ZY@douq@Ma+6tpI>s^yz1Of14*E2!D=W qP{Roi?tJdHmPR4Njkr13cX|A~H_!CCwT>;4N@2$4tt literal 0 HcmV?d00001 diff --git a/target/classes/com/gameplatform/server/controller/link/QrProxyController.class b/target/classes/com/gameplatform/server/controller/link/QrProxyController.class new file mode 100644 index 0000000000000000000000000000000000000000..04874d1817144b9914bdcf6a8469d84d8cde078b GIT binary patch literal 4063 zcmcIn`*#%89sk@-$YeL8q-l9t0X66bgsGw^Y@j895bOpb8)I$S;@#bw&5+rdVP-av zT5D+mwW4C57VYDl{#Z{R9t#Gm?aw{^GmNo6^*`w8=gw}zuGtNdbGqlu-aGg4eSE&p z`R9Lcd<5VCerq5hu&>~it&%J&-;vRz7nH3~1v4tJ3Z5GUp5t)p*zUCTWH1_d=Vk|& zmJPHEbf1E2|%?2;>^Na|Igdxc9tuCfMz}C4o*q@QRg!BJreMmL=-1m;17| zXN6~FsYD!R_E??_>!^p;310=VP^4~zm2z1IvjXcrzHxcsgZCDGcYgk@j}~5j@#7DE zzi{P}z`czsEm@^Ox4o;@ZB#~6i%vuS9aWur7;M{3+>ZwYHk9SGVgwar^t2sKaTZ3> zji}`PO%1rrCsOFcP6Imx9=)xoGVvhR5#5rC7|(90hjFmmgoUrr8nlZ;w6>=Es?J!6 zY{#0cxCL!xYp6EKr0_5vF|bGAt`!{A#G}~DU@J>spueVF3yQb$^q%Fx!MOGbH&tQ9R09od-e*lnAGsMfnq zoMwWwT{askvu)CLl*_Vopjr^L%Ct%uF0C>ZOC)frNzR;Do+@rzRn62laRw~V?Rf^V zz=3*})rN<4x+NNoQ0j`8pN(`)OH2$1q;g&*D5xQ-DzJW8f3;i3fWYHT$v3O5E+sg?@vVyW#as%l$E`wQ&- z^uu@NUw`A%3s*mR`<;b9{AuCpg{2$S68)dQUH+VrjcG-n6o+enmuBZinJdYF5|b3j%M}o3VDfN^n@Z zMMs59v)**Y&n)+*x|N2DI!!h?Uhj`f{<2KcLFqU-J5rgo9r!^fUeqm-u$CavEl~;JFxiik99R&lNetYJGwv(|>h9~ZUV zdZ1qVOxM%|-r7<(UQe;n`H6{r*iVSx=*E7g&SS2tfBLS6Yc@M}8%D$_-8W9H=tOXC9Wp-yeAoBUwWUoxDvac-a!2_*S8#4*7! zwc|RUoqxq0f8kpKYx#d?d~+k(v599lqnm5%tEce=($l|GOqDsD^EJ#}90b0Eb)2o| zJb?|^$Z;!YoA_*=fCzCHz8sHtV+&7j4Y7@KLVtJBbNOrzabGN5o>#Q=8+YD7FEFy> zJ>2o&HKcD~7jO*^{W)f#W$mGqnvFqPYe{VbM=kHRnhuNdZY1T$$ikook8_q-l>9!R zJEd*UO$|&)ums0_?<4ar4$a|cf_ja-ixcnTscV>+!>I)Rf#Dw2{vk@wwDs7zIZU_d zr5$td61XYb`WTjbD9OF(BLA(_&+$wZxLJIc zyU&IA9-a^JeZ0Wk9VF}0zb??_N|U2-sbq5j^zIU D8c~e0Jt&oP7fUiI+s0>PHc+)!g`Pv>Om?oX%iu%RzFF7N~ z_`x6Gk8<2g%a|GPOEZ(~?d@jw+1=;v_n)7?06fFX6k>>LNa*N6FT-lpYgl#O5KV{6 zL(gwmf$&d+Z;4M;(Ui95TCW|i!kx_veT%y_NBFrVhF*DO2f0OxvfXW%g2I#3kwTgw zdBUAs)vE~xR#FCCM?bDH^eIC_1Ocy;ExUcpPq^i9w{DfCZ@cwE8W{{~$m$rvFvD2r z(2}-eZQJe#QQP9d(GG7Cqqx;F0BBgf5ls}+;Z-fILpuvdUR-+>Pcf8_+WA&=sIpDsn^v-5NQH-J3HH_R+ zfg!Ua~xNyUmogC`W8jm>@`f@#S>8w zMT{YG%#C!#stN{Hat(@tb2!g1;2P?}ad?evsm&vP%r%3XHEmbgx>@t0Bori(@|~+f za@}zLcHSu;iHgj}Fo>Zrh82w9BEyImttoXw+tkf>qFUt6;TCUDeFfdrjVerhkvmXrQOz)g1b=2)QxZ}hxJG)2iSoO#f zr@o2pX1y%z7rbnE6tODY*yFbD?)}4%OILuw?A|DL`%mvap9HM3$^4oyHCR2YwmNWIRY zf+tv`OD$W~j|>Z$|7$~c5k!w|VqDR3h*3((G=;rtaK{l2CW-cg^bmy-33ucHk~HC- zq~Y}>y-Vc5XpP_=`QIn)GlKM90ngOw7MMEGLRg(`VL%-XwGdao;ewhPRlg#9it!U% z-B(jLXgAPSr$~*r)$A#zPjK7ae4%gwJfQ!WmvA4Wc!?>zLJqI#rF?^@c#CKcwFjUU4D_IPYqgagw)U_m5qjT;t=jL+%13Ul2EYw0KMUeVvww z#dV9);%1*fWt(aBg;Vj~#x3DCv#(FLnu<}z@y11qYMQlJM89H4Pua_AuHF_x1*R*g zRB-}k2+YeOZH>qEJ}th=>Khu=6Lw}Vfl!}rx9h2t)~5^1sI6zM+tv;xp=6*6f^u?$bnBKVPoSLrT&Pa3Xnl&vQ#W-8wL}}4(EpEg#=@%`QWm>NAMk#!Wz=|NMw(33M z9wQM8r-qVA)3U=G^&W25PY>0bIiA^C!Rxq*gKx+-;^8(UF`&oRX{r8pEg8a66o$}< zWh$DmT%e4OvDVPzF$V`NP?>fPZ*j_Qs$_($RB=9D&mhpE(xK_`o*U%v(c}^8{L(v= zh&t}S+DxSAl@=YX8LJhnQPG061mH)SqF{yL)1pQD1#0|TKJFM8Y-fddp1e zmVMQF&E_t19O!v`${(2wlDI;Fr6L6a^rdk(+KJvt5uLpR4p> zDR{Sv8}XjWfkyOHlA)oy={@7!bWFl?2UnXh=IeztX^_%m3WS`@x_Gm|DOYc+8ArMs zc{ku1S<-Hm_3V8z%6+!+l<|#t*3TcQ>n_CyFi*j4tRBaRuoxdC)k~NcS`&<`gcf%V z=2%*Sxo32{lwrl^jqduttYN~RrM|vcgw;uv$bPGOQd5}+vcv8NOwzQ zb4w)B87am``P1lKHy^(7-otl3bolz~j$ZrF(cA7kvTK)udj*yqZ>zFkaR@tbzif~m z5LjQ^cD#a`f{Jjrf{(o#aA$|G6Awvn9~bC(ZNUY(MF^k3Cl!23#iwPw)d%^8FWI{e z=6HbX{q8^qJ0U4)w~9Sd%yh=Z8ogH=il^JP5FW*23O=J^ubfaf$v)Xy&TLO%&bySc zJA@JJS8zbZXYo1urz6PMZ?4s%EDTIQoC%aHHhV3FN#Fy|~geh*@1XXnEPI@=nL$;jjN!s+hBpSA@A zp)T;5dEC|9xLvpV&DeTPcCid^DpDO8O4!Dr-fg4|YPl+rFxd^V32>AQvRI~@(=v0z zne^x#4M^*`fk`oFac(Z;(sGxdO#dpd#Ba;Mt~HpOx%s^0HoM&I1kW1&MpU4yc4GXK zwX(r@&VQ9c*#g9LTQlO)a;|OxO)NX4T-UuSnRegv$6K`A$JDqrW+myWcIgV}>I7P( znev*OfTXP8}FamAk`^v;! zPq6mmN6sYDnEzZ{krZ>ntiR&=Jzie}TaQ#|P= z-6EJOpNjv6@ISn$;3X9=vyl4lqm0C`IiQEz9Gi26)|>7zN?AIyZ%_Ii(_7?ju+Ay+ zsReDOIWUy;pRe-sYtF(AOxOPD$Nr{L8F}%aCR1Tr9nVCGRZpzOc6H#6)*cs0}vTNVyp6y2- zynpnbTit7(Wi>)TZA~O}%jsS9lp;=KQ=6x5kh3YGn#atEr!pFvZ}j_!>9( zI)9rY_yT-`f7P7!O%BiB1QF$gC*-q^8s6Uud<#zofvMx>3)5iEa=~yY4@?cg%pDiZ zQw5%tSSIsFW~Ei z-mAx7F{{YW;nmtd=B#uo|v-LzC8LQbPBe+zcItTizx)tC;uAq-2-rjdo^{l1@ev?B&Yk~b&adK4?;%Jke!{h7D0mSy3YIFk`~}iB zAwAFL((_aN%%kTreoHT(C+T?$>3M6~3%!td`+jT()y{Lp@i)pT#@{ogXRgB@P*Pd^I39l#ii9S7 zbN~PV diff --git a/target/classes/com/gameplatform/server/mapper/account/UserAccountMapper.class b/target/classes/com/gameplatform/server/mapper/account/UserAccountMapper.class deleted file mode 100644 index 27e4f343ab50c8b31477c1be4ae398f9cde6d7da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1564 zcmb_cU31bv6up7+RRN1ii`8n2)+sOMwN9-w^udu%svWUDyCe&24M`^1;NTDNNBQ6n z@JBhG4Y5lFe4sw;V4rkClgigfwt{AA0`1e z=+l9vi@P!u-r#6H)3TQK<2&3nxhI93Eb8hA-JEeb^qq4SLRj)JGN>4*eWc;Em*#tn zBu4zBh(yojSAe$X`I1TDdw}j+emF2$!0aJ6MGxu7WV*miP*BZ{nHyuk>h-}5db?oa z8_idoDs&u!tXXc$hnF{E&IoYkg$J{+g~tc0??S6%P$4}upo{~DNtjcLxa`8(SQ$Il z`+{=-ntYT3s#BJ87DZqD5S^BTG R@DfU0u&cv8gijNm{omUAjm`i7 diff --git a/target/classes/com/gameplatform/server/mapper/admin/AnnouncementMapper.class b/target/classes/com/gameplatform/server/mapper/admin/AnnouncementMapper.class deleted file mode 100644 index a4a44f536a8a67aa8366115a24f3b030a93d33cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmbtTTW`}a6h2PZrY-H*ShsR1x5A)(!H+z2AgvNeg-kZ? z{3yh+dr4V~K;ywmVxRNfob%)7x9$Gp;XH@QI};R`WC?;0R>te$KHg=3hi6#t~ng8_Ak!p(Iuwdnyen zOPGJjsTkvSMp;onZ5NW1r!2}jfr^kA1KK(1-B@yeM4(|vmcb!xo&-!IejVMSiFr;3 zn>k^tYl1wDA_A@6Xw;uanQIYIPh=Xk?quStk*X$>jHA@rg$O0nd5W9oTUt(T?Bp%7 zRekiKt)5b^|A9bre$nqF!_@H}Uaq?sDiv`i2U~@^eAzSpx1Rq~zH5~aXDg*g+gPoo z`Sq*{U#u6}A9(GDURpHQT)$9x>ht#^!tC3d!}7|^L4^Q;5{@1~4QHne6>z}CuQH}< zHgPpfO&!;*460bvfF^z{igv-w-0jV+J=p&{)EziLb^}#&poNb^Tt~PZXj|^KQ*gJ6 z*F)sI3->JdeR#0IXqKRZy}#o;v^d>T(cCFsuR%V7$AxACb=`gkd7r@3MGDh8PCGe?dCg-N~?32E^ zl}%2$L%FAfT5jMxL9TPIF68tJ^HHqgen7ww$kP29VwKCki$F{qetkahJgFkhn0ahU z-==KNtP4)X1h)gqk^~x6AxVD0oRAYJ2oKwUc20Y@mfRl_sLE91a2Yq}J(~S23A{`< zXsmpJEgBB{ao0j69BPU{p{##Y$gT>0+@RoYR(4lbt~EB-D7BNll#_4E zIrh06iHzs^XK8;LD$CbFzUR|}k--9CY4;ou+d2yEZ_(+fj| zvaL-omTc`dYx15FKyQe3Yg%O`v>Nsz6FE_`(JCLrM;apsheu;>5+-I2#wQ9qoD}g`dWO zAHa`7ecqO?v@H@UhmqIgnfKnjonOCy{3N1d+HX?8=uKo39*aaSwQzHrCOnhrN~Sy! z%OwsGOXGN`%(t;{(c-koHmS~N=Ul7=*TTg7x5I*pz>8{ z)0m5;h!&EoDbg7iWdSd`K(etCI+u(Z%D@23@^)}Hy~7Ekw*KQ6qt2x#Bk!X(=H(4z zCX?Z%SGiLfR%Z@+nuYPcp`NMlUYMQFGYMhsGZh=*@)XIh{{VJ$w>eHAVmq?1c)Y$A z-@Cy#`~aYr8L?zoVISVHt$%>Z#r&U_qcn` zUA@gZ9Xy!HZC|en`|N~yXUD;2j?x+xPT4urEoPhg$NDKZe2vDN!fqU0R2mw+-Kwhd zs$-i6rRraioCddazzF|h0Pg@e$J}o@jZe%)kv?}ljZy*#>z})bX!9?^6LpLC&JS(d z@tH3i8=jk0$2E1LZb$0x>A@pv!Fk* zeqAy}s;n0UEX3mv?Zz=A6*dyruaGI3`)@n4qk7dbnDq)}pWy94GRnH#L`NZ2JH(YU zma`mF*oV++DwOn4&Z<1wNYqrRltRd^FD#6+=cDVnV7O&K+7sWwCF?Ys9!J7_O_(;6 zaw^f83~myLXya8F7*lze-nz|n~o`-#RV zTxk}eLDc0V<{Pb`|M;Fm>r%wtQ9;V}`ddf1ydm!`Onf=wJ7mI!&Bg=|qU8i?Wc)+y z=n75LoUUu|H^KtsT>q83BX85JMjDOb@+O*2rA7X9DY*N8@ms zq$%YzJ;X_7nu$9VhBy`AG)vc!HiDZY`46~}+?uC_2rr)siYi9wim6y($}A$yO}Z7u z%x8Kri-=poT8`rPGb(6YnMGwTDsxGh%K*4dcc7areQJzW@L0uK!&=8m(cM6~^)VH+ zqRdrgt|8S1Z7MxwszK3L;B=4fM|iX808fgrils2Og23&x${xdvks5$6(E}x~gdZkv zJQJ#U7-wHjRFY(0Rz(fKZ^zloRD{ diff --git a/target/classes/com/gameplatform/server/model/dto/account/AccountCreateRequest.class b/target/classes/com/gameplatform/server/model/dto/account/AccountCreateRequest.class deleted file mode 100644 index a8f34538efe48280478607472e500fc61befd8b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2841 zcmbuA>r)d~6u{37gouPfL9EtV1A_7pH-J)~2nagZfRre0wQ8@)HLPZL)7=eFrysN( z9j4T&)2X$cKBnylYF~rQ*h+D%-}`Tr4f0QPdd_B(z;+owG&8xcJ&)fxd+yo4{#p1F z01m_3>%j*_0VocFA4(WhUgqOmN^&(JoxFHi#7qVyhh$YYyBHKTHjS3TIw%dm`XH1+ zkU>{WQ=|k}L@LS6OPa1ohS0}_E-6}EB&E2iNjw(Q(yA%-Wap#0;HDT6@1%u+#@D4$ z;nce+!JsNq@EtXESxp=yZ_fpxf?U~>D!QV>=Yvp1hb4x|&9p&B8-h?{%cZzsOlW$X z4qphuCfLlNJf+F1Y4mc8EQY=+SNMu(=!wDR5u}tAF)ADK#iZy_RSj*+nrblE6_GW` znBa*7hBn?IY21)_K|oSOT;@_VHYOB~rpn^Ni0N{Qv>61KKE0Qjdbl+A$ogiQK|oA$ zC6z=7f6wv$p;HVhcrvL?aCAD#lb9BI(lRy5gqW!!a=ta8Wn*nw1#Je7L~6GjH?Je(8wnlG?P=?*7BVv*20YSTYJZzy`2)Wa9~7gDVsg<;E?QvM0JOsH0g!SA!qA2c?R4Bh$LMBH&f;F$b=po5 zw%|03%l~Q>NE|&MeLWnKPCHne>MFk&J2d&B#x_iuwTOQIlBug4Cu^?>)B1v^+C%+MS(yJYy@=c0)IG`=&xIli_p+wNpokI#uc- zRiWz{v!LZzffw`4{>&^DG>ez^cu6amS)SLjwyCj9#w;7Q7ImLn+$x%e#T5$ZS*(|+ zEtoKk+=^J>4V8MRSE2SYs%?K!L~vhST*@x#USyw2{il%zI7Iqcl?KIRn`JY*Y>BBi zRT>t&-9=M3Y-^QahZ!e$M5R%BOQDWTi8GsLquBAVyO^yPxRx+8EFXiijeic^d6mYU zjB+u1nz4l~A|S0>`c9rl4a3CRIyS1%OhPv`YoFzEIG4Re&19CwY5`h-XLY8fGP}IM zRut;Waw}8Piy|9G@Xz6|)q@xDm_i}`IV%+NI1FW8A@%sd?+}ikzO4NGtwO=*?e*lg zLOm>>H}@GB(kx%*SUwnyZN!t?fg9jmp+ z;wkS{J^t-+<>2eT|M>CMFFz^NIvO8(4jGSpDJ2Nnq<5tO3x3Zt!Heu!9>GxZ;Y%QKwl+7yrGq3+B-j1zOqu0UhTqb~l@9nm`Z@8jpPH`n{r$?(1G<3kGk|6k z!ic6q3TB9U@tnZSMT_31OBP+mJDP&0jyP(IP_GDelER--z@jPf8W269vCOmxoPmnw z&{$?xsB>PKIg2y|qGdFeiHN{?sAwCF>Vi-gp`t}Js#jgL2MW3^#%tKAhNpsOaOwpq zPw^6a5V2?6c`AgCAyBMLd&#*@%7|G3O#{XpFAc_zJazMaFUnt6er&{HT{f2 z{-w`5*@JF`x3s`=@93rgf@d9`_vr%(Pq&|ET*?!rRT)pWpXWjo9@iBfPmja1CgnNf z=b4c5#N<3@{5%(%@VMslc={clbt%t)pXZX4=a!sjz|V8J36E=ck7v-~xh?h2ke}y@ zl;=aae}?=#lTCQsugc>Yc6j3Sk;Fge{5)YP&&QOI`RAOUXQ~O0`yG2cqYlr8lxNJ( nGcDyw%6Z28JTpyr+|J?gjDsgYcbsw4X^dSssR{hh`aby&3%bFN diff --git a/target/classes/com/gameplatform/server/model/dto/account/AccountUpdateRequest.class b/target/classes/com/gameplatform/server/model/dto/account/AccountUpdateRequest.class deleted file mode 100644 index 4ee9faf8b03eb36ee128d82d1e37440f4aa415dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2272 zcmbtV-BTM?6hE8r(Lj*MM}=B!N=qA{bc57tzp$auil)dkEf03Ab4jjYYqA@6H-Mc! zv^qGcv}4DSR;Se&eZY<%1I(Z(wDRu1Aqnu*|G@EgHya3P7$1Ddz2}}i=XZYR+;eXJ z`e*S^B05EHRgi<6N7aJcwUf=g5r+>9MEbw!Py5Ye75 zN@$8|8a)h2gaPZxgAHl`m8kIo2q|$sq!`L@j0aRz1B{}nhD3*giY6OlEE+`?qg}Gb z44G{j$Z;M~m>dd^@HhihWrQ1HT}cRUiQKDSKFXvPR_B(|-%d(Y&c|6i5d(?Rz`4GG zixO3{SWFvZ2s*@KsDSv=d%k}_A|Ggez;u(zqb#PNMgWw=FuJ|nP>lS+JengCO!(dTFY|a(doBsUAwNIX8zMAn`#@|qePiI_Fo#-;B5ZSm8Pb1L{%=M||^x|}Sd1C#$rS!u` zT^&b{q<^`;`t$V4ACv3%=S6;(S;w_N$254ep$`W%#L7$us{=ZQZy&C1_rHyf`^R?zp zhCOgFGV+b;MO)?`1ly){2t#$An{u;O*Y`T|a^*c-@6jRx(a7Y*7?O_#}G&`UzxgO6SVp3MgBqx~?iA*q%M z^bYZY*>IhJYJd#576EsF4npJWN1V2PY8OC7D$?d z;GkEriqC}7zJ}GEHK1d394CoR&`GRYo#&~179aDS8;d%hqHb6T=i}JL&6Tya|4QYB zp?6u{JF^ycXhBQdu|%)KuM`c74O3Q>PgNnG-9`BXiu0)|0Ghi$B-2P`(Sc5e1DC{#;GPIv{`TS}=@^F2(<)Hr3`25kyqLjb$fVJgMK`hxy-oO8 ztvx9MhSb8`J8v@d6(0F-CW9XAPvbxqz1I7TqkZlQUoLyXT-2e@BN?v9ko&qMJzg@J z3&+vr!0EGfa~oh9iD3e{bb zkrS$A>&=ka`szl!@oDwD4;j*OP58^6WY|C3R5Up?JxVxV1qB(nW+_RPpwwr4vDP$v zz%Wj_FN@F!z9KwTs;T1+DKw!_fr zZ%`jl?g}c9vt@r#h6{pfWh<&3;T1)w?73k~nI%QVd#&*Qx{B`K<4V&~FNXdxTZ^5+ z*zKVn>d7|Tz}Ta(@ghytThc7)(ghJxvl|(bOv`bu*}V({Z5)khvSNs&4LI0JvV*fM zUGut3<8V&d6b@pyzM@Z@lcIhB9Jx#P8CD17n#%Ryx?||ihLHaiK-K28@$7r>W8R&&d(PfTX zR2_>6a5^!(fXPN2PP>iMk-vr94f;_JU}->_n$8`&&Qq8s)Q$*C)R{ke8@VQZ-8)zF z9;`{}YYx15FKyx)nwC@(iX~B=`AS|J|Hd>kN}BOC{cXrLj?XDfX-XQ)JNFXE* z`~ZFw;yDdz5&{PlWoE~oH}mF=fBgLRors>$UY!D3sZuGVGF2F@pNWy+sn7|3-9M9& zV^n#pv~o`wt+YG6RjScymFgiiC}i{?G8s=qCWonTZ;j1(F6~HKo|#ytJa&eQ!VP%W zBuXF4cZJMRu~r~U1I1{gd)e^BS*4Q$-(oGKmaktMiadXBY|LoqxX?~zvZr#@PvtYM zjT258oipm7%DJ#k@R3MWJU-?TuACK0yPO{y_Z&l=A27N-U+470aK2XQ1*kJ>b(NNf zMb?-0RG^=yY9f*LgjGJC9G2WbfxyG=e+U6GjYPUPQ!zH%evse#Pvk&SKAW`F{xhf3 z!{%N|H!$&$un^Ws3s%1R(NsWR<}#|En8HT#rShX)ncdHQPl5KZg#b?^zz?g2T}M$C$q z5B^NmkGPx#HY>8QlV|3{m0mik9+e fF7jzE<#T5_pXMT;wZHK3YESvJ#(Z{R1G@VQR-3!1 diff --git a/target/classes/com/gameplatform/server/model/dto/auth/LoginResponse.class b/target/classes/com/gameplatform/server/model/dto/auth/LoginResponse.class deleted file mode 100644 index 2557f1e0e9d426e7d991d4afbb1a25da866a9e2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1745 zcmbW1ZBNrs6vxlq129$?j4?q(=JPg``hX9BnxN4HG9Mzy`?6g}ach^hBl@9CG?AG2 z!VlnwGXBqP>AKpzF-v;yJv|S<^S`J2{paT|B6>obla!+LIAt`-(wLx`W8=ioJBHQP z-y9yxrYC6Zv1ys!Q$gu!?O=i?V0k7DM>;v0r2IH(8cor(p!KHR)!Rl__Bw|5!FIa3 zE1eVR=v})dJ9^8rb))Yc=?%MWTJNOWvn^K&%6axjY3+aRVP9+v%I|rOX|=bw$c#p_ zTp@2Xo6>dnIe_hR8kJ}sDdeY~=}33S5+ru{%{h%0IAWp?2F}gK^BOJD1>m!Br-f!C zZOJnFgm^@Q$S}4t1f##=QmZ>@XK?K)sKq_wV5>y?>hA zv-?g{zBGfIh)mTQj}cwMou@G6V|Zdhu}kqBsTFghR!oUnF&Jva)nlC^!Jh-36`VE@ zC$Q%0KS_cdCR_hbxv$vx3AhS! zM}o6q@C~ZMtAh8NSXD3e)uHl!w5FoVzDE$veRJ1>YKYGY9GIt`$Ww^(OeONHCi4^q za`-&cBY0T-kY`r$+@xDDRj}8Af2L3I3k*?x3W+>xDu{zODUBa`uCJU@G0rnHf`_Ld zr;;N6i4vzG=@A2isvrfgQvSI~a`4dn wEXH|CBY60$2zi!}27hab`YgwJ<`a1yChM~t=P8fi;jc5~Sy4QX@J!LhU!?B>HUIzs diff --git a/target/classes/com/gameplatform/server/model/dto/common/PageResult.class b/target/classes/com/gameplatform/server/model/dto/common/PageResult.class deleted file mode 100644 index e70f5307d34f3c956687aae3bd04c84db62b478d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1893 zcmbVL>uwTJ5S{}I6iP49LN8cLy~0+zYFkZ8ZDLGJAgGNc{NK`*ZnLn>vNX|m@eMT5 zq{PG@K7bEp{ASN`>Gl%hkKHq8&dhhdZ)VP)zrTJH(Mx)fpb&*)q$DXqQ9-jO`kAg- zdb_E;KRhuSuAu0y**4uhLE%EN9;XS4$0(7cNlFUZY}hTWske+%OLsroPD|?;&Y9t8 zE&Ir@v?JHn5Ye*R+P>a2J{X;@1;mKy8m$g4t9rL}UDML4X2&ft`gD?JXcj@P?dp~w zQDJX7NpmzWNI3-#oMm=qleFMDJLYFN;|FH5t-DX4`nz zZ5+qU|&ME5YSetl*`3B z%K6rCkL{y<-9bZK!vXVLFjj*22@_4jEz4G<3&kL+poL4$K8K0UAagEwMTxmA2E8(q zkNDP_>@6m$0tdi+hf=6;NDLu7Fy73Su}6g5D+Ny~2OM}!=Obwqc56FQ!^rrS_Aa{w zB@XPa(=gtc-1(W|Xm0R4(i%o9gx8_qk0~dp!7fBg_%NEDjbZdw%pcYSV(@(MU&ihg zR)IC5{v`1OMwoK=^DzPN7XA#109v8jSXVE2^4Kxl8uA$K3)U#s9K)&WJ&LLM9!;qk zrAH|>6X{WAc*(LCItA|26bIXB@SUd=fYRQ@TL1=>e=%E9AzQ4Cb?5l00f8;n7x4&Y z{j(Ly<3wgIf#@CBDFrYD075DuiTsk?MZi6}kJO8WIj7in1dSGEeyqaCPCNkYLn`2`^BjuKg_qQtLSb}#lkfzxMyNyfLLK3DBKlr=Z*;4AZ@_8Kbq&1 z`ijF*&WmGmenL+Nocoo}VHSg&m#*Q=({%%9o*+TbuH>8va$X*j^XAo@M_!JcmfSU* U`5oNAnI}Hv&-@l`d%NfV0HY)nU;qFB diff --git a/target/classes/com/gameplatform/server/model/dto/link/LinkGenerateRequest.class b/target/classes/com/gameplatform/server/model/dto/link/LinkGenerateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..19260ea6b8e443eb4ac5912ed009593afb398180 GIT binary patch literal 1446 zcmbVMTTc@~6h6~Z%B4Ul7s2}lwFP7}#ur2rVxl3b%Ejob!G2opWaQ$FH650B{Fr5PSr> z6+@#*rtx%&iKm9CQHz`7+@zY3;3=9A22H8@Ga5(pfa~03f)DcN8E%Onlo1Gzv2jLI zOi$9sBV$|<1Oh_UxJ95Lei-Z11y6GGHi6c`j4l&~RZAU7@m^gw1QV*EBcd~|8q|8h zl9)=zZ&HIZhv9{_xXhh>CUec z2=bRqOQ$#i-;L`8>eAeNf)WNY45f%y1S0m@OaUuV^Xoq+X9$p61Zr85>!Mdt3{>5h zz^eu*@N9|esu{Cb8kQ7X4dTK z$=vF~!R~Y+6HoGsuk-Vt?d*Fb*`Hj_ZEYOvP7x^YQFT?^CE$<7h6$A2!)a83A5Mgz z0UEIcoCklD(MGTmhHb2=K~azvmrA<5Gof-ux01bN($hEkahLTaoUGBT#Z@2j%8EgsLmOTKQnfaHGsp8VjG z^`jR=FN|vio>W>;1=SXWaF2ET8?BYmI*g*aVzk=95{Zo<8Gc95h_(r7DXs+9K>HRn zZ{WrUEodb#9zrYHP;q|}PN7HOG@LuGcA2_K`UFoL3<8b{Anhxmqrr!e%Qp0K0m8d@K8{RX(VPD20y literal 0 HcmV?d00001 diff --git a/target/classes/com/gameplatform/server/model/dto/link/LinkGenerateResponse.class b/target/classes/com/gameplatform/server/model/dto/link/LinkGenerateResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..b0f2dd88086a2bb4d69c832c302c2901c3a76adc GIT binary patch literal 1841 zcmbu9+fNfg6voe#o4_gvf>ykt$X(X^4Kz_vLsF55;eFVSWwhOGcBiPX#wfgDVuDc< zLwq$x6Ynwl?%$!UJnZAN^VYCGa|zw)tD5X<;twCX0#zc|2h9^X>62{krc_Cr6wF{E6B$4 z^DhhcKCgV8E4*GREIj!2=*iDdUknH(57^rmy4cbVX zPz9aUsvSkNh$79XpRAkidmTPGv=dF~E?pabjPzI&95JYwHV3^4MN7R2%ZK&7Jw>eW zYow^oZ2#BryV;WI4U-lGNt z;K15|fdE>%Hqe9sUW&B^QZZ_+l-xqP9~fb*TajX7XV`1{Khn0he$95Q`c48y2Ua6U zpdGXmCq}zyH`afP-_f2o2*zl&xFxc9FYQB?Et|ZVxhwS8J@G zPhF_1VK``>{gFJ~l{{M_d3vLHx+{6w*5L{4De^S>Jblz3(Vu}zp7uzd12h!XpMgrA zt?TdvQ&HsE=<}F#5R$<>99rYs;YzM;kz7aV7-lsPIqr)jAR792So2ktxgTGLPY)-f Y6UYw6suttgiZ4atW}o;Z))<}o3oK}OsQ>@~ literal 0 HcmV?d00001 diff --git a/target/classes/com/gameplatform/server/model/entity/account/UserAccount.class b/target/classes/com/gameplatform/server/model/entity/account/UserAccount.class deleted file mode 100644 index 0670941cfa0b9315c21002d36f4819db383e8706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2203 zcmbW2TTc@~6oAhZ+EQ5Tl|rF_h?f?W^)3Q}fH9g>CE@ZuY}c}+-EDTK82*(e8WSJ< z0sbiCIn#E#olIYRnKLuzGT)hVX7|tEU%vt16&y@L491c$Za^Fo3^JGeiknUDHq1}w zm$oGsBz7Fv5xWe=D%G~@oj&z|2h1KYo{eY54&?WSqF z!V%Xdw=A#Y3iA||``tN%m{Z5&YJ>A?p4-@__%{qlLx#ab2klR;+ctw-#O_%5PR}xD zKt8l|5rf=k3@Fm3(dI$$#q;a$cyK|AIRi?hNCbk5PC#1=29zm}>9*&%A~@ifxh114 z8L$jD8Kf-V=EAP;<4u&h6vAoQX3evB^9^cFa3!&C8L%onI_-MjWBd^BfkC?Fxc0|R z>m2jp=S`Uq`JZv$p>=O_TwFK-gRR>C-s(1kc*7R&@n&@O5-s{k!s*>4@HdM5G$HmLJq1)DI2FOf!kQ8zXI9JeLeDd+^309kp|=t8lqAolwx8!!o|2a5rM{o%Ri60~JoH9G zp0ecGf^FPV`*~62SU diff --git a/target/classes/com/gameplatform/server/model/entity/admin/Announcement.class b/target/classes/com/gameplatform/server/model/entity/admin/Announcement.class deleted file mode 100644 index cd8f5336ddcc6eab1b42fabf663b7445a6946242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2033 zcmbW1S#Q%o5XWcJCTWA)G-r?W3TM(n&0TszDIkHuA+^oB<1DEwAC>D=;#+|PLgIlB zz=uN2tR2T)ZC-fU$$IBM^V^x({Q3LqHvsIxiyWk2EDPfrq#?s#=FGS>blY%y`p3>0 zHv)Z{j z;EQf_9m~}ZT-WQnCU@{FgOt_9Y^`Csmgn|%DEzbrd6;34My<^m6cbKIfp0}_MGZ>i zmNh*$z>p-ZXi$Y&{Kj3QV{^<L8#CA&iRRNlX_8uC0J%KY5Lp< zc=rG?=R;;bEyEpEcW9|MxsN^}3%7A6po3 zA4w)K+HqL;@|A#5>Cpp2Mjn-9)X0J2<}k=%*cRNN|8RpRuLsSkTuCr!PpF8Us>vJ! zpFxs$VfR8wywNEAu!prl8bucwXoNR(UX0Qyd?_h~J{dNf#EEV0$m{zie`8U<3(0}s zph3rBnZV};ki`|>5B^HgtP6|7EG!PNusEK=;z$aMgN8N_*i*>hdL4HwK16IU(zeG6{mj=>#h;Cfa39kO5XFa<;Lv{KxJHS{9!Hd?w#W^MfkWaZR( zp{|A=5T+(9x-)}y)TJ42i03ZcQ}9g5JOw4s23A19GbQsBNAOVXW1hU=xv%6Y$UJ2w z&jU42LFTE9;Gr3ac}jxkAv{vlr!4c#DtR8m6IFf6GSA!y9-76Nrz&`!D(f>R^DHQN zHr4f+lX+?*c<4>UJPU&78Eh%)QWjmH7?QXLSB>XE)G$uay z1N>3ObEfTfnasZUGH2$@IWyn6%>4QL>o)-Gz=sSNFpz>l6B3YQFm_>I+g8)|8rIR- z1$P94nldJ`JhcOt)?MYGICn1@Y}EcUv3Oyk!Nmb4cf4GQWKE_QH!nMz zxw5)fImLQ>CMsH5R9JM>#B*|`1maSvgn-7zJw{{GM>4b1aA$;zYu)`W%l4rk^)4c$- z#iTeR#-(nY8e19ev40gfeBY&VXQTbUMtu+S*iHsM!!(ZgoN#7P>r07!EhYA{l-R&h zV&_VU?J6a9sFc`~D06_Rf+UU)aAl!nC=)9`fqj!^WgKZ6l~BRa?9NwU6;})%!Xq4S zJAa4NSKKt9?>we;Uc(y=>AZ=OB1^8U{(zKvbyj*8Iu_8mny@Gb3?8Fj0&6IFp1@NL z&xp#C)ABrn=Q^Gdl_wv=L$wHbMkUV+ZGN&UPeIG`QlFo!$}<_mLp>4lNz5rO!`Z<(Z1%q23I63X*3-%QLC+l(amXdY(y@XC{V+-blz(lssEno+*`QR?D-k z=b2J@=3;p0t%f`$$+M&7nNfKbv^=l%JTofKVhj)c86nTC2R6tF)~0!4Kev zvi$dK*d$Z4FTPCA^mNbsrjPma_t$SC+M;|HC8#Y;?G_~|C8+;)Q&$3O1MQ_mv7vc_o}5$KEKzZK0dtDDHOb`YH(0w?SMstbVE>k z@a0kp8f^0X82E18ci5s4_O(tWaAbHLyN_8k&Kup}3Y><1(xNG)cg_OoH}p3xn&InG zzI19{m5-RSXr4`zzB~(=7A;z0O_z5meJAkzP`zSNhO&4-0nULe<`Bj4kT-BE($0GY zr@V)qW2`puq+LWyP+#7y%J)~5Q|TW&r)Bj>wmflsm)CV=dvNa71a0L1H}<$OS&|4V zqL|4x#ZhGdo3(KBMn>Puo*-rKWN_{kj~pLqN63I;;k4X!uCRoE(=v_SW0kX^mfPxC z6O@L1XfWJ-V|}0R?86Z|O$mhtKCPNw*z7fOE2tMHtqR6$WI42GQFOxMgUUCO2lwlF zhtebIf;yC1O?#j{j1n)X2V2c+4$E$%0w%9tZ>#|hT9ffqJrV|64oKHW@5(R8eOFaU zOJ}WfN6{SWHGvN2_C}{-mf)sR5^ba;8bwL;g_7t4B~kZEqS%#0i7Sbkh8!kT2&FKt zVr4@L$mHrz65o{BEsVSkCEdno)#q!pj+KDR9gMBc-zohSn+a+-4;Y>A(mhzQ^9Cfp zFtvK?2c`9^2bK3oXhGrCjK#4KbRT|6`~?t#9vFFgbeO41Nc(_+0o^i#qZRDBId1j3~&&@m&I?r4T5BF@uGo^T580%+R z=UFiFvpUa83=jWd5zoBh*)#Gi=sZ~? z&r37Ug3hxV!^3}R#IvM$_URQ=`hU2r^V~M_yru(Fzc1@NYcV|hr$;;)#q$PZg5LfE DRS#|r diff --git a/target/classes/com/gameplatform/server/model/entity/agent/LinkBatch.class b/target/classes/com/gameplatform/server/model/entity/agent/LinkBatch.class deleted file mode 100644 index 792655d9095f5d61c434d24ed8a44f1926d04326..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2181 zcmbW2>rWFw5Wr^(eNe8nv`{FNr=Tq;=L1mzQ64cNse*y<{d!%?VS9(yEs6eBnrKY? z;2+>0Wt`cT>#=UX@MY(A9y`CCnQj04{q-9FUcz1yA}|n#K?9-?W01M9t}L@*xpniX zdckeMAhzwej@V%^P%57dK>~*2kThTz3Bv@mkv!$DZQ~={{?~ z92t_{CHF1i`5lA>0~X;9o?`pl61=vHbt!ZhD3e+7Y^!mAmQ&nqF&Ny(`!h)6o%y?V zv&#KbtJ*+KR(hUUzC-)2a!{N*Ee0Ev+f);?MeAG~Vnws1a;Pq{rf6(+jJc9(E1zK# z-g0s7)s8J6n<%)C7)d;BmpVpACNVnL45Q_J(1YHMsUiom^YbVN_z{99o zm@$D7-A@Cxa!9CC*dMfnwrR8;ggS;5Mu(f46#5(m&0~;4kMN!{?Dx7jeSHgUA1Qyx zx!Apo#+R;?Jn`DT&EGiG>5*XG*J#dR0mm+aZ;n=cJNOl$QI`_OTS}Z=DRE+@#2J+m zM^Z|hL6oC_U4OW%UQd)zldoo$q)+CpBTw-5ET%&7m2zb(x=OH}O)F-3zjB9xw!xLS7GAd8L4-d^kz>}3c>sp>Mm1k1R^Hk3> zrt%c}@X$;KJbB5pq2-xSd8V~I&-6SKDo?Qw550|mryzNrYv*T5<(bv;ywK0jl*%*L zhlk#1z*Cewn_8Y3m1jZAv!&;mQF#{o@X&8Xz%wU#w(*bt|Mxzx@+@h2cHot6p66Ab T!HB^7P)j$tKRZ`=wuYcJ91AnYpv@@zX#50>CExG6*R+lZHM8{V-s`=m+Q2 zvFnakwO<{5(B;sAfeqJl!$%gJ$>k3-a27IY7*sF>%7T@$->|DrL!Z>0@Vy^2?4}M* zbznFAimuz*3*GQH+o|GVzcw3Tt4J>P zaRa@DKXNh}AG!@~7yYtRf9iy~gf(VeRd9`$YlcqPYSJ9n72M!ZpsTL$QRt?ETfA7q zDc4+2N7S5xJS~>4`&HN53aRIUg4+xT^!t`qiGoWCYzk%qeTv$4^p1kN94!YLN$u!8 z1*;rwom8Tz1%2DN7Z!}*KI^?!<46Z3=cta6EdQWGCvd6W4)%pLw`sv@@qe7)x&{4J z9q!;MW^?(To#%7J#%9zwmNVP(hj{S2I;{DX*G_Gpa;S6Y_z2b@e1Gk(YTK4(-E@4ORpx06;8v!_b?SB%mt+NHQcKVZL|WD&7j zqdE6GxfadYTgBGxPR>QGy;W>|)6G5Fww~(Xf!_+s`ngN#H{7}SOLXC37V|%a-=1^$ z#BT_`rRdIciT9jKyxUyj-Q^N*E0=f)xx|~tC0;i!@q%%Qmx@cgM_l5~;S%o(mRA5% z69({kA8R(27MA^mzrp&0yFI`sHDeIIz^7`zKZG@`S+EWp`22kEpOF3?8&l97JT4C2 zgh$wm2CrdBJ1|gK_zTkJ(i1#-BI*Ir(!`>@vfwd}>&Jt{!h$bF&#>vaBzm@F&#>v4 zOz_Z|#hwxNJP|#kre{j@Y|EZe(=(mmq1=f*S@t}IXBaZiYs~b_h@R*0m2_TXrsryc zhjKXfjI-y3=(%WmW<}4A?73)qt|xftF2$Zn_Pm6zh5fl~dgeq=5q72hxomoFCV1#h z$DV2S?1}p`V|wOA&ntO3NXgp}&E#$7atv(X(uN9*UmtWzVwd rSxfNH-{RPFmpwm-o)y!xA$oq4Ju9YXGr>du6U3fX_WXp;6#V=jpai@* diff --git a/target/classes/com/gameplatform/server/security/JwtService.class b/target/classes/com/gameplatform/server/security/JwtService.class deleted file mode 100644 index eadb0485fbb0ca1174be21b70ba6543dcb688f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5134 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 diff --git a/target/classes/com/gameplatform/server/service/account/AccountService.class b/target/classes/com/gameplatform/server/service/account/AccountService.class deleted file mode 100644 index 914329f6a820658daae3f4bae07da074f4dcb6f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11478 zcmc&)X<$^>b^gw1q>)BXLdZxUa4=wDBOyFCHW(z#z6rDt#A5IQ!{|vG7|n=Tz<5m> zr*&;7c2dWC+$K$mlP0m9!~=rHNt+asH0i#jY11Xeaoe=%UN<3jzjNQ4nKxQl-1dj` z?z_u5=brPO<=!{neCyO}0B(`@1mQzT0DcRlC==8i3?B)HV&QmysQbV{JCYWZt%$~> z>6L<#1x>puP>zZKf)*-a36@3@gQ5QLpgj}|r~4Ag!BEOh9?YB{@X(N*6ts4XN5Ywrr?8WhT`HYsZJWwcZD9&(1XG5>snpR#vUfu~lIT^! zD?1X&{!nTt8IAY%B`G3D4^gg2CK*j13q_L0hSG^pZdqts@%pwPYH>vX(=61XUNE(w zm-cwt?pF@w(Rg}SIF{jdsG9a#Ds+a02Fw)rBjH#~@ZkmH?oRbIzJl613jBJ~x`hks zX>V_Da#m*2(O4*wh;z3|oBCfzdBO)`HurTU-W9-X3s+%|U{=x&N79KT=O*pYQ071^ zni`<}Iur4P!0JmT26IcP(gl+cZ|azU99hr9)d4hGn2&1&bBpGtA_I1BCPvmhxmHS0 zeSqlcwR<*Xywt+YSVr$-s1U61qI2|u z$;|3Ut17Hb@Tp4{+2gfFVdHxL;CN=J$mfNjNmAQ0@pwM2t+%iN8{M##8xh>-0;71r#CXs!x!FQH zwlJ8d2W)QXs*#~*L}Un{L$Lg!9ecZ-8cM`db`V=p5=1w)1@LYQ+tDLfHZe5@c1>lu zNa4wl^uK;P-QFvxrPKv`8vQA!ofdXsH>ahXX;*l4 zbS9;<4_Y{+vn$9o*V~Oj3vpFq4d-r4FjuG6h6#a)VK8LjuJ*KYH zF-nxCNdo%#4oQGKgKz-PvWlA6smI9uMM)uu=kd`1Ua;_s_@$zP-O-NP^l&B|WA#+z zcTPFq*0fi5`*91uj89Pg&TiGS)x`u|-aY5ked)Un;8z6m3I=SC#q9oYY)!I1Ge~7^ zxGQ20XS1DCIAxdP^9*Wh)_1mdmE()r+_a%(<-Bjd)eIp-ex^c(N{((6yZ zG{;Pw^ZG+i&N1_p$sPKySDEx{>!7vD=;f$p5}c0VS-IqELcm{H_-p))pvoLs*B;v# zjivRRw|oqr@Z?n2OGfuJZP8u-t%Y-Vomqh=t8{_rmP;gBe8TG>P0IcT{w{#Ox9|`6 zVGft(0I0)MZYs^g!=NXDnL(#FMDaODBL9RR1@O;WQvZu!x&im-c?|Zh;AU*BGJBkr zjDY`!e-Ge4Ec_?_i^7bWw=TixpodY0E&{?4es(VDdS%JaG-Cg^g&*T51aQP5Ah_Nu zqr1<-8n2VOQ89p@vQC^lFmuKrPa)gF{XB}LGBJYqJlVMg|zC_oZ=;DGI zsnbpmBzm`n_0ok7L~8z+0V0nmg_ud)UFfxjXO(;T;=K*YbxmB*GqdO7zwUgL9L7zw zpd^kC*~j!MiE6;i^V8O zjdx*1RwYUMuweBC>~n<3#cTx6|L=-=c}f*D@OY~Sie1rEl+L>*9#8N%#7c@NY#lRZ zq?6%zimKCFlyH7}Xh)$t98(4I%p(YSF=`5#$rSI4(qC#kj$&2`Vi!m0a`loJ#qQ#v zP*iSDinvR_S}_B`XZ~-6zFZyi615OMjhQ{~ZdjiTF1s$5#tIM5+&NBTO;ytNl%9gM z7r=;z!il3wW!yfRt7dt*!4Dk~yCcz`$k0_}uVBYzGx2U`S0dVL;--Wr{61pt5GOb) zP&QVtZ5QtV`S8t}CKet%&>LCiUL4Nc=sf}1Zu zZQf!nXJr2y2fBfJkysmYVkU1}yDxAa7v^~hoSYKT6QsZuY z*5OE;Uo%;VoWSce2z6d0xiQL~yq1+-uqTmW$l-xht5LVe>TwG3>r~f*1!E@t6zgw0 zq0kDs(@Cv{ew0qJ9vE^e^;C`YjJ(rz&qY&8h4(GxvdfYUvav>PRi~W{^17SRMk1-b zO6oRC*2=mXxkK+kE`-zw_sc7W1bHh|F8eK6gQseQj_{XIWrnv{0}6z0)sz&|x|8T5oK3DeK4P9(pTbYPHAXywu~D-;~WLe=l=R zA*>V$QoOx@+%K3t@l>8k99>{8Z=rnra_{5!e*UC^ty=v>0iV@8(wBz^mW#p3p z+Z8@`>mVRfE)^(IuH+sdF<^g#{|u}Ke-=~yA4kA{9OdR^X<0+*8BA{|)q#(p+BBx( z>z_b*%`}~)14{#SW&Yl}z`)Y-=7lYb>H>A;b!De0Do$e7NzBdS+Ly_r#B5_GKji_l zxq+*&lEQDIhW6lE?898Mo!cFG^4r-jL8+vsD5F?xsjl`*6selT2#d2$6?0rF^&X>65C9oJN$th!{qoLBv=7o(lJQVCKUw2oBqubO|fkkoUw zPo`5%Go%52W2a6^pfXHtUU&)%M{LotRJ9SU1wpK%{#(qp>YYXTZB3P#GK+-OHUz=U zJhv<5UF<63&}=?Mt`Zv9aNg^3o~fL#^KfoHg&Tk@mZ+A!VA(_wHlv$i<&!T-#Vflsd?jqjqCk7tCOmumGIxEk6mcv`g zQW^8}Koymuppa{d6@o)@tt-{7u2i)~sudoo3W{)S@gRkHKc?bAk07;qL2C1Y)H)C| zR;lnAK@<}X4i*#(B2Cil3KFFts@=Ng7Mf<23bM|@eHNPvvN#_6FlBj+vOJDyc-Y88 zGP*b~PhDP~I$7vKzD`3n+aO^qs2zd+om@is3!OQ^kk z8e8|AKxb#m!YsP7*rCr`v$$QK`?HAXvoDLNK4V!V^qI`!h(7Pm;=UH$kmJkE#24@c z(fSdFqbG^3r|8*F;~G3mfIf$%{D`s=AH_zz;8FbM{6;rRNUkT)s?jPp$YRQ?{#gPk z%lSnJsPSnABSv*E1FoiLG=C9Q3y1L@AG+8Kv@9CN&z4|!AzV6!e}u|@lqme5N6|C# z{AU>TYHXQdRIV|yN|tDBAy?*DSA+Y>RW&$WSuJcC#-k;8!9+=a$w_>$pb)w(r+HB} zJu#5Q_S z55cwrORy8I{K3I`{+OT>x3Tw5w)P={{Wyv+-pkfQ=%?Qe5S}r9*&M`+{6PN_lK3i8 z_%^@Ce+L)@)Oztz+vvrknTLB2=&hb$Li+HnHEgFtVvuguAZN=LpTvMiNduziS9Y8=WE9cKuM&K4IC^(~|EU|47I4Fk2Y zVAi#W)<3a`w7x-{=<}OrQC|C7#DlhpmD*Q0gLtT37;@>%?m3P7L#Qw0eD_T2(LR+=K`I$AEo)N?%=u^2b;H)AUqjyCe+(^f1a zK9&;=tr$WZt$hna*eZSqUd_+FYdnD>o7Y^{$=0O#IfDQnDGkYbwXCt{PL!WVBdyl( zHp>}*0ObLko!Kv$oH3i z+#GP<>il)3!}xv~S}PhVhVcV|QyvWCAAQVA|2m8}efSFAXbqmm`8^H6dKPbW{u6ks zpg|{3&0|=;8gr<>Rm8m_qtArGX!;WT?2?eXNiE2*e2?5G51`?H0D4`r AdjJ3c diff --git a/target/classes/com/gameplatform/server/service/auth/AuthService.class b/target/classes/com/gameplatform/server/service/auth/AuthService.class deleted file mode 100644 index 7324f12189232c68f7275dcc2ee13225dfa705d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8906 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 bf`77YrYETO6x%1+I&A;N_FlICF0cGQ$a6#~ literal 0 HcmV?d00001 diff --git a/target/classes/com/gameplatform/server/service/link/LinkGenerationService$GenerateResult.class b/target/classes/com/gameplatform/server/service/link/LinkGenerationService$GenerateResult.class new file mode 100644 index 0000000000000000000000000000000000000000..e9e11e116f23890fc5511e32f5cc99a3b7262ba6 GIT binary patch literal 3732 zcmeHKU31e$6us+&$W{{aRVZIA0#ce#uqm{C0Ln}Xv}7ToZaV=k*4YJm=T4&(* zKtHGNooQ#<_x`9(?@F?)kWHc(4^OsU&B`plo+h~vQumG z4t4{spGnoJMW}XA#Sh_QEfC@JTAhaPFhs?*kl_YJ(AHwQg5P7*3$z2{3}(0a4zC3~ zY}cMNx6#)OoF>=))@qA3>x1384BNLExFKR|U5Zdg49fVTD-^EKq0>pI79FhBrO$)= zTw{Y~bjI;z3)dtaNCA6V1Vk~?v{~5@?U3u9LI#ToNVa_^cmIY~f*9PTBNKN-DD+(h zV@u0V8I0c}cn9Vg%nay0P)e#Ye88OFH$#Py40f>Pk#=1{x{)ScSIK68o#>Y5RvKIA ziB4B4Z9=Mfd8>)M)ei4=QB}F`%U-Cfo3y-=yg!b2JfDZ5)Ls+4{&h#fZ6l$sm@!ee z@nVFyrX9X9RUI*AgGbNb5|U~cR4HqrU)sbSTGm~-d&M0gZYJ)CF^#xZ$RfSxY3XrK zzwDx0$q4RSsyCw#tZP2FSi|N|yeGfwZ$w@iQ>S;Myrr%3M24=>A-Gv17L7Yn!xjMD z=O>lVyjSgrM;hj^Sz%T z09@;Jny4C_KH&`JW5@B7D`Dp8;<(-tWH}zyM`oCe{b{3)KcvPU%`YwI7{&&v4CfhK zIM{KJ;UJ(W2egpSG{!M`&OS!HC0pxUk=xU#D4A)xel2IfrU@lKpQQZ4`~fHa ziQ`VuI1%rR!D)J*N}}KloTV9qbMO(3dl5diAiT07c*MPwA(RL;;b22}Z9%w5Cyp^n z+R(Xl1Uf%j!06wBBhdNDf{@a2VmhC|<-+RxYyqRLgr&mj{9-{!>6BwS%W#Fjk_PxJ zlYCHio8-S*Kp9+xYt%3aQZ++5xOl%=kWzXs(HnyrjU~7apVQMN-5A`UzO2BP@%oMb E0Ryr?y#N3J literal 0 HcmV?d00001 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index ba69f71..7675023 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,34 +1,45 @@ com\gameplatform\server\mapper\agent\LinkTaskMapper.class com\gameplatform\server\exception\GlobalExceptionHandler$2.class -com\gameplatform\server\model\entity\admin\Announcement.class +com\gameplatform\server\service\link\LinkGenerationService.class com\gameplatform\server\mapper\agent\AgentPointsTxMapper.class com\gameplatform\server\config\CorsConfig.class com\gameplatform\server\exception\GlobalExceptionHandler.class com\gameplatform\server\model\dto\common\PageResult.class com\gameplatform\server\service\UserService.class com\gameplatform\server\controller\auth\AuthController.class -com\gameplatform\server\model\entity\agent\AgentPointsTx.class -com\gameplatform\server\controller\admin\AccountController.class com\gameplatform\server\GamePlatformServerApplication.class -com\gameplatform\server\model\dto\auth\LoginRequest.class -com\gameplatform\server\model\entity\account\UserAccount.class com\gameplatform\server\mapper\admin\AnnouncementMapper.class -com\gameplatform\server\model\dto\auth\LoginResponse.class -com\gameplatform\server\model\entity\agent\LinkTask.class +com\gameplatform\server\model\dto\link\CreateLinkBatchResponse.class com\gameplatform\server\service\auth\AuthService.class com\gameplatform\server\config\SwaggerConfig.class -com\gameplatform\server\exception\GlobalExceptionHandler$1.class com\gameplatform\server\mapper\account\UserAccountMapper.class +com\gameplatform\server\service\account\AccountService.class +com\gameplatform\server\model\dto\link\CreateLinkBatchRequest.class +com\gameplatform\server\model\dto\link\LinkStatisticsResponse.class +com\gameplatform\server\service\link\QrCodeProxyService$CachedImage.class +com\gameplatform\server\service\link\QrCodeProxyService.class +com\gameplatform\server\controller\auth\AuthController$1.class +com\gameplatform\server\model\entity\admin\Announcement.class +com\gameplatform\server\controller\link\LinkTaskController.class +com\gameplatform\server\model\dto\link\LinkTaskResponse.class +com\gameplatform\server\model\entity\agent\AgentPointsTx.class +com\gameplatform\server\controller\admin\AccountController.class +com\gameplatform\server\model\dto\auth\LoginRequest.class +com\gameplatform\server\model\entity\account\UserAccount.class +com\gameplatform\server\model\dto\auth\LoginResponse.class +com\gameplatform\server\model\entity\agent\LinkTask.class +com\gameplatform\server\exception\GlobalExceptionHandler$1.class com\gameplatform\server\mapper\agent\LinkBatchMapper.class com\gameplatform\server\security\JwtService.class +com\gameplatform\server\model\dto\link\LinkTaskQueryRequest.class com\gameplatform\server\mapper\admin\OperationLogMapper.class com\gameplatform\server\model\entity\agent\LinkBatch.class -com\gameplatform\server\service\account\AccountService.class com\gameplatform\server\controller\UserController.class com\gameplatform\server\security\SecurityConfig.class +com\gameplatform\server\service\link\LinkTaskService.class com\gameplatform\server\model\entity\admin\OperationLog.class com\gameplatform\server\model\dto\account\AccountResponse.class com\gameplatform\server\model\dto\account\AccountCreateRequest.class +com\gameplatform\server\config\ScheduleConfig.class com\gameplatform\server\model\dto\account\AccountUpdateRequest.class -com\gameplatform\server\controller\auth\AuthController$1.class com\gameplatform\server\model\dto\account\ResetPasswordRequest.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 7079876..baef7be 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -6,8 +6,10 @@ D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\service\acc D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\service\auth\AuthService.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\dto\auth\LoginRequest.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\controller\admin\AccountController.java +D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\service\external\ScriptClient.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\controller\UserController.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\mapper\agent\LinkBatchMapper.java +D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\controller\link\QrProxyController.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\mapper\agent\LinkTaskMapper.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\config\SwaggerConfig.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\dto\account\AccountResponse.java @@ -17,13 +19,17 @@ D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\controller\ D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\security\JwtService.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\config\CorsConfig.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\dto\common\PageResult.java +D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\dto\link\LinkGenerateResponse.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\GamePlatformServerApplication.java +D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\dto\link\LinkGenerateRequest.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\entity\agent\LinkTask.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\dto\account\AccountUpdateRequest.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\entity\admin\Announcement.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\entity\agent\AgentPointsTx.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\dto\auth\LoginResponse.java +D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\controller\link\LinkController.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\mapper\admin\OperationLogMapper.java +D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\service\link\LinkGenerationService.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\exception\GlobalExceptionHandler.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\model\entity\agent\LinkBatch.java D:\project\gamePlatform\server\src\main\java\com\gameplatform\server\mapper\account\UserAccountMapper.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..f558db7 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,2 @@ +com\gameplatform\server\service\link\LinkGenerationServiceTest.class +com\gameplatform\server\service\link\LinkTaskServiceTest.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..8743795 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,2 @@ +D:\project\gamePlatform\server\src\test\java\com\gameplatform\server\service\link\LinkTaskServiceTest.java +D:\project\gamePlatform\server\src\test\java\com\gameplatform\server\service\link\LinkGenerationServiceTest.java