feat: murder项目整体迁移

This commit is contained in:
2022-01-12 14:34:31 +08:00
parent 7398e7ab9e
commit c7df390cec
21 changed files with 1698 additions and 4 deletions
@@ -0,0 +1,83 @@
package service
import (
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/error_process"
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/gorm_helper"
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/model"
bgm "git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/util"
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
)
func CreateCategory(category *model.Category, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.CreateCategoryM(category, db)
}
func GetCategory(page, limit int, query bgm.QueryMap, ctx *fiber.Ctx) ([]model.Category, int64, error) {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return nil, 0, err
}
return model.GetCategoryM(page, limit, query, db)
}
func UpdateCategory(category *model.Category, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.UpdateCategoryM(category, db)
}
func DeleteCategory(category *model.Category, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
category.IsDel = 1
//根据uuid对 is_del字段update,其他字段不允许传入
if category.Value != "" {
return error_process.ExtraValueErr("Value")
}
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.UpdateCategoryM(category, db)
}
// CreateTagForCategory 为Category 新增tag
func CreateTagForCategory(cTags *model.CategoriesTagDto, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.CreateTagForCategoryM(cTags.Cid, cTags.TIds, db)
}
// DeleteTagForCategory 删除Category分组
func DeleteTagForCategory(cTags *model.CategoriesTagDto, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.DelTagForCategoryM(cTags.Cid, cTags.TIds, db)
}
@@ -0,0 +1,99 @@
package service
import (
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/error_process"
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/gorm_helper"
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/model"
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/util"
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
"strconv"
)
func GetScripts(page, limit int, query model.QueryMap, ctx *fiber.Ctx) ([]model.ScriptsDto, int64, error) {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return nil, 0, err
}
queryMap := make(util.QueryMap)
m := make(map[int]string)
queryMap["type"] = "script"
tag, _, err := model.GetTagM(-1, -1, queryMap, db)
if err != nil {
return nil, 0, err
}
for _, v := range tag {
m[v.Uuid] = v.Value
}
script, num, err := model.GetScriptsM(page, limit, query, db)
if err != nil {
return nil, 0, err
}
dtos := make([]model.ScriptsDto, len(script))
for k, v := range script {
tags := make([]string, len(v.ScriptTag))
for k1, v1 := range v.ScriptTag {
if tag1, ok := m[v1]; !ok {
return nil, 0, error_process.EmptyValueErr(strconv.Itoa(k1))
} else {
tags[k1] = tag1
}
}
dtos[k] = model.ScriptsDto{
ScriptName: v.ScriptName,
ScriptIntro: v.ScriptIntro,
ScriptTag: tags,
ScriptScore: v.ScriptScore,
GroupDuration: v.GroupDuration,
ScriptCoverUrl: v.ScriptCoverUrl,
ScriptTextContext: v.ScriptTextContext,
ScriptPlotScore: v.ScriptPlotScore,
ScriptImageContent: v.ScriptImageContent,
ScriptMalePlayer: v.ScriptMalePlayer,
ScriptFemalePlayer: v.ScriptFemalePlayer,
ScriptDifficultDegree: v.ScriptDifficultDegree,
ScriptPlayerLimit: v.ScriptPlayerLimit,
Uuid: v.Uuid,
ScriptComplexScore: v.ScriptComplexScore,
}
}
return dtos, num, nil
}
func UpdateScripts(scripts *model.Scripts, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.UpdateScriptsM(scripts, db)
}
func CreateScripts(scripts *model.Scripts, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.CreateScriptsM(scripts, db)
}
func DeleteScripts(scripts *model.Scripts, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
scripts.IsDel = 1
return model.UpdateScriptsM(scripts, db)
}
@@ -0,0 +1,84 @@
package service
import (
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/error_process"
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/gorm_helper"
"git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/model"
bgm "git.icechen.cn/monorepo/backend/app/brahma/api/murder/internal/util"
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
)
// CreateTag 新建Tag(暂不支持创建连带Category)
func CreateTag(tag *model.Tag, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.CreateTagM(tag, db)
}
func UpdateTag(tag *model.Tag, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.UpdateTagM(tag, db)
}
func GetTag(page, limit int, ctx *fiber.Ctx, query bgm.QueryMap) ([]model.Tag, int64, error) {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return nil, 0, err
}
return model.GetTagM(page, limit, query, db)
}
func DeleteTag(tag *model.Tag, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
tag.IsDel = 1
//根据uuid对 is_del字段update,其他字段不允许传入
if tag.Value != "" {
return error_process.ExtraValueErr("Value")
}
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.UpdateTagM(tag, db)
}
// CreateCategoryForTag 新增删除Category分组
func CreateCategoryForTag(cTags *model.TagCategoriesDto, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.CreateCategoryForTagM(cTags.Tid, cTags.CIds, db)
}
// DelCategoryForTag 删除Category分组
func DelCategoryForTag(cTags *model.TagCategoriesDto, ctx *fiber.Ctx) error {
var (
db *gorm.DB
err error
)
if db, err = gorm_helper.GetContextDB(ctx); err != nil {
return err
}
return model.DelCategoryForTagM(cTags.Tid, cTags.CIds, db)
}