胡轶钦 6 years ago
parent
commit
075071c1f7

+ 59
- 0
controllers/autoreply/autoreply.go View File

@@ -0,0 +1,59 @@
1
+package autoreply
2
+
3
+import (
4
+	"wechat-conf/controllers"
5
+	"wechat-conf/models/model"
6
+	"wechat-conf/service/autoreply"
7
+)
8
+
9
+// AutoreplyController 信息
10
+type AutoreplyController struct {
11
+	dao *autoreply.AutoreplyServ
12
+	controllers.BaseController
13
+}
14
+
15
+// Constructor 初始化 Controller
16
+// @Title Constructor
17
+// @Description 初始化 Controller, 系统自动调用
18
+func (c *AutoreplyController) Constructor() {
19
+	c.dao = autoreply.NewAutoreplyServ(c.Context)
20
+}
21
+
22
+func (c *AutoreplyController) GetAutoReplyList() {
23
+	user := c.Context.Get("user").(*model.SysUser)
24
+	page, _ := c.GetInt("page")
25
+	pageSize, _ := c.GetInt("pagesize")
26
+	autoType := c.GetString("autoType")
27
+	list, err := c.dao.GetAutoReplyList(user.OrgId, autoType, page, pageSize)
28
+	if err != nil {
29
+		c.ResponseError(err)
30
+	}
31
+	c.ResponseJSON(list)
32
+}
33
+func (c *AutoreplyController) GetAutoReplyById() {
34
+	autoreplyId := c.GetString(":autoreplyId")
35
+	autoreply, err := c.dao.GetAutoReplyById(autoreplyId)
36
+	if err != nil {
37
+		c.ResponseError(err)
38
+	}
39
+	c.ResponseJSON(autoreply)
40
+}
41
+func (c *AutoreplyController) SaveAutoreply() {
42
+	autoreply := model.TaAutoReply{}
43
+	if err := c.ParseForm(&autoreply); err != nil {
44
+		c.ResponseError(err)
45
+	}
46
+	newAuto, err := c.dao.SaveAutoReply(autoreply)
47
+	if err != nil {
48
+		c.ResponseError(err)
49
+	}
50
+	c.ResponseJSON(newAuto)
51
+}
52
+func (c *AutoreplyController) DeleteAutoReply() {
53
+	autoreplyId := c.GetString(":autoreplyId")
54
+	err := c.dao.DeleteAutoReply(autoreplyId)
55
+	if err != nil {
56
+		c.ResponseError(err)
57
+	}
58
+	c.ResponseJSON("删除成功")
59
+}

+ 29
- 0
controllers/menu/menu.go View File

@@ -0,0 +1,29 @@
1
+package menu
2
+
3
+import (
4
+	"wechat-conf/controllers"
5
+	"wechat-conf/models/model"
6
+	"wechat-conf/service/menu"
7
+)
8
+
9
+// MenuController 信息
10
+type MenuController struct {
11
+	dao *menu.MenuServ
12
+	controllers.BaseController
13
+}
14
+
15
+// Constructor 初始化 Controller
16
+// @Title Constructor
17
+// @Description 初始化 Controller, 系统自动调用
18
+func (c *MenuController) Constructor() {
19
+	c.dao = menu.NewMenuServ(c.Context)
20
+}
21
+
22
+func (c *MenuController) GetMenuList() {
23
+	user := c.Context.Get("user").(*model.SysUser)
24
+	menu, err := c.dao.GetUserMenu(user.UserType)
25
+	if err != nil {
26
+		c.ResponseError(err)
27
+	}
28
+	c.ResponseJSON(menu)
29
+}

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

@@ -0,0 +1,58 @@
1
+package sysuser
2
+
3
+import (
4
+	"wechat-conf/controllers"
5
+	"wechat-conf/models/model"
6
+	"wechat-conf/service/sysuser"
7
+)
8
+
9
+// SysuserController 信息
10
+type SysuserController struct {
11
+	dao *sysuser.SysuserServ
12
+	controllers.BaseController
13
+}
14
+
15
+// Constructor 初始化 Controller
16
+// @Title Constructor
17
+// @Description 初始化 Controller, 系统自动调用
18
+func (c *SysuserController) Constructor() {
19
+	c.dao = sysuser.NewSysuserServ(c.Context)
20
+}
21
+
22
+func (c *SysuserController) GetUserList() {
23
+	page, _ := c.GetInt("page")
24
+	pageSize, _ := c.GetInt("pagesize")
25
+	list, err := c.dao.GetSysuserList(page, pageSize)
26
+	if err != nil {
27
+		c.ResponseError(err)
28
+	}
29
+	c.ResponseJSON(list)
30
+}
31
+
32
+func (c *SysuserController) GetUserById() {
33
+	userId := c.GetString(":userId")
34
+	user, err := c.dao.GetSysuserById(userId)
35
+	if err != nil {
36
+		c.ResponseError(err)
37
+	}
38
+	c.ResponseJSON(user)
39
+}
40
+func (c *SysuserController) SaveUser() {
41
+	user := model.SysUser{}
42
+	if err := c.ParseForm(&user); err != nil {
43
+		c.ResponseError(err)
44
+	}
45
+	newUser, err := c.dao.SaveUser(user)
46
+	if err != nil {
47
+		c.ResponseError(err)
48
+	}
49
+	c.ResponseJSON(newUser)
50
+}
51
+func (c *SysuserController) DeleteUser() {
52
+	userId := c.GetString(":userId")
53
+	err := c.dao.DeleteUser(userId)
54
+	if err != nil {
55
+		c.ResponseError(err)
56
+	}
57
+	c.ResponseJSON("删除成功")
58
+}

