正在显示
10 个修改的文件
包含
83 行增加
和
25 行删除
@@ -284,7 +284,7 @@ func (c *RbacController) RoleMenuEdit() { | @@ -284,7 +284,7 @@ func (c *RbacController) RoleMenuEdit() { | ||
284 | return | 284 | return |
285 | } | 285 | } |
286 | 286 | ||
287 | -//RoleMenuEdit 设置 | 287 | +//RoleMenuOpportunity 机会管理高级设置 |
288 | //@router /role/menu/opportunity | 288 | //@router /role/menu/opportunity |
289 | func (c *RbacController) RoleMenuOpportunity() { | 289 | func (c *RbacController) RoleMenuOpportunity() { |
290 | var msg *protocol.ResponseMessage | 290 | var msg *protocol.ResponseMessage |
@@ -293,7 +293,6 @@ func (c *RbacController) RoleMenuOpportunity() { | @@ -293,7 +293,6 @@ func (c *RbacController) RoleMenuOpportunity() { | ||
293 | }() | 293 | }() |
294 | type Parameter struct { | 294 | type Parameter struct { |
295 | RoleId int64 `json:"role_id"` | 295 | RoleId int64 `json:"role_id"` |
296 | - MenuIds []int64 `json:"menu_ids"` | ||
297 | } | 296 | } |
298 | var param Parameter | 297 | var param Parameter |
299 | if err := json.Unmarshal(c.Ctx.Input.RequestBody, ¶m); err != nil { | 298 | if err := json.Unmarshal(c.Ctx.Input.RequestBody, ¶m); err != nil { |
@@ -302,7 +301,30 @@ func (c *RbacController) RoleMenuOpportunity() { | @@ -302,7 +301,30 @@ func (c *RbacController) RoleMenuOpportunity() { | ||
302 | return | 301 | return |
303 | } | 302 | } |
304 | companyid := c.GetCompanyId() | 303 | companyid := c.GetCompanyId() |
305 | - err := serverbac.RoleMenuEdit(companyid, param.RoleId, param.MenuIds) | 304 | + data, err := serverbac.GetSetOpportunity(param.RoleId, companyid) |
305 | + msg = protocol.NewReturnResponse(data, err) | ||
306 | + return | ||
307 | +} | ||
308 | + | ||
309 | +//RoleMenuOpportunity 机会管理高级设置 | ||
310 | +//@router /role/menu/opportunity/edit | ||
311 | +func (c *RbacController) RoleMenuOpportunityEdit() { | ||
312 | + var msg *protocol.ResponseMessage | ||
313 | + defer func() { | ||
314 | + c.ResposeJson(msg) | ||
315 | + }() | ||
316 | + type Parameter struct { | ||
317 | + RoleId int64 `json:"role_id"` | ||
318 | + Option serverbac.OptionOpportunity `json:"option"` | ||
319 | + } | ||
320 | + var param Parameter | ||
321 | + if err := json.Unmarshal(c.Ctx.Input.RequestBody, ¶m); err != nil { | ||
322 | + log.Error("json 解析失败 err:%s", err) | ||
323 | + msg = protocol.BadRequestParam("1") | ||
324 | + return | ||
325 | + } | ||
326 | + companyid := c.GetCompanyId() | ||
327 | + err := serverbac.UpdateSetOpportunity(param.Option, param.RoleId, companyid) | ||
306 | msg = protocol.NewReturnResponse(nil, err) | 328 | msg = protocol.NewReturnResponse(nil, err) |
307 | return | 329 | return |
308 | } | 330 | } |
@@ -76,9 +76,15 @@ func DeleteBulletinQuestion(id int) (err error) { | @@ -76,9 +76,15 @@ func DeleteBulletinQuestion(id int) (err error) { | ||
76 | 76 | ||
77 | func GetBulletinQuestionByBulletinId(id int) (v *BulletinQuestion, err error) { | 77 | func GetBulletinQuestionByBulletinId(id int) (v *BulletinQuestion, err error) { |
78 | o := orm.NewOrm() | 78 | o := orm.NewOrm() |
79 | - sql := "select * from bulletin_question where bulletin_id=?" | ||
80 | - if err = o.Raw(sql, id).QueryRow(&v); err == nil { | ||
81 | - return v, nil | ||
82 | - } | 79 | + // sql := "select * from bulletin_question where bulletin_id=?" |
80 | + // if err = o.Raw(sql, id).QueryRow(&v); err == nil { | ||
81 | + // return v, nil | ||
82 | + // } | ||
83 | + | ||
84 | + v = &BulletinQuestion{} | ||
85 | + err = o.QueryTable(v).Filter("bulletin_id", id).One(v) | ||
86 | + if err != nil { | ||
83 | return nil, err | 87 | return nil, err |
88 | + } | ||
89 | + return v, err | ||
84 | } | 90 | } |
@@ -60,7 +60,7 @@ func GetMenuByCode(code string) (*Menu, error) { | @@ -60,7 +60,7 @@ func GetMenuByCode(code string) (*Menu, error) { | ||
60 | Filter("code", code). | 60 | Filter("code", code). |
61 | One(menuinfo) | 61 | One(menuinfo) |
62 | if err != nil { | 62 | if err != nil { |
63 | - return menuinfo, nil | ||
64 | - } | ||
65 | return nil, err | 63 | return nil, err |
64 | + } | ||
65 | + return menuinfo, nil | ||
66 | } | 66 | } |
1 | package models | 1 | package models |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "fmt" | ||
5 | + | ||
4 | "github.com/astaxie/beego/orm" | 6 | "github.com/astaxie/beego/orm" |
5 | ) | 7 | ) |
6 | 8 | ||
@@ -36,24 +38,22 @@ func GetRoleMenuByRole(roleid int64) ([]RoleMenu, error) { | @@ -36,24 +38,22 @@ func GetRoleMenuByRole(roleid int64) ([]RoleMenu, error) { | ||
36 | } | 38 | } |
37 | 39 | ||
38 | func GetRoleMenuByCode(roleId int64, code string) (*RoleMenu, error) { | 40 | func GetRoleMenuByCode(roleId int64, code string) (*RoleMenu, error) { |
39 | - data := []*RoleMenu{} | 41 | + var data RoleMenu |
40 | o := orm.NewOrm() | 42 | o := orm.NewOrm() |
41 | - _, err := o.QueryTable(&Role{}). | 43 | + err := o.QueryTable(&RoleMenu{}). |
42 | Filter("role_id", roleId). | 44 | Filter("role_id", roleId). |
43 | Filter("code", code). | 45 | Filter("code", code). |
44 | - All(&data) | 46 | + One(&data) |
47 | + fmt.Println(err) | ||
45 | if err != nil { | 48 | if err != nil { |
46 | return nil, err | 49 | return nil, err |
47 | } | 50 | } |
48 | - if len(data) > 0 { | ||
49 | - return data[0], nil | ||
50 | - } | ||
51 | - return &RoleMenu{}, nil | 51 | + return &data, nil |
52 | } | 52 | } |
53 | 53 | ||
54 | func AddRoleMenu(m *RoleMenu, om ...orm.Ormer) (id int64, err error) { | 54 | func AddRoleMenu(m *RoleMenu, om ...orm.Ormer) (id int64, err error) { |
55 | var o orm.Ormer | 55 | var o orm.Ormer |
56 | - if len(om) == 0 { | 56 | + if len(om) > 0 { |
57 | o = om[0] | 57 | o = om[0] |
58 | } else { | 58 | } else { |
59 | o = orm.NewOrm() | 59 | o = orm.NewOrm() |
@@ -54,7 +54,7 @@ func init() { | @@ -54,7 +54,7 @@ func init() { | ||
54 | // last inserted Id on success. | 54 | // last inserted Id on success. |
55 | func AddUserRole(m *UserRole, om ...orm.Ormer) (id int64, err error) { | 55 | func AddUserRole(m *UserRole, om ...orm.Ormer) (id int64, err error) { |
56 | var o orm.Ormer | 56 | var o orm.Ormer |
57 | - if len(om) == 0 { | 57 | + if len(om) > 0 { |
58 | o = om[0] | 58 | o = om[0] |
59 | } else { | 59 | } else { |
60 | o = orm.NewOrm() | 60 | o = orm.NewOrm() |
@@ -55,6 +55,7 @@ type BulletinItem struct { | @@ -55,6 +55,7 @@ type BulletinItem struct { | ||
55 | Type int8 `json:"type"` | 55 | Type int8 `json:"type"` |
56 | Title string `json:"title"` | 56 | Title string `json:"title"` |
57 | Status int8 `json:"status"` | 57 | Status int8 `json:"status"` |
58 | + QuestionSwitch int8 `json:"question_switch"` | ||
58 | Receiver []VisibleObject `json:"receiver" valid:"Required"` | 59 | Receiver []VisibleObject `json:"receiver" valid:"Required"` |
59 | CreateAt string `json:"time"` | 60 | CreateAt string `json:"time"` |
60 | } | 61 | } |
@@ -42,6 +42,8 @@ func init() { | @@ -42,6 +42,8 @@ func init() { | ||
42 | beego.NSRouter("/menu/list", &controllers.RbacController{}, "post:MenuList"), | 42 | beego.NSRouter("/menu/list", &controllers.RbacController{}, "post:MenuList"), |
43 | beego.NSRouter("/role/menu", &controllers.RbacController{}, "post:RoleHasMenu"), | 43 | beego.NSRouter("/role/menu", &controllers.RbacController{}, "post:RoleHasMenu"), |
44 | beego.NSRouter("/role/menu/edit", &controllers.RbacController{}, "post:RoleMenuEdit"), | 44 | beego.NSRouter("/role/menu/edit", &controllers.RbacController{}, "post:RoleMenuEdit"), |
45 | + beego.NSRouter("/role/menu/opportunity", &controllers.RbacController{}, "post:RoleMenuOpportunity"), | ||
46 | + beego.NSRouter("/role/menu/opportunity/edit", &controllers.RbacController{}, "post:RoleMenuOpportunityEdit"), | ||
45 | ), | 47 | ), |
46 | beego.NSNamespace("/user", | 48 | beego.NSNamespace("/user", |
47 | beego.NSRouter("/list", &controllers.CompanyController{}, "post:UserList"), | 49 | beego.NSRouter("/list", &controllers.CompanyController{}, "post:UserList"), |
@@ -3,7 +3,6 @@ package bulletin | @@ -3,7 +3,6 @@ package bulletin | ||
3 | import ( | 3 | import ( |
4 | "encoding/json" | 4 | "encoding/json" |
5 | "fmt" | 5 | "fmt" |
6 | - orm2 "github.com/astaxie/beego/orm" | ||
7 | "oppmg/common/log" | 6 | "oppmg/common/log" |
8 | "oppmg/models" | 7 | "oppmg/models" |
9 | "oppmg/protocol" | 8 | "oppmg/protocol" |
@@ -12,6 +11,8 @@ import ( | @@ -12,6 +11,8 @@ import ( | ||
12 | "strconv" | 11 | "strconv" |
13 | "strings" | 12 | "strings" |
14 | "time" | 13 | "time" |
14 | + | ||
15 | + orm2 "github.com/astaxie/beego/orm" | ||
15 | ) | 16 | ) |
16 | 17 | ||
17 | //发布公告 | 18 | //发布公告 |
@@ -185,6 +186,7 @@ func BulletinList(uid, companyId int64, request *protocol.BulletinListRequest) ( | @@ -185,6 +186,7 @@ func BulletinList(uid, companyId int64, request *protocol.BulletinListRequest) ( | ||
185 | Id: bulletin.Id, | 186 | Id: bulletin.Id, |
186 | Type: bulletin.Type, | 187 | Type: bulletin.Type, |
187 | Title: bulletin.Title, | 188 | Title: bulletin.Title, |
189 | + QuestionSwitch: bulletin.QuestionSwitch, | ||
188 | Status: int8(bulletin.Status), | 190 | Status: int8(bulletin.Status), |
189 | CreateAt: bulletin.CreateAt.Format("2006-01-02 15:04:05"), | 191 | CreateAt: bulletin.CreateAt.Format("2006-01-02 15:04:05"), |
190 | } | 192 | } |
@@ -256,6 +258,9 @@ func GetBulletin(id int, companyId int64, request *protocol.GetBulletinRequest) | @@ -256,6 +258,9 @@ func GetBulletin(id int, companyId int64, request *protocol.GetBulletinRequest) | ||
256 | AllowClose: int(bulletin.AllowClose), | 258 | AllowClose: int(bulletin.AllowClose), |
257 | //AllowCondition: int(bulletin.AllowCondition), | 259 | //AllowCondition: int(bulletin.AllowCondition), |
258 | Cover: protocol.Cover(bulletin.Cover), | 260 | Cover: protocol.Cover(bulletin.Cover), |
261 | + Question: protocol.Question{ | ||
262 | + Content: []protocol.QuestionContent{}, | ||
263 | + }, | ||
259 | } | 264 | } |
260 | if bulletin.QuestionSwitch == 1 { | 265 | if bulletin.QuestionSwitch == 1 { |
261 | if question, err = models.GetBulletinQuestionByBulletinId(bulletin.Id); err != nil { | 266 | if question, err = models.GetBulletinQuestionByBulletinId(bulletin.Id); err != nil { |
@@ -324,10 +329,13 @@ func UpdateBulletin(companyId int64, request *protocol.UpdateBulletinRequest) (r | @@ -324,10 +329,13 @@ func UpdateBulletin(companyId int64, request *protocol.UpdateBulletinRequest) (r | ||
324 | } | 329 | } |
325 | 330 | ||
326 | if bulletin.QuestionSwitch == 1 { | 331 | if bulletin.QuestionSwitch == 1 { |
327 | - if bulletinQuestion, err = models.GetBulletinQuestionByBulletinId(bulletin.Id); err != nil { | 332 | + bulletinQuestion, err = models.GetBulletinQuestionByBulletinId(bulletin.Id) |
333 | + if err != nil && err != orm2.ErrNoRows { | ||
328 | log.Error(err.Error()) | 334 | log.Error(err.Error()) |
329 | return | 335 | return |
330 | } | 336 | } |
337 | + if err == nil { | ||
338 | + //更新 | ||
331 | if bulletinQuestion.BulletinId != bulletin.Id { | 339 | if bulletinQuestion.BulletinId != bulletin.Id { |
332 | err = protocol.NewErrWithMessage("1") | 340 | err = protocol.NewErrWithMessage("1") |
333 | log.Error("UpdateBulletin:BulletinId not equal:(%v!=%v)", bulletinQuestion.BulletinId, bulletin.Id) | 341 | log.Error("UpdateBulletin:BulletinId not equal:(%v!=%v)", bulletinQuestion.BulletinId, bulletin.Id) |
@@ -337,6 +345,7 @@ func UpdateBulletin(companyId int64, request *protocol.UpdateBulletinRequest) (r | @@ -337,6 +345,7 @@ func UpdateBulletin(companyId int64, request *protocol.UpdateBulletinRequest) (r | ||
337 | log.Error(err.Error()) | 345 | log.Error(err.Error()) |
338 | return | 346 | return |
339 | } | 347 | } |
348 | + bulletinQuestion.Title = request.Title | ||
340 | bulletinQuestion.Content = string(questionContent) | 349 | bulletinQuestion.Content = string(questionContent) |
341 | bulletinQuestion.Type = int8(request.Question.Type) | 350 | bulletinQuestion.Type = int8(request.Question.Type) |
342 | bulletinQuestion.UpdateAt = time.Now() | 351 | bulletinQuestion.UpdateAt = time.Now() |
@@ -345,6 +354,24 @@ func UpdateBulletin(companyId int64, request *protocol.UpdateBulletinRequest) (r | @@ -345,6 +354,24 @@ func UpdateBulletin(companyId int64, request *protocol.UpdateBulletinRequest) (r | ||
345 | return | 354 | return |
346 | } | 355 | } |
347 | } | 356 | } |
357 | + if err == orm2.ErrNoRows { | ||
358 | + //添加 | ||
359 | + bulletinQuestion = &models.BulletinQuestion{ | ||
360 | + BulletinId: bulletin.Id, | ||
361 | + Type: int8(request.Question.Type), | ||
362 | + Title: request.Title, | ||
363 | + Content: string(questionContent), | ||
364 | + CreateAt: time.Now(), | ||
365 | + UpdateAt: time.Now(), | ||
366 | + } | ||
367 | + _, err = models.AddBulletinQuestion(bulletinQuestion) | ||
368 | + if err != nil { | ||
369 | + log.Error("添加问题失败:%s", err) | ||
370 | + return | ||
371 | + } | ||
372 | + } | ||
373 | + | ||
374 | + } | ||
348 | return | 375 | return |
349 | } | 376 | } |
350 | 377 |
@@ -62,9 +62,9 @@ func FilterRoleAll(adminid int64, companyid int64, list []protocol.RoleBase) []p | @@ -62,9 +62,9 @@ func FilterRoleAll(adminid int64, companyid int64, list []protocol.RoleBase) []p | ||
62 | } | 62 | } |
63 | } | 63 | } |
64 | for k, v := range list { | 64 | for k, v := range list { |
65 | - if v.Types == models.ROLETYPES_ROLE && v.IsDefault == models.ROLE_DEFAULR { | ||
66 | - continue | ||
67 | - } | 65 | + // if v.Types == models.ROLETYPES_ROLE && v.IsDefault == models.ROLE_DEFAULR { |
66 | + // continue | ||
67 | + // } | ||
68 | if companyInfo.AdminId != adminid { | 68 | if companyInfo.AdminId != adminid { |
69 | //非主管理员 | 69 | //非主管理员 |
70 | if v.Id == admingoroupId || v.ParentId == admingoroupId { | 70 | if v.Id == admingoroupId || v.ParentId == admingoroupId { |
@@ -63,7 +63,7 @@ OptionOpportunity | @@ -63,7 +63,7 @@ OptionOpportunity | ||
63 | type CheckDeparment struct { | 63 | type CheckDeparment struct { |
64 | Id int64 `json:"id"` | 64 | Id int64 `json:"id"` |
65 | Name string `json:"name,omitempty"` | 65 | Name string `json:"name,omitempty"` |
66 | - Wait int `json:"wail"` | 66 | + Wait int `json:"wait"` |
67 | OpenAll int `json:"open_all"` | 67 | OpenAll int `json:"open_all"` |
68 | OpenDepart int `json:"open_depart"` | 68 | OpenDepart int `json:"open_depart"` |
69 | } | 69 | } |
@@ -76,7 +76,7 @@ type CheckOpp struct { | @@ -76,7 +76,7 @@ type CheckOpp struct { | ||
76 | //OptionOpportunity 机会管理 高级权限设置 | 76 | //OptionOpportunity 机会管理 高级权限设置 |
77 | type OptionOpportunity struct { | 77 | type OptionOpportunity struct { |
78 | Check int `json:"check"` | 78 | Check int `json:"check"` |
79 | - CheckOption CheckOpp | 79 | + CheckOption CheckOpp `json:"check_option"` |
80 | EditSorce int `json:"edit_sorce"` | 80 | EditSorce int `json:"edit_sorce"` |
81 | EditPublicStatus int `json:"edit_public_status"` | 81 | EditPublicStatus int `json:"edit_public_status"` |
82 | CloseChance int `json:"close_chance"` | 82 | CloseChance int `json:"close_chance"` |
-
请 注册 或 登录 后发表评论