mirror of https://github.com/hykilpikonna/AquaDX
[cardmaker] Add experimental chusan gacha support
parent
563d91d438
commit
a034ba2c88
|
@ -163,6 +163,8 @@ public class AllNetController {
|
|||
}
|
||||
case "SDHD":
|
||||
return "http://" + addr + ":" + port + "/ChusanServlet/";
|
||||
case "SDED":
|
||||
return "http://" + addr + ":" + port + "/CardMakerServlet/";
|
||||
default:
|
||||
return "http://" + addr + ":" + port + "/";
|
||||
}
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.controller;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.cardmaker.handler.impl.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("CardMakerServlet")
|
||||
public class CardMakerController {
|
||||
private final GetGameSettingHandler getGameSettingHandler;
|
||||
private final GetClientBookkeepingHandler getClientBookkeepingHandler;
|
||||
private final GetGameConnectHandler getGameConnectHandler;
|
||||
|
||||
@Autowired
|
||||
public CardMakerController(GetGameSettingHandler getGameSettingHandler, GetClientBookkeepingHandler getClientBookkeepingHandler, GetGameConnectHandler getGameConnectHandler) {
|
||||
this.getGameSettingHandler = getGameSettingHandler;
|
||||
this.getClientBookkeepingHandler = getClientBookkeepingHandler;
|
||||
this.getGameConnectHandler = getGameConnectHandler;
|
||||
}
|
||||
|
||||
@PostMapping("GetGameSettingApi")
|
||||
public String getGameSetting(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getGameSettingHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("GetGameConnectApi")
|
||||
public String getGameConnect(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getGameConnectHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("GetClientBookkeepingApi")
|
||||
public String getClientBookkeeping(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getClientBookkeepingHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("UpsertClientBookkeepingApi")
|
||||
public String upsertClientBookkeeping(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":1},\"apiName\":\"upsertClientBookkeeping\"";
|
||||
}
|
||||
|
||||
@PostMapping("UpsertClientSettingApi")
|
||||
public String upsertClientSetting(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":1,\"apiName\":\"upsertClientSetting\"}";
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.controller;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@RestControllerAdvice(basePackages = "icu.samnyan.aqua.sega.cardmaker")
|
||||
public class CardMakerControllerAdvice {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CardMakerControllerAdvice.class);
|
||||
|
||||
|
||||
/**
|
||||
* Get the map object from json string
|
||||
*
|
||||
* @param request HttpServletRequest
|
||||
*/
|
||||
@ModelAttribute
|
||||
public Map<String, Object> preHandle(HttpServletRequest request) throws IOException {
|
||||
byte[] src = request.getInputStream().readAllBytes();
|
||||
String outputString = new String(src, StandardCharsets.UTF_8).trim();
|
||||
logger.info("Request " + request.getRequestURI() + ": " + outputString);
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
return mapper.readValue(outputString, new TypeReference<>() {
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.handler;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
public interface BaseHandler {
|
||||
|
||||
String handle(Map<String, Object> request) throws JsonProcessingException;
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.cardmaker.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("CardMakerGetClientBookkeepingHandler")
|
||||
public class GetClientBookkeepingHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetClientBookkeepingHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public GetClientBookkeepingHandler(BasicMapper mapper) {
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
long placeId = ((Number) request.get("placeId")).longValue();
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("placeId", placeId);
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("clientBookkeepingList", List.of());
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.cardmaker.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.cardmaker.model.response.data.GameConnect;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("CardMakerGetGameConnectHandler")
|
||||
public class GetGameConnectHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetGameConnectHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
private final String ALLNET_HOST;
|
||||
private final String ALLNET_PORT;
|
||||
private final String SERVER_PORT;
|
||||
|
||||
@Autowired
|
||||
public GetGameConnectHandler(BasicMapper mapper, @Value("${allnet.server.host:}") String ALLNET_HOST,
|
||||
@Value("${allnet.server.port:}") String ALLNET_PORT, @Value("${server.port:}") String SERVER_PORT) {
|
||||
this.mapper = mapper;
|
||||
this.ALLNET_HOST = ALLNET_HOST;
|
||||
this.ALLNET_PORT = ALLNET_PORT;
|
||||
this.SERVER_PORT = SERVER_PORT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
int type = ((Number) request.get("type")).intValue(); // Allnet enabled or not
|
||||
long version = ((Number) request.get("version")).longValue(); // Rom version
|
||||
|
||||
// Unless ip and port is explicitly overridden, use the guessed ip and port as same as AllNet Controller does.
|
||||
String localAddr;
|
||||
try {
|
||||
localAddr = InetAddress.getLocalHost().getHostAddress();
|
||||
} catch (UnknownHostException e) {
|
||||
// If above didn't work then how did this run? I really don't know.
|
||||
localAddr = "localhost";
|
||||
}
|
||||
|
||||
String addr = ALLNET_HOST.equals("") ? localAddr : ALLNET_HOST;
|
||||
String port = ALLNET_PORT.equals("") ? SERVER_PORT : ALLNET_PORT;
|
||||
|
||||
List<GameConnect> gameConnectList = new ArrayList<>();
|
||||
GameConnect chuni = new GameConnect(0, 1, "http://" + addr + ":" + port + "/ChusanServlet/");
|
||||
GameConnect mai = new GameConnect(1, 1, "http://" + addr + ":" + port + "/Maimai2Servlet/");
|
||||
GameConnect ongeki = new GameConnect(2, 1, "http://" + addr + ":" + port + "/OngekiServlet/");
|
||||
gameConnectList.add(chuni);
|
||||
gameConnectList.add(mai);
|
||||
gameConnectList.add(ongeki);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("length", gameConnectList.size());
|
||||
resultMap.put("gameConnectList", gameConnectList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.cardmaker.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.cardmaker.model.response.GetGameSettingResp;
|
||||
import icu.samnyan.aqua.sega.cardmaker.model.response.data.GameSetting;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("CardMakerGetGameSettingHandler")
|
||||
public class GetGameSettingHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetGameSettingHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public GetGameSettingHandler(BasicMapper mapper) {
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss");
|
||||
LocalDateTime rebootStartTime = LocalDateTime.now().minusHours(3);
|
||||
LocalDateTime rebootEndTime = LocalDateTime.now().minusHours(2);
|
||||
|
||||
GameSetting gameSetting = new GameSetting(
|
||||
"1.0.0",
|
||||
"1.32.0",
|
||||
"1.30.0",
|
||||
"1.32.0",
|
||||
false,
|
||||
10,
|
||||
rebootStartTime.format(formatter),
|
||||
rebootEndTime.format(formatter),
|
||||
false,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
false);
|
||||
|
||||
GetGameSettingResp resp = new GetGameSettingResp(
|
||||
gameSetting,
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
String json = mapper.write(resp);
|
||||
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.model.response;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CodeResp {
|
||||
private int returnCode;
|
||||
private String apiName;
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.model.response;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import icu.samnyan.aqua.sega.cardmaker.model.response.data.GameSetting;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GetGameSettingResp {
|
||||
private GameSetting gameSetting;
|
||||
@JsonProperty("isDumpUpload")
|
||||
private boolean isDumpUpload;
|
||||
@JsonProperty("isAou")
|
||||
private boolean isAou;
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.model.response.data;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GameConnect {
|
||||
private int modelKind; // 0: chunithm, 1: maimai, 2: ongeki
|
||||
private int type; // 0: LAN, 1: WAN
|
||||
private String titleUri;
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package icu.samnyan.aqua.sega.cardmaker.model.response.data;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GameSetting {
|
||||
private String dataVersion;
|
||||
private String ongekiCmVersion;
|
||||
private String chuniCmVersion;
|
||||
private String maimaiCmVersion;
|
||||
@JsonProperty("isMaintenance")
|
||||
private boolean isMaintenance;
|
||||
private int requestInterval;
|
||||
private String rebootStartTime;
|
||||
private String rebootEndTime;
|
||||
@JsonProperty("isBackgroundDistribute")
|
||||
private boolean isBackgroundDistribute;
|
||||
private int maxCountCharacter;
|
||||
private int maxCountItem;
|
||||
private int maxCountCard;
|
||||
private boolean watermark;
|
||||
}
|
|
@ -305,4 +305,9 @@ public class ChuniServletController {
|
|||
return upsertUserChargelogHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("Ping")
|
||||
String ping(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,9 +46,43 @@ public class ChusanServletController {
|
|||
private final GetUserTeamHandler getUserTeamHandler;
|
||||
private final UpsertUserAllHandler upsertUserAllHandler;
|
||||
private final UpsertUserChargelogHandler upsertUserChargelogHandler;
|
||||
private final GetGameGachaHandler getGameGachaHandler;
|
||||
private final GetGameGachaCardByIdHandler getGameGachaCardByIdHandler;
|
||||
private final GetUserCardPrintErrorHandler getUserCardPrintErrorHandler;
|
||||
private final CMGetUserPreviewHandler cmGetUserPreviewHandler;
|
||||
private final CMGetUserDataHandler cmGetUserDataHandler;
|
||||
private final CMGetUserCharacterHandler cmGetUserCharacterHandler;
|
||||
private final GetUserGachaHandler getUserGachaHandler;
|
||||
private final GetUserPrintedCardHandler getUserPrintedCardHandler;
|
||||
private final CMGetUserItemHandler cmGetUserItemHandler;
|
||||
private final RollGachaHandler rollGachaHandler;
|
||||
private final CMUpsertUserGachaHandler cmUpsertUserGachaHandler;
|
||||
private final CMUpsertUserPrintSubtractHandler cmUpsertUserPrintSubtractHandler;
|
||||
private final CMUpsertUserPrintCancelHandler cmUpsertUserPrintCancelHandler;
|
||||
|
||||
@Autowired
|
||||
public ChusanServletController(GameLoginHandler gameLoginHandler, GameLogoutHandler gameLogoutHandler, GetGameChargeHandler getGameChargeHandler, GetGameEventHandler getGameEventHandler, GetGameIdlistHandler getGameIdlistHandler, GetGameRankingHandler getGameRankingHandler, GetGameSettingHandler getGameSettingHandler, GetTeamCourseRuleHandler getTeamCourseRuleHandler, GetTeamCourseSettingHandler getTeamCourseSettingHandler, GetUserActivityHandler getUserActivityHandler, GetUserCharacterHandler getUserCharacterHandler, GetUserChargeHandler getUserChargeHandler, GetUserCourseHandler getUserCourseHandler, GetUserDataHandler getUserDataHandler, GetUserDuelHandler getUserDuelHandler, GetUserFavoriteItemHandler getUserFavoriteItemHandler, GetUserItemHandler getUserItemHandler, GetUserLoginBonusHandler getUserLoginBonusHandler, GetUserMapAreaHandler getUserMapAreaHandler, GetUserMusicHandler getUserMusicHandler, GetUserOptionHandler getUserOptionHandler, GetUserPreviewHandler getUserPreviewHandler, GetUserRecentRatingHandler getUserRecentRatingHandler, GetUserRegionHandler getUserRegionHandler, GetUserRivalDataHandler getUserRivalDataHandler, GetUserRivalMusicHandler getUserRivalMusicHandler, GetUserTeamHandler getUserTeamHandler, UpsertUserAllHandler upsertUserAllHandler, UpsertUserChargelogHandler upsertUserChargelogHandler, GetUserSymbolChatSettingHandler getUserSymbolChatSettingHandler, GetUserNetBattleDataHandler getUserNetBattleDataHandler) {
|
||||
public ChusanServletController(GameLoginHandler gameLoginHandler, GameLogoutHandler gameLogoutHandler,
|
||||
GetGameChargeHandler getGameChargeHandler, GetGameEventHandler getGameEventHandler,
|
||||
GetGameIdlistHandler getGameIdlistHandler, GetGameRankingHandler getGameRankingHandler,
|
||||
GetGameSettingHandler getGameSettingHandler, GetTeamCourseRuleHandler getTeamCourseRuleHandler,
|
||||
GetTeamCourseSettingHandler getTeamCourseSettingHandler, GetUserActivityHandler getUserActivityHandler,
|
||||
GetUserCharacterHandler getUserCharacterHandler, GetUserChargeHandler getUserChargeHandler,
|
||||
GetUserCourseHandler getUserCourseHandler, GetUserDataHandler getUserDataHandler,
|
||||
GetUserDuelHandler getUserDuelHandler, GetUserFavoriteItemHandler getUserFavoriteItemHandler,
|
||||
GetUserItemHandler getUserItemHandler, GetUserLoginBonusHandler getUserLoginBonusHandler,
|
||||
GetUserMapAreaHandler getUserMapAreaHandler, GetUserMusicHandler getUserMusicHandler,
|
||||
GetUserOptionHandler getUserOptionHandler, GetUserPreviewHandler getUserPreviewHandler,
|
||||
GetUserRecentRatingHandler getUserRecentRatingHandler, GetUserRegionHandler getUserRegionHandler,
|
||||
GetUserRivalDataHandler getUserRivalDataHandler, GetUserRivalMusicHandler getUserRivalMusicHandler,
|
||||
GetUserTeamHandler getUserTeamHandler, UpsertUserAllHandler upsertUserAllHandler,
|
||||
UpsertUserChargelogHandler upsertUserChargelogHandler, GetUserSymbolChatSettingHandler getUserSymbolChatSettingHandler,
|
||||
GetUserNetBattleDataHandler getUserNetBattleDataHandler, GetGameGachaHandler getGameGachaHandler,
|
||||
GetGameGachaCardByIdHandler getGameGachaCardByIdHandler, GetUserCardPrintErrorHandler getUserCardPrintErrorHandler,
|
||||
CMGetUserPreviewHandler cmGetUserPreviewHandler, CMGetUserDataHandler cmGetUserDataHandler,
|
||||
CMGetUserCharacterHandler cmGetUserCharacterHandler, GetUserGachaHandler getUserGachaHandler,
|
||||
GetUserPrintedCardHandler getUserPrintedCardHandler, CMGetUserItemHandler cmGetUserItemHandler,
|
||||
RollGachaHandler rollGachaHandler, CMUpsertUserGachaHandler cmUpsertUserGachaHandler,
|
||||
CMUpsertUserPrintSubtractHandler cmUpsertUserPrintSubtractHandler, CMUpsertUserPrintCancelHandler cmUpsertUserPrintCancelHandler) {
|
||||
this.gameLoginHandler = gameLoginHandler;
|
||||
this.gameLogoutHandler = gameLogoutHandler;
|
||||
this.getGameChargeHandler = getGameChargeHandler;
|
||||
|
@ -80,6 +114,19 @@ public class ChusanServletController {
|
|||
this.upsertUserChargelogHandler = upsertUserChargelogHandler;
|
||||
this.getUserSymbolChatSettingHandler = getUserSymbolChatSettingHandler;
|
||||
this.getUserNetBattleDataHandler = getUserNetBattleDataHandler;
|
||||
this.getGameGachaHandler = getGameGachaHandler;
|
||||
this.getGameGachaCardByIdHandler = getGameGachaCardByIdHandler;
|
||||
this.getUserCardPrintErrorHandler = getUserCardPrintErrorHandler;
|
||||
this.cmGetUserPreviewHandler = cmGetUserPreviewHandler;
|
||||
this.cmGetUserDataHandler = cmGetUserDataHandler;
|
||||
this.cmGetUserCharacterHandler = cmGetUserCharacterHandler;
|
||||
this.getUserGachaHandler = getUserGachaHandler;
|
||||
this.getUserPrintedCardHandler = getUserPrintedCardHandler;
|
||||
this.cmGetUserItemHandler = cmGetUserItemHandler;
|
||||
this.rollGachaHandler = rollGachaHandler;
|
||||
this.cmUpsertUserGachaHandler = cmUpsertUserGachaHandler;
|
||||
this.cmUpsertUserPrintSubtractHandler = cmUpsertUserPrintSubtractHandler;
|
||||
this.cmUpsertUserPrintCancelHandler = cmUpsertUserPrintCancelHandler;
|
||||
}
|
||||
|
||||
@PostMapping("GameLoginApi")
|
||||
|
@ -277,7 +324,7 @@ public class ChusanServletController {
|
|||
return "{\"returnCode\":\"1\"}";
|
||||
}
|
||||
|
||||
@PostMapping("MatchingServer/Ping")
|
||||
@PostMapping({"MatchingServer/Ping", "Ping"})
|
||||
String ping(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\"}";
|
||||
}
|
||||
|
@ -296,4 +343,91 @@ public class ChusanServletController {
|
|||
|
||||
*/
|
||||
|
||||
// Cardmaker endpoints
|
||||
|
||||
@PostMapping("GetGameGachaApi")
|
||||
String getGameGacha(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getGameGachaHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("GetGameGachaCardByIdApi")
|
||||
String getGameGachaCardById(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getGameGachaCardByIdHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("GetUserCardPrintErrorApi")
|
||||
String getUserCardPrintError(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getUserCardPrintErrorHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("CMGetUserCharacterApi")
|
||||
String cmGetUserCharacter(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return cmGetUserCharacterHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("CMGetUserDataApi")
|
||||
String cmGetUserData(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return cmGetUserDataHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("GetUserGachaApi")
|
||||
String GetUserGacha(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getUserGachaHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("CMGetUserItemApi")
|
||||
String cmGetUserItem(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return cmGetUserItemHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("CMGetUserPreviewApi")
|
||||
String cmGetUserPreview(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return cmGetUserPreviewHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("GetUserPrintedCardApi")
|
||||
String getUserPrintedCard(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getUserPrintedCardHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("PrinterLoginApi")
|
||||
String printerLogin(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\"}";
|
||||
}
|
||||
|
||||
@PostMapping("PrinterLogoutApi")
|
||||
String printerLogout(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\"}";
|
||||
}
|
||||
|
||||
@PostMapping("RollGachaApi")
|
||||
String rollGacha(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return rollGachaHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("CMUpsertUserGachaApi")
|
||||
String cmUpsertUserGacha(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return cmUpsertUserGachaHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("CMUpsertUserPrintApi")
|
||||
String cmUpsertUserPrint(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\", \"orderId\":\"0\", \"serialId\":\"FAKECARDIMAG12345678\", \"apiName\":\"CMUpsertUserPrintApi\"}";
|
||||
}
|
||||
|
||||
@PostMapping("CMUpsertUserPrintCancelApi")
|
||||
String cmUpsertUserPrintCancel(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return cmUpsertUserPrintCancelHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("CMUpsertUserPrintlogApi")
|
||||
String cmUpsertUserPrintlog(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\", \"orderId\":\"0\", \"serialId\":\"FAKECARDIMAG12345678\", \"apiName\":\"CMUpsertUserPrintlogApi\"}";
|
||||
}
|
||||
|
||||
@PostMapping("CMUpsertUserPrintSubtractApi")
|
||||
String cmUpsertUserPrintSubtract(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return cmUpsertUserPrintSubtractHandler.handle(request);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package icu.samnyan.aqua.sega.chusan.dao.gamedata;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGachaCard;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("ChusanGameGachaCardRepository")
|
||||
public interface GameGachaCardRepository extends JpaRepository<GameGachaCard, Long> {
|
||||
|
||||
List<GameGachaCard> findAllByGachaId(int gacha_id);
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package icu.samnyan.aqua.sega.chusan.dao.gamedata;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGacha;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("ChusanGameGachaRepository")
|
||||
public interface GameGachaRepository extends JpaRepository<GameGacha, Long> {
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package icu.samnyan.aqua.sega.chusan.dao.userdata;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserCardPrintState;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("ChusanUserCardPrintStateRepository")
|
||||
public interface UserCardPrintStateRepository extends JpaRepository<UserCardPrintState, Long> {
|
||||
List<UserCardPrintState> findByUser_Card_ExtId(Long extId);
|
||||
|
||||
List<UserCardPrintState> findByUser_Card_ExtIdAndHasCompleted(Long extId, boolean hasCompleted);
|
||||
|
||||
List<UserCardPrintState> findByUserAndGachaIdAndHasCompleted(UserData userData, int gachaId, boolean hasCompleted);
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package icu.samnyan.aqua.sega.chusan.dao.userdata;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserGacha;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Repository("ChusanUserGachaRepository")
|
||||
public interface UserGachaRepository extends JpaRepository<UserGacha, Long> {
|
||||
List<UserGacha> findByUser_Card_ExtId(Long extId);
|
||||
|
||||
Optional<UserGacha> findByUserAndGachaId(UserData extId, int gachaId);
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserCharacter;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserCharacterService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Handle getUserCharacter request
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanCMGetUserCharacterHandler")
|
||||
public class CMGetUserCharacterHandler implements BaseHandler {
|
||||
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CMGetUserCharacterHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserCharacterService userCharacterService;
|
||||
|
||||
|
||||
@Autowired
|
||||
public CMGetUserCharacterHandler(BasicMapper mapper, UserCharacterService userCharacterService) {
|
||||
this.mapper = mapper;
|
||||
this.userCharacterService = userCharacterService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
int nextIndex = ((Number) request.get("nextIndex")).intValue();
|
||||
int maxCount = ((Number) request.get("maxCount")).intValue();
|
||||
|
||||
int pageNum = nextIndex / maxCount;
|
||||
|
||||
Page<UserCharacter> dbPage = userCharacterService.getByUserId(userId, pageNum, maxCount);
|
||||
|
||||
long currentIndex = maxCount * pageNum + dbPage.getNumberOfElements();
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", dbPage.getNumberOfElements());
|
||||
resultMap.put("nextIndex", dbPage.getNumberOfElements() < maxCount ? -1 : currentIndex);
|
||||
List<Integer> userCharacterIdList = new ArrayList<>();
|
||||
|
||||
dbPage.getContent().forEach(userCharacter -> {
|
||||
userCharacterIdList.add(userCharacter.getCharacterId());
|
||||
});
|
||||
|
||||
resultMap.put("userCharacterList", userCharacterIdList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.response.data.UserEmoney;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserDataService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanCMGetUserDataHandler")
|
||||
public class CMGetUserDataHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CMGetUserDataHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserDataService userDataService;
|
||||
|
||||
@Autowired
|
||||
public CMGetUserDataHandler(BasicMapper mapper, UserDataService userDataService) {
|
||||
this.mapper = mapper;
|
||||
this.userDataService = userDataService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
Optional<UserData> userDataOptional = userDataService.getUserByExtId(userId);
|
||||
|
||||
if (userDataOptional.isPresent()) {
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
UserData user = userDataOptional.get();
|
||||
UserEmoney userEmoney = new UserEmoney();
|
||||
user.setUserEmoney(userEmoney);
|
||||
|
||||
resultMap.put("userData", user);
|
||||
resultMap.put("userEmoney", userEmoney);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserItem;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserItemService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Handler for getting user item.
|
||||
* This get call before profile create.
|
||||
*
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanCMGetUserItemHandler")
|
||||
public class CMGetUserItemHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CMGetUserItemHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserItemService userItemService;
|
||||
|
||||
public CMGetUserItemHandler(BasicMapper mapper, UserItemService userItemService) {
|
||||
this.mapper = mapper;
|
||||
this.userItemService = userItemService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
Long nextIndexVal = ((Number) request.get("nextIndex")).longValue();
|
||||
int maxCount = ((Number) request.get("maxCount")).intValue();
|
||||
|
||||
Long mul = 10000000000L;
|
||||
|
||||
int kind = (int) (nextIndexVal / mul);
|
||||
int nextIndex = (int) (nextIndexVal % mul);
|
||||
int pageNum = nextIndex / maxCount;
|
||||
|
||||
Page<UserItem> userItemPage = userItemService.getByUserAndItemKind(userId, kind, pageNum, maxCount);
|
||||
|
||||
List<UserItem> userItemList = userItemPage.getContent();
|
||||
|
||||
long currentIndex = kind * mul + maxCount * pageNum + userItemPage.getNumberOfElements();
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", userItemPage.getNumberOfElements());
|
||||
resultMap.put("nextIndex", userItemPage.getNumberOfElements() < maxCount ? -1 : currentIndex);
|
||||
resultMap.put("itemKind", kind);
|
||||
resultMap.put("userItemList", userItemList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserDataService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanCMGetUserPreviewHandler")
|
||||
public class CMGetUserPreviewHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CMGetUserPreviewHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserDataService userDataService;
|
||||
|
||||
@Autowired
|
||||
public CMGetUserPreviewHandler(BasicMapper mapper, UserDataService userDataService) {
|
||||
this.mapper = mapper;
|
||||
this.userDataService = userDataService;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
String segaIdAuthKey = String.valueOf(request.get("segaIdAuthKey"));
|
||||
|
||||
Optional<UserData> userDataOptional = userDataService.getUserByExtId(userId);
|
||||
|
||||
if (userDataOptional.isPresent()) {
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
UserData user = userDataOptional.get();
|
||||
|
||||
resultMap.put("userName", user.getUserName());
|
||||
resultMap.put("level", user.getLevel());
|
||||
resultMap.put("medal", user.getMedal());
|
||||
resultMap.put("lastDataVersion", "2.00.00"); //Hardcode due to outdated
|
||||
resultMap.put("isLogin", false);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.userdata.UserCardPrintStateRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.dao.userdata.UserGachaRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGachaCard;
|
||||
import icu.samnyan.aqua.sega.chusan.model.request.UpsertUserGacha;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserCardPrintState;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserGacha;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserItem;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserDataService;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserItemService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanCMUpsertUserGachaHandler")
|
||||
public class CMUpsertUserGachaHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CMUpsertUserGachaHandler.class);
|
||||
private final UserCardPrintStateRepository userCardPrintStateRepository;
|
||||
private final UserGachaRepository userGachaRepository;
|
||||
private final UserDataService userDataService;
|
||||
private final UserItemService userItemService;
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public CMUpsertUserGachaHandler(UserItemService userItemService, UserDataService userDataService,
|
||||
UserCardPrintStateRepository userCardPrintStateRepository, BasicMapper mapper,
|
||||
UserGachaRepository userGachaRepository) {
|
||||
this.userCardPrintStateRepository = userCardPrintStateRepository;
|
||||
this.userGachaRepository = userGachaRepository;
|
||||
this.userDataService = userDataService;
|
||||
this.userItemService = userItemService;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
int gachaId = ((Number) request.get("gachaId")).intValue();
|
||||
int placeId = ((Number) request.get("placeId")).intValue();
|
||||
|
||||
UpsertUserGacha upsertUserGacha = mapper.convert(request.get("cmUpsertUserGacha"), UpsertUserGacha.class);
|
||||
List<UserCardPrintState> userCardPrintStateList = new ArrayList<>();
|
||||
UserData userData;
|
||||
|
||||
Optional<UserData> userOptional = userDataService.getUserByExtId(userId);
|
||||
if (userOptional.isPresent()) {
|
||||
userData = userOptional.get();
|
||||
} else {
|
||||
logger.error("User not found. userId: {}", userId);
|
||||
return null;
|
||||
}
|
||||
|
||||
if (upsertUserGacha.getGameGachaCardList() != null) {
|
||||
for (GameGachaCard gameGachaCard : upsertUserGacha.getGameGachaCardList()) {
|
||||
UserCardPrintState userCardPrintState = new UserCardPrintState();
|
||||
userCardPrintState.setHasCompleted(false);
|
||||
userCardPrintState.setLimitDate(LocalDateTime.of(2029, 01, 01, 0, 0));
|
||||
userCardPrintState.setPlaceId(placeId);
|
||||
userCardPrintState.setCardId(gameGachaCard.getCardId());
|
||||
userCardPrintState.setGachaId(gachaId);
|
||||
userCardPrintState.setUser(userData);
|
||||
userCardPrintStateRepository.save(userCardPrintState);
|
||||
}
|
||||
}
|
||||
|
||||
List<UserItem> userItemListToSave = new ArrayList<>();
|
||||
List<UserItem> userItemList = upsertUserGacha.getUserItemList();
|
||||
|
||||
userItemList.forEach(newUserItem -> {
|
||||
int itemId = newUserItem.getItemId();
|
||||
int itemKind = newUserItem.getItemKind();
|
||||
|
||||
Optional<UserItem> userItemOptional = userItemService.getByUserAndItemIdAndKind(userData, itemId, itemKind);
|
||||
UserItem userItem = userItemOptional.orElseGet(() -> new UserItem(userData));
|
||||
|
||||
newUserItem.setId(userItem.getId());
|
||||
newUserItem.setUser(userItem.getUser());
|
||||
|
||||
userItemListToSave.add(newUserItem);
|
||||
});
|
||||
userItemService.saveAll(userItemListToSave);
|
||||
|
||||
if (upsertUserGacha.getUserGacha() != null) {
|
||||
UserGacha newUserGacha = upsertUserGacha.getUserGacha();
|
||||
newUserGacha.setUser(userData);
|
||||
userGachaRepository.save(newUserGacha);
|
||||
}
|
||||
|
||||
userCardPrintStateList = userCardPrintStateRepository.findByUserAndGachaIdAndHasCompleted(userData, gachaId, false);
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("returnCode", 1);
|
||||
resultMap.put("apiName", "CMUpsertUserGachaApi");
|
||||
resultMap.put("userCardPrintStateList", userCardPrintStateList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.userdata.UserCardPrintStateRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserCardPrintState;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanCMUpsertUserPrintCancelHandler")
|
||||
public class CMUpsertUserPrintCancelHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CMUpsertUserPrintCancelHandler.class);
|
||||
private final UserCardPrintStateRepository userCardPrintStateRepository;
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public CMUpsertUserPrintCancelHandler(UserCardPrintStateRepository userCardPrintStateRepository, BasicMapper mapper) {
|
||||
this.userCardPrintStateRepository = userCardPrintStateRepository;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
List<Integer> orderIdList = mapper.convert(request.get("orderIdList"), new TypeReference<List<Integer>>() {});
|
||||
|
||||
for (Integer orderId : orderIdList) {
|
||||
Optional<UserCardPrintState> userCardPrintStateOptional = userCardPrintStateRepository.findById(orderId.longValue());
|
||||
if (userCardPrintStateOptional.isPresent()) {
|
||||
UserCardPrintState newUserCardPrintState = userCardPrintStateOptional.get();
|
||||
newUserCardPrintState.setHasCompleted(true);
|
||||
userCardPrintStateRepository.save(newUserCardPrintState);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("returnCode", 1);
|
||||
resultMap.put("apiName", "CMUpsertUserPrintCancelApi");
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.userdata.UserCardPrintStateRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserCardPrintState;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserItem;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserDataService;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserItemService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanCMUpsertUserPrintSubtractHandler")
|
||||
public class CMUpsertUserPrintSubtractHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CMUpsertUserPrintSubtractHandler.class);
|
||||
private final UserCardPrintStateRepository userCardPrintStateRepository;
|
||||
private final UserItemService userItemService;
|
||||
private final UserDataService userDataService;
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public CMUpsertUserPrintSubtractHandler(UserItemService userItemService, UserDataService userDataService, UserCardPrintStateRepository userCardPrintStateRepository, BasicMapper mapper) {
|
||||
this.userCardPrintStateRepository = userCardPrintStateRepository;
|
||||
this.userItemService = userItemService;
|
||||
this.userDataService = userDataService;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
UserCardPrintState userCardPrintState = mapper.convert(request.get("userCardPrintState"), UserCardPrintState.class);
|
||||
List<UserItem> userItemList = mapper.convert(request.get("userItemList"), new TypeReference<List<UserItem>>() {});
|
||||
|
||||
UserData userData;
|
||||
|
||||
Optional<UserData> userOptional = userDataService.getUserByExtId(userId);
|
||||
if (userOptional.isPresent()) {
|
||||
userData = userOptional.get();
|
||||
} else {
|
||||
logger.error("User not found. userId: {}", userId);
|
||||
return null;
|
||||
}
|
||||
|
||||
List<UserItem> userItemListToSave = new ArrayList<>();
|
||||
|
||||
userItemList.forEach(newUserItem -> {
|
||||
int itemId = newUserItem.getItemId();
|
||||
int itemKind = newUserItem.getItemKind();
|
||||
|
||||
Optional<UserItem> userItemOptional = userItemService.getByUserAndItemIdAndKind(userData, itemId, itemKind);
|
||||
UserItem userItem = userItemOptional.orElseGet(() -> new UserItem(userData));
|
||||
|
||||
newUserItem.setId(userItem.getId());
|
||||
newUserItem.setUser(userItem.getUser());
|
||||
|
||||
userItemListToSave.add(newUserItem);
|
||||
});
|
||||
userItemService.saveAll(userItemListToSave);
|
||||
|
||||
Optional<UserCardPrintState> userCardPrintStateOptional = userCardPrintStateRepository.findById(userCardPrintState.getId());
|
||||
if (userCardPrintStateOptional.isPresent()) {
|
||||
UserCardPrintState newUserCardPrintState = userCardPrintStateOptional.get();
|
||||
newUserCardPrintState.setHasCompleted(true);
|
||||
userCardPrintStateRepository.save(newUserCardPrintState);
|
||||
}
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("returnCode", 1);
|
||||
resultMap.put("apiName", "CMUpsertUserPrintSubtractApi");
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.gamedata.GameGachaCardRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGachaCard;
|
||||
import icu.samnyan.aqua.sega.chusan.service.GameGachaCardService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanGetGameGachaCardByIdHandler")
|
||||
public class GetGameGachaCardByIdHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetGameGachaCardByIdHandler.class);
|
||||
private final GameGachaCardService gameGachaCardService;
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public GetGameGachaCardByIdHandler(GameGachaCardService gameGachaCardService, BasicMapper mapper) {
|
||||
this.gameGachaCardService = gameGachaCardService;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
int gachaId = ((Number) request.get("gachaId")).intValue();
|
||||
|
||||
List<GameGachaCard> gameGachaCardList = gameGachaCardService.getByGachaId(gachaId);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("gachaId", gachaId);
|
||||
resultMap.put("length", gameGachaCardList.size());
|
||||
resultMap.put("isPickup", false);
|
||||
resultMap.put("gameGachaCardList", gameGachaCardList);
|
||||
resultMap.put("emissionList", List.of());
|
||||
resultMap.put("afterCalcList", List.of());
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.chusan.dao.gamedata.GameGachaRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGacha;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanGetGameGachaHandler")
|
||||
public class GetGameGachaHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetGameGachaHandler.class);
|
||||
private final GameGachaRepository gameGachaRepository;
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public GetGameGachaHandler(GameGachaRepository gameGachaRepository, BasicMapper mapper) {
|
||||
this.gameGachaRepository = gameGachaRepository;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
|
||||
List<GameGacha> gameGachaList = gameGachaRepository.findAll();
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("length", gameGachaList.size());
|
||||
resultMap.put("gameGachaList", gameGachaList);
|
||||
resultMap.put("registIdList", List.of());
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.userdata.UserCardPrintStateRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserCardPrintState;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanGetUserCardPrintErrorHandler")
|
||||
public class GetUserCardPrintErrorHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetUserCardPrintErrorHandler.class);
|
||||
private final UserCardPrintStateRepository userCardPrintStateRepository;
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public GetUserCardPrintErrorHandler(UserCardPrintStateRepository userCardPrintStateRepository, BasicMapper mapper) {
|
||||
this.mapper = mapper;
|
||||
this.userCardPrintStateRepository = userCardPrintStateRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
Long userId = ((Number) request.get("userId")).longValue();
|
||||
|
||||
List<UserCardPrintState> userCardPrintStateList = userCardPrintStateRepository.findByUser_Card_ExtIdAndHasCompleted(userId, false);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", userCardPrintStateList.size());
|
||||
resultMap.put("userCardPrintStateList", userCardPrintStateList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserGacha;
|
||||
import icu.samnyan.aqua.sega.chusan.service.UserGachaService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanGetUserGachaHandler")
|
||||
public class GetUserGachaHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetUserGachaHandler.class);
|
||||
|
||||
private final BasicMapper mapper;
|
||||
|
||||
private final UserGachaService userGachaService;
|
||||
|
||||
@Autowired
|
||||
public GetUserGachaHandler(BasicMapper mapper, UserGachaService userGachaService) {
|
||||
this.mapper = mapper;
|
||||
this.userGachaService = userGachaService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
|
||||
List<UserGacha> userGachaList = userGachaService.getByUserId(userId);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", userGachaList.size());
|
||||
resultMap.put("userGachaList", userGachaList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanGetUserPrintedCardHandler")
|
||||
public class GetUserPrintedCardHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(GetUserPrintedCardHandler.class);
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public GetUserPrintedCardHandler(BasicMapper mapper) {
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
String userId = String.valueOf(request.get("userId"));
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("userId", userId);
|
||||
resultMap.put("length", 0);
|
||||
resultMap.put("nextIndex", -1);
|
||||
resultMap.put("userPrintedCardList", List.of());
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package icu.samnyan.aqua.sega.chusan.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.gamedata.GameGachaCardRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGachaCard;
|
||||
import icu.samnyan.aqua.sega.chusan.service.GameGachaCardService;
|
||||
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component("ChusanRollGachaHandler")
|
||||
public class RollGachaHandler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(RollGachaHandler.class);
|
||||
private final GameGachaCardService gameGachaCardService;
|
||||
private final BasicMapper mapper;
|
||||
|
||||
@Autowired
|
||||
public RollGachaHandler(GameGachaCardService gameGachaCardService, BasicMapper mapper) {
|
||||
this.gameGachaCardService = gameGachaCardService;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String handle(Map<String, Object> request) throws JsonProcessingException {
|
||||
int gachaId = ((Number) request.get("gachaId")).intValue();
|
||||
int times = ((Number) request.get("times")).intValue();
|
||||
|
||||
List<GameGachaCard> gameGachaCardList = gameGachaCardService.getRandomCards(gachaId, times);
|
||||
|
||||
Map<String, Object> resultMap = new LinkedHashMap<>();
|
||||
resultMap.put("length", gameGachaCardList.size());
|
||||
resultMap.put("gameGachaCardList", gameGachaCardList);
|
||||
|
||||
String json = mapper.write(resultMap);
|
||||
logger.info("Response: " + json);
|
||||
return json;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package icu.samnyan.aqua.sega.chusan.model.gamedata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Entity(name = "ChusanGameGacha")
|
||||
@Table(name = "chusan_game_gacha")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GameGacha implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private int id;
|
||||
private int gachaId;
|
||||
private String gachaName;
|
||||
private int type;
|
||||
private int kind; // 0
|
||||
@JsonProperty("isCeiling")
|
||||
private boolean isCeiling;
|
||||
private int ceilingCnt;
|
||||
private int changeRateCnt1;
|
||||
private int changeRateCnt2;
|
||||
private LocalDateTime startDate;
|
||||
private LocalDateTime endDate;
|
||||
private LocalDateTime noticeStartDate;
|
||||
private LocalDateTime noticeEndDate;
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package icu.samnyan.aqua.sega.chusan.model.gamedata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Entity(name = "ChusanGameGachaCard")
|
||||
@Table(name = "chusan_game_gacha_card")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GameGachaCard implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private int id;
|
||||
private int gachaId;
|
||||
private int cardId;
|
||||
private int rarity;
|
||||
private int weight;
|
||||
@JsonProperty("isPickup")
|
||||
private boolean isPickup;
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package icu.samnyan.aqua.sega.chusan.model.request;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGachaCard;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.lang.Nullable;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UpsertUserGacha implements Serializable {
|
||||
|
||||
@Nullable
|
||||
private UserData userData;
|
||||
|
||||
@Nullable
|
||||
private UserGacha userGacha;
|
||||
|
||||
@Nullable
|
||||
private List<Object> userCharacterList;
|
||||
|
||||
@Nullable
|
||||
private List<Object> userCardList;
|
||||
|
||||
@Nullable
|
||||
private List<GameGachaCard> gameGachaCardList;
|
||||
|
||||
@Nullable
|
||||
private List<UserItem> userItemList;
|
||||
|
||||
@Nullable
|
||||
@JsonProperty("isNewCharacterList")
|
||||
private String isNewCharacterList;
|
||||
|
||||
@Nullable
|
||||
@JsonProperty("isNewCardList")
|
||||
private String isNewCardList;
|
||||
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package icu.samnyan.aqua.sega.chusan.model.response.data;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserEmoney {
|
||||
|
||||
private int type = 0;
|
||||
private int emoneyCredit = 69;
|
||||
private int emoneyBrand = 2;
|
||||
private int ext1 = 0;
|
||||
private int ext2 = 0;
|
||||
private int ext3 = 0;
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package icu.samnyan.aqua.sega.chusan.model.userdata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Entity(name = "ChusanUserCardPrintState")
|
||||
@Table(name = "chusan_user_print_state")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserCardPrintState implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonProperty("orderId")
|
||||
private long id;
|
||||
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id")
|
||||
private UserData user;
|
||||
|
||||
private boolean hasCompleted;
|
||||
private LocalDateTime limitDate;
|
||||
private int placeId;
|
||||
private int cardId;
|
||||
private int gachaId;
|
||||
|
||||
public UserCardPrintState(UserData user) {
|
||||
this.user = user;
|
||||
}
|
||||
}
|
|
@ -1,9 +1,12 @@
|
|||
package icu.samnyan.aqua.sega.chusan.model.userdata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.model.response.data.UserEmoney;
|
||||
import icu.samnyan.aqua.sega.general.model.Card;
|
||||
import icu.samnyan.aqua.sega.util.jackson.AccessCodeSerializer;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -13,6 +16,7 @@ import lombok.NoArgsConstructor;
|
|||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
|
@ -328,11 +332,17 @@ public class UserData implements Serializable {
|
|||
|
||||
private long extLong2;
|
||||
|
||||
private String rankUpChallengeResults;
|
||||
@JsonInclude
|
||||
@Transient
|
||||
private List<Object> rankUpChallengeResults;
|
||||
|
||||
@JsonProperty("isNetBattleHost")
|
||||
private boolean isNetBattleHost;
|
||||
|
||||
private int netBattleEndState;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@Transient
|
||||
private UserEmoney userEmoney;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
package icu.samnyan.aqua.sega.chusan.model.userdata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Entity(name = "ChusanUserGacha")
|
||||
@Table(name = "chusan_user_gacha", uniqueConstraints = {@UniqueConstraint(columnNames = {"user_id", "gacha_id"})})
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserGacha implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private long id;
|
||||
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id")
|
||||
private UserData user;
|
||||
|
||||
@Column(name = "gacha_id")
|
||||
private int gachaId;
|
||||
|
||||
private int totalGachaCnt;
|
||||
|
||||
private int ceilingGachaCnt;
|
||||
|
||||
private int dailyGachaCnt;
|
||||
|
||||
private int fiveGachaCnt;
|
||||
|
||||
private int elevenGachaCnt;
|
||||
|
||||
private LocalDateTime dailyGachaDate;
|
||||
|
||||
public UserGacha(UserData user) {
|
||||
this.user = user;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package icu.samnyan.aqua.sega.chusan.service;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.gamedata.GameGachaCardRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.model.gamedata.GameGachaCard;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Service("ChusanGameGachaCardService")
|
||||
public class GameGachaCardService {
|
||||
|
||||
private final GameGachaCardRepository gameGachaCardRepository;
|
||||
|
||||
@Autowired
|
||||
public GameGachaCardService(GameGachaCardRepository gameGachaCardRepository) {
|
||||
this.gameGachaCardRepository = gameGachaCardRepository;
|
||||
}
|
||||
|
||||
@Cacheable("gachaCard")
|
||||
public List<GameGachaCard> getAll() {
|
||||
return gameGachaCardRepository.findAll();
|
||||
}
|
||||
|
||||
public List<GameGachaCard> getByGachaId(int gachaId) {
|
||||
return gameGachaCardRepository.findAllByGachaId(gachaId);
|
||||
}
|
||||
|
||||
public List<GameGachaCard> getRandomCards(int gachaId, int times) {
|
||||
List<GameGachaCard> gachaCards = gameGachaCardRepository.findAllByGachaId(gachaId);
|
||||
List<GameGachaCard> randomCards = new ArrayList<>();
|
||||
|
||||
Random rand = new Random();
|
||||
for (int i = 0; i < Math.min(times, gachaCards.size()); i++) {
|
||||
randomCards.add(gachaCards.remove(rand.nextInt(gachaCards.size())));
|
||||
}
|
||||
|
||||
return randomCards;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package icu.samnyan.aqua.sega.chusan.service;
|
||||
|
||||
import icu.samnyan.aqua.sega.chusan.dao.userdata.UserGachaRepository;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData;
|
||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserGacha;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Service("ChusanUserGachaService")
|
||||
public class UserGachaService {
|
||||
|
||||
private final UserGachaRepository userGachaRepository;
|
||||
|
||||
public UserGachaService(UserGachaRepository userGachaRepository) {
|
||||
this.userGachaRepository = userGachaRepository;
|
||||
}
|
||||
|
||||
public UserGacha save(UserGacha userGacha) {
|
||||
return userGachaRepository.save(userGacha);
|
||||
}
|
||||
|
||||
public List<UserGacha> saveAll(List<UserGacha> newUserGachaList) {
|
||||
return userGachaRepository.saveAll(newUserGachaList);
|
||||
}
|
||||
|
||||
public List<UserGacha> getByUserId(String userId) {
|
||||
return userGachaRepository.findByUser_Card_ExtId(Long.parseLong(userId));
|
||||
}
|
||||
|
||||
public Optional<UserGacha> getByUserAndGachaId(UserData user, int gachaId) {
|
||||
return userGachaRepository.findByUserAndGachaId(user, gachaId);
|
||||
}
|
||||
|
||||
}
|
|
@ -30,6 +30,7 @@ public class CompressionFilter extends OncePerRequestFilter {
|
|||
filterList.add("/MaimaiServlet");
|
||||
filterList.add("/Maimai2Servlet");
|
||||
filterList.add("/ChusanServlet");
|
||||
filterList.add("/CardMakerServlet");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -288,5 +288,10 @@ public class Maimai2ServletController {
|
|||
public String getUserFriendSeasonRankingHandler(@ModelAttribute Map<String, Object> request) throws JsonProcessingException {
|
||||
return getUserFriendSeasonRankingHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("Ping")
|
||||
String ping(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -395,4 +395,9 @@ public class OngekiController {
|
|||
return upsertUserAllHandler.handle(request);
|
||||
}
|
||||
|
||||
@PostMapping("Ping")
|
||||
String ping(@ModelAttribute Map<String, Object> request) {
|
||||
return "{\"returnCode\":\"1\"}";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
CREATE TABLE chusan_game_gacha (
|
||||
id BIGINT auto_increment PRIMARY KEY,
|
||||
gacha_id INTEGER NOT NULL,
|
||||
gacha_name VARCHAR(255),
|
||||
`type` INTEGER,
|
||||
kind INTEGER,
|
||||
is_ceiling BOOLEAN,
|
||||
ceiling_cnt INTEGER,
|
||||
change_rate_cnt1 INTEGER,
|
||||
change_rate_cnt2 INTEGER,
|
||||
start_date DATETIME,
|
||||
end_date DATETIME,
|
||||
notice_start_date DATETIME,
|
||||
notice_end_date DATETIME
|
||||
);
|
||||
|
||||
CREATE TABLE chusan_game_gacha_card (
|
||||
id BIGINT auto_increment PRIMARY KEY,
|
||||
gacha_id INTEGER NOT NULL,
|
||||
card_id INTEGER NOT NULL,
|
||||
rarity INTEGER,
|
||||
weight INTEGER,
|
||||
is_pickup BOOLEAN
|
||||
);
|
||||
|
||||
CREATE TABLE chusan_user_gacha (
|
||||
id BIGINT auto_increment PRIMARY KEY,
|
||||
gacha_id INTEGER,
|
||||
total_gacha_cnt INTEGER,
|
||||
ceiling_gacha_cnt INTEGER,
|
||||
daily_gacha_cnt INTEGER,
|
||||
five_gacha_cnt INTEGER,
|
||||
eleven_gacha_cnt INTEGER,
|
||||
daily_gacha_date DATETIME,
|
||||
user_id BIGINT,
|
||||
constraint FKKgEwDqNazYzQYXQ6aM
|
||||
foreign key (user_id) references chusan_user_data (id)
|
||||
);
|
||||
|
||||
CREATE TABLE chusan_user_print_state (
|
||||
id BIGINT auto_increment PRIMARY KEY,
|
||||
has_completed BOOLEAN,
|
||||
limit_date DATETIME,
|
||||
place_id INTEGER,
|
||||
card_id INTEGER,
|
||||
gacha_id INTEGER,
|
||||
user_id BIGINT,
|
||||
constraint FKYWeiCGeXh6fYTym8KY
|
||||
foreign key (user_id) references chusan_user_data (id)
|
||||
);
|
|
@ -0,0 +1,185 @@
|
|||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (370, 'お風呂上がりの一発でわからせる!', 0, 0, b'0', 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (380, '優しいキャロルが流れる頃には', 0, 0, b'0', 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (390, '音闘気鍛練の行', 0, 0, b'0', 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (400, '最後の物語。約束はあなたと共に', 0, 0, b'0', 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (410, '可愛さ指数は3000倍!?', 0, 0, b'0', 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1323002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 905002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 894002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 646002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 40002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 25002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 6002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 11002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 231002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 237002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 239002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 325002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 336002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 442002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 449002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 338002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 635002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 637002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 642002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 761002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 763002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 768002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 774002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 868002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 885002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1011002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1015002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1024002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1030002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 874002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 657002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 995002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 996002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 777002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 538002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1324002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1160002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 895002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 647002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 45002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 24002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 36002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 39002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 20002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 189002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 198002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 232002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 237002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 316002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 327002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 434002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 441002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 445002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 621002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 628002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 630002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 639002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 643002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 766002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 634002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 867002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 870002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 884002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 886002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1010002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1017002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1030002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 873002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 992002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 658002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 994002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1325002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1161002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 896002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 648002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 18002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 44002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 10002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 31002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 192002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 196002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 201002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 237002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 317002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 319002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 322002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 334002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 437002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 443002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 447002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 622002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 638002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 760002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 762002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 765002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 452002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 871002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 888002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1013002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1016002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1030002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1026002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 875002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 656002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 991002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 993002, 2, 2, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 539002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 1336002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 897002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 649002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 662002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 28002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 2002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 41002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 43002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 29002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 199002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 203002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 230002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 237002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 318002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 333002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 433002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 435002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 444002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 623002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 625002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 627002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 629002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 640002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 767002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 769002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 773002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 775002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 631002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 1030002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 50002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 244002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 343002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 207002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 661002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 655002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 863002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 1337002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 1162002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 898002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 650002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 35002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 4002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 37002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 7002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 47002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 12002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 187002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 197002, 2, 4, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 202002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 227002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 237002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 328002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 329002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 436002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 438002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 624002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 626002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 636002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 641002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 644002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 764002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 770002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 772002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 632002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 633002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 1030002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 341002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 660002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 659002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 345002, 2, 3, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 777002, 2, 1, b'0');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 862002, 2, 1, b'0');
|
|
@ -0,0 +1,58 @@
|
|||
CREATE TABLE chusan_game_gacha (
|
||||
id INTEGER NOT NULL,
|
||||
gacha_id INTEGER NOT NULL,
|
||||
gacha_name VARCHAR,
|
||||
type INTEGER,
|
||||
kind INTEGER,
|
||||
is_ceiling BOOLEAN,
|
||||
ceiling_cnt INTEGER,
|
||||
change_rate_cnt1 INTEGER,
|
||||
change_rate_cnt2 INTEGER,
|
||||
start_date DATETIME,
|
||||
end_date DATETIME,
|
||||
notice_start_date DATETIME,
|
||||
notice_end_date DATETIME,
|
||||
PRIMARY KEY (
|
||||
id
|
||||
)
|
||||
);
|
||||
|
||||
CREATE TABLE chusan_game_gacha_card (
|
||||
id INTEGER,
|
||||
gacha_id INTEGER NOT NULL,
|
||||
card_id INTEGER NOT NULL,
|
||||
rarity INTEGER,
|
||||
weight INTEGER,
|
||||
is_pickup BOOLEAN,
|
||||
PRIMARY KEY (
|
||||
id
|
||||
)
|
||||
);
|
||||
|
||||
CREATE TABLE chusan_user_gacha (
|
||||
id INTEGER,
|
||||
gacha_id INTEGER,
|
||||
total_gacha_cnt INTEGER,
|
||||
ceiling_gacha_cnt INTEGER,
|
||||
daily_gacha_cnt INTEGER,
|
||||
five_gacha_cnt INTEGER,
|
||||
eleven_gacha_cnt INTEGER,
|
||||
daily_gacha_date DATETIME,
|
||||
user_id BIGINT REFERENCES chusan_user_data (id),
|
||||
PRIMARY KEY (
|
||||
id
|
||||
)
|
||||
);
|
||||
|
||||
CREATE TABLE chusan_user_print_state (
|
||||
id INTEGER,
|
||||
has_completed BOOLEAN,
|
||||
limit_date DATETIME,
|
||||
place_id INTEGER,
|
||||
card_id INTEGER,
|
||||
gacha_id INTEGER,
|
||||
user_id BIGINT REFERENCES chusan_user_data (id),
|
||||
PRIMARY KEY (
|
||||
id
|
||||
)
|
||||
);
|
|
@ -0,0 +1,185 @@
|
|||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (370, 'お風呂上がりの一発でわからせる!', 0, 0, false, 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (380, '優しいキャロルが流れる頃には', 0, 0, false, 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (390, '音闘気鍛練の行', 0, 0, false, 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (400, '最後の物語。約束はあなたと共に', 0, 0, false, 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha` (`gacha_id`, `gacha_name`, `type`, `kind`, `is_ceiling`, `ceiling_cnt`, `change_rate_cnt1`, `change_rate_cnt2`, `start_date`, `end_date`, `notice_start_date`, `notice_end_date`) VALUES (410, '可愛さ指数は3000倍!?', 0, 0, false, 10, 0, 0, '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', '2029-01-01 00:00:00.000000');
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1323002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 905002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 894002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 646002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 40002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 25002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 6002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 11002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 231002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 237002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 239002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 325002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 336002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 442002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 449002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 338002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 635002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 637002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 642002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 761002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 763002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 768002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 774002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 868002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 885002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1011002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1015002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1024002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 1030002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 874002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 657002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 995002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 996002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 777002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (370, 538002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1324002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1160002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 895002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 647002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 45002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 24002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 36002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 39002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 20002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 189002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 198002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 232002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 237002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 316002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 327002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 434002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 441002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 445002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 621002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 628002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 630002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 639002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 643002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 766002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 634002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 867002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 870002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 884002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 886002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1010002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1017002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 1030002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 873002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 992002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 658002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (380, 994002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1325002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1161002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 896002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 648002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 18002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 44002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 10002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 31002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 192002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 196002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 201002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 237002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 317002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 319002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 322002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 334002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 437002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 443002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 447002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 622002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 638002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 760002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 762002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 765002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 452002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 871002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 888002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1013002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1016002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1030002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 1026002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 875002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 656002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 991002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 993002, 2, 2, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (390, 539002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 1336002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 897002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 649002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 662002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 28002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 2002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 41002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 43002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 29002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 199002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 203002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 230002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 237002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 318002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 333002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 433002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 435002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 444002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 623002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 625002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 627002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 629002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 640002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 767002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 769002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 773002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 775002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 631002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 1030002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 50002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 244002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 343002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 207002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 661002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 655002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (400, 863002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 1337002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 1162002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 898002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 650002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 35002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 4002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 37002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 7002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 47002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 12002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 187002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 197002, 2, 4, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 202002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 227002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 237002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 328002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 329002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 436002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 438002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 624002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 626002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 636002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 641002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 644002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 764002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 770002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 772002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 632002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 633002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 1030002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 341002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 660002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 659002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 345002, 2, 3, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 777002, 2, 1, False);
|
||||
INSERT INTO `chusan_game_gacha_card` (`gacha_id`, `card_id`, `rarity`, `weight`, `is_pickup`) VALUES (410, 862002, 2, 1, False);
|
Loading…
Reference in New Issue