+ 107
- 0
models/autoreply/autoreply.go View File

@@ -0,0 +1,107 @@
1
+package autoreply
2
+
3
+import (
4
+	"strconv"
5
+	"time"
6
+	"wechat-conf/models"
7
+	"wechat-conf/models/model"
8
+	"wechat-conf/utils"
9
+
10
+	"github.com/go-xorm/xorm"
11
+)
12
+
13
+// AutoreplyDAO 当前数据库操作对象
14
+type AutoreplyDAO struct {
15
+	ctx *utils.Context
16
+	db  *xorm.Session
17
+}
18
+
19
+// NewAutoreplyDAO New Inst
20
+func NewAutoreplyDAO(ctx *utils.Context) *AutoreplyDAO {
21
+	return &AutoreplyDAO{
22
+		ctx: ctx,
23
+		db:  ctx.DB,
24
+	}
25
+}
26
+func (m *AutoreplyDAO) GetAutoReplyList(orgId, autoType string, page, pagesize int) ([]model.TaAutoReply, error) {
27
+	var autoreply []model.TaAutoReply
28
+	sql := `SELECT
29
+	* 
30
+FROM
31
+	ta_auto_reply 
32
+WHERE
33
+	org_id = '` + orgId + `'
34
+	AND auto_type = '` + autoType + `'
35
+	and status >`+ strconv.Itoa(models.STATUS_DEL)
36
+	sql += ` order by create_date desc limit ` + strconv.Itoa((page-1)*pagesize) + `, ` + strconv.Itoa(pagesize)
37
+	err := m.db.Sql(sql).Find(&autoreply)
38
+	return autoreply, err
39
+}
40
+func (m *AutoreplyDAO) GetAutoReplyListCount(orgId, autoType string) (int, error) {
41
+	var autoreply []model.TaAutoReply
42
+	sql := `SELECT
43
+	* 
44
+FROM
45
+	ta_auto_reply 
46
+WHERE
47
+	org_id = '` + orgId + `'
48
+	AND auto_type = '` + autoType + `'`
49
+	err := m.db.Sql(sql).Find(&autoreply)
50
+	return len(autoreply), err
51
+}
52
+func (m *AutoreplyDAO) AddAutoReply(auto model.TaAutoReply) (*model.TaAutoReply, error) {
53
+	auto.CreateDate = time.Now()
54
+	auto.Status = models.STATUS_NORMAL
55
+	auto.AutoReplyId = utils.GetGUID()
56
+	_, err := m.db.Insert(auto)
57
+	return &auto, err
58
+}
59
+func (m *AutoreplyDAO) AddKeyword(keyword model.TaAutoReplyKeywords) error {
60
+	keyword.KeywordsId = utils.GetGUID()
61
+	keyword.Status = models.STATUS_NORMAL
62
+	_, err := m.db.Insert(keyword)
63
+	return err
64
+}
65
+func (m *AutoreplyDAO) UpdateAutoRelpy(auto model.TaAutoReply) error {
66
+	var cols = []string{
67
+		"auto_type",
68
+		"rule_name",
69
+		"pair_type",
70
+		"message_type",
71
+		"message_paragraph",
72
+		"message_img",
73
+		"message_content",
74
+		"keywords",
75
+	}
76
+	_, err := m.db.Cols(cols...).Where("auto_reply_id = ?", auto.AutoReplyId).Update(auto)
77
+	return err
78
+}
79
+func (m *AutoreplyDAO) DeleteKeywords(autoReplyId string) error {
80
+	_, err := m.db.Delete(&model.TaAutoReplyKeywords{AutoReplyId: autoReplyId})
81
+	return err
82
+}
83
+func (m *AutoreplyDAO) DeleteAutoReply(autoReplyId string) error {
84
+	var auto = model.TaAutoReply{
85
+		AutoReplyId: autoReplyId,
86
+		Status:      models.STATUS_DEL,
87
+	}
88
+	var cols = []string{
89
+		"status",
90
+	}
91
+	_, err := m.db.Cols(cols...).Where("auto_reply_id = ?", auto.AutoReplyId).Update(auto)
92
+	return err
93
+}
94
+func (m *AutoreplyDAO) GetAutoReplyById(autoReplyId string) (*model.TaAutoReply, error) {
95
+	var autoReply []model.TaAutoReply
96
+	sql := `SELECT
97
+	* 
98
+FROM
99
+	ta_auto_reply 
100
+WHERE
101
+	auto_reply_id = '` + autoReplyId + `'`
102
+	err := m.db.Sql(sql).Find(&autoReply)
103
+	if len(autoReply) > 0 {
104
+		return &autoReply[0], err
105
+	}
106
+	return nil, err
107
+}

