12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package sysorg
-
- import (
- "strconv"
- "time"
- "wechat-conf/models"
- "wechat-conf/models/model"
- "wechat-conf/utils"
-
- "github.com/go-xorm/xorm"
- )
-
- // SysorgDAO 当前数据库操作对象
- type SysorgDAO struct {
- ctx *utils.Context
- db *xorm.Session
- }
-
- // NewSysorgDAO New Inst
- func NewSysorgDAO(ctx *utils.Context) *SysorgDAO {
- return &SysorgDAO{
- ctx: ctx,
- db: ctx.DB,
- }
- }
- func (m *SysorgDAO) GetOrgList(page, pagesize int) ([]model.SysOrg, error) {
- var org []model.SysOrg
- sql := `select * from sys_org where status >` + strconv.Itoa(models.STATUS_DEL)
- sql += ` order by create_date desc limit ` + strconv.Itoa((page-1)*pagesize) + `, ` + strconv.Itoa(pagesize)
- err := m.db.Sql(sql).Find(&org)
- return org, err
- }
- func (m *SysorgDAO) GetOrgListCount() (int, error) {
- var org []model.SysOrg
- sql := `select * from sys_org where status >` + strconv.Itoa(models.STATUS_DEL)
- err := m.db.Sql(sql).Find(&org)
- return len(org), err
- }
- func (m *SysorgDAO) AddOrg(org model.SysOrg) (*model.SysOrg, error) {
- org.OrgId = utils.GetGUID()
- org.CreateDate = time.Now()
- org.Status = models.STATUS_NORMAL
- org.AuthStatus = models.AUTH_STATUS_NO
- _, err := m.db.Insert(org)
- return &org, err
- }
- func (m *SysorgDAO) AuthOrg(org model.SysOrg) error {
- org.AuthStatus = models.AUTH_STATUS_YES
- var cols = []string{
- "auth_status",
- "wechat_id",
- "wechat_name",
- }
- _, err := m.db.Cols(cols...).Where("org_id = ?", org.OrgId).Update(org)
- return err
- }
- func (m *SysorgDAO) DeleteOrg(orgId string) error {
- var org = model.SysOrg{
- OrgId: orgId,
- Status: models.STATUS_DEL,
- }
- var cols = []string{
- "status",
- }
- _, err := m.db.Cols(cols...).Where("org_id = ?", org.OrgId).Update(org)
- return err
- }
-
- // UnAutoOrg 解绑
- func (m *SysorgDAO) UnAutoOrg(confid string) error {
- var org = model.SysOrg{
- WechatId: "",
- AuthStatus: models.AUTH_STATUS_NO,
- }
- var cols = []string{
- "wechat_id",
- "auth_status",
- }
- _, err := m.db.Cols(cols...).Where("wechat_id = ?", confid).Update(org)
- return err
- }
-
- func (m *SysorgDAO) IsOrgBinded(orgId string) (bool, error) {
- var user []model.SysUser
- sql := `select * from sys_user WHERE org_id = '` + orgId + `'`
- err := m.db.Sql(sql).Find(&user)
- if len(user) > 0 {
- return false, err
- }
- return true, err
- }
|