生成wiki格式
This commit is contained in:
parent
6d6da49d50
commit
d6cde0c745
@ -1,4 +1,5 @@
|
||||
import database.TCard
|
||||
import database.TCards
|
||||
import database.card
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.encodeToString
|
||||
@ -10,10 +11,44 @@ import model.parseType
|
||||
import org.jsoup.Jsoup
|
||||
import org.ktorm.database.Database
|
||||
import org.ktorm.dsl.*
|
||||
import org.ktorm.entity.map
|
||||
import org.ktorm.entity.sortedBy
|
||||
import java.io.File
|
||||
|
||||
@ExperimentalSerializationApi
|
||||
suspend fun main(args: Array<String>) {
|
||||
fun main(args: Array<String>) {
|
||||
val database = Database.connect(
|
||||
url = "jdbc:mysql://localhost:3306/sif_card",
|
||||
driver = "com.mysql.cj.jdbc.Driver",
|
||||
user = "root",
|
||||
password = ""
|
||||
)
|
||||
|
||||
database.useTransaction {
|
||||
var latestGroup = ""
|
||||
var index = -1
|
||||
database.card.sortedBy({it.characterId.asc()}, {it.rarity.desc()}, {it.id.asc()}).map { card ->
|
||||
if (latestGroup != card.group) {
|
||||
latestGroup = card.group
|
||||
if (index != -1) {
|
||||
println("|}")
|
||||
}
|
||||
index = 0
|
||||
println("== [[${card.group}]] ==")
|
||||
println("{| class=\"wikitable sortable event-list mw-collapsible mw-collapsed\" width=\"100%\"\n" +
|
||||
"! 序号 !! 角色 !! 卡牌名称 !! 通常图片 !! 觉醒图片 !! 稀有性 !! 所属小组 !! 实装日期 !! 属性 !! 最大等级 !! HP !! 微笑值 !! 清纯值 !! 帅气值 !! 核心技能名称 !! 核心技能详情 !! 特殊技能名称 !! 特殊技能详情")
|
||||
}
|
||||
println("|-")
|
||||
println("| ${++index} || ${card.name} || ${card.characterName} || ${card.illustId} || ${card.evolveIllustId}" +
|
||||
" || ${card.rarity} || ${card.team} || ${card.date} || ${card.type} || ${card.maxLevel} || ${card.maxHp}" +
|
||||
" || ${card.smile} || ${card.pure} || ${card.cool} || ${card.centerSkillName}" +
|
||||
" || ${card.centerSkillInfo} || ${card.specialSkillName} || ${card.specialSkillInfo}")
|
||||
}
|
||||
println("|}")
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun importData() {
|
||||
val cardList = readJson<List<Card>>(fileName = "card.json")
|
||||
cardList.forEach { card ->
|
||||
card.illustId = "c_${card.illustId}.png"
|
||||
@ -32,12 +67,12 @@ suspend fun main(args: Array<String>) {
|
||||
cardList.forEach { card ->
|
||||
database.useTransaction {
|
||||
var id = -1
|
||||
for (row in database.from(TCard).select().where { TCard.name eq card.name }) {
|
||||
row[TCard.characterName]?.let { characterName ->
|
||||
for (row in database.from(TCards).select().where { TCards.name eq card.name }) {
|
||||
row[TCards.characterName]?.let { characterName ->
|
||||
if (characterName.isNotEmpty()) {
|
||||
return@forEach
|
||||
}
|
||||
id = row[TCard.id]!!
|
||||
id = row[TCards.id]!!
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,7 +130,7 @@ suspend fun main(args: Array<String>) {
|
||||
println(card)
|
||||
|
||||
if (id == -1) {
|
||||
database.insert(TCard) {
|
||||
database.insert(TCards) {
|
||||
set(it.name, card.name)
|
||||
set(it.characterId, card.characterId)
|
||||
set(it.characterName, card.characterName)
|
||||
@ -117,7 +152,7 @@ suspend fun main(args: Array<String>) {
|
||||
set(it.specialSkillInfo, card.specialSkillInfo)
|
||||
}
|
||||
} else {
|
||||
database.update(TCard) {
|
||||
database.update(TCards) {
|
||||
set(it.characterName, card.characterName)
|
||||
set(it.type, card.type)
|
||||
set(it.rarity, card.rarity)
|
||||
@ -135,7 +170,7 @@ suspend fun main(args: Array<String>) {
|
||||
set(it.centerSkillInfo, card.centerSkillInfo)
|
||||
set(it.specialSkillName, card.specialSkillName)
|
||||
set(it.specialSkillInfo, card.specialSkillInfo)
|
||||
where { TCard.id eq id }
|
||||
where { TCards.id eq id }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,28 +1,58 @@
|
||||
package database
|
||||
|
||||
import org.ktorm.database.Database
|
||||
import org.ktorm.entity.Entity
|
||||
import org.ktorm.entity.sequenceOf
|
||||
import org.ktorm.schema.Table
|
||||
import org.ktorm.schema.int
|
||||
import org.ktorm.schema.varchar
|
||||
|
||||
object TCard : Table<Nothing>("t_card") {
|
||||
val id = int("id").primaryKey()
|
||||
val name = varchar("name")
|
||||
val characterId = int("character_id")
|
||||
val characterName = varchar("character_name")
|
||||
val type = varchar("type")
|
||||
val rarity = varchar("rarity")
|
||||
val maxLevel = varchar("max_level")
|
||||
val maxHp = varchar("max_hp")
|
||||
val smile = varchar("smile")
|
||||
val pure = varchar("pure")
|
||||
val cool = varchar("cool")
|
||||
val illustId = varchar("illust_id")
|
||||
val evolveIllustId = varchar("evolve_illust_id")
|
||||
val group = varchar("group")
|
||||
val team = varchar("team")
|
||||
val date = varchar("date")
|
||||
val centerSkillName = varchar("center_skill_name")
|
||||
val centerSkillInfo = varchar("center_skill_info")
|
||||
val specialSkillName = varchar("special_skill_name")
|
||||
val specialSkillInfo = varchar("special_skill_info")
|
||||
val Database.card get() = this.sequenceOf(TCards)
|
||||
|
||||
interface TCard : Entity<TCard> {
|
||||
companion object : Entity.Factory<TCard>()
|
||||
|
||||
val id: Int
|
||||
val name: String
|
||||
val characterId: Int
|
||||
val characterName: String
|
||||
val type: String
|
||||
val rarity: String
|
||||
val maxLevel: String
|
||||
val maxHp: String
|
||||
val smile: String
|
||||
val pure: String
|
||||
val cool: String
|
||||
val illustId: String
|
||||
val evolveIllustId: String
|
||||
val group: String
|
||||
val team: String
|
||||
val date: String
|
||||
val centerSkillName: String
|
||||
val centerSkillInfo: String
|
||||
val specialSkillName: String
|
||||
val specialSkillInfo: String
|
||||
}
|
||||
|
||||
object TCards : Table<TCard>("t_card") {
|
||||
val id = int("id").primaryKey().bindTo { it.id }
|
||||
val name = varchar("name").bindTo { it.name }
|
||||
val characterId = int("character_id").bindTo { it.characterId }
|
||||
val characterName = varchar("character_name").bindTo { it.characterName }
|
||||
val type = varchar("type").bindTo { it.type }
|
||||
val rarity = varchar("rarity").bindTo { it.rarity }
|
||||
val maxLevel = varchar("max_level").bindTo { it.maxLevel }
|
||||
val maxHp = varchar("max_hp").bindTo { it.maxHp }
|
||||
val smile = varchar("smile").bindTo { it.smile }
|
||||
val pure = varchar("pure").bindTo { it.pure }
|
||||
val cool = varchar("cool").bindTo { it.cool }
|
||||
val illustId = varchar("illust_id").bindTo { it.illustId }
|
||||
val evolveIllustId = varchar("evolve_illust_id").bindTo { it.evolveIllustId }
|
||||
val group = varchar("group").bindTo { it.group }
|
||||
val team = varchar("team").bindTo { it.team }
|
||||
val date = varchar("date").bindTo { it.date }
|
||||
val centerSkillName = varchar("center_skill_name").bindTo { it.centerSkillName }
|
||||
val centerSkillInfo = varchar("center_skill_info").bindTo { it.centerSkillInfo }
|
||||
val specialSkillName = varchar("special_skill_name").bindTo { it.specialSkillName }
|
||||
val specialSkillInfo = varchar("special_skill_info").bindTo { it.specialSkillInfo }
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user