diff --git a/api/handler/dalle_handler.go b/api/handler/dalle_handler.go index 9401d610..9ccdf710 100644 --- a/api/handler/dalle_handler.go +++ b/api/handler/dalle_handler.go @@ -86,7 +86,7 @@ func (h *DallJobHandler) preCheck(c *gin.Context) bool { return false } - if user.Power < h.App.SysConfig.SdPower { + if user.Power < h.App.SysConfig.DallPower { resp.ERROR(c, "当前用户剩余算力不足以完成本次绘画!") return false } diff --git a/api/handler/markmap_handler.go b/api/handler/markmap_handler.go index 4a8874b6..ddaaa134 100644 --- a/api/handler/markmap_handler.go +++ b/api/handler/markmap_handler.go @@ -199,6 +199,25 @@ func (h *MarkMapHandler) sendMessage(client *types.WsClient, prompt string, mode } } + // 扣减算力 + res = h.DB.Model(&model.User{}).Where("id", userId).UpdateColumn("power", gorm.Expr("power - ?", chatModel.Power)) + if res.Error == nil { + // 记录算力消费日志 + var u model.User + h.DB.Where("id", userId).First(&u) + h.DB.Create(&model.PowerLog{ + UserId: u.Id, + Username: u.Username, + Type: types.PowerConsume, + Amount: chatModel.Power, + Mark: types.PowerSub, + Balance: u.Power, + Model: chatModel.Value, + Remark: fmt.Sprintf("AI绘制思维导图,模型名称:%s, ", chatModel.Value), + CreatedAt: time.Now(), + }) + } + return nil }