wangfei 6 年之前
父節點
當前提交
3b0ef047eb

+ 3
- 1
controllers/cases/caseuser.go 查看文件

@@ -5,8 +5,10 @@ import "spaceofcheng/services/models/model"
5 5
 // GetCaseUserByCase 根据案场获取用户信息
6 6
 func (c *CaseController) GetCaseUserByCase() {
7 7
 	caseid := c.GetString("caseid")
8
+	page, _ := c.GetInt("page")
9
+	pageSize, _ := c.GetInt("pagesize")
8 10
 
9
-	list, err := c.dao.GetCaseUserByCase(caseid)
11
+	list, err := c.dao.GetCaseUserByCase(caseid, page, pageSize)
10 12
 
11 13
 	if err != nil {
12 14
 		c.ResponseError(err)

+ 20
- 0
controllers/message/cmscase.go 查看文件

@@ -60,3 +60,23 @@ func (c *MessageController) DelCmsCase() {
60 60
 	}
61 61
 	c.ResponseJSON("删除成功!")
62 62
 }
63
+
64
+// CmsCaseShow 前台展示
65
+func (c *MessageController) CmsCaseShow() {
66
+	cmscaseid := c.GetString(":cmscaseid")
67
+	err := c.dao.CmsCaseShow(cmscaseid)
68
+	if err != nil {
69
+		c.ResponseError(err)
70
+	}
71
+	c.ResponseJSON("操作成功!")
72
+}
73
+
74
+// CmsCaseHide 前台隐藏
75
+func (c *MessageController) CmsCaseHide() {
76
+	cmscaseid := c.GetString(":cmscaseid")
77
+	err := c.dao.CmsCaseHide(cmscaseid)
78
+	if err != nil {
79
+		c.ResponseError(err)
80
+	}
81
+	c.ResponseJSON("操作成功!")
82
+}

+ 3
- 1
controllers/message/news.go 查看文件

@@ -1,6 +1,8 @@
1 1
 package message
2 2
 
3
-import "spaceofcheng/services/models/model"
3
+import (
4
+	"spaceofcheng/services/models/model"
5
+)
4 6
 
5 7
 // GetNews 获取咨询列表
6 8
 func (c *MessageController) GetNews() {

+ 15
- 3
controllers/system/role.go 查看文件

@@ -25,8 +25,10 @@ func (c *RoleController) GetRoleList() {
25 25
 	caseIDs := c.GetCaseIDs(cases)
26 26
 	page, _ := c.GetInt("page")
27 27
 	pageSize, _ := c.GetInt("pagesize")
28
+	name := c.GetString("name")
29
+	caseid := c.GetString("caseid")
28 30
 
29
-	list, err := c.dao.GetRoleList(caseIDs, page, pageSize)
31
+	list, err := c.dao.GetRoleList(caseIDs, name, caseid, page, pageSize)
30 32
 	if err != nil {
31 33
 		c.ResponseError(err)
32 34
 	}
@@ -49,14 +51,24 @@ func (c *RoleController) SaveCaseRole() {
49 51
 	if err := c.ParseForm(&role); err != nil {
50 52
 		c.ResponseError(err)
51 53
 	}
52
-	menuids := c.GetString("menuids")
53
-	newRole, err := c.dao.SaveRole(role, menuids)
54
+	newRole, err := c.dao.SaveRole(role)
54 55
 	if err != nil {
55 56
 		c.ResponseError(err)
56 57
 	}
57 58
 	c.ResponseJSON(newRole)
58 59
 }
59 60
 
61
+// SaveRoleMenus 保存角色对应菜单
62
+func (c *RoleController) SaveRoleMenus() {
63
+	roleid := c.GetString(":roleid")
64
+	menuids := c.GetString("menuids")
65
+	err := c.dao.SaveRoleMenu(roleid, menuids)
66
+	if err != nil {
67
+		c.ResponseError(err)
68
+	}
69
+	c.ResponseJSON("保存成功!")
70
+}
71
+
60 72
 // DelCaseRole 删除角色
61 73
 func (c *RoleController) DelCaseRole() {
62 74
 	roleid := c.GetString(":roleid")

+ 13
- 0
controllers/user/user.go 查看文件

@@ -213,3 +213,16 @@ func (c *UserController) GetEnvVars() {
213 213
 
214 214
 	c.ResponseJSON(vars)
215 215
 }
216
+
217
+// GetUserRole 获取用户角色
218
+func (c *UserController) GetUserRole() {
219
+	userid := c.GetString("userid")
220
+	roles, err := c.dao.GetUserRoles(userid)
221
+	if err != nil {
222
+		c.ResponseError(
223
+			err,
224
+			http.StatusInternalServerError,
225
+		)
226
+	}
227
+	c.ResponseJSON(roles)
228
+}

+ 1
- 1
models/cases/cases.go 查看文件

@@ -40,7 +40,7 @@ func (m *CaseDAO) GetCaseList(caseids, casename string, page, pageSize int) ([]C
40 40
 		sql = sql + ` and  a.case_name like '%` + casename + `%'`
41 41
 	}
42 42
 
43
-	sql = sql + " order by create_date desc limit " + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa((page+1)*pageSize)
43
+	sql = sql + " order by create_date desc limit " + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(page*pageSize)
44 44
 
45 45
 	err := m.db.Sql(sql).Find(&cases)
46 46
 	return cases, err

+ 12
- 2
models/cases/caseuser.go 查看文件

@@ -9,12 +9,22 @@ import (
9 9
 )
10 10
 
11 11
 // GetCaseUserByCase 根据案场id获取案场相关人员
12
-func (m *CaseDAO) GetCaseUserByCase(caseid string) ([]model.SysCaseUser, error) {
12
+func (m *CaseDAO) GetCaseUserByCase(caseid string, page int, pageSize int) ([]model.SysCaseUser, error) {
13 13
 	var caseusers []model.SysCaseUser
14
-	err := m.db.Where("case_id=?", caseid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Find(&caseusers)
14
+	err := m.db.Where("case_id=?", caseid).And("status>"+strconv.Itoa(models.STATUS_DEL)).Limit(pageSize, (page-1)*pageSize).Find(&caseusers)
15 15
 	return caseusers, err
16 16
 }
17 17
 
18
+// GetCaseUserCount 列表数量
19
+func (m *CaseDAO) GetCaseUserCount(caseid string) (int, error) {
20
+	var caseusers []model.SysCaseUser
21
+	err := m.db.Where("case_id=?", caseid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Find(&caseusers)
22
+	if err != nil {
23
+		return 0, err
24
+	}
25
+	return len(caseusers), nil
26
+}
27
+
18 28
 // GetCaseUserByID 根据id获取相关人员
19 29
 func (m *CaseDAO) GetCaseUserByID(userid string) (*model.SysCaseUser, error) {
20 30
 	var caseusers []model.SysCaseUser

+ 1
- 1
models/channel/channel.go 查看文件

@@ -45,7 +45,7 @@ func (m *ChannelDAO) GetChannels(caseid string, page int, pageSize int) ([]Chann
45 45
 	select a.*,b.case_name 
46 46
 	from ta_channel a 
47 47
 	inner join sys_case b on a.case_id = b.case_id 
48
-	where a.case_id in(` + strings.Replace(caseid, ",", "','", -1) + `) and status > ` + strconv.Itoa(models.STATUS_DEL)
48
+	where a.case_id in('` + strings.Replace(caseid, ",", "','", -1) + `') and b.status> ` + strconv.Itoa(models.STATUS_DEL) + ` and  a.status > ` + strconv.Itoa(models.STATUS_DEL)
49 49
 	err := m.db.Sql(sql).Find(&channels)
50 50
 	return channels, err
51 51
 }

+ 29
- 1
models/message/cmscase.go 查看文件

@@ -19,13 +19,17 @@ type CmsCaseInfo struct {
19 19
 	CaseName        string
20 20
 }
21 21
 
22
+const (
23
+	STATUS_NOSHOW = 0
24
+)
25
+
22 26
 // GetCmsCaseList 获取项目专题列表
23 27
 func (m *MessageDAO) GetCmsCaseList(name, caseids string, page int, pageSize int) ([]CmsCaseInfo, error) {
24 28
 	var cases []CmsCaseInfo
25 29
 	sql := `select a.*,b.case_name from ta_cms_case a inner join sys_case b on a.case_id = b.case_id 
26 30
 	where a.org_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and a.name like '%` + name + `%' and a.status > ` + strconv.Itoa(models.STATUS_DEL) + `
27 31
 	and b.status > ` + strconv.Itoa(models.STATUS_DEL) + `
28
-	order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa((page+1)*pageSize)
32
+	order by create_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(page*pageSize)
29 33
 	err := m.db.Sql(sql).Find(&cases)
30 34
 	return cases, err
31 35
 }
@@ -159,3 +163,27 @@ func (m *MessageDAO) SaveCmsCaseImg(img model.TaCmsCaseImage) error {
159 163
 	_, err := m.db.Insert(img)
160 164
 	return err
161 165
 }
166
+
167
+// CmsCaseShow 前台展示
168
+func (m *MessageDAO) CmsCaseShow(cmscaseid string) error {
169
+	var cmscase = model.TaCmsCase{}
170
+	cmscase.Status = models.STATUS_NORMAL
171
+	cmscase.CmsCaseId = cmscaseid
172
+	var cols = []string{
173
+		"status",
174
+	}
175
+	_, err := m.db.Cols(cols...).Where("cms_case_id=?", cmscase.CmsCaseId).Update(cmscase)
176
+	return err
177
+}
178
+
179
+// CmsCaseHide 前台隐藏
180
+func (m *MessageDAO) CmsCaseHide(cmscaseid string) error {
181
+	var cmscase = model.TaCmsCase{}
182
+	cmscase.Status = STATUS_NOSHOW
183
+	cmscase.CmsCaseId = cmscaseid
184
+	var cols = []string{
185
+		"status",
186
+	}
187
+	_, err := m.db.Cols(cols...).Where("cms_case_id=?", cmscase.CmsCaseId).Update(cmscase)
188
+	return err
189
+}

+ 4
- 4
models/message/news.go 查看文件

@@ -25,13 +25,13 @@ func (m *MessageDAO) GetNewsList(locationid, orgid string, page int, pageSize in
25 25
 		select b.news_id,GROUP_CONCAT(a.location_name) location_names,GROUP_CONCAT(a.location_id) location_ids 
26 26
 		from td_cms_image_location a inner join ta_cms_location b on a.location_id=b.location_id and a.status>` + strconv.Itoa(models.STATUS_DEL) +
27 27
 		` and a.org_id='` + orgid + `' group by b.news_id
28
-		) c on new.news_id = c.news_id and new.status>` + strconv.Itoa(models.STATUS_DEL) + ` and new.org_id='` + orgid + `'`
28
+		) c on new.news_id = c.news_id WHERE new.status>` + strconv.Itoa(models.STATUS_DEL) + ` and new.org_id='` + orgid + `'`
29 29
 
30 30
 	if locationid != "" {
31 31
 		sql += ` and new.news_id in (select news_id from ta_cms_location where location_id='` + locationid + `')`
32 32
 	}
33 33
 
34
-	sql = sql + " order by new.create_date desc limit " + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa((page+1)*pageSize)
34
+	sql = sql + " order by new.create_date desc limit " + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(page*pageSize)
35 35
 	err := m.db.Sql(sql).Find(&news)
36 36
 	return news, err
37 37
 }
@@ -103,7 +103,7 @@ func (m *MessageDAO) DelNewsLocation(newsid string) error {
103 103
 
104 104
 // SaveNewsLocation 保存咨询与位置映射
105 105
 func (m *MessageDAO) SaveNewsLocation(newsid, locationsid string) error {
106
-	sql := `insert into ta_cms_location(location_id,news_id) select '` + newsid + `', location_id from td_cms_image_location where location_id in ('` + strings.Replace(locationsid, ",", "','", -1) + `') and status > ` + strconv.Itoa(models.STATUS_DEL)
106
+	sql := `insert into ta_cms_location(news_id,location_id) select '` + newsid + `', location_id from td_cms_image_location where location_id in ('` + strings.Replace(locationsid, ",", "','", -1) + `') and status > ` + strconv.Itoa(models.STATUS_DEL)
107 107
 	_, err := m.db.Exec(sql)
108 108
 	return err
109 109
 }
@@ -131,6 +131,6 @@ func (m *MessageDAO) DelNews(newsid string) error {
131 131
 	var cols = []string{
132 132
 		"status",
133 133
 	}
134
-	_, err := m.db.Cols(cols...).Where("user_id=?", news.NewsId).Update(news)
134
+	_, err := m.db.Cols(cols...).Where("news_id=?", news.NewsId).Update(news)
135 135
 	return err
136 136
 }

+ 22
- 8
models/system/role.go 查看文件

@@ -26,23 +26,37 @@ func NewRoleDAO(ctx *utils.Context) *RoleDAO {
26 26
 }
27 27
 
28 28
 // GetRoleCount 获取角色总数
29
-func (m *RoleDAO) GetRoleCount(caseids string) (int, error) {
29
+func (m *RoleDAO) GetRoleCount(caseids, name, caseid string) (int, error) {
30 30
 	var roles []model.SysRole
31
-	err := m.db.Where("status>" + strconv.Itoa(models.STATUS_DEL)).And("case_id in ('" + strings.Replace(caseids, ",", "','", -1) + "')").Find(&roles)
31
+	dao := m.db.Where("status>" + strconv.Itoa(models.STATUS_DEL)).And("case_id in ('" + strings.Replace(caseids, ",", "','", -1) + "')")
32
+	if name != "" {
33
+		dao.And("role_name like '%" + name + "%'")
34
+	}
35
+	if caseid != "" {
36
+		dao.And("case_id =?", caseid)
37
+	}
38
+	err := dao.Find(&roles)
32 39
 	return len(roles), err
33 40
 }
34 41
 
35 42
 // GetRoleList 根据案场获取角色
36
-func (m *RoleDAO) GetRoleList(caseids string, page int, pageSize int) ([]model.SysRole, error) {
43
+func (m *RoleDAO) GetRoleList(caseids, name, caseid string, page int, pageSize int) ([]model.SysRole, error) {
37 44
 	var roles []model.SysRole
38
-	err := m.db.Where("status>"+strconv.Itoa(models.STATUS_DEL)).And("case_id in ('"+strings.Replace(caseids, ",", "','", -1)+"')").Limit(pageSize, (page-1)*pageSize).Desc("create_date").Find(&roles)
45
+	dao := m.db.Where("status>" + strconv.Itoa(models.STATUS_DEL)).And("case_id in ('" + strings.Replace(caseids, ",", "','", -1) + "')")
46
+	if name != "" {
47
+		dao.And("role_name like '%" + name + "%'")
48
+	}
49
+	if caseid != "" {
50
+		dao.And("case_id =?", caseid)
51
+	}
52
+	err := dao.Limit(pageSize, (page-1)*pageSize).Desc("create_date").Find(&roles)
39 53
 	return roles, err
40 54
 }
41 55
 
42 56
 // Role 角色
43 57
 type Role struct {
44
-	model.TaCmsCase `xorm:"extends"`
45
-	RoleMenu        []model.SysMenu
58
+	model.SysRole `xorm:"extends"`
59
+	RoleMenu      []model.SysMenu
46 60
 }
47 61
 
48 62
 // GetRoleByID 根据ID获取角色
@@ -107,8 +121,8 @@ func (m *RoleDAO) DelRoleMenu(roleid string) error {
107 121
 }
108 122
 
109 123
 // SaveRoleMenu 保存角色对应的菜单
110
-func (m *RoleDAO) SaveRoleMenu(roleid, caseids string) error {
111
-	sql := `insert into sys_role_menu(role_id,menu_id) select '` + roleid + `', menu_id from sys_menu where case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `') and status > ` + strconv.Itoa(models.STATUS_DEL)
124
+func (m *RoleDAO) SaveRoleMenu(roleid, menuids string) error {
125
+	sql := `insert into sys_role_menu(role_id,menu_id) select '` + roleid + `', menu_id from sys_menu where menu_id in ('` + strings.Replace(menuids, ",", "','", -1) + `') and status > ` + strconv.Itoa(models.STATUS_DEL)
112 126
 	_, err := m.db.Exec(sql)
113 127
 	return err
114 128
 }

+ 14
- 29
models/system/user.go 查看文件

@@ -40,49 +40,30 @@ func (m *UserDAO) GetUserList(username, typeid, caseids string, page int, pageSi
40 40
 		select a.user_id,GROUP_CONCAT(b.type_name) as user_type_names from sys_user_type a
41 41
 		INNER join td_user_type b on a.type_id = b.type_id
42 42
 		group by a.user_id) c on user.user_id = c.user_id where 
43
-		(status> ` + strconv.Itoa(models.STATUS_DEL) + ` and user_name like '%` + username + `%' and user_id in 
43
+		(status> ` + strconv.Itoa(models.STATUS_DEL) + ` and user_name like '%` + username + `%' and user.user_id in 
44 44
 		(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `')))`
45 45
 
46 46
 	if typeid != "" {
47
-		sql = sql + " and user_id in (select user_id from sys_user_type where type_id = '" + typeid + "')"
47
+		sql = sql + " and user.user_id in (select user_id from sys_user_type where type_id = '" + typeid + "')"
48 48
 	}
49 49
 
50
-	sql = sql + " order by create_date desc limit " + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa((page+1)*pageSize)
51
-
50
+	sql = sql + " order by create_date desc limit " + strconv.Itoa((page-1)*pageSize) + ", " + strconv.Itoa(page*pageSize)
52 51
 	err := m.db.Sql(sql).Find(&users)
53 52
 	return users, err
54
-
55
-	// var users []model.SysUser
56
-	// userDAO := m.db.Where(`(status> `+strconv.Itoa(models.STATUS_DEL)+` and user_name like '%?%' and user_id in
57
-	// 	(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('?')))`, username, strings.Replace(caseids, ",", "','", -1))
58
-
59
-	// if typeid != "" {
60
-	// 	userDAO.In("user_id", builder.Select("user_id").From("sys_user_type").Where(builder.Eq{"type_id": typeid}))
61
-	// }
62
-	// err := userDAO.Limit(pageSize, (page-1)*pageSize).Desc("create_date").Find(&users)
63
-	// return users, err
64 53
 }
65 54
 
66 55
 // GetUserCount 用户列表count
67 56
 func (m *UserDAO) GetUserCount(username, typeid, caseids string) (int, error) {
68
-	// var users []model.SysUser
69
-	// userDAO := m.db.Where(`(status> `+strconv.Itoa(models.STATUS_DEL)+` and user_name like '%?%' and user_id in
70
-	// 	(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('?')))`, username, strings.Replace(caseids, ",", "','", -1))
71
-
72
-	// if typeid != "" {
73
-	// 	userDAO.In("user_id", builder.Select("user_id").From("sys_user_type").Where(builder.Eq{"type_id": typeid}))
74
-	// }
75
-	// err := userDAO.Find(&users)
76 57
 	var users []UserListInfo
77 58
 	sql := `select user.*,c.user_type_names from sys_user user left join (
78 59
 		select a.user_id,GROUP_CONCAT(b.type_name) as user_type_names from sys_user_type a
79 60
 		INNER join td_user_type b on a.type_id = b.type_id
80 61
 		group by a.user_id) c on user.user_id = c.user_id where 
81
-		(status> ` + strconv.Itoa(models.STATUS_DEL) + ` and user_name like '%` + username + `%' and user_id in 
62
+		(status> ` + strconv.Itoa(models.STATUS_DEL) + ` and user_name like '%` + username + `%' and user.user_id in 
82 63
 		(select user_id from sys_user_tag a inner join sys_tag_case b on a.tag_id=b.tag_id where b.case_id in ('` + strings.Replace(caseids, ",", "','", -1) + `')))`
83 64
 
84 65
 	if typeid != "" {
85
-		sql = sql + " and user_id in (select user_id from sys_user_type where type_id = '" + typeid + "')"
66
+		sql = sql + " and user.user_id in (select user_id from sys_user_type where type_id = '" + typeid + "')"
86 67
 	}
87 68
 	err := m.db.Sql(sql).Find(&users)
88 69
 	if err != nil {
@@ -96,7 +77,7 @@ type UserInfo struct {
96 77
 	model.SysUser `xorm:"extends"`
97 78
 	UserType      []model.TdUserType
98 79
 	UserTag       []model.SysTag
99
-	UserCase      []model.SysCase
80
+	UserCase      []model.SysUserCase
100 81
 	UserRole      []model.SysRole
101 82
 	UserMenu      []model.SysMenu
102 83
 }
@@ -111,13 +92,16 @@ type SysUserForm struct {
111 92
 
112 93
 // GetUserByID 根据ID获取用户信息
113 94
 func (m *UserDAO) GetUserByID(userid string) (*UserInfo, error) {
114
-	var userinfo = UserInfo{}
95
+	var userinfo []UserInfo
115 96
 	sql := `select * from sys_user where user_id='` + userid + `' and status>` + strconv.Itoa(models.STATUS_DEL)
116 97
 	err := m.db.Sql(sql).Find(&userinfo)
117 98
 	if err != nil {
118 99
 		return nil, err
119 100
 	}
120
-	return &userinfo, nil
101
+	if len(userinfo) > 0 {
102
+		return &userinfo[0], nil
103
+	}
104
+	return nil, nil
121 105
 }
122 106
 
123 107
 // GetUserTypes 获取所有的用户类型
@@ -142,8 +126,9 @@ func (m *UserDAO) GetUserTag(userid string) ([]model.SysTag, error) {
142 126
 }
143 127
 
144 128
 // GetUserCase 获取用户案场
145
-func (m *UserDAO) GetUserCase(userid string) ([]model.SysCase, error) {
146
-	var userCase []model.SysCase
129
+func (m *UserDAO) GetUserCase(userid string) ([]model.SysUserCase, error) {
130
+	var userCase []model.SysUserCase
131
+	// err := m.db.Where("user_id=?", userid).And("status>" + strconv.Itoa(models.STATUS_DEL)).Find(&userCase)
147 132
 	err := m.db.In("case_id", builder.Select("case_id").From("sys_user_case").Where(builder.Eq{"user_id": userid}).And(builder.Gt{"status": models.STATUS_DEL})).Find(&userCase)
148 133
 	return userCase, err
149 134
 }

+ 11
- 0
routers/common.go 查看文件

@@ -35,6 +35,9 @@ func getCommonRoutes() beego.LinkNamespace {
35 35
 		// 系统用户
36 36
 		beego.NSRouter("/user", &user.UserController{}, "get:GetUserList"),
37 37
 		beego.NSRouter("/user/:userid", &user.UserController{}, "get:GetUserByID"),
38
+		beego.NSRouter("/user", &user.UserController{}, "post:SaveUser"),
39
+		beego.NSRouter("/user", &user.UserController{}, "put:SaveUser"),
40
+		beego.NSRouter("/user/:userid", &user.UserController{}, "delete:DelUser"),
38 41
 		beego.NSRouter("/user/:userid/password", &user.UserController{}, "put:UpdatePassword"),
39 42
 		beego.NSRouter("/user/password/reset", &user.UserController{}, "put:ResetPassword"),
40 43
 		beego.NSRouter("/signout", &user.UserController{}, "post:SignOut"),
@@ -42,6 +45,10 @@ func getCommonRoutes() beego.LinkNamespace {
42 45
 		// 用户类型
43 46
 		beego.NSRouter("/usertype", &user.UserController{}, "get:GetUserTypes"),
44 47
 
48
+		// 用户角色
49
+		beego.NSRouter("/userrole", &user.UserController{}, "get:GetUserRole"),
50
+		beego.NSRouter("/userrole", &user.UserController{}, "put:UserMapRole"),
51
+
45 52
 		// cms 位置
46 53
 		beego.NSRouter("/cms/location", &message.MessageController{}, "get:GetLocations"),
47 54
 		beego.NSRouter("/cms/location/:locationid", &message.MessageController{}, "get:GetLocationById"),
@@ -76,6 +83,8 @@ func getCommonRoutes() beego.LinkNamespace {
76 83
 		beego.NSRouter("/cms/case", &message.MessageController{}, "post:SaveCmsCase"),
77 84
 		beego.NSRouter("/cms/case/:cmscaseid", &message.MessageController{}, "put:SaveCmsCase"),
78 85
 		beego.NSRouter("/cms/case/:cmscaseid", &message.MessageController{}, "delete:DelCmsCase"),
86
+		beego.NSRouter("/cms/caseshow/:cmscaseid", &message.MessageController{}, "put:CmsCaseShow"),
87
+		beego.NSRouter("/cms/casehide/:cmscaseid", &message.MessageController{}, "put:CmsCaseHide"),
79 88
 
80 89
 		// tag 标签
81 90
 		beego.NSRouter("/case/tag", &cases.CaseController{}, "get:GetTagList"),
@@ -139,6 +148,8 @@ func getCommonRoutes() beego.LinkNamespace {
139 148
 		beego.NSRouter("/role", &system.RoleController{}, "put:SaveCaseRole"),
140 149
 		beego.NSRouter("/role/:roleid", &system.RoleController{}, "delete:DelCaseRole"),
141 150
 
151
+		beego.NSRouter("/rolemenu/:roleid", &system.RoleController{}, "put:SaveRoleMenus"),
152
+
142 153
 		// course 课程
143 154
 		beego.NSRouter("/course/taglist", &course.CourseController{}, "get:GetCourseTagsByPage"),
144 155
 		beego.NSRouter("/course/tag", &course.CourseController{}, "get:GetCourseTags"),

+ 27
- 3
service/cases/caseuser.go 查看文件

@@ -2,13 +2,37 @@ package cases
2 2
 
3 3
 import (
4 4
 	"spaceofcheng/services/models/model"
5
+	"spaceofcheng/services/service"
5 6
 	"spaceofcheng/services/utils"
7
+
8
+	"github.com/astaxie/beego"
6 9
 )
7 10
 
8 11
 // GetCaseUserByCase 根据案场id获取案场相关人员信息
9
-func (s *CaseServ) GetCaseUserByCase(caseid string) ([]model.SysCaseUser, error) {
10
-	caseusers, err := s.dao.GetCaseUserByCase(caseid)
11
-	return caseusers, err
12
+func (s *CaseServ) GetCaseUserByCase(caseid string, page int, pageSize int) (map[string]interface{}, error) {
13
+	if pageSize == 0 {
14
+		pageSize = service.PAGENUM
15
+	}
16
+	if page == 0 {
17
+		page = 1
18
+	}
19
+	caseusers, err := s.dao.GetCaseUserByCase(caseid, page, pageSize)
20
+	if err != nil {
21
+		beego.Error(err)
22
+		return nil, err
23
+	}
24
+	total, err := s.dao.GetCaseUserCount(caseid)
25
+	if err != nil {
26
+		beego.Error(err)
27
+		return nil, err
28
+	}
29
+
30
+	return map[string]interface{}{
31
+		"list":     caseusers,
32
+		"pagesize": pageSize,
33
+		"pagenum":  total,
34
+		"page":     page,
35
+	}, err
12 36
 }
13 37
 
14 38
 // GetCaseUserByType 根据类型获取人员

+ 40
- 24
service/message/cmscase.go 查看文件

@@ -114,32 +114,36 @@ func (s *MessageServ) SaveCmsCase(cmscase model.TaCmsCase, courseids, imgs, deta
114 114
 		return nil, err
115 115
 	}
116 116
 
117
-	arrimg := strings.Split(imgs, ",")
118
-	for index, img := range arrimg {
119
-		CmsImg := model.TaCmsCaseImage{
120
-			ImageType:    models.IMAGETYPE_COVER,
121
-			Sort:         (index + 1),
122
-			CaseImageUrl: img,
123
-			CmsCaseId:    newInfo.CmsCaseId,
124
-		}
125
-		err = s.dao.SaveCmsCaseImg(CmsImg)
126
-		if err != nil {
127
-			beego.Error(err)
128
-			return nil, err
117
+	if imgs != "" {
118
+		arrimg := strings.Split(imgs, ",")
119
+		for index, img := range arrimg {
120
+			CmsImg := model.TaCmsCaseImage{
121
+				ImageType:    models.IMAGETYPE_COVER,
122
+				Sort:         (index + 1),
123
+				CaseImageUrl: img,
124
+				CmsCaseId:    newInfo.CmsCaseId,
125
+			}
126
+			err = s.dao.SaveCmsCaseImg(CmsImg)
127
+			if err != nil {
128
+				beego.Error(err)
129
+				return nil, err
130
+			}
129 131
 		}
130 132
 	}
131
-	arrdetailimg := strings.Split(detailimgs, ",")
132
-	for index, img := range arrdetailimg {
133
-		CmsImg := model.TaCmsCaseImage{
134
-			ImageType:    models.IMAGETYPE_DETAIL,
135
-			Sort:         (index + 1),
136
-			CaseImageUrl: img,
137
-			CmsCaseId:    newInfo.CmsCaseId,
138
-		}
139
-		err = s.dao.SaveCmsCaseImg(CmsImg)
140
-		if err != nil {
141
-			beego.Error(err)
142
-			return nil, err
133
+	if detailimgs != "" {
134
+		arrdetailimg := strings.Split(detailimgs, ",")
135
+		for index, img := range arrdetailimg {
136
+			CmsImg := model.TaCmsCaseImage{
137
+				ImageType:    models.IMAGETYPE_DETAIL,
138
+				Sort:         (index + 1),
139
+				CaseImageUrl: img,
140
+				CmsCaseId:    newInfo.CmsCaseId,
141
+			}
142
+			err = s.dao.SaveCmsCaseImg(CmsImg)
143
+			if err != nil {
144
+				beego.Error(err)
145
+				return nil, err
146
+			}
143 147
 		}
144 148
 	}
145 149
 	return newInfo, err
@@ -150,3 +154,15 @@ func (s *MessageServ) DelCmsCase(cmscaseid string) error {
150 154
 	err := s.dao.DelCmsCase(cmscaseid)
151 155
 	return err
152 156
 }
157
+
158
+// CmsCaseShow 前台展示
159
+func (s *MessageServ) CmsCaseShow(cmscaseid string) error {
160
+	err := s.dao.CmsCaseShow(cmscaseid)
161
+	return err
162
+}
163
+
164
+// CmsCaseHide 前台隐藏
165
+func (s *MessageServ) CmsCaseHide(cmscaseid string) error {
166
+	err := s.dao.CmsCaseHide(cmscaseid)
167
+	return err
168
+}

+ 16
- 9
service/system/role.go 查看文件

@@ -24,19 +24,19 @@ func NewRoleServ(ctx *utils.Context) *RoleServ {
24 24
 }
25 25
 
26 26
 // GetRoleList 获取Role列表
27
-func (s *RoleServ) GetRoleList(caseids string, page, pageSize int) (map[string]interface{}, error) {
27
+func (s *RoleServ) GetRoleList(caseids, name, caseid string, page, pageSize int) (map[string]interface{}, error) {
28 28
 	if pageSize == 0 {
29 29
 		pageSize = service.PAGENUM
30 30
 	}
31 31
 	if page == 0 {
32 32
 		page = 1
33 33
 	}
34
-	roles, err := s.dao.GetRoleList(caseids, page, pageSize)
34
+	roles, err := s.dao.GetRoleList(caseids, name, caseid, page, pageSize)
35 35
 	if err != nil {
36 36
 		beego.Error(err)
37 37
 		return nil, err
38 38
 	}
39
-	total, err := s.dao.GetRoleCount(caseids)
39
+	total, err := s.dao.GetRoleCount(caseids, name, caseid)
40 40
 	if err != nil {
41 41
 		beego.Error(err)
42 42
 		return nil, err
@@ -69,7 +69,7 @@ func (s *RoleServ) GetRoleByID(roleid string) (*system.Role, error) {
69 69
 }
70 70
 
71 71
 // SaveRole 保存角色
72
-func (s *RoleServ) SaveRole(role model.SysRole, menuids string) (*model.SysRole, error) {
72
+func (s *RoleServ) SaveRole(role model.SysRole) (*model.SysRole, error) {
73 73
 	var newInfo *model.SysRole
74 74
 	var err error
75 75
 	if role.RoleId == "" {
@@ -82,17 +82,24 @@ func (s *RoleServ) SaveRole(role model.SysRole, menuids string) (*model.SysRole,
82 82
 		beego.Error(err)
83 83
 		return nil, err
84 84
 	}
85
-	err = s.dao.DelRoleMenu(newInfo.RoleId)
85
+
86
+	return newInfo, err
87
+}
88
+
89
+// SaveRoleMenu 保存角色菜单
90
+func (s *RoleServ) SaveRoleMenu(roleid, menuids string) error {
91
+	var err error
92
+	err = s.dao.DelRoleMenu(roleid)
86 93
 	if err != nil {
87 94
 		beego.Error(err)
88
-		return nil, err
95
+		return err
89 96
 	}
90
-	err = s.dao.SaveRoleMenu(newInfo.RoleId, menuids)
97
+	err = s.dao.SaveRoleMenu(roleid, menuids)
91 98
 	if err != nil {
92 99
 		beego.Error(err)
93
-		return nil, err
100
+		return err
94 101
 	}
95
-	return newInfo, err
102
+	return nil
96 103
 }
97 104
 
98 105
 // DelRole 删除角色

+ 15
- 0
service/user.go 查看文件

@@ -270,8 +270,23 @@ func (s *UserServ) GetUserTypes(caseids string) ([]model.TdUserType, error) {
270 270
 	return types, err
271 271
 }
272 272
 
273
+// GetUserRoles 获取用户角色
274
+func (s *UserServ) GetUserRoles(userid string) ([]model.SysRole, error) {
275
+	if userid == "" {
276
+		return nil, utils.LogError("没有对应的用户信息!")
277
+	}
278
+	userroles, err := s.dao.GetUserRole(userid)
279
+	return userroles, err
280
+}
281
+
273 282
 // SaveUserRole 保存用户对应角色
274 283
 func (s *UserServ) SaveUserRole(userid, roleids string) error {
284
+	if userid == "" {
285
+		return utils.LogError("没有对应的用户信息!")
286
+	}
287
+	if roleids == "" {
288
+		return utils.LogError("没有对应的角色信息!")
289
+	}
275 290
 	err := s.dao.DelUserRole(userid)
276 291
 	if err != nil {
277 292
 		return err