master
parent
64f3e55fe5
commit
2559af5a10
10
config.yml
10
config.yml
|
@ -1,11 +1,11 @@
|
|||
#选择: jfire2029
|
||||
选择: 17605002499 # 17750208698,17605002499,jfire2029,jfire2028,jfire2020
|
||||
选择: jfire2029 # 17750208698,17605002499,jfire2029,jfire2028,jfire2020
|
||||
#选择: 17750208698
|
||||
#选择: jfire2028
|
||||
# 一次只能填写一个功能,可以填写的功能有:BOSS套装,解锁全部NPC,解锁全部地图,解锁全部卡片,token
|
||||
#升级到60,巅峰100级,熔铸雕像,打印仓库0,删除傀儡角色,打印信息,完成全部赛季任务,领取祝福
|
||||
#完成今日任务,打印角色,强化身上装备到10,升级算力等级,投影箱子开启
|
||||
功能: 投影箱子开启
|
||||
功能: 完成今日任务
|
||||
执行方案: 黑煞之心力-能量吸取,黑煞之心力-重型弹药,美杜莎长枪,小骑士套装
|
||||
投影箱子开启:
|
||||
地图: 废旧城堡
|
||||
|
@ -39,11 +39,11 @@
|
|||
羽毛:
|
||||
熔铸雕像:
|
||||
位置:
|
||||
选择: 装备
|
||||
背包序号: 1
|
||||
选择: 背包
|
||||
背包序号: 6
|
||||
装备位置: 项链 # 可以填写 武器,盔甲,头盔,鞋子,项链,戒指
|
||||
词条序号: 3
|
||||
目标词条: 技能冷却 # 将这个位置上的装备的词条更换到目标词条,使用熔铸点数。
|
||||
目标词条: 技能冷却+30 # 将这个位置上的装备的词条更换到目标词条,使用熔铸点数。
|
||||
卡片合成:
|
||||
装备: 美杜莎面罩 # 填写装备的名称
|
||||
武器:
|
||||
|
|
11
pom.xml
11
pom.xml
|
@ -16,9 +16,14 @@
|
|||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>3.42.0.0</version>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.49</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.zaxxer</groupId>
|
||||
<artifactId>HikariCP-java6</artifactId>
|
||||
<version>2.3.13</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
|
|
|
@ -12,6 +12,7 @@ import com.jfirer.jsql.SessionfactoryConfig;
|
|||
import com.jfirer.jsql.model.Model;
|
||||
import com.jfirer.jsql.model.Param;
|
||||
import com.jfirer.jsql.session.SqlSession;
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -23,7 +24,6 @@ import org.example.entity.User;
|
|||
import org.example.param.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.slf4j.MDC;
|
||||
import org.sqlite.SQLiteDataSource;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
@ -549,8 +549,6 @@ public class App
|
|||
|
||||
public void finishDailyTask()
|
||||
{
|
||||
CharacterData character = createCharacter();
|
||||
changeCharacter(character);
|
||||
FetchGameDataDTO fetchGameDataDTO = fetchGameData();
|
||||
long count = Stream.of(fetchGameDataDTO.getGameData().getDailyTask().getGemTaskPos1(), fetchGameDataDTO.getGameData().getDailyTask().getGemTaskPos2(), fetchGameDataDTO.getGameData().getDailyTask().getGemTaskPos3()).filter(Objects::nonNull).count();
|
||||
int left = (int) (3 - count);
|
||||
|
@ -2573,32 +2571,23 @@ public class App
|
|||
for (User user : list)
|
||||
{
|
||||
String channelId = String.valueOf(user.getChannel());
|
||||
if (StringUtil.isNotBlank(user.getDesc()))
|
||||
if (StringUtil.isNotBlank(user.getDetail()))
|
||||
{
|
||||
String content = user.getDesc();
|
||||
String content = user.getDetail();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("M月d日HH:mm:ss");
|
||||
String substring = content.substring(content.indexOf("解封时间为:") + "解封时间为:".length());
|
||||
TemporalAccessor temporalAccessor = formatter.parse(substring);
|
||||
int month = temporalAccessor.get(ChronoField.MONTH_OF_YEAR);
|
||||
int day = temporalAccessor.get(ChronoField.DAY_OF_MONTH);
|
||||
LocalDate localDate = LocalDate.of(LocalDate.now().getYear(), month, day);
|
||||
LocalDate availableTime = LocalDate.of(LocalDate.now().getYear(), month, day);
|
||||
//封号时间还没有到,忽略
|
||||
if (LocalDate.now().isBefore(localDate))
|
||||
if (LocalDate.now().isBefore(availableTime))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
userOp.updateDesc(null, user.getUsername());
|
||||
}
|
||||
String chanel = null;
|
||||
switch (channelId)
|
||||
{
|
||||
case "1" -> chanel = taptap;
|
||||
case "2" -> chanel = haoyoukuaibao;
|
||||
case "3" -> chanel = hezi4399;
|
||||
case "4" -> chanel = ios;
|
||||
case "5" -> chanel = bilibili;
|
||||
case "6" -> chanel = vivo;
|
||||
}
|
||||
String chanel = getChannel(channelId);
|
||||
App app = new App(chanel);
|
||||
LoginDTO loginDTO = app.fetchToken(user.getUsername(), user.getPassword());
|
||||
if (loginDTO.getError() != null)
|
||||
|
@ -2614,6 +2603,38 @@ public class App
|
|||
}
|
||||
return;
|
||||
}
|
||||
if (config.get("功能").equals("完成今日任务"))
|
||||
{
|
||||
try (SqlSession session = sessionFactory.openSession())
|
||||
{
|
||||
List<User> list = session.findList(Model.selectAll(User.class).where(Param.isNull(User::getDetail)));
|
||||
for (User user : list)
|
||||
{
|
||||
MDC.put("user", user.getUsername());
|
||||
String channel = getChannel(String.valueOf(user.getChannel()));
|
||||
App app = new App(channel);
|
||||
app.login(user.getToken(), user.getCharacterName());
|
||||
app.finishDailyTask();
|
||||
}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
if (config.get("功能").equals("投影箱子开启"))
|
||||
{
|
||||
try (SqlSession session = sessionFactory.openSession())
|
||||
{
|
||||
List<User> list = session.findList(Model.selectAll(User.class).where(Param.isNull(User::getDetail)));
|
||||
for (User user : list)
|
||||
{
|
||||
MDC.put("user", user.getUsername());
|
||||
String channel = getChannel(String.valueOf(user.getChannel()));
|
||||
App app = new App(channel);
|
||||
app.login(user.getToken(), user.getCharacterName());
|
||||
app.openChipBox(11);
|
||||
}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
String name = (String) config.get("选择");
|
||||
User user;
|
||||
try (SqlSession session = sessionFactory.openSession())
|
||||
|
@ -2706,22 +2727,29 @@ public class App
|
|||
|
||||
public static SessionFactory getConfigFile() throws IOException, URISyntaxException
|
||||
{
|
||||
File file = new File(App.class.getProtectionDomain().getCodeSource().getLocation().toURI());
|
||||
File sqliteFile;
|
||||
if (file.isDirectory())
|
||||
{
|
||||
sqliteFile = new File(new File(App.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParentFile().getParentFile(), "yuanqi.sqlite");
|
||||
}
|
||||
else
|
||||
{
|
||||
sqliteFile = new File(new File(App.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParentFile(), "yuanqi.sqlite");
|
||||
}
|
||||
SQLiteDataSource dataSource = new SQLiteDataSource();
|
||||
dataSource.setUrl("jdbc:sqlite:" + sqliteFile.getAbsolutePath());
|
||||
HikariDataSource dataSource = new HikariDataSource();
|
||||
dataSource.setUsername("root");
|
||||
dataSource.setPassword("xidn983kdhjf");
|
||||
dataSource.setJdbcUrl("jdbc:mysql://yynas.cn:43897/yuanqi_config?useUnicode=true&characterEncoding=utf8&useSSL=false&&allowPublicKeyRetrieval=true");
|
||||
SessionfactoryConfig sessionfactoryConfig = new SessionfactoryConfig();
|
||||
sessionfactoryConfig.setDataSource(dataSource);
|
||||
// sessionfactoryConfig.addSqlExecutor(new SqlLog());
|
||||
SessionFactory sessionFactory = sessionfactoryConfig.build();
|
||||
return sessionFactory;
|
||||
}
|
||||
|
||||
public static String getChannel(String channelId)
|
||||
{
|
||||
String chanel = null;
|
||||
switch (channelId)
|
||||
{
|
||||
case "1" -> chanel = taptap;
|
||||
case "2" -> chanel = haoyoukuaibao;
|
||||
case "3" -> chanel = hezi4399;
|
||||
case "4" -> chanel = ios;
|
||||
case "5" -> chanel = bilibili;
|
||||
case "6" -> chanel = vivo;
|
||||
}
|
||||
return chanel;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,6 @@ public class User
|
|||
private String password;
|
||||
private String token;
|
||||
private int channel;
|
||||
private String desc;
|
||||
private String detail;
|
||||
private String characterName;
|
||||
}
|
||||
|
|
BIN
yuanqi.sqlite
BIN
yuanqi.sqlite
Binary file not shown.
Loading…
Reference in New Issue