完善各种需求

This commit is contained in:
BBIT-Kai
2026-04-14 16:52:30 +08:00
parent 1c68762421
commit 44181bcf5a
19 changed files with 1848 additions and 282 deletions
@@ -6,6 +6,7 @@ import org.jetbrains.exposed.v1.datetime.timestamp
object TraceabilityTemplatesTable : UUIDTable("traceability_templates") {
val name = varchar("name", 120)
val description = text("description").default("")
val remark = text("remark").default("")
val productName = varchar("product_name", 120).default("")
val industryName = varchar("industry_name", 120).default("")
val coverImage = text("cover_image").default("")
@@ -32,6 +33,7 @@ object TraceabilityPreviewPagesTable : UUIDTable("traceability_preview_pages") {
val name = varchar("name", 120)
val previewCode = varchar("preview_code", 120).uniqueIndex()
val description = text("description").default("")
val remark = text("remark").default("")
val productName = varchar("product_name", 120).default("")
val coverImage = text("cover_image").default("")
val themeColor = varchar("theme_color", 20).default("#1f4fd6")
@@ -13,6 +13,7 @@ data class TraceFieldStyleRequest(
@Serializable
data class TraceFieldDefinitionRequest(
val sort: Int = 0,
val key: String,
val label: String,
val type: String = "string",
@@ -51,6 +52,7 @@ data class TracePreviewNodeRequest(
data class SaveTraceTemplateRequest(
val name: String,
val description: String = "",
val remark: String = "",
val productName: String = "",
val industryName: String = "",
val coverImage: String = "",
@@ -63,6 +65,7 @@ data class SaveTraceTemplateRequest(
data class SaveTracePreviewPageRequest(
val name: String,
val description: String = "",
val remark: String = "",
val productName: String = "",
val coverImage: String = "",
val themeColor: String = "#1f4fd6",
@@ -21,6 +21,7 @@ data class TraceFieldStyleResponse(
@Serializable
data class TraceFieldDefinitionResponse(
val sort: Int = 0,
val key: String,
val label: String,
val type: String = "string",
@@ -62,6 +63,7 @@ data class TraceTemplateSummaryResponse(
val id: String,
val name: String,
val description: String,
val remark: String,
val productName: String,
val industryName: String,
val coverImage: String,
@@ -78,6 +80,7 @@ data class TraceTemplateDetailResponse(
val id: String,
val name: String,
val description: String,
val remark: String,
val productName: String,
val industryName: String,
val coverImage: String,
@@ -107,6 +110,7 @@ data class TracePreviewPageSummaryResponse(
val name: String,
val previewCode: String,
val description: String,
val remark: String,
val productName: String,
val coverImage: String,
val coverImagePreviewUrl: String = "",
@@ -122,6 +126,7 @@ data class TracePreviewPageDetailResponse(
val name: String,
val previewCode: String,
val description: String,
val remark: String,
val productName: String,
val coverImage: String,
val coverImagePreviewUrl: String = "",
@@ -110,6 +110,7 @@ object TraceabilityDao {
name = it[TraceabilityPreviewPagesTable.name],
previewCode = code,
description = it[TraceabilityPreviewPagesTable.description],
remark = it[TraceabilityPreviewPagesTable.remark],
productName = it[TraceabilityPreviewPagesTable.productName],
coverImage = it[TraceabilityPreviewPagesTable.coverImage],
coverImagePreviewUrl = resolveStoredImagePreviewUrl(it[TraceabilityPreviewPagesTable.coverImage]).orEmpty(),
@@ -131,6 +132,7 @@ object TraceabilityDao {
name = row[TraceabilityPreviewPagesTable.name],
previewCode = code,
description = row[TraceabilityPreviewPagesTable.description],
remark = row[TraceabilityPreviewPagesTable.remark],
productName = row[TraceabilityPreviewPagesTable.productName],
coverImage = row[TraceabilityPreviewPagesTable.coverImage],
coverImagePreviewUrl = resolveStoredImagePreviewUrl(row[TraceabilityPreviewPagesTable.coverImage]).orEmpty(),
@@ -148,6 +150,7 @@ object TraceabilityDao {
it[name] = request.name
it[previewCode] = buildPreviewCode()
it[description] = request.description
it[remark] = request.remark
it[productName] = request.productName
it[coverImage] = request.coverImage
it[themeColor] = request.themeColor
@@ -160,6 +163,7 @@ object TraceabilityDao {
TraceabilityPreviewPagesTable.update({ TraceabilityPreviewPagesTable.id eq currentId }) {
it[name] = request.name
it[description] = request.description
it[remark] = request.remark
it[productName] = request.productName
it[coverImage] = request.coverImage
it[themeColor] = request.themeColor
@@ -196,6 +200,7 @@ object TraceabilityDao {
val request = SaveTraceTemplateRequest(
name = detail.name,
description = detail.description,
remark = detail.remark,
productName = detail.productName,
coverImage = detail.coverImage,
themeColor = detail.themeColor,
@@ -483,6 +488,7 @@ object TraceabilityDao {
id = it[TraceabilityTemplatesTable.id].value.toString(),
name = it[TraceabilityTemplatesTable.name],
description = it[TraceabilityTemplatesTable.description],
remark = it[TraceabilityTemplatesTable.remark],
productName = it[TraceabilityTemplatesTable.productName],
industryName = it[TraceabilityTemplatesTable.industryName],
coverImage = it[TraceabilityTemplatesTable.coverImage],
@@ -505,6 +511,7 @@ object TraceabilityDao {
id = templateRow[TraceabilityTemplatesTable.id].value.toString(),
name = templateRow[TraceabilityTemplatesTable.name],
description = templateRow[TraceabilityTemplatesTable.description],
remark = templateRow[TraceabilityTemplatesTable.remark],
productName = templateRow[TraceabilityTemplatesTable.productName],
industryName = templateRow[TraceabilityTemplatesTable.industryName],
coverImage = templateRow[TraceabilityTemplatesTable.coverImage],
@@ -521,6 +528,7 @@ object TraceabilityDao {
val currentId = templateId ?: TraceabilityTemplatesTable.insertAndGetId {
it[name] = request.name
it[description] = request.description
it[remark] = request.remark
it[productName] = request.productName
it[industryName] = request.industryName
it[coverImage] = request.coverImage
@@ -534,6 +542,7 @@ object TraceabilityDao {
TraceabilityTemplatesTable.update({ TraceabilityTemplatesTable.id eq currentId }) {
it[name] = request.name
it[description] = request.description
it[remark] = request.remark
it[productName] = request.productName
it[industryName] = request.industryName
it[coverImage] = request.coverImage
@@ -952,6 +961,7 @@ object TraceabilityDao {
private fun decodeFields(raw: String): List<TraceFieldDefinitionResponse> {
return json.decodeFromString<List<TraceFieldDefinitionRequest>>(raw).map {
TraceFieldDefinitionResponse(
sort = it.sort,
key = it.key,
label = it.label,
type = it.type,