Compare commits

..

2 Commits

Author SHA1 Message Date
server_main 1bacf534b9 refactor: better SerializersModule structure 2026-08-18 10:40:18 +00:00
server_main 77cf75a2be V1.0.0
All backend function is available
2026-08-18 09:20:39 +00:00
6 changed files with 27 additions and 27 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ plugins {
}
group = "club.itstudio"
version = "0.1.1"
version = "1.0.0"
description = "itmanager"
java {
@@ -1,7 +1,9 @@
package club.itstudio.itmanager.config
import club.itstudio.itmanager.utils.customSerializersModule
import club.itstudio.itmanager.utils.BigDecimalSerializer
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.modules.contextual
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
@@ -10,7 +12,9 @@ class SerializationConfig {
@Bean
fun kotlinxSerializationJson(): Json = Json {
serializersModule = customSerializersModule
serializersModule = SerializersModule {
contextual(BigDecimalSerializer)
}
ignoreUnknownKeys = true
isLenient = true
encodeDefaults = false
@@ -3,8 +3,8 @@ package club.itstudio.itmanager.service.impl
import club.itstudio.itmanager.entity.dto.BorrowRecord
import club.itstudio.itmanager.mapper.BorrowRecordMapper
import club.itstudio.itmanager.service.BorrowRecordService
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
import com.baomidou.mybatisplus.core.metadata.OrderItem
import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper
import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
import org.slf4j.LoggerFactory
@@ -39,14 +39,14 @@ class BorrowRecordServiceImpl : ServiceImpl<BorrowRecordMapper, BorrowRecord>(),
page.addOrder(OrderItem.desc("created_at"))
page(page)
} else {
val wrapper = KtQueryWrapper(BorrowRecord())
val wrapper = QueryWrapper<BorrowRecord>()
if (!keyword.isNullOrBlank()) {
wrapper.like(BorrowRecord::borrower, keyword)
wrapper.like("borrower", keyword)
}
if (!status.isNullOrBlank()) {
wrapper.eq(BorrowRecord::status, status)
wrapper.eq("status", status)
}
wrapper.orderByDesc(BorrowRecord::createdAt)
wrapper.orderByDesc("created_at")
page(page, wrapper)
}
}
@@ -3,6 +3,7 @@ package club.itstudio.itmanager.service.impl
import club.itstudio.itmanager.entity.dto.FinanceRecord
import club.itstudio.itmanager.mapper.FinanceRecordMapper
import club.itstudio.itmanager.service.FinanceRecordService
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
import org.slf4j.LoggerFactory
@@ -42,29 +43,29 @@ class FinanceRecordServiceImpl : ServiceImpl<FinanceRecordMapper, FinanceRecord>
) {
page(page)
} else {
val wrapper = ktQuery()
val wrapper = QueryWrapper<FinanceRecord>()
if (!keyword.isNullOrBlank()) {
wrapper.and {
it.like(FinanceRecord::recordNo, keyword)
.or().like(FinanceRecord::vendor, keyword)
.or().like(FinanceRecord::note, keyword)
it.like("record_no", keyword)
.or().like("vendor", keyword)
.or().like("note", keyword)
}
}
if (!type.isNullOrBlank()) {
wrapper.eq(FinanceRecord::type, type)
wrapper.eq("type", type)
}
if (!start.isNullOrBlank() && !end.isNullOrBlank()) {
wrapper.apply("occurred_at BETWEEN {0} AND {1}", start, end)
} else if (!start.isNullOrBlank()) {
wrapper.ge(FinanceRecord::occurredAt, start)
wrapper.ge("occurred_at", start)
} else if (!end.isNullOrBlank()) {
wrapper.le(FinanceRecord::occurredAt, end)
wrapper.le("occurred_at", end)
}
if (!vendor.isNullOrBlank()) {
wrapper.eq(FinanceRecord::vendor, vendor)
wrapper.eq("vendor", vendor)
}
if (itemId != null) {
wrapper.eq(FinanceRecord::relatedItemId, itemId)
wrapper.eq("related_item_id", itemId)
}
page(page, wrapper)
}
@@ -3,6 +3,7 @@ package club.itstudio.itmanager.service.impl
import club.itstudio.itmanager.entity.dto.Item
import club.itstudio.itmanager.mapper.ItemMapper
import club.itstudio.itmanager.service.ItemService
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
import org.slf4j.LoggerFactory
@@ -25,15 +26,15 @@ class ItemServiceImpl : ServiceImpl<ItemMapper, Item>(), ItemService {
if (keyword.isNullOrBlank() && status.isNullOrBlank()) {
page(page)
} else {
val wrapper = ktQuery()
val wrapper = QueryWrapper<Item>()
if (!keyword.isNullOrBlank()) {
wrapper.and {
it.like(Item::name, keyword)
.or().like(Item::code, keyword)
it.like("name", keyword)
.or().like("code", keyword)
}
}
if (!status.isNullOrBlank()) {
wrapper.eq(Item::status, status)
wrapper.eq("status", status)
}
page(page, wrapper)
}
@@ -9,8 +9,6 @@ import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
import kotlinx.serialization.json.JsonDecoder
import kotlinx.serialization.json.JsonPrimitive
import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.modules.contextual
import java.math.BigDecimal
object BigDecimalSerializer : KSerializer<BigDecimal> {
@@ -28,8 +26,4 @@ object BigDecimalSerializer : KSerializer<BigDecimal> {
}
return element.content.toBigDecimal()
}
}
val customSerializersModule = SerializersModule {
contextual(BigDecimalSerializer)
}