123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package sysorg
-
- import (
- "errors"
- "wechat-conf/models/model"
- "wechat-conf/models/sysorg"
- "wechat-conf/models/sysuser"
- "wechat-conf/models/wechat"
- "wechat-conf/models/wechatmenu"
- "wechat-conf/service"
- "wechat-conf/utils"
- )
-
- // SysorgServ 用户
- type SysorgServ struct {
- ctx *utils.Context
- dao *sysorg.SysorgDAO
- mdao *wechatmenu.WechatMenuDAO
- wechatdao *wechat.WechatDAO
- userdao *sysuser.SysuserDAO
- }
-
- // NewSysorgServ 初始化
- func NewSysorgServ(ctx *utils.Context) *SysorgServ {
- return &SysorgServ{
- ctx: ctx,
- dao: sysorg.NewSysorgDAO(ctx),
- mdao: wechatmenu.NewWechatMenuDAO(ctx),
- wechatdao: wechat.NewWechatDAO(ctx),
- userdao: sysuser.NewSysuserDAO(ctx),
- }
- }
- func (s *SysorgServ) GetOrgList(page, pageSize int) (map[string]interface{}, error) {
- if pageSize == 0 {
- pageSize = service.PAGENUM
- }
- org, err := s.dao.GetOrgList(page, pageSize)
- if err != nil {
- utils.LogError("获取项目列表失败: " + err.Error())
- return nil, errors.New("获取项目列表失败")
- }
- total, err := s.dao.GetOrgListCount()
- if err != nil {
- utils.LogError("获取项目列表失败: " + err.Error())
- return nil, errors.New("获取项目列表失败")
- }
- return map[string]interface{}{
- "list": org,
- "pageSize": pageSize,
- "pagenum": total,
- "page": page,
- }, nil
- }
- func (s *SysorgServ) AddOrg(org model.SysOrg) (*model.SysOrg, error) {
- newOrg, err := s.dao.AddOrg(org)
- if err != nil {
- utils.LogError("新增项目失败: " + err.Error())
- return nil, errors.New("新增项目失败")
- }
- var wechatmenu = model.TaWechatMenu{
- OrgId: newOrg.OrgId,
- WechatConfigJson: "",
- }
- _, err = s.mdao.AddWechatMenu(wechatmenu)
- if err != nil {
- utils.LogError("新增项目失败: " + err.Error())
- return nil, errors.New("新增项目失败")
- }
- return newOrg, nil
- }
- func (s *SysorgServ) AuthOrg(org model.SysOrg) error {
- err := s.dao.AuthOrg(org)
- if err != nil {
- utils.LogError("授权项目失败: " + err.Error())
- return errors.New("授权项目失败")
- }
- return nil
- }
- func (s *SysorgServ) DeleteOrg(orgId string) error {
- var err error
- var user *model.SysUser
- user, err = s.userdao.GetSysuserByOrgId(orgId)
- if err != nil {
- utils.LogError("删除项目失败: " + err.Error())
- return errors.New("删除项目失败")
- }
- if user != nil {
- return errors.New("当前项目已被用户绑定,请先进行解绑操作")
- }
- err = s.dao.DeleteOrg(orgId)
- if err != nil {
- utils.LogError("删除项目失败: " + err.Error())
- return errors.New("删除项目失败")
- }
- return nil
- }
-
- // BindWechat 绑定微信
- func (s *SysorgServ) BindWechat(orgid, code string) error {
- wechatConf, err := s.wechatdao.GetWxByCode(code)
- if err != nil {
- return err
- }
- if wechatConf == nil && wechatConf.Appid == "" {
- return errors.New("没有获取到微信信息")
- }
- var orginfo = model.SysOrg{
- OrgId: orgid,
- WechatId: wechatConf.ConfId,
- WechatName: wechatConf.WxNikeName,
- }
- err = s.dao.AuthOrg(orginfo)
- return err
- }
|