feiyu02
2024-08-15 196bb14112448857a885e32dc4149e308e00b01a
src/test/kotlin/cn/flightfeather/supervision/CommonTest.kt
@@ -1,12 +1,32 @@
package cn.flightfeather.supervision
import cn.flightfeather.supervision.common.docimport.UserExcelRule
import cn.flightfeather.supervision.common.net.JinAnLianTongHttpService
import cn.flightfeather.supervision.common.nlp.NlpController
import cn.flightfeather.supervision.common.pdf.PdfUtil
import cn.flightfeather.supervision.infrastructure.utils.DateUtil
import cn.flightfeather.supervision.infrastructure.utils.FileUtil
import cn.flightfeather.supervision.websocket.MsgType
import cn.flightfeather.supervision.websocket.PersonalServerMsgVo
import cn.flightfeather.supervision.websocket.WebSocketMsg
import com.google.gson.Gson
import org.apache.commons.codec.digest.DigestUtils
import org.apache.commons.codec.digest.Md5Crypt
import org.fit.pdfdom.PDFDomTreeConfig
import org.junit.Test
import org.springframework.boot.json.GsonJsonParser
import java.io.File
import java.io.FileInputStream
import java.time.Duration
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.util.*
import java.util.regex.Pattern
import kotlin.random.Random
import kotlin.random.nextInt
import kotlin.reflect.jvm.internal.impl.load.kotlin.JvmType
/**
 * @author riku
@@ -65,6 +85,77 @@
    @Test
    fun foo4() {
        val d = Date()
        println(d.time)
        d.time = 1666262747
        println(d)
    }
    @Test
    fun foo5() {
        val n = NlpController()
        n.execute("吃苹果")
    }
    @Test
    fun foo6() {
        repeat(20) {
            val r = Random.nextInt(100..999)
            println(r)
        }
    }
    @Test
    fun foo7() {
        var s = "2022/10-12"
        val list = s.split("-")
        val endM = list[1].toInt()
        val list2 = list[0].split("/")
        val year = list2[0].toInt()
        val startM = list2[1].toInt()
//        s = s.replace("/", "-")
        val st = LocalDateTime.of(year, startM, 1, 0, 0, 0, 0)
        val et = LocalDateTime.of(year, endM, 1, 0, 0, 0, 0).plusMonths(1)
        println(st)
        println(et)
    }
    @Test
    @Throws(Exception::class)
    open fun test_convert_pdf_to_html() {
        val config = PDFDomTreeConfig.createDefaultConfig()
        config.imageHandler = PDFDomTreeConfig.saveToDirectory(File("/target/res/"))
        config.fontHandler = config.imageHandler
        val html = PdfUtil.parseWithPdfDomTree(FileInputStream("C:\\work\\工作\\守法自主小程序\\汽修/2 大气污染物综合排放标准(DB31933—2015).pdf"), 0, 10, config)
//        FileUtils.write(File("/mnt/test.html"), htmlOutput, "utf-8")
        html?.toByteArray()?.let { FileUtil.uploadFile(it, "/target/", "test.html") }
    }
    @Test
    fun foo8() {
//        val now = Date().time / 1000
        val now = 1667870335
        val key = "${now}e6dc8bb9e1ff0ce973fb92b4af2e4c3f"
        val sign = DigestUtils.md5Hex(key)
        println(sign)
    }
    @Test
    fun foo10() {
        val clz = UserExcelRule::class.java
        val params = mutableListOf<Any>()
//        val u = clz.newInstance()
//        println(u)
        repeat(14) { params.add(it.toString()) }
        println(params)
//        val n = clz.constructors[0].newInstance("","","","","","","","","","","","","","")
        val n = clz.constructors[0].newInstance(*params.toTypedArray())
        println(n)
    }
    @Test
    fun foo11(){
        val s = DateUtil.getStartMonthByPeriod(5, 12)
        println(s)
    }
}