resMultiText.go 819 Bytes
Newer Older
chenweijian's avatar
chenweijian committed
1 2 3
package res_m

import (
hujiebin's avatar
hujiebin committed
4
	"git.hilo.cn/hilo-common/resource/mysql"
chenweijian's avatar
chenweijian committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
	"gorm.io/gorm"
	"hilo-user/_const/enum/res_e"
	"hilo-user/myerr"
)

type ResMultiText struct {
	mysql.Entity
	MsgId    uint
	Language mysql.Str
	Content  mysql.Str
}

func (r *ResMultiText) Get(db *gorm.DB) error {
	return db.Where(r).First(r).Error
}

func GetResMultiTextBy(db *gorm.DB, msgId uint, Language mysql.Str) (*ResMultiText, error) {
	r := ResMultiText{}
	if err := db.Where(&ResMultiText{
		MsgId:    msgId,
		Language: Language,
	}).First(&r).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			if err := db.Where(&ResMultiText{
				MsgId:    msgId,
hujiebin's avatar
hujiebin committed
30
				Language: res_e.DefaultLang,
chenweijian's avatar
chenweijian committed
31 32 33 34 35 36 37 38 39 40
			}).First(&r).Error; err != nil {
				return nil, myerr.WrapErr(err)
			}
		} else {
			return nil, myerr.WrapErr(err)
		}

	}
	return &r, nil
}