+ 35
- 0
models/menu/menu.go View File

@@ -0,0 +1,35 @@
1
+package menu
2
+
3
+import (
4
+	"strconv"
5
+	"wechat-conf/models"
6
+	"wechat-conf/models/model"
7
+	"wechat-conf/utils"
8
+
9
+	"github.com/go-xorm/xorm"
10
+)
11
+
12
+// MenuDAO 当前数据库操作对象
13
+type MenuDAO struct {
14
+	ctx *utils.Context
15
+	db  *xorm.Session
16
+}
17
+
18
+// NewMenuDAO New Inst
19
+func NewMenuDAO(ctx *utils.Context) *MenuDAO {
20
+	return &MenuDAO{
21
+		ctx: ctx,
22
+		db:  ctx.DB,
23
+	}
24
+}
25
+
26
+func (m *MenuDAO) GetUserMenu(userType string) ([]model.SysMenu, error) {
27
+	var menu []model.SysMenu
28
+	sql := `select * from sys_menu where status > ` + strconv.Itoa(models.STATUS_DEL)
29
+	if userType != models.USER_TYPE_ADMIN {
30
+		sql += ` and is_only_super_admin = 0`
31
+	}
32
+	sql += ` order by order_no asc`
33
+	err := m.db.Sql(sql).Find(&menu)
34
+	return menu, err
35
+}

+ 67
- 0
models/sysorg/sysorg.go View File

@@ -0,0 +1,67 @@
1
+package sysorg
2
+
3
+import (
4
+	"strconv"
5
+	"time"
6
+	"wechat-conf/models"
7
+	"wechat-conf/models/model"
8
+	"wechat-conf/utils"
9
+
10
+	"github.com/go-xorm/xorm"
11
+)
12
+
13
+// SysorgDAO 当前数据库操作对象
14
+type SysorgDAO struct {
15
+	ctx *utils.Context
16
+	db  *xorm.Session
17
+}
18
+
19
+// NewSysorgDAO New Inst
20
+func NewSysorgDAO(ctx *utils.Context) *SysorgDAO {
21
+	return &SysorgDAO{
22
+		ctx: ctx,
23
+		db:  ctx.DB,
24
+	}
25
+}
26
+func (m *SysorgDAO) GetOrgList(page, pagesize int) ([]model.SysOrg, error) {
27
+	var org []model.SysOrg
28
+	sql := `select * from sys_org where status >` + strconv.Itoa(models.STATUS_DEL)
29
+	sql += ` order by create_date desc limit ` + strconv.Itoa((page-1)*pagesize) + `, ` + strconv.Itoa(pagesize)
30
+	err := m.db.Sql(sql).Find(&org)
31
+	return org, err
32
+}
33
+func (m *SysorgDAO) GetOrgListCount() (int, error) {
34
+	var org []model.SysOrg
35
+	sql := `select * from sys_org where status >` + strconv.Itoa(models.STATUS_DEL)
36
+	err := m.db.Sql(sql).Find(&org)
37
+	return len(org), err
38
+}
39
+func (m *SysorgDAO) AddOrg(org model.SysOrg) (*model.SysOrg, error) {
40
+	org.OrgId = utils.GetGUID()
41
+	org.CreateDate = time.Now()
42
+	org.Status = models.STATUS_NORMAL
43
+	org.AuthStatus = models.AUTH_STATUS_NO
44
+	_, err := m.db.Insert(org)
45
+	return &org, err
46
+}
47
+func (m *SysorgDAO) AuthOrg(org model.SysOrg) error {
48
+	org.AuthStatus = models.AUTH_STATUS_YES
49
+	var cols = []string{
50
+		"auth_status",
51
+		"wechat_id",
52
+		"wechat_name",
53
+	}
54
+	_, err := m.db.Cols(cols...).Where("org_id = ?", org.OrgId).Update(org)
55
+	return err
56
+}
57
+func (m *SysorgDAO) DeleteOrg(orgId string) error {
58
+	var org = model.SysOrg{
59
+		OrgId:  orgId,
60
+		Status: models.STATUS_DEL,
61
+	}
62
+	var cols = []string{
63
+		"status",
64
+	}
65
+	_, err := m.db.Cols(cols...).Where("org_id = ?", org.OrgId).Update(org)
66
+	return err
67
+}

