Files
jx-print/dao/user_dao.go
2022-07-26 17:24:41 +08:00

108 lines
2.5 KiB
Go

package dao
import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-print/globals"
"git.rosy.net.cn/jx-print/model"
"github.com/jmoiron/sqlx"
)
func GetUsers(db *sqlx.DB, userID, name, mobile, openId string) (users []*model.User, err error) {
sql := `
SELECT *
FROM user
WHERE 1 = 1 AND deleted_at = ?
`
sqlParams := []interface{}{utils.DefaultTimeValue}
if name != "" {
sql += " AND name LIKE ?"
sqlParams = append(sqlParams, "%"+name+"%")
}
if userID != "" {
sql += " AND user_id = ?"
sqlParams = append(sqlParams, userID)
}
if mobile != "" {
sql += " AND mobile = ?"
sqlParams = append(sqlParams, mobile)
}
if openId != "" {
sql += " AND open_id = ?"
sqlParams = append(sqlParams, openId)
}
if err = db.Select(&users, sql, sqlParams...); err == nil {
return users, err
}
return users, err
}
func GetUser(db *sqlx.DB, userID string) (user *model.User, err error) {
var users []*model.User
sql := `
SELECT *
FROM user
WHERE 1 = 1 AND user_id = ?
`
sqlParams := []interface{}{userID}
if err = db.Select(&users, sql, sqlParams...); err == nil {
return users[0], err
}
return users[0], err
}
func GetUserForLogin(db *sqlx.DB, name, password string) (users []*model.User, err error) {
sql := `
SELECT *
FROM user
WHERE name = ? AND password = ? AND deleted_at = ?
`
sqlParams := []interface{}{name, password, utils.DefaultTimeValue}
if err = db.Select(&users, sql, sqlParams...); err == nil {
return users, err
}
return users, err
}
func GetMenus(db *sqlx.DB) (menus []*model.Menu, err error) {
sql := `
SELECT *
FROM menu
WHERE 1 = 1 AND deleted_at = ?
`
sqlParams := []interface{}{utils.DefaultTimeValue}
if err = db.Select(&menus, sql, sqlParams...); err == nil {
return menus, err
}
return menus, err
}
func GetMenuDetail(db *sqlx.DB, id int) (menu *model.MenuDetail, err error) {
var (
menus []*model.MenuDetail
)
sql := `
SELECT *
FROM menu_detail
WHERE 1 = 1 AND deleted_at = ? AND id = ?
`
sqlParams := []interface{}{utils.DefaultTimeValue, id}
if err = db.Select(&menus, sql, sqlParams...); err == nil {
return menus[0], err
}
return menus[0], err
}
// CreateUserWx 创建微信用户
func CreateUserWx(user *model.User) error {
db := globals.GetDB()
return Insert(db, &user)
}
// UpdateUserWx 更新微信用户
func UpdateUserWx(user *model.User, filed []string) error {
db := globals.GetDB()
// 用户存在,判断用户
return Update(db, &user, filed...)
}