diff --git a/models/models.go b/models/models.go index d2c86b3..da91948 100644 --- a/models/models.go +++ b/models/models.go @@ -2,7 +2,6 @@ package models import ( "fmt" - "github.com/google/uuid" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" "log" @@ -19,16 +18,16 @@ type IDModel struct { CreatedBy string `json:"created_by" gorm:"type:varchar(100) comment '创建人';default:'';"` ModifiedBy string `json:"modified_by" gorm:"type:varchar(100) comment '修改人';default:'';"` CreatedOn util.Time `json:"created_on" gorm:"type:timestamp comment '创建时间';default:current_timestamp;"` - ModifiedOn util.Time `json:"modified_on" gorm:"type:timestamp comment '更新时间';default:current_timestamp on update current_timestamp;"` + ModifiedOn util.Time `json:"modified_on" gorm:"type:timestamp comment '更新时间';"` } type UUIDModel struct { - ID uuid.UUID `gorm:"type:varchar(36) comment 'id';primary_key" json:"id"` + ID string `gorm:"type:varchar(12) comment 'id';primary_key" json:"id"` CreatedBy string `json:"created_by" gorm:"type:varchar(100) comment '创建人';default:'';"` ModifiedBy string `json:"modified_by" gorm:"type:varchar(100) comment '修改人';default:'';"` CreatedOn util.Time `json:"created_on" gorm:"type:timestamp comment '创建时间';default:current_timestamp;"` - ModifiedOn util.Time `json:"modified_on" gorm:"type:timestamp comment '更新时间';default:current_timestamp on update current_timestamp;"` + ModifiedOn util.Time `json:"modified_on" gorm:"type:timestamp comment '更新时间';"` } // Setup initializes the database instance diff --git a/models/send_ins.go b/models/send_ins.go index c10a721..b8b4caa 100644 --- a/models/send_ins.go +++ b/models/send_ins.go @@ -3,8 +3,8 @@ package models type SendTasksIns struct { UUIDModel - TaskID string `json:"task_id" gorm:"type:varchar(36) comment '任务id';default:'';index:task_id"` - WayID string `json:"way_id" gorm:"type:varchar(36) comment '渠道id';default:'';index:way_id"` + TaskID string `json:"task_id" gorm:"type:varchar(12) comment '任务id';default:'';index:task_id"` + WayID string `json:"way_id" gorm:"type:varchar(12) comment '渠道id';default:'';index:way_id"` WayType string `json:"way_type" gorm:"type:varchar(100) comment '渠道类型';default:'';index:way_type"` ContentType string `json:"content_type" gorm:"type:varchar(100) comment '实例类型';default:'';index:content_type"` Config string `json:"config" gorm:"type:text comment '实例配置';"` diff --git a/models/send_tasks.go b/models/send_tasks.go index d1ea784..b2b87ae 100644 --- a/models/send_tasks.go +++ b/models/send_tasks.go @@ -3,8 +3,8 @@ package models import ( "errors" "fmt" - "github.com/google/uuid" "github.com/jinzhu/gorm" + "message-nest/pkg/util" ) type SendTasks struct { @@ -13,16 +13,20 @@ type SendTasks struct { Name string `json:"name" gorm:"type:varchar(100) comment '任务名称';default:'';"` } +func GenerateTaskUniqueID() string { + newUUID := util.GenerateUniqueID() + return fmt.Sprintf("T-%s", newUUID) +} + // AddSendTaskWithID 添加实例的时候添加任务 func AddSendTaskWithID(name string, id string, createdBy string) error { err := db.Where("id = ?", id).Find(&SendTasks{}).Error if err == nil { return nil } - uuidObj, _ := uuid.Parse(id) task := SendTasks{ UUIDModel: UUIDModel{ - ID: uuidObj, + ID: id, CreatedBy: createdBy, ModifiedBy: createdBy, }, @@ -36,7 +40,7 @@ func AddSendTaskWithID(name string, id string, createdBy string) error { // AddSendTask 添加任务 func AddSendTask(name string, createdBy string) error { - newUUID := uuid.New() + newUUID := GenerateTaskUniqueID() task := SendTasks{ UUIDModel: UUIDModel{ ID: newUUID, @@ -97,7 +101,7 @@ type SendTasksInsRes struct { } type TaskIns struct { - ID uuid.UUID `json:"id"` + ID string `json:"id"` Name string `json:"name"` InsData []SendTasksInsRes `json:"ins_data"` } diff --git a/models/send_tasks_logs.go b/models/send_tasks_logs.go index 18d5f50..8ac7028 100644 --- a/models/send_tasks_logs.go +++ b/models/send_tasks_logs.go @@ -7,12 +7,12 @@ import ( type SendTasksLogs struct { ID int `gorm:"primary_key" json:"id" ` - TaskID string `json:"task_id" gorm:"type:varchar(36) comment '任务id';default:'';index:task_id"` + TaskID string `json:"task_id" gorm:"type:varchar(12) comment '任务id';default:'';index:task_id"` Log string `json:"log" gorm:"type:text comment '日志';"` Status int `json:"status" gorm:"type:int comment '状态';default:0;"` CreatedOn util.Time `json:"created_on" gorm:"type:timestamp comment '创建时间';default:current_timestamp;"` - ModifiedOn util.Time `json:"modified_on" gorm:"type:timestamp comment '更新时间';default:current_timestamp on update current_timestamp;"` + ModifiedOn util.Time `json:"modified_on" gorm:"type:timestamp comment '更新时间';"` } // Add 添加日志记录 diff --git a/models/send_ways.go b/models/send_ways.go index 78d92bd..1367864 100644 --- a/models/send_ways.go +++ b/models/send_ways.go @@ -3,8 +3,8 @@ package models import ( "errors" "fmt" - "github.com/google/uuid" "github.com/jinzhu/gorm" + "message-nest/pkg/util" ) type SendWays struct { @@ -15,8 +15,13 @@ type SendWays struct { Auth string `json:"auth" gorm:"type:varchar(2048) comment '认证信息';default:'';"` } +func GenerateWayUniqueID() string { + newUUID := util.GenerateUniqueID() + return fmt.Sprintf("W-%s", newUUID) +} + func AddSendWay(name string, auth string, wayType string, createdBy string, modifiedBy string) error { - newUUID := uuid.New() + newUUID := GenerateWayUniqueID() way := SendWays{ UUIDModel: UUIDModel{ ID: newUUID, diff --git a/pkg/constant/constant.go b/pkg/constant/constant.go index 28d4c18..2122086 100644 --- a/pkg/constant/constant.go +++ b/pkg/constant/constant.go @@ -1,6 +1,6 @@ package constant -const CleanLogsTaskId = "00000000-0000-0000-0000-000000000001" +const CleanLogsTaskId = "T-IM1GBswSRY" const SiteSettingSectionName = "site_config" //const SiteSettingTitleKeyName = "title" diff --git a/pkg/util/date.go b/pkg/util/date.go deleted file mode 100644 index a0aad95..0000000 --- a/pkg/util/date.go +++ /dev/null @@ -1,19 +0,0 @@ -package util - -import ( - "time" -) - -func TimeStampToYmdMHD(stamp int) string { - timestamp := int64(stamp) - timeObj := time.Unix(timestamp, 0) - formattedTime := timeObj.Format("2006-01-02 15:04:05") - return formattedTime -} - -func GetNowTimeStampToYmdMHD() string { - now := time.Now().Unix() - timeObj := time.Unix(now, 0) - formattedTime := timeObj.Format("2006-01-02 15:04:05") - return formattedTime -} diff --git a/pkg/util/string.go b/pkg/util/string.go new file mode 100644 index 0000000..cfb43b8 --- /dev/null +++ b/pkg/util/string.go @@ -0,0 +1,27 @@ +package util + +import ( + "math/rand" + "time" +) + +func GenerateRandomString(length int) string { + source := rand.NewSource(time.Now().UnixNano()) + random := rand.New(source) + + charSet := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + var result string + var charSetLen = len(charSet) + + for i := 0; i < length; i++ { + randomIndex := random.Intn(charSetLen) + result += string(charSet[randomIndex]) + } + + return result +} + +func GenerateUniqueID() string { + randomString := GenerateRandomString(10) + return randomString +} diff --git a/routers/api/v1/send_ins.go b/routers/api/v1/send_ins.go index 81bb5d6..40f3e94 100644 --- a/routers/api/v1/send_ins.go +++ b/routers/api/v1/send_ins.go @@ -3,7 +3,6 @@ package v1 import ( "fmt" "github.com/gin-gonic/gin" - "github.com/google/uuid" "message-nest/models" "message-nest/pkg/app" "message-nest/pkg/e" @@ -13,7 +12,7 @@ import ( ) type DeleteMsgTaskInsReq struct { - ID string `json:"id" validate:"required,len=36" label:"实例id"` + ID string `json:"id" validate:"required,len=12" label:"实例id"` } // DeleteMsgSendWay 删除消息渠道 @@ -65,9 +64,9 @@ func GetMsgSendWayIns(c *gin.Context) { } type SendTasksInsReq struct { - ID string `json:"id" validate:"required,len=36" label:"实例id"` - TaskId string `json:"task_id" validate:"required,len=36" label:"ins任务id"` - WayID string `json:"way_id" validate:"required,len=36" label:"渠道id"` + ID string `json:"id" validate:"required,len=12" label:"实例id"` + TaskId string `json:"task_id" validate:"required,len=12" label:"ins任务id"` + WayID string `json:"way_id" validate:"required,len=12" label:"渠道id"` ContentType string `json:"content_type" validate:"required,max=100" label:"实例内容类型"` Config string `json:"config" validate:"" label:"任务配置"` Extra string `json:"extra" validate:"" label:"任务额外信息"` @@ -76,7 +75,7 @@ type SendTasksInsReq struct { } type AddManyTasksInsReq struct { - TaskId string `json:"id" validate:"required,len=36" label:"任务id"` + TaskId string `json:"id" validate:"required,len=12" label:"任务id"` TaskName string `json:"name" validate:"required,max=100" label:"任务名"` InsData []SendTasksInsReq `json:"ins_data"` } @@ -104,10 +103,9 @@ func AddManyTasksIns(c *gin.Context) { appG.CResponse(code, dataErrStr, nil) return } - uuidObj, _ := uuid.Parse(data.ID) taskIns = append(taskIns, models.SendTasksIns{ UUIDModel: models.UUIDModel{ - ID: uuidObj, + ID: data.ID, CreatedBy: currentUser, ModifiedBy: currentUser, }, @@ -158,9 +156,8 @@ func AddTasksIns(c *gin.Context) { } sendTaskInsService := send_ins_service.SendTaskInsService{} - uuidObj, _ := uuid.Parse(req.ID) err := sendTaskInsService.AddOne(models.SendTasksIns{ - UUIDModel: models.UUIDModel{ID: uuidObj}, + UUIDModel: models.UUIDModel{ID: req.ID}, TaskID: req.TaskId, WayID: req.WayID, WayType: req.WayType, @@ -179,7 +176,7 @@ func AddTasksIns(c *gin.Context) { } type UpdateMsgTaskInsEnableReq struct { - ID string `json:"ins_id" validate:"required,len=36" label:"实例id"` + ID string `json:"ins_id" validate:"required,len=12" label:"实例id"` Enable int `json:"status" validate:"" label:"实例开启状态"` } diff --git a/routers/api/v1/send_message.go b/routers/api/v1/send_message.go index 63f0cd8..1c03408 100644 --- a/routers/api/v1/send_message.go +++ b/routers/api/v1/send_message.go @@ -9,7 +9,7 @@ import ( ) type SendMessageReq struct { - TaskID string `json:"task_id" validate:"required,len=36" label:"任务id"` + TaskID string `json:"task_id" validate:"required,len=12" label:"任务id"` Text string `json:"text" validate:"required" label:"文本内容"` Title string `json:"title" label:"消息标题"` HTML string `json:"html" label:"html内容"` diff --git a/routers/api/v1/send_task.go b/routers/api/v1/send_task.go index 4297a7c..287e4d3 100644 --- a/routers/api/v1/send_task.go +++ b/routers/api/v1/send_task.go @@ -11,7 +11,7 @@ import ( ) type DeleteMsgSendTaskReq struct { - ID string `json:"id" validate:"required,len=36" label:"任务id"` + ID string `json:"id" validate:"required,len=12" label:"任务id"` } // DeleteMsgSendTask 删除消息任务 @@ -103,7 +103,7 @@ func AddMsgSendTask(c *gin.Context) { } type EditMsgSendTaskReq struct { - ID string `json:"id" validate:"required,len=36" label:"任务id"` + ID string `json:"id" validate:"required,len=12" label:"任务id"` TaskName string `json:"name" validate:"required,max=100,min=1" label:"任务任务名"` } diff --git a/routers/api/v1/send_ways.go b/routers/api/v1/send_ways.go index 61adb33..66f1435 100644 --- a/routers/api/v1/send_ways.go +++ b/routers/api/v1/send_ways.go @@ -12,7 +12,7 @@ import ( ) type DeleteMsgSendWayReq struct { - ID string `json:"id" validate:"required,len=36" label:"渠道id"` + ID string `json:"id" validate:"required,len=12" label:"渠道id"` } // DeleteMsgSendWay 删除消息渠道 @@ -138,7 +138,7 @@ func AddMsgSendWay(c *gin.Context) { } type EditSendWayReq struct { - ID string `json:"id" validate:"required,len=36" label:"渠道id"` + ID string `json:"id" validate:"required,len=12" label:"渠道id"` Name string `json:"name" validate:"required,max=100,min=1" label:"渠道名"` Type string `json:"type" validate:"required,max=100,min=1" label:"渠道类型"` Auth string `json:"auth" validate:"required" label:"渠道认证信息"` diff --git a/web/src/constant.js b/web/src/constant.js index 6a0d686..bf9d4cb 100644 --- a/web/src/constant.js +++ b/web/src/constant.js @@ -7,7 +7,7 @@ const CONSTANT = { // PAGE_SIZE: 8, TOTAL: 0, DEFALUT_SITE_CONFIG: JSON.stringify({ "logo": "", "pagesize": "8", "slogan": "A Message Way Hosted Site", "title": "Message Nest" }), - LOG_TASK_ID: "00000000-0000-0000-0000-000000000001", + LOG_TASK_ID: "T-IM1GBswSRY", STORE_TOKEN_NAME: '__message_nest_token__', STORE_CUSTOM_NAME: '__message_nest_custom_site__', NO_AUTH_URL: [ diff --git a/web/src/util/uuid.js b/web/src/util/uuid.js new file mode 100644 index 0000000..3fb718f --- /dev/null +++ b/web/src/util/uuid.js @@ -0,0 +1,24 @@ + +function generateRandomString(length) { + const charSet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + let result = ''; + + for (let i = 0; i < length; i++) { + const randomIndex = Math.floor(Math.random() * charSet.length); + result += charSet.charAt(randomIndex); + } + + return result; +} + +function generateUniqueID() { + const randomString = generateRandomString(10); + return randomString; +} + +function generateBizUniqueID(flag) { + const randomString = generateRandomString(10); + return `${flag}-${randomString}`; +} + +export { generateUniqueID, generateBizUniqueID }; diff --git a/web/src/views/tabsTools/sendTasks/sendTasks.vue b/web/src/views/tabsTools/sendTasks/sendTasks.vue index 9793b19..347de29 100644 --- a/web/src/views/tabsTools/sendTasks/sendTasks.vue +++ b/web/src/views/tabsTools/sendTasks/sendTasks.vue @@ -14,7 +14,7 @@
- + diff --git a/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue b/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue index 868c54b..331cb3b 100644 --- a/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue +++ b/web/src/views/tabsTools/sendTasks/view/addTaskPopUp.vue @@ -96,11 +96,11 @@ import { defineComponent, onMounted, watch, reactive, toRefs } from 'vue'; import { _ } from 'lodash'; import { QuestionFilled } from '@element-plus/icons-vue' -import { v4 as uuidv4 } from 'uuid'; import { usePageState } from '@/store/page_sate.js'; import { request } from '@/api/api' import { CONSTANT } from '@/constant' import { CommonUtils } from "@/util/commonUtils.js"; +import { generateBizUniqueID } from "@/util/uuid.js"; export default defineComponent({ @@ -122,7 +122,7 @@ export default defineComponent({ currInsInputContentType: 'text', currTaskInput: { taskName: '', - taskId: uuidv4(), + taskId: generateBizUniqueID('T'), }, }); @@ -149,7 +149,7 @@ export default defineComponent({ state.isShowAddBox = false; state.currTaskInput = { taskName: '', - taskId: uuidv4(), + taskId: generateBizUniqueID('T'), } } @@ -162,7 +162,7 @@ export default defineComponent({ // 点击暂存实例 const clickStore = () => { let insData = { - id: uuidv4(), + id: generateBizUniqueID('I'), task_id: state.currTaskInput.taskId, way_id: state.currWayTmp.id, way_type: state.currWayTmp.type, diff --git a/web/src/views/tabsTools/sendTasks/view/editTaskPopUp.vue b/web/src/views/tabsTools/sendTasks/view/editTaskPopUp.vue index d645cdb..35beeca 100644 --- a/web/src/views/tabsTools/sendTasks/view/editTaskPopUp.vue +++ b/web/src/views/tabsTools/sendTasks/view/editTaskPopUp.vue @@ -102,13 +102,13 @@ import { defineComponent, onMounted, watch, reactive, toRefs } from 'vue'; import { _ } from 'lodash'; import { QuestionFilled } from '@element-plus/icons-vue' -import { v4 as uuidv4 } from 'uuid'; import { usePageState } from '@/store/page_sate.js'; import { request } from '@/api/api' import tableDeleteButton from '@/views/common/tableDeleteButton.vue' import { ElMessage } from 'element-plus' import { CONSTANT } from '@/constant' import { CommonUtils } from "@/util/commonUtils.js"; +import { generateBizUniqueID } from "@/util/uuid.js"; export default defineComponent({ @@ -203,7 +203,7 @@ export default defineComponent({ const getFinalData = () => { let postData = { - id: uuidv4(), + id: generateBizUniqueID('I'), enable: 1, task_id: state.currTaskInput.taskId, way_id: state.currWayTmp.id, diff --git a/web/src/views/tabsTools/sendWays/sendWays.vue b/web/src/views/tabsTools/sendWays/sendWays.vue index bcf64c7..613b0df 100644 --- a/web/src/views/tabsTools/sendWays/sendWays.vue +++ b/web/src/views/tabsTools/sendWays/sendWays.vue @@ -19,7 +19,7 @@
- +