123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- package sysuser
-
- import (
- "strconv"
- "time"
- "wechat-conf/models"
- "wechat-conf/models/model"
- "wechat-conf/utils"
-
- "github.com/go-xorm/xorm"
- )
-
- // SysuserDAO 当前数据库操作对象
- type SysuserDAO struct {
- ctx *utils.Context
- db *xorm.Session
- }
-
- // NewSysuserDAO New Inst
- func NewSysuserDAO(ctx *utils.Context) *SysuserDAO {
- return &SysuserDAO{
- ctx: ctx,
- db: ctx.DB,
- }
- }
-
- type User struct {
- model.SysUser `xorm:"extends"`
- OrgName string
- }
-
- func (m *SysuserDAO) GetSysuserList(page, pageSize int) ([]User, error) {
- var user []User
- sql := `SELECT a.*,b.org_name from sys_user a left join sys_org b on a.org_id = b.org_id
- WHERE a.status >` + strconv.Itoa(models.STATUS_DEL) + `
- order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
- err := m.db.Sql(sql).Find(&user)
- return user, err
-
- }
- func (m *SysuserDAO) GetSysuserListCount() (int, error) {
- var user []model.SysUser
- sql := `SELECT * from sys_user WHERE status >` + strconv.Itoa(models.STATUS_DEL)
- err := m.db.Sql(sql).Find(&user)
- return len(user), err
-
- }
- func (m *SysuserDAO) GetSysuserById(userId string) (*model.SysUser, error) {
- var user []model.SysUser
- sql := `SELECT * from sys_user WHERE status >` + strconv.Itoa(models.STATUS_DEL) + `
- and user_id = '` + userId + `'`
- err := m.db.Sql(sql).Find(&user)
- if len(user) > 0 {
- return &user[0], err
- }
- return nil, err
- }
- func (m *SysuserDAO) AddUser(user model.SysUser) (*model.SysUser, error) {
- user.CreateDate = time.Now()
- user.UserId = utils.GetGUID()
- user.Status = models.STATUS_NORMAL
- _, err := m.db.Insert(user)
- return &user, err
- }
- func (m *SysuserDAO) DeleteUser(userId string) error {
- var user = model.SysUser{
- UserId: userId,
- Status: models.STATUS_DEL,
- }
- var cols = []string{
- "status",
- }
- _, err := m.db.Cols(cols...).Where("user_id = ?", user.UserId).Update(user)
- return err
- }
- func (m *SysuserDAO) EditUser(user model.SysUser) error {
- var cols = []string{
- "user_name",
- "real_name",
- "phone",
- "email",
- "head_imgurl",
- }
- _, err := m.db.Cols(cols...).Where("user_id = ?", user.UserId).Update(user)
- return err
- }
-
- func (m *SysuserDAO) BindUserToOrg(userId, orgId string) error {
- var user = model.SysUser{
- UserId: userId,
- OrgId: orgId,
- }
- var cols = []string{
- "org_id",
- }
- _, err := m.db.Cols(cols...).Where("user_id=?", user.UserId).Update(user)
- return err
- }
-
- func (m *SysuserDAO) ChangePassword(userId, pwd string) error {
- var user = model.SysUser{
- UserId: userId,
- Pwd: pwd,
- }
- var cols = []string{
- "pwd",
- }
- _, err := m.db.Cols(cols...).Where("user_id=?", user.UserId).Update(user)
- return err
- }
-
- func (m *SysuserDAO) GetAppIdByOrgId(orgId string) (string, error) {
- var config []model.SysWechatConf
- sql := `SELECT
- *
- FROM
- sys_wechat_conf a
- INNER JOIN sys_org b ON b.wechat_id = a.conf_id
- WHERE
- org_id = '` + orgId + `'`
- err := m.db.Sql(sql).Find(&config)
- if len(config) > 0 {
- return config[0].Appid, err
- }
- return "", err
- }
|