Browse Source

Merge branch 'master' of http://git.ycjcjy.com/default/wechat-conf

wangfei 6 years ago
parent
commit
69d36c5d32

+ 32
- 0
controllers/sysuser/sysuser.go View File

@@ -56,3 +56,35 @@ func (c *SysuserController) DeleteUser() {
56 56
 	}
57 57
 	c.ResponseJSON("删除成功")
58 58
 }
59
+func (c *SysuserController) BindUser() {
60
+	userId := c.GetString(":userId")
61
+	orgId := c.GetString(":orgId")
62
+	err := c.dao.BindUser(userId, orgId)
63
+	if err != nil {
64
+		c.ResponseError(err)
65
+	}
66
+	c.ResponseJSON("綁定成功")
67
+}
68
+func (c *SysuserController) UnbindUser() {
69
+	userId := c.GetString(":userId")
70
+	orgId := ""
71
+	err := c.dao.BindUser(userId, orgId)
72
+	if err != nil {
73
+		c.ResponseError(err)
74
+	}
75
+	c.ResponseJSON("解绑成功")
76
+}
77
+
78
+func (c *SysuserController) ChangePassword() {
79
+	userId := c.GetString(":userId")
80
+	pwd := c.GetString(":pwd")
81
+	err := c.dao.ChangePassword(userId, pwd)
82
+	if err != nil {
83
+		c.ResponseError(err)
84
+	}
85
+	c.ResponseJSON("修改成功")
86
+}
87
+func (c *SysuserController) GetCurrentUser() {
88
+	user := c.Context.Get("user").(*model.SysUser)
89
+	c.ResponseJSON(user)
90
+}

+ 8
- 0
controllers/wechatimg/wechatimt.go View File

@@ -118,3 +118,11 @@ func (c *WechatImgController) AddNewImg() {
118 118
 	c.ResponseJSON("上传成功")
119 119
 
120 120
 }
121
+func (c *WechatImgController) DeleteImg() {
122
+	mediaId := c.GetString("mediaId")
123
+	err := c.dao.DeleteImg(mediaId)
124
+	if err != nil {
125
+		c.ResponseError(err)
126
+	}
127
+	c.ResponseJSON("删除成功")
128
+}

+ 13
- 3
models/sysuser/sysuser.go View File

@@ -7,8 +7,6 @@ import (
7 7
 	"wechat-conf/models/model"
8 8
 	"wechat-conf/utils"
9 9
 
10
-	"github.com/astaxie/beego"
11
-
12 10
 	"github.com/go-xorm/xorm"
13 11
 )
14 12
 