+ 91
- 0
models/sysuser/sysuser.go View File

@@ -0,0 +1,91 @@
1
+package sysuser
2
+
3
+import (
4
+	"strconv"
5
+	"time"
6
+	"wechat-conf/models"
7
+	"wechat-conf/models/model"
8
+	"wechat-conf/utils"
9
+
10
+	"github.com/go-xorm/xorm"
11
+)
12
+
13
+// SysuserDAO 当前数据库操作对象
14
+type SysuserDAO struct {
15
+	ctx *utils.Context
16
+	db  *xorm.Session
17
+}
18
+
19
+// NewSysuserDAO New Inst
20
+func NewSysuserDAO(ctx *utils.Context) *SysuserDAO {
21
+	return &SysuserDAO{
22
+		ctx: ctx,
23
+		db:  ctx.DB,
24
+	}
25
+}
26
+
27
+func (m *SysuserDAO) GetSysuserList(page, pageSize int) ([]model.SysUser, error) {
28
+	var user []model.SysUser
29
+	sql := `SELECT * from sys_user WHERE status >` + strconv.Itoa(models.STATUS_DEL) + `
30
+	order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
31
+	err := m.db.Sql(sql).Find(&user)
32
+	return user, err
33
+
34
+}
35
+func (m *SysuserDAO) GetSysuserListCount() (int, error) {
36
+	var user []model.SysUser
37
+	sql := `SELECT * from sys_user WHERE status >` + strconv.Itoa(models.STATUS_DEL)
38
+	err := m.db.Sql(sql).Find(&user)
39
+	return len(user), err
40
+
41
+}
42
+func (m *SysuserDAO) GetSysuserById(userId string) (*model.SysUser, error) {
43
+	var user []model.SysUser
44
+	sql := `SELECT * from sys_user WHERE status >` + strconv.Itoa(models.STATUS_DEL) + `
45
+	 and user_id = '` + userId + `'`
46
+	err := m.db.Sql(sql).Find(&user)
47
+	if len(user) > 0 {
48
+		return &user[0], err
49
+	}
50
+	return nil, err
51
+}
52
+func (m *SysuserDAO) AddUser(user model.SysUser) (*model.SysUser, error) {
53
+	user.CreateDate = time.Now()
54
+	user.Status = models.STATUS_NORMAL
55
+	_, err := m.db.Insert(user)
56
+	return &user, err
57
+}
58
+func (m *SysuserDAO) DeleteUser(userId string) error {
59
+	var user = model.SysUser{
60
+		UserId: userId,
61
+		Status: models.STATUS_DEL,
62
+	}
63
+	var cols = []string{
64
+		"status",
65
+	}
66
+	_, err := m.db.Cols(cols...).Where("user_id = ?", user.UserId).Update(user)
67
+	return err
68
+}
69
+func (m *SysuserDAO) EditUser(user model.SysUser) error {
70
+	var cols = []string{
71
+		"user_name",
72
+		"real_name",
73
+		"phone",
74
+		"email",
75
+		"head_imgurl",
76
+	}
77
+	_, err := m.db.Cols(cols...).Where("user_id = ?", user.UserId).Update(user)
78
+	return err
79
+}
80
+
81
+func (m *SysuserDAO) BindUserToOrg(userId, orgId string) error {
82
+	var user = model.SysUser{
83
+		UserId: userId,
84
+		OrgId:  orgId,
85
+	}
86
+	var cols = []string{
87
+		"org_id",
88
+	}
89
+	_, err := m.db.Cols(cols...).Where("user_id=?", user.UserId).Update(user)
90
+	return err
91
+}

+ 66
- 0
models/wechatcontent/wechatcontent.go View File

@@ -0,0 +1,66 @@
1
+package wechatcontent
2
+
3
+import (
4
+	"strconv"
5
+	"time"
6
+	"wechat-conf/models"
7
+	"wechat-conf/models/model"
8
+	"wechat-conf/utils"
9
+
10
+	"github.com/go-xorm/xorm"
11
+)
12
+
13
+// WechatContentDAO 当前数据库操作对象
14
+type WechatContentDAO struct {
15
+	ctx *utils.Context
16
+	db  *xorm.Session
17
+}
18
+
19
+// NewWechatContentDAO New Inst
20
+func NewWechatContentDAO(ctx *utils.Context) *WechatContentDAO {
21
+	return &WechatContentDAO{
22
+		ctx: ctx,
23
+		db:  ctx.DB,
24
+	}
25
+}
26
+func (m *WechatContentDAO) GetWechatContentList(orgId string, page, pagesize int) ([]model.TaWechatContent, error) {
27
+	var content []model.TaWechatContent
28
+	sql := `SELECT * FROM ta_wechat_content where status > ` + strconv.Itoa(models.STATUS_DEL) + ` 
29
+	and org_id = '` + orgId + `'`
30
+	sql += ` order by create_date desc limit ` + strconv.Itoa((page-1)*pagesize) + `, ` + strconv.Itoa(pagesize)
31
+	err := m.db.Sql(sql).Find(&content)
32
+	return content, err
33
+}
34
+func (m *WechatContentDAO) GetWechatContentListCount(orgId string) (int, error) {
35
+	var content []model.TaWechatContent
36
+	sql := `SELECT * FROM ta_wechat_content where status > ` + strconv.Itoa(models.STATUS_DEL) + ` 
37
+	and org_id = '` + orgId + `'`
38
+	err := m.db.Sql(sql).Find(&content)
39
+	return len(content), err
40
+}
41
+func (m *WechatContentDAO) GetWechatContentByMediaId(mediaId string) (*model.TaWechatContent, error) {
42
+	var content []model.TaWechatContent
43
+	sql := `SELECT * FROM ta_wechat_content where media_id = '` + mediaId + `'`
44
+	err := m.db.Sql(sql).Find(&content)
45
+	if len(content) > 0 {
46
+		return &content[0], err
47
+	}
48
+	return nil, err
49
+}
50
+func (m *WechatContentDAO) AddWechatContent(content model.TaWechatContent) error {
51
+	content.CreateDate = time.Now()
52
+	content.Status = models.STATUS_NORMAL
53
+	_, err := m.db.Insert(content)
54
+	return err
55
+}
56
+func (m *WechatContentDAO) DeleteWechatContent(mediaId string) error {
57
+	var content = model.TaWechatContent{
58
+		MediaId: mediaId,
59
+		Status:  models.STATUS_DEL,
60
+	}
61
+	var cols = []string{
62
+		"status",
63
+	}
64
+	_, err := m.db.Cols(cols...).Where("media_id = ?", content.MediaId).Update(content)
65
+	return err
66
+}

+ 67
- 0
models/wechatimg/wechatimg.go View File

@@ -0,0 +1,67 @@
1
+package wechatimg
2
+
3
+import (
4
+	"strconv"
5
+	"time"
6
+	"wechat-conf/models"
7
+	"wechat-conf/models/model"
8
+	"wechat-conf/utils"
9
+
10
+	"github.com/go-xorm/xorm"
11
+)
12
+
13
+// WechatImgDAO 当前数据库操作对象
14
+type WechatImgDAO struct {
15
+	ctx *utils.Context
16
+	db  *xorm.Session
17
+}
18
+
19
+// NewWechatImgDAO New Inst
20
+func NewWechatImgDAO(ctx *utils.Context) *WechatImgDAO {
21
+	return &WechatImgDAO{
22
+		ctx: ctx,
23
+		db:  ctx.DB,
24
+	}
25
+}
26
+func (m *WechatImgDAO) GetWechatImgList(orgId string, page, pagesize int) ([]model.TaWechatImg, error) {
27
+	var img []model.TaWechatImg
28
+	sql := `SELECT * FROM ta_wechat_img WHERE status > ` + strconv.Itoa(models.STATUS_DEL) + `
29
+	and org_id = '` + orgId + `'`
30
+	sql += ` order by create_date desc limit ` + strconv.Itoa((page-1)*pagesize) + `, ` + strconv.Itoa(pagesize)
31
+	err := m.db.Sql(sql).Find(&img)
32
+	return img, err
33
+}
34
+func (m *WechatImgDAO) GetWechatImgListCount(orgId string, page, pagesize int) (int, error) {
35
+	var img []model.TaWechatImg
36
+	sql := `SELECT * FROM ta_wechat_img WHERE status > ` + strconv.Itoa(models.STATUS_DEL) + `
37
+	and org_id = '` + orgId + `'`
38
+	err := m.db.Sql(sql).Find(&img)
39
+	return len(img), err
40
+}
41
+func (m *WechatImgDAO) GetWechatImgByMediaId(mediaId string) (*model.TaWechatImg, error) {
42
+	var img []model.TaWechatImg
43
+	sql := `SELECT * FROM ta_wechat_img WHERE status > ` + strconv.Itoa(models.STATUS_DEL) + `
44
+	and media_id = '` + mediaId + `'`
45
+	err := m.db.Sql(sql).Find(&img)
46
+	if len(img) > 0 {
47
+		return &img[0], err
48
+	}
49
+	return nil, err
50
+}
51
+func (m *WechatImgDAO) AddWechatImg(img model.TaWechatImg) error {
52
+	img.CreateDate = time.Now()
53
+	img.Status = models.STATUS_NORMAL
54
+	_, err := m.db.Insert(img)
55
+	return err
56
+}
57
+func (m *WechatImgDAO) DeleteWechatImg(mediaId string) error {
58
+	var img = model.TaWechatImg{
59
+		MediaId: mediaId,
60
+		Status:  models.STATUS_DEL,
61
+	}
62
+	var cols = []string{
63
+		"status",
64
+	}
65
+	_, err := m.db.Cols(cols...).Where("media_id = ?", img.MediaId).Update(img)
66
+	return err
67
+}

+ 60
- 0
models/wechatmenu/wechatmenu.go View File

@@ -0,0 +1,60 @@
1
+package wechatmenu
2
+
3
+import (
4
+	"strconv"
5
+	"time"
6
+	"wechat-conf/models"
7
+	"wechat-conf/models/model"
8
+	"wechat-conf/utils"
9
+
10
+	"github.com/go-xorm/xorm"
11
+)
12
+
13
+// WechatMenuDAO 当前数据库操作对象
14
+type WechatMenuDAO struct {
15
+	ctx *utils.Context
16
+	db  *xorm.Session
17
+}
18
+
19
+// NewWechatMenuDAO New Inst
20
+func NewWechatMenuDAO(ctx *utils.Context) *WechatMenuDAO {
21
+	return &WechatMenuDAO{
22
+		ctx: ctx,
23
+		db:  ctx.DB,
24
+	}
25
+}
26
+func (m *WechatMenuDAO) GetWechatMenuByOrgId(orgId string) (*model.TaWechatMenu, error) {
27
+	var menu []model.TaWechatMenu
28
+	sql := `SELECT * FROM ta_wechat_menu where status > ` + strconv.Itoa(models.STATUS_DEL) + `
29
+	and org_id = '` + orgId + `'`
30
+	err := m.db.Sql(sql).Find(&menu)
31
+	if len(menu) > 0 {
32
+		return &menu[0], err
33
+	}
34
+	return nil, err
35
+}
36
+func (m *WechatMenuDAO) AddWechatMenu(menu model.TaWechatMenu) (*model.TaWechatMenu, error) {
37
+	menu.WechatConfigId = utils.GetGUID()
38
+	menu.Status = models.STATUS_NORMAL
39
+	menu.CreateDate = time.Now()
40
+	_, err := m.db.Insert(menu)
41
+	return &menu, err
42
+}
43
+func (m *WechatMenuDAO) UpdateWechatMenu(menu model.TaWechatMenu) error {
44
+	var cols = []string{
45
+		"wechat_config_json",
46
+	}
47
+	_, err := m.db.Cols(cols...).Where("wechat_config_id = ?", menu.WechatConfigId).Update(menu)
48
+	return err
49
+}
50
+func (m *WechatMenuDAO) DeleteWechatMenu(wechatConfigId string) error {
51
+	var menu = model.TaWechatMenu{
52
+		WechatConfigId: wechatConfigId,
53
+		Status:         models.STATUS_DEL,
54
+	}
55
+	var cols = []string{
56
+		"status",
57
+	}
58
+	_, err := m.db.Cols(cols...).Where("wechat_config_id = ?", menu.WechatConfigId).Update(menu)
59
+	return err
60
+}

+ 89
- 0
service/autoreply/autoreply.go View File

@@ -0,0 +1,89 @@
1
+package autoreply
2
+
3
+import (
4
+	"errors"
5
+	"strings"
6
+	"wechat-conf/models/autoreply"
7
+	"wechat-conf/models/model"
8
+	"wechat-conf/service"
9
+	"wechat-conf/utils"
10
+)
11
+
12
+// AutoreplyServ 用户
13
+type AutoreplyServ struct {
14
+	ctx *utils.Context
15
+	dao *autoreply.AutoreplyDAO
16
+}
17
+
18
+// NewAutoreplyServ 初始化
19
+func NewAutoreplyServ(ctx *utils.Context) *AutoreplyServ {
20
+	return &AutoreplyServ{
21
+		ctx: ctx,
22
+		dao: autoreply.NewAutoreplyDAO(ctx),
23
+	}
24
+}
25
+func (s *AutoreplyServ) GetAutoReplyList(orgId, autoType string, page, pageSize int) (map[string]interface{}, error) {
26
+	if pageSize == 0 {
27
+		pageSize = service.PAGENUM
28
+	}
29
+	autoreply, err := s.dao.GetAutoReplyList(orgId, autoType, page, pageSize)
30
+	if err != nil {
31
+		utils.LogError("获取自动回复列表失败: " + err.Error())
32
+		return nil, errors.New("获取自动回复列表失败")
33
+	}
34
+	total, err := s.dao.GetAutoReplyListCount(orgId, autoType)
35
+	if err != nil {
36
+		utils.LogError("获取自动回复列表失败: " + err.Error())
37
+		return nil, errors.New("获取自动回复列表失败")
38
+	}
39
+	return map[string]interface{}{
40
+		"list":     autoreply,
41
+		"pageSize": pageSize,
42
+		"pagenum":  total,
43
+		"page":     page,
44
+	}, nil
45
+}
46
+
47
+func (s *AutoreplyServ) GetAutoReplyById(autoReplyId string) (*model.TaAutoReply, error) {
48
+	autoreply, err := s.dao.GetAutoReplyById(autoReplyId)
49
+	if err != nil {
50
+		utils.LogError("获取自动回复详情失败: " + err.Error())
51
+		return nil, errors.New("获取自动回复详情失败")
52
+	}
53
+	return autoreply, nil
54
+}
55
+
56
+func (s *AutoreplyServ) SaveAutoReply(autoreply model.TaAutoReply) (*model.TaAutoReply, error) {
57
+	var newAutoreply *model.TaAutoReply
58
+	var err error
59
+	if autoreply.AutoReplyId == "" {
60
+		newAutoreply, err = s.dao.AddAutoReply(autoreply)
61
+	} else {
62
+		err = s.dao.DeleteKeywords(autoreply.AutoReplyId)
63
+		err = s.dao.UpdateAutoRelpy(autoreply)
64
+		newAutoreply = &autoreply
65
+	}
66
+	keywords := strings.Split(autoreply.KeyWords, ",")
67
+	for i := 0; i < len(keywords); i++ {
68
+		var keyword = model.TaAutoReplyKeywords{
69
+			AutoReplyId: newAutoreply.AutoReplyId,
70
+			Keywords:    keywords[i],
71
+		}
72
+		err = s.dao.AddKeyword(keyword)
73
+	}
74
+	if err != nil {
75
+		utils.LogError("保存自动回复失败: " + err.Error())
76
+		return nil, errors.New("保存自动回复失败")
77
+	}
78
+	return newAutoreply, nil
79
+}
80
+
81
+func (s *AutoreplyServ) DeleteAutoReply(autoreplyId string) error {
82
+	err := s.dao.DeleteAutoReply(autoreplyId)
83
+	err = s.dao.DeleteKeywords(autoreplyId)
84
+	if err != nil {
85
+		utils.LogError("删除自动回复失败: " + err.Error())
86
+		return errors.New("删除自动回复失败")
87
+	}
88
+	return nil
89
+}

+ 31
- 0
service/menu/menu.go View File

@@ -0,0 +1,31 @@
1
+package menu
2
+
3
+import (
4
+	"errors"
5
+	"wechat-conf/models/menu"
6
+	"wechat-conf/models/model"
7
+	"wechat-conf/utils"
8
+)
9
+
10
+// MenuServ 用户
11
+type MenuServ struct {
12
+	ctx *utils.Context
13
+	dao *menu.MenuDAO
14
+}
15
+
16
+// NewMenuServ 初始化
17
+func NewMenuServ(ctx *utils.Context) *MenuServ {
18
+	return &MenuServ{
19
+		ctx: ctx,
20
+		dao: menu.NewMenuDAO(ctx),
21
+	}
22
+}
23
+
24
+func (s *MenuServ) GetUserMenu(userType string) ([]model.SysMenu, error) {
25
+	menu, err := s.dao.GetUserMenu(userType)
26
+	if err != nil {
27
+		utils.LogError("获取菜單失败: " + err.Error())
28
+		return nil, errors.New("获取菜單失败")
29
+	}
30
+	return menu, nil
31
+}

+ 53
- 0
service/sysorg/sysorg.go View File

@@ -0,0 +1,53 @@
1
+package sysorg
2
+
3
+import (
4
+	"errors"
5
+	"wechat-conf/models/model"
6
+	"wechat-conf/models/sysorg"
7
+	"wechat-conf/service"
8
+	"wechat-conf/utils"
9
+)
10
+
11
+// SysorgServ 用户
12
+type SysorgServ struct {
13
+	ctx *utils.Context
14
+	dao *sysorg.SysorgDAO
15
+}
16
+
17
+// NewSysorgServ 初始化
18
+func NewSysorgServ(ctx *utils.Context) *SysorgServ {
19
+	return &SysorgServ{
20
+		ctx: ctx,
21
+		dao: sysorg.NewSysorgDAO(ctx),
22
+	}
23
+}
24
+func (s *SysorgServ) GetOrgList(page, pageSize int) (map[string]interface{}, error) {
25
+	if pageSize == 0 {
26
+		pageSize = service.PAGENUM
27
+	}
28
+	org, err := s.dao.GetOrgList(page, pageSize)
29
+	if err != nil {
30
+		utils.LogError("获取项目列表失败: " + err.Error())
31
+		return nil, errors.New("获取项目列表失败")
32
+	}
33
+	total, err := s.dao.GetOrgListCount()
34
+	if err != nil {
35
+		utils.LogError("获取项目列表失败: " + err.Error())
36
+		return nil, errors.New("获取项目列表失败")
37
+	}
38
+	return map[string]interface{}{
39
+		"list":     org,
40
+		"pageSize": pageSize,
41
+		"pagenum":  total,
42
+		"page":     page,
43
+	}, nil
44
+}
45
+func (s *SysorgServ) AddOrg(org model.SysOrg) (*model.SysOrg, error) {
46
+	newOrg, err := s.dao.AddOrg(org)
47
+	if err != nil {
48
+		utils.LogError("新增项目失败: " + err.Error())
49
+		return nil, errors.New("新增项目失败")
50
+	}
51
+	return newOrg, nil
52
+}
53
+func (s *SysorgServ)AuthOrg()

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

@@ -0,0 +1,76 @@
1
+package sysuser
2
+
3
+import (
4
+	"errors"
5
+	"wechat-conf/models/model"
6
+	"wechat-conf/models/sysuser"
7
+	"wechat-conf/service"
8
+	"wechat-conf/utils"
9
+)
10
+
11
+// SysuserServ 用户
12
+type SysuserServ struct {
13
+	ctx *utils.Context
14
+	dao *sysuser.SysuserDAO
15
+}
16
+
17
+// NewSysuserServ 初始化
18
+func NewSysuserServ(ctx *utils.Context) *SysuserServ {
19
+	return &SysuserServ{
20
+		ctx: ctx,
21
+		dao: sysuser.NewSysuserDAO(ctx),
22
+	}
23
+}
24
+
25
+func (s *SysuserServ) GetSysuserList(page, pageSize int) (map[string]interface{}, error) {
26
+	if pageSize == 0 {
27
+		pageSize = service.PAGENUM
28
+	}
29
+	sysuser, err := s.dao.GetSysuserList(page, pageSize)
30
+	if err != nil {
31
+		utils.LogError("获取用户列表失败: " + err.Error())
32
+		return nil, errors.New("获取用户列表失败")
33
+	}
34
+	total, err := s.dao.GetSysuserListCount()
35
+	if err != nil {
36
+		utils.LogError("获取用户列表失败: " + err.Error())
37
+		return nil, errors.New("获取用户列表失败")
38
+	}
39
+	return map[string]interface{}{
40
+		"list":     sysuser,
41
+		"pageSize": pageSize,
42
+		"pagenum":  total,
43
+		"page":     page,
44
+	}, nil
45
+}
46
+func (s *SysuserServ) GetSysuserById(userId string) (*model.SysUser, error) {
47
+	user, err := s.dao.GetSysuserById(userId)
48
+	if err != nil {
49
+		utils.LogError("获取用户详情失败: " + err.Error())
50
+		return nil, errors.New("获取用户详情失败")
51
+	}
52
+	return user, nil
53
+}
54
+func (s *SysuserServ) SaveUser(user model.SysUser) (*model.SysUser, error) {
55
+	var newUser *model.SysUser
56
+	var err error
57
+	if user.UserId == "" {
58
+		newUser, err = s.dao.AddUser(user)
59
+	} else {
60
+		err = s.dao.EditUser(user)
61
+		newUser = &user
62
+	}
63
+	if err != nil {
64
+		utils.LogError("保存用户详情失败: " + err.Error())
65
+		return nil, errors.New("保存用户详情失败")
66
+	}
67
+	return newUser, nil
68
+}
69
+func (s *SysuserServ) DeleteUser(userId string) error {
70
+	err := s.dao.DeleteUser(userId)
71
+	if err != nil {
72
+		utils.LogError("删除用户失败: " + err.Error())
73
+		return errors.New("删除用户失败")
74
+	}
75
+	return nil
76
+}

+ 1
- 0
service/user/user.go View File

@@ -1,6 +1,7 @@
1 1
 package user
2 2
 
3 3
 import (
4
+	"cdkj-check/helper"
4 5
 	"net/http"
5 6
 	"strings"
6 7
 	"wechat-conf/models/model"