| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package dao
- import (
- "fmt"
- "go-create/configs"
- "go-create/domain"
- )
- func GetByIdUser(id int) (domain.User, error) {
- var user domain.User
- _, err := configs.Engine.Where("id = ?", id).Get(&user)
- if err != nil {
- return user, err
- }
- return user, nil
- }
- func GetInIdListUser(ids []int) ([]domain.User, error) {
- rows, err := configs.Engine.In("id", ids).Rows(&domain.User{})
- if err != nil {
- return make([]domain.User, 0), err
- }
- defer rows.Close()
- var list []domain.User
- for rows.Next() {
- var u domain.User
- list = append(list, u)
- }
- return list, nil
- }
- func GetListUser(user domain.User, pageNum, pageSize int) (domain.BaseListVo, error) {
- var arr []domain.User
- Count, err := configs.Engine.Limit(pageSize, (pageNum-1)*pageSize).Desc("id").FindAndCount(&arr, &user)
- if err != nil {
- return domain.BaseListVo{}, err
- }
- var vo domain.BaseListVo
- if err != nil {
- return vo, err
- }
- vo.PageNum = pageNum
- vo.PageSize = pageSize
- vo.List = make([]any, len(arr))
- for i, v := range arr {
- vo.List[i] = v
- }
- vo.Total = int(Count)
- return vo, nil
- }
- func SaveUser(user *domain.User) (domain.User, error) {
- _, err := configs.Engine.Table("user").Insert(&user)
- if err != nil {
- panic(err)
- return *user, err
- }
- return *user, nil
- }
- func SetUser(userMap map[string]interface{}, id int) (domain.User, bool, error) {
- var user domain.User
- _, err := configs.Engine.Table("user").Where("id = ?", id).Update(userMap)
- if err != nil {
- return user, false, err
- }
- return user, true, nil
- }
- func DeleteUser(user domain.User) bool {
- i, err := configs.Engine.Where("id = ?", user.Id).Delete(&user)
- if err != nil {
- return false
- }
- return i > 0
- }
- func SelectByObject(User domain.User, pageNum, pageSize int) {
- var res []domain.User
- err := configs.Engine.Limit(pageSize, (pageNum-1)*pageSize).Desc("id").Find(&res, &User)
- if err != nil {
- panic(err)
- return
- }
- for _, v := range res {
- fmt.Println(v)
- }
- }
|