@@ -36,7 +34,6 @@ func (m *SysuserDAO) GetSysuserList(page, pageSize int) ([]User, error) {
36 34
 	sql := `SELECT a.*,b.org_name from sys_user a left join sys_org b on a.org_id = b.org_id
37 35
 	 WHERE a.status >` + strconv.Itoa(models.STATUS_DEL) + `
38 36
 	order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
39
-	beego.Error(sql)
40 37
 	err := m.db.Sql(sql).Find(&user)
41 38
 	return user, err
42 39
 
@@ -60,6 +57,7 @@ func (m *SysuserDAO) GetSysuserById(userId string) (*model.SysUser, error) {
60 57
 }
61 58
 func (m *SysuserDAO) AddUser(user model.SysUser) (*model.SysUser, error) {
62 59
 	user.CreateDate = time.Now()
60
+	user.UserId = utils.GetGUID()
63 61
 	user.Status = models.STATUS_NORMAL
64 62
 	_, err := m.db.Insert(user)
65 63
 	return &user, err
@@ -99,6 +97,18 @@ func (m *SysuserDAO) BindUserToOrg(userId, orgId string) error {
99 97
 	return err
100 98
 }
101 99
 
100
+func (m *SysuserDAO) ChangePassword(userId, pwd string) error {
101
+	var user = model.SysUser{
102
+		UserId: userId,
103
+		Pwd:    pwd,
104
+	}
105
+	var cols = []string{
106
+		"pwd",
107
+	}
108
+	_, err := m.db.Cols(cols...).Where("user_id=?", user.UserId).Update(user)
109
+	return err
110
+}
111
+
102 112
 func (m *SysuserDAO) GetAppIdByOrgId(orgId string) (string, error) {
103 113
 	var config []model.SysWechatConf
104 114
 	sql := `SELECT

+ 10
- 1
routers/router.go View File

@@ -14,6 +14,7 @@ import (
14 14
 	"wechat-conf/controllers/sysorg"
15 15
 	"wechat-conf/controllers/sysuser"
16 16
 	"wechat-conf/controllers/wechatimg"
17
+	"wechat-conf/controllers/wechatmenu"
17 18
 
18 19
 	"github.com/astaxie/beego"
19 20
 )
@@ -36,14 +37,19 @@ func RouteInit() {
36 37
 			beego.NSRouter("/autoreply/:autoreplyId", &autoreply.AutoreplyController{}, "delete:DeleteAutoReply"),
37 38
 			// 图片资源
38 39
 			beego.NSRouter("/wechatimg", &wechatimg.WechatImgController{}, "get:GetWechatImgList"),
39
-			beego.NSRouter("/wechatimg/sync", &wechatimg.WechatImgController{}, "get:SyncWechatImg"),
40
+			beego.NSRouter("/wechatimg/sync", &wechatimg.WechatImgController{}, "put:SyncWechatImg"),
40 41
 			beego.NSRouter("/wechatimg", &wechatimg.WechatImgController{}, "post:AddNewImg"),
42
+			beego.NSRouter("/wechatimg/:mediaId", &wechatimg.WechatImgController{}, "delete:DeleteImg"),
41 43
 			// 用户管理
42 44
 			beego.NSRouter("/sysuser", &sysuser.SysuserController{}, "get:GetUserList"),
43 45
 			beego.NSRouter("/sysuser/:userId", &sysuser.SysuserController{}, "get:GetUserById"),
44 46
 			beego.NSRouter("/sysuser", &sysuser.SysuserController{}, "post:SaveUser"),
45 47
 			beego.NSRouter("/sysuser", &sysuser.SysuserController{}, "put:SaveUser"),
46 48
 			beego.NSRouter("/sysuser/:userId", &sysuser.SysuserController{}, "delete:DeleteUser"),
49
+			beego.NSRouter("/sysuser/bind/:userId/:orgId", &sysuser.SysuserController{}, "put:BindUser"),
50
+			beego.NSRouter("/sysuser/unbind/:userId", &sysuser.SysuserController{}, "put:UnbindUser"),
51
+			beego.NSRouter("/sysuser/pwd/:userId/:pwd", &sysuser.SysuserController{}, "put:ChangePassword"),
52
+			beego.NSRouter("/sysuser/current", &sysuser.SysuserController{}, "get:GetCurrentUser"),
47 53
 			// 项目管理
48 54
 			beego.NSRouter("/sysorg", &sysorg.SysorgController{}, "get:GetOrgList"),
49 55
 			beego.NSRouter("/sysorg", &sysorg.SysorgController{}, "post:AddOrg"),
@@ -52,6 +58,9 @@ func RouteInit() {
52 58
 			// 文件
53 59
 			beego.NSRouter("/file", &controllers.BaseController{}, "post:FileUpload"),
54 60
 			beego.NSRouter("/file/base64", &controllers.BaseController{}, "post:UploadBase64Image"),
61
+			// 微信菜单
62
+			beego.NSRouter("/wechatmenu", &wechatmenu.MenuController{}, "get:GetMenuList"),
63
+			beego.NSRouter("/wechatmenu", &wechatmenu.MenuController{}, "put:RefreshMenu"),
55 64
 		),
56 65
 
57 66
 		beego.NSRouter("/ticket", &controllers.WechatController{}, "post:ComponentPush"),

+ 16
- 4
service/sysorg/sysorg.go View File

@@ -4,21 +4,24 @@ import (
4 4
 	"errors"
5 5
 	"wechat-conf/models/model"
6 6
 	"wechat-conf/models/sysorg"
7
+	"wechat-conf/models/wechatmenu"
7 8
 	"wechat-conf/service"
8 9
 	"wechat-conf/utils"
9 10
 )
10 11
 
11 12
 // SysorgServ 用户
12 13
 type SysorgServ struct {
13
-	ctx *utils.Context
14
-	dao *sysorg.SysorgDAO
14
+	ctx  *utils.Context
15
+	dao  *sysorg.SysorgDAO
16
+	mdao *wechatmenu.WechatMenuDAO
15 17
 }
16 18
 
17 19
 // NewSysorgServ 初始化
18 20
 func NewSysorgServ(ctx *utils.Context) *SysorgServ {
19 21
 	return &SysorgServ{
20
-		ctx: ctx,
21
-		dao: sysorg.NewSysorgDAO(ctx),
22
+		ctx:  ctx,
23
+		dao:  sysorg.NewSysorgDAO(ctx),
24
+		mdao: wechatmenu.NewWechatMenuDAO(ctx),
22 25
 	}
23 26
 }
24 27
 func (s *SysorgServ) GetOrgList(page, pageSize int) (map[string]interface{}, error) {
@@ -48,6 +51,15 @@ func (s *SysorgServ) AddOrg(org model.SysOrg) (*model.SysOrg, error) {
48 51
 		utils.LogError("新增项目失败: " + err.Error())
49 52
 		return nil, errors.New("新增项目失败")
50 53
 	}
54
+	var wechatmenu = model.TaWechatMenu{
55
+		OrgId:            newOrg.OrgId,
56
+		WechatConfigJson: "",
57
+	}
58
+	_, err = s.mdao.AddWechatMenu(wechatmenu)
59
+	if err != nil {
60
+		utils.LogError("新增项目失败: " + err.Error())
61
+		return nil, errors.New("新增项目失败")
62
+	}
51 63
 	return newOrg, nil
52 64
 }
53 65
 func (s *SysorgServ) AuthOrg(org model.SysOrg) error {

+ 19
- 0
service/sysuser/sysuser.go View File

@@ -66,6 +66,15 @@ func (s *SysuserServ) SaveUser(user model.SysUser) (*model.SysUser, error) {
66 66
 	}
67 67
 	return newUser, nil
68 68
 }
69
+func (s *SysuserServ) BindUser(userId, orgId string) error {
70
+	err := s.dao.BindUserToOrg(userId, orgId)
71
+	if err != nil {
72
+		utils.LogError("綁定用户失败: " + err.Error())
73
+		return errors.New("綁定用户失败")
74
+	}
75
+	return nil
76
+
77
+}
69 78
 func (s *SysuserServ) DeleteUser(userId string) error {
70 79
 	err := s.dao.DeleteUser(userId)
71 80
 	if err != nil {
@@ -82,3 +91,13 @@ func (s *SysuserServ) GetAppIdByOrgId(orgId string) (string, error) {
82 91
 	}
83 92
 	return appId, nil
84 93
 }
94
+
95
+func (s *SysuserServ) ChangePassword(userId, pwd string) error {
96
+	err := s.dao.ChangePassword(userId, pwd)
97
+	if err != nil {
98
+		utils.LogError("修改密码失败: " + err.Error())
99
+		return errors.New("修改密码失败")
100
+	}
101
+	return nil
102
+
103
+}

+ 8
- 0
service/wechatimg/wechatimg.go View File

@@ -62,3 +62,11 @@ func (s *WechatImgServ) SyncWechatImg(data interface{}, orgId string) error {
62 62
 	}
63 63
 	return nil
64 64
 }
65
+func (s *WechatImgServ) DeleteImg(mediaId string) error {
66
+	err := s.dao.DeleteWechatImg(mediaId)
67
+	if err != nil {
68
+		utils.LogError("删除图片失败: " + err.Error())
69
+		return errors.New("删除图片失败")
70
+	}
71
+	return nil
72
+}