Files
customer-server/dao/account_user_dialog_dao.go

61 lines
1.8 KiB
Go

package dao
import (
"context"
"customer-server/consts/public"
"customer-server/model/dto"
"customer-server/model/entity"
"gitea.com/red-future/common/db/gfdb"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/util/gconv"
)
var AccountUserDialog = new(accountUserDialog)
type accountUserDialog struct{}
func (d *accountUserDialog) Insert(ctx context.Context, req *dto.AddAccountUserDialogReq) (id int64, err error) {
var e *entity.AccountUserDialog
if err = gconv.Struct(req, &e); err != nil {
return
}
result, err := gfdb.DB(ctx).Model(ctx, public.TableNameAccountUserDialog).Insert(e)
if err != nil {
return
}
return result.LastInsertId()
}
func (d *accountUserDialog) Update(ctx context.Context, req *dto.UpdateAccountUserDialogReq) (rows int64, err error) {
r, err := gfdb.DB(ctx).Model(ctx, public.TableNameAccountUserDialog).Data(&req).Where(entity.AccountUserDialogCol.Id, req.Id).OmitEmpty().
Data(entity.AccountUserDialogCol.DialogCount, &gdb.Counter{
Field: entity.AccountUserDialogCol.DialogCount,
Value: gconv.Float64(req.DialogCount),
}).Update()
if err != nil {
return
}
return r.RowsAffected()
}
func (d *accountUserDialog) Delete(ctx context.Context, req *dto.DeleteAccountUserDialogReq) (rows int64, err error) {
r, err := gfdb.DB(ctx).Model(ctx, public.TableNameAccountUserDialog).Where(entity.AccountUserDialogCol.Id, req.Id).Delete()
if err != nil {
return
}
return r.RowsAffected()
}
func (d *accountUserDialog) Get(ctx context.Context, req *dto.GetAccountUserDialogReq) (res *entity.AccountUserDialog, err error) {
r, err := gfdb.DB(ctx).Model(ctx, public.TableNameAccountUserDialog).OmitEmpty().
Where(entity.AccountUserDialogCol.UserId, req.UserId).
Where(entity.AccountUserDialogCol.AccountId, req.AccountId).
One()
if err != nil {
return
}
err = gconv.Struct(r, &res)
return
}