diff --git a/api/handler/mj_handler.go b/api/handler/mj_handler.go
index 06f92b35..a9c8922b 100644
--- a/api/handler/mj_handler.go
+++ b/api/handler/mj_handler.go
@@ -179,7 +179,6 @@ func (h *MidJourneyHandler) Image(c *gin.Context) {
}
type reqVo struct {
- TaskId string `json:"task_id"`
Index int `json:"index"`
ChannelId string `json:"channel_id"`
MessageId string `json:"message_id"`
@@ -206,11 +205,12 @@ func (h *MidJourneyHandler) Upscale(c *gin.Context) {
idValue, _ := c.Get(types.LoginUserID)
jobId := 0
userId := utils.IntValue(utils.InterfaceToString(idValue), 0)
+ taskId, _ := h.snowflake.Next(true)
job := model.MidJourneyJob{
Type: types.TaskUpscale.String(),
ReferenceId: data.MessageId,
UserId: userId,
- TaskId: data.TaskId,
+ TaskId: taskId,
Progress: 0,
Prompt: data.Prompt,
CreatedAt: time.Now(),
@@ -253,13 +253,13 @@ func (h *MidJourneyHandler) Variation(c *gin.Context) {
idValue, _ := c.Get(types.LoginUserID)
jobId := 0
userId := utils.IntValue(utils.InterfaceToString(idValue), 0)
-
+ taskId, _ := h.snowflake.Next(true)
job := model.MidJourneyJob{
Type: types.TaskVariation.String(),
ChannelId: data.ChannelId,
ReferenceId: data.MessageId,
UserId: userId,
- TaskId: data.TaskId,
+ TaskId: taskId,
Progress: 0,
Prompt: data.Prompt,
CreatedAt: time.Now(),
diff --git a/api/handler/test_handler.go b/api/handler/test_handler.go
index e94f25af..58c30422 100644
--- a/api/handler/test_handler.go
+++ b/api/handler/test_handler.go
@@ -1,6 +1,7 @@
package handler
import (
+ "chatplus/service"
"chatplus/store/model"
"chatplus/utils"
"chatplus/utils/resp"
@@ -10,14 +11,19 @@ import (
)
type TestHandler struct {
- db *gorm.DB
+ db *gorm.DB
+ snowflake *service.Snowflake
}
-func NewTestHandler(db *gorm.DB) *TestHandler {
- return &TestHandler{db: db}
+func NewTestHandler(db *gorm.DB, snowflake *service.Snowflake) *TestHandler {
+ return &TestHandler{db: db, snowflake: snowflake}
}
func (h *TestHandler) Test(c *gin.Context) {
+ h.initMjTaskId(c)
+}
+
+func (h *TestHandler) initUserNickname(c *gin.Context) {
var users []model.User
tx := h.db.Find(&users)
if tx.Error != nil {
@@ -32,3 +38,20 @@ func (h *TestHandler) Test(c *gin.Context) {
resp.SUCCESS(c)
}
+
+func (h *TestHandler) initMjTaskId(c *gin.Context) {
+ var jobs []model.MidJourneyJob
+ tx := h.db.Find(&jobs)
+ if tx.Error != nil {
+ resp.ERROR(c, tx.Error.Error())
+ return
+ }
+
+ for _, job := range jobs {
+ id, _ := h.snowflake.Next(true)
+ job.TaskId = id
+ h.db.Updates(&job)
+ }
+
+ resp.SUCCESS(c)
+}
diff --git a/api/service/mj/service.go b/api/service/mj/service.go
index 04cd94d8..a9a0a49b 100644
--- a/api/service/mj/service.go
+++ b/api/service/mj/service.go
@@ -121,9 +121,11 @@ func (s *Service) Notify(data CBReq) {
return
}
- tx := s.db.Where("task_id = ? AND progress < 100", split[0]).Session(&gorm.Session{}).Order("id ASC")
+ tx := s.db.Session(&gorm.Session{}).Order("id ASC")
if data.ReferenceId != "" {
tx = tx.Where("reference_id = ?", data.ReferenceId)
+ } else {
+ tx = tx.Where("task_id = ?", split[0])
}
res = tx.First(&job)
if res.Error != nil {
diff --git a/database/update-v3.2.4.sql b/database/update-v3.2.4.sql
index 87642d1a..243431d8 100644
--- a/database/update-v3.2.4.sql
+++ b/database/update-v3.2.4.sql
@@ -1,2 +1,5 @@
ALTER TABLE `chatgpt_users` ADD `nickname` VARCHAR(30) NOT NULL COMMENT '昵称' AFTER `mobile`;
ALTER TABLE `chatgpt_rewards` ADD `exchange` VARCHAR(255) NOT NULL COMMENT '兑换详情(json)' AFTER `status`;
+ALTER TABLE `chatgpt_api_keys` ADD `api_url` VARCHAR(255) NULL COMMENT 'API 地址' AFTER `last_used_at`, ADD `enabled` TINYINT(1) NULL COMMENT '是否启用' AFTER `api_url`;
+ALTER TABLE `chatgpt_api_keys` DROP INDEX `value`;
+ALTER TABLE `chatgpt_mj_jobs` ADD UNIQUE(`task_id`);
\ No newline at end of file
diff --git a/web/src/App.vue b/web/src/App.vue
index 31c8beb7..c657dba7 100644
--- a/web/src/App.vue
+++ b/web/src/App.vue
@@ -6,7 +6,8 @@
+import zhCn from 'element-plus/es/locale/lang/zh-cn';
+
diff --git a/web/src/views/ImageMj.vue b/web/src/views/ImageMj.vue
index 0475fa7a..c021c17f 100644
--- a/web/src/views/ImageMj.vue
+++ b/web/src/views/ImageMj.vue
@@ -711,7 +711,6 @@ const variation = (index, item) => {
const send = (url, index, item) => {
httpPost(url, {
index: index,
- task_id: item.task_id,
channel_id: item.channel_id,
message_id: item.message_id,
message_hash: item.hash,
diff --git a/web/src/views/admin/SysConfig.vue b/web/src/views/admin/SysConfig.vue
index ae69eacc..772d914c 100644
--- a/web/src/views/admin/SysConfig.vue
+++ b/web/src/views/admin/SysConfig.vue
@@ -109,7 +109,7 @@
-
+