wangfei 6 лет назад
Родитель
Сommit
8858f54010

+ 1
- 1
controllers/channel/channel.go Просмотреть файл

34
 
34
 
35
 // GetChannelById根据id获取渠道
35
 // GetChannelById根据id获取渠道
36
 func (c *ChannelController) GetChannelById() {
36
 func (c *ChannelController) GetChannelById() {
37
-	caseid := c.GetString(":caseid")
37
+	caseid := c.GetString(":channelId")
38
 	channel, err := c.dao.GetChannelById(caseid)
38
 	channel, err := c.dao.GetChannelById(caseid)
39
 	if err != nil {
39
 	if err != nil {
40
 		c.ResponseError(err)
40
 		c.ResponseError(err)

+ 6
- 3
controllers/customer/customer.go Просмотреть файл

27
 func (c *CustomerController) CustWXList() {
27
 func (c *CustomerController) CustWXList() {
28
 	phone := c.GetString("phone")
28
 	phone := c.GetString("phone")
29
 	page, _ := c.GetInt("page")
29
 	page, _ := c.GetInt("page")
30
+	pageSize, _ := c.GetInt("pagesize")
30
 
31
 
31
-	custList, total, err := c.serv.GetCustWithWXList(phone, page)
32
+	custList, total, err := c.serv.GetCustWithWXList(phone, page, pageSize)
32
 	if err != nil {
33
 	if err != nil {
33
 		utils.LogError("获取客户列表失败: " + err.Error())
34
 		utils.LogError("获取客户列表失败: " + err.Error())
34
 		c.ResponseError(
35
 		c.ResponseError(
38
 	}
39
 	}
39
 
40
 
40
 	c.ResponseJSON(map[string]interface{}{
41
 	c.ResponseJSON(map[string]interface{}{
41
-		"list":  custList,
42
-		"total": total,
42
+		"list":     custList,
43
+		"pagenum":  total,
44
+		"page":     page,
45
+		"pagesize": pageSize,
43
 	})
46
 	})
44
 }
47
 }
45
 
48
 

+ 10
- 0
controllers/system/role.go Просмотреть файл

45
 	c.ResponseJSON(info)
45
 	c.ResponseJSON(info)
46
 }
46
 }
47
 
47
 
48
+// GetRoleMenuByRole 获取角色菜单
49
+func (c *RoleController) GetRoleMenuByRole() {
50
+	roleid := c.GetString(":roleid")
51
+	menus, err := c.dao.GetRoleMeneByID(roleid)
52
+	if err != nil {
53
+		c.ResponseError(err)
54
+	}
55
+	c.ResponseJSON(menus)
56
+}
57
+
48
 // SaveCaseRole 保存角色
58
 // SaveCaseRole 保存角色
49
 func (c *RoleController) SaveCaseRole() {
59
 func (c *RoleController) SaveCaseRole() {
50
 	role := model.SysRole{}
60
 	role := model.SysRole{}

+ 1
- 1
models/channel/channel.go Просмотреть файл

53
 // GetChannelById 根据渠道id获取渠道
53
 // GetChannelById 根据渠道id获取渠道
54
 func (m *ChannelDAO) GetChannelById(channelId string) (*model.TaChannel, error) {
54
 func (m *ChannelDAO) GetChannelById(channelId string) (*model.TaChannel, error) {
55
 	var channel []model.TaChannel
55
 	var channel []model.TaChannel
56
-	err := m.db.Where("channel_id = ", channelId).And("status > ?", models.STATUS_DEL).Find(&channel)
56
+	err := m.db.Where("channel_id = ?", channelId).And("status > ?", models.STATUS_DEL).Find(&channel)
57
 	if err != nil {
57
 	if err != nil {
58
 		return nil, err
58
 		return nil, err
59
 	}
59
 	}

+ 3
- 0
models/customer/customer.go Просмотреть файл

40
 	if m.ctx.Get("pageNum") != nil {
40
 	if m.ctx.Get("pageNum") != nil {
41
 		pageNum = m.ctx.Get("pageNum").(int)
41
 		pageNum = m.ctx.Get("pageNum").(int)
42
 	}
42
 	}
43
+	if len(page) > 1 {
44
+		pageNum = page[1]
45
+	}
43
 
46
 
44
 	pg := 1
47
 	pg := 1
45
 	if len(page) > 0 {
48
 	if len(page) > 0 {

+ 1
- 0
models/model/sys_menu.go Просмотреть файл

16
 	Status     int       `xorm:"SMALLINT(6)"`
16
 	Status     int       `xorm:"SMALLINT(6)"`
17
 	CreateDate time.Time `xorm:"DATETIME"`
17
 	CreateDate time.Time `xorm:"DATETIME"`
18
 	OrgId      string    `xorm:"VARCHAR(64)"`
18
 	OrgId      string    `xorm:"VARCHAR(64)"`
19
+	FatherIds  string    `xorm:"TEXT"`
19
 }
20
 }

+ 21
- 3
models/system/role.go Просмотреть файл

60
 }
60
 }
61
 
61
 
62
 // GetRoleByID 根据ID获取角色
62
 // GetRoleByID 根据ID获取角色
63
-func (m *RoleDAO) GetRoleByID(roleid string) (*Role, error) {
64
-	var roles []Role
63
+func (m *RoleDAO) GetRoleByID(roleid string) (*model.SysRole, error) {
64
+	var roles []model.SysRole
65
 	sql := `select * from sys_role where role_id='` + roleid + `' and status>` + strconv.Itoa(models.STATUS_DEL)
65
 	sql := `select * from sys_role where role_id='` + roleid + `' and status>` + strconv.Itoa(models.STATUS_DEL)
66
 	err := m.db.Sql(sql).Find(&roles)
66
 	err := m.db.Sql(sql).Find(&roles)
67
 	if err != nil {
67
 	if err != nil {
122
 
122
 
123
 // SaveRoleMenu 保存角色对应的菜单
123
 // SaveRoleMenu 保存角色对应的菜单
124
 func (m *RoleDAO) SaveRoleMenu(roleid, menuids string) error {
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)
125
+	sql := `insert into sys_role_menu(role_id,menu_id) select DISTINCT '` + roleid + `', a.menu_id from sys_menu a left join sys_menu b on find_in_set(b.menu_id,a.father_ids) where (b.menu_id in ('` + strings.Replace(menuids, ",", "','", -1) + `') or a.menu_id in ('` + strings.Replace(menuids, ",", "','", -1) + `')) and a.status> ` + strconv.Itoa(models.STATUS_DEL)
126
+	_, err := m.db.Exec(sql)
127
+	return err
128
+}
129
+
130
+// DelUserMenusByRole 批量删除处理用户对应菜单信息
131
+func (m *RoleDAO) DelUserMenusByRole(roleid string) error {
132
+	sql := "delete a from sys_user_menu a inner join sys_user_role b on a.user_id=b.user_id where b.role_id='" + roleid + "'"
133
+	_, err := m.db.Exec(sql)
134
+	return err
135
+}
136
+
137
+// SaveUserMenusByRole 批量保存用户对应菜单信息
138
+func (m *RoleDAO) SaveUserMenus(roleid string) error {
139
+	sql := `insert into sys_user_menu (user_id,menu_id)
140
+	select DISTINCT c.user_id,a.menu_id from sys_menu a 
141
+	inner join sys_role_menu b on a.menu_id = b.menu_id
142
+	inner join sys_user_role c on b.role_id = c.role_id
143
+	where c.user_id in (select user_id from sys_user_role where role_id='` + roleid + `')`
126
 	_, err := m.db.Exec(sql)
144
 	_, err := m.db.Exec(sql)
127
 	return err
145
 	return err
128
 }
146
 }

+ 8
- 1
models/system/user.go Просмотреть файл

213
 	return err
213
 	return err
214
 }
214
 }
215
 
215
 
216
+// GetUserByRole 根据角色获取用户信息
217
+func (m *UserDAO) GetUserByRole(roleid string) ([]model.SysUserRole, error) {
218
+	var userroles []model.SysUserRole
219
+	err := m.db.Where("role_id=?", roleid).Find(&userroles)
220
+	return userroles, err
221
+}
222
+
216
 // DelUserMenu 删除用户对应的菜单信息
223
 // DelUserMenu 删除用户对应的菜单信息
217
 func (m *UserDAO) DelUserMenu(userid string) error {
224
 func (m *UserDAO) DelUserMenu(userid string) error {
218
 	sql := "delete from sys_user_menu where user_id='" + userid + "'"
225
 	sql := "delete from sys_user_menu where user_id='" + userid + "'"
284
 func (m *UserDAO) UpdatePassword(userID, newPass string) error {
291
 func (m *UserDAO) UpdatePassword(userID, newPass string) error {
285
 	password := encrypt.Md5(newPass, userID)
292
 	password := encrypt.Md5(newPass, userID)
286
 
293
 
287
-	sql := "update sys_user set passwd=? where user_id=?"
294
+	sql := "update sys_user set pwd=? where user_id=?"
288
 
295
 
289
 	_, err := m.db.Exec(sql, password, userID)
296
 	_, err := m.db.Exec(sql, password, userID)
290
 	if err != nil {
297
 	if err != nil {

+ 1
- 0
routers/common.go Просмотреть файл

148
 		beego.NSRouter("/role", &system.RoleController{}, "put:SaveCaseRole"),
148
 		beego.NSRouter("/role", &system.RoleController{}, "put:SaveCaseRole"),
149
 		beego.NSRouter("/role/:roleid", &system.RoleController{}, "delete:DelCaseRole"),
149
 		beego.NSRouter("/role/:roleid", &system.RoleController{}, "delete:DelCaseRole"),
150
 
150
 
151
+		beego.NSRouter("/rolemenu/:roleid", &system.RoleController{}, "get:GetRoleMenuByRole"),
151
 		beego.NSRouter("/rolemenu/:roleid", &system.RoleController{}, "put:SaveRoleMenus"),
152
 		beego.NSRouter("/rolemenu/:roleid", &system.RoleController{}, "put:SaveRoleMenus"),
152
 
153
 
153
 		// course 课程
154
 		// course 课程

+ 26
- 10
service/system/role.go Просмотреть файл

51
 }
51
 }
52
 
52
 
53
 // GetRoleByID 根据ID获取角色
53
 // GetRoleByID 根据ID获取角色
54
-func (s *RoleServ) GetRoleByID(roleid string) (*system.Role, error) {
54
+func (s *RoleServ) GetRoleByID(roleid string) (*model.SysRole, error) {
55
 	role, err := s.dao.GetRoleByID(roleid)
55
 	role, err := s.dao.GetRoleByID(roleid)
56
 	if err != nil {
56
 	if err != nil {
57
 		beego.Error(err)
57
 		beego.Error(err)
58
 		return nil, err
58
 		return nil, err
59
 	}
59
 	}
60
-	if role != nil {
61
-		menus, err := s.dao.GetRoleMenuByRoleID(roleid)
62
-		if err != nil {
63
-			beego.Error(err)
64
-			return nil, err
65
-		}
66
-		role.RoleMenu = menus
67
-	}
60
+	// if role != nil {
61
+	// 	menus, err := s.dao.GetRoleMenuByRoleID(roleid)
62
+	// 	if err != nil {
63
+	// 		beego.Error(err)
64
+	// 		return nil, err
65
+	// 	}
66
+	// 	role.RoleMenu = menus
67
+	// }
68
 	return role, err
68
 	return role, err
69
 }
69
 }
70
 
70
 
71
+// GetRoleMeneByID 根据ID获取角色菜单
72
+func (s *RoleServ) GetRoleMeneByID(roleid string) ([]model.SysMenu, error) {
73
+	menus, err := s.dao.GetRoleMenuByRoleID(roleid)
74
+	if err != nil {
75
+		beego.Error(err)
76
+		return nil, err
77
+	}
78
+	return menus, nil
79
+}
80
+
71
 // SaveRole 保存角色
81
 // SaveRole 保存角色
72
 func (s *RoleServ) SaveRole(role model.SysRole) (*model.SysRole, error) {
82
 func (s *RoleServ) SaveRole(role model.SysRole) (*model.SysRole, error) {
73
 	var newInfo *model.SysRole
83
 	var newInfo *model.SysRole
99
 		beego.Error(err)
109
 		beego.Error(err)
100
 		return err
110
 		return err
101
 	}
111
 	}
102
-	return nil
112
+	err = s.dao.DelUserMenusByRole(roleid)
113
+	if err != nil {
114
+		beego.Error(err)
115
+		return err
116
+	}
117
+	err = s.dao.SaveUserMenus(roleid)
118
+	return err
103
 }
119
 }
104
 
120
 
105
 // DelRole 删除角色
121
 // DelRole 删除角色