正在显示
10 个修改的文件
包含
113 行增加
和
55 行删除
@@ -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 |
@@ -292,8 +292,7 @@ func (c *RbacController) RoleMenuOpportunity() { | @@ -292,8 +292,7 @@ func (c *RbacController) RoleMenuOpportunity() { | ||
292 | c.ResposeJson(msg) | 292 | c.ResposeJson(msg) |
293 | }() | 293 | }() |
294 | type Parameter struct { | 294 | type Parameter struct { |
295 | - RoleId int64 `json:"role_id"` | ||
296 | - MenuIds []int64 `json:"menu_ids"` | 295 | + RoleId int64 `json:"role_id"` |
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 | 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 { | ||
87 | + return nil, err | ||
82 | } | 88 | } |
83 | - return nil, err | 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 | 63 | + return nil, err |
64 | } | 64 | } |
65 | - return nil, err | 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() |
@@ -51,12 +51,13 @@ type BulletinListResponse struct { | @@ -51,12 +51,13 @@ type BulletinListResponse struct { | ||
51 | } | 51 | } |
52 | 52 | ||
53 | type BulletinItem struct { | 53 | type BulletinItem struct { |
54 | - Id int `json:"id"` | ||
55 | - Type int8 `json:"type"` | ||
56 | - Title string `json:"title"` | ||
57 | - Status int8 `json:"status"` | ||
58 | - Receiver []VisibleObject `json:"receiver" valid:"Required"` | ||
59 | - CreateAt string `json:"time"` | 54 | + Id int `json:"id"` |
55 | + Type int8 `json:"type"` | ||
56 | + Title string `json:"title"` | ||
57 | + Status int8 `json:"status"` | ||
58 | + QuestionSwitch int8 `json:"question_switch"` | ||
59 | + Receiver []VisibleObject `json:"receiver" valid:"Required"` | ||
60 | + CreateAt string `json:"time"` | ||
60 | } | 61 | } |
61 | 62 | ||
62 | /*GetBulletin */ | 63 | /*GetBulletin */ |
@@ -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 | //发布公告 |
@@ -182,11 +183,12 @@ func BulletinList(uid, companyId int64, request *protocol.BulletinListRequest) ( | @@ -182,11 +183,12 @@ func BulletinList(uid, companyId int64, request *protocol.BulletinListRequest) ( | ||
182 | for i := range list { | 183 | for i := range list { |
183 | bulletin := list[i] | 184 | bulletin := list[i] |
184 | item := &protocol.BulletinItem{ | 185 | item := &protocol.BulletinItem{ |
185 | - Id: bulletin.Id, | ||
186 | - Type: bulletin.Type, | ||
187 | - Title: bulletin.Title, | ||
188 | - Status: int8(bulletin.Status), | ||
189 | - CreateAt: bulletin.CreateAt.Format("2006-01-02 15:04:05"), | 186 | + Id: bulletin.Id, |
187 | + Type: bulletin.Type, | ||
188 | + Title: bulletin.Title, | ||
189 | + QuestionSwitch: bulletin.QuestionSwitch, | ||
190 | + Status: int8(bulletin.Status), | ||
191 | + CreateAt: bulletin.CreateAt.Format("2006-01-02 15:04:05"), | ||
190 | } | 192 | } |
191 | if e := json.Unmarshal([]byte(bulletin.Receiver), &item.Receiver); e != nil { | 193 | if e := json.Unmarshal([]byte(bulletin.Receiver), &item.Receiver); e != nil { |
192 | log.Error(e.Error()) | 194 | log.Error(e.Error()) |
@@ -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,26 +329,48 @@ func UpdateBulletin(companyId int64, request *protocol.UpdateBulletinRequest) (r | @@ -324,26 +329,48 @@ 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 | } |
331 | - if bulletinQuestion.BulletinId != bulletin.Id { | ||
332 | - err = protocol.NewErrWithMessage("1") | ||
333 | - log.Error("UpdateBulletin:BulletinId not equal:(%v!=%v)", bulletinQuestion.BulletinId, bulletin.Id) | ||
334 | - return | ||
335 | - } | ||
336 | - if questionContent, err = json.Marshal(request.Question.Content); err != nil { | ||
337 | - log.Error(err.Error()) | ||
338 | - return | 337 | + if err == nil { |
338 | + //更新 | ||
339 | + if bulletinQuestion.BulletinId != bulletin.Id { | ||
340 | + err = protocol.NewErrWithMessage("1") | ||
341 | + log.Error("UpdateBulletin:BulletinId not equal:(%v!=%v)", bulletinQuestion.BulletinId, bulletin.Id) | ||
342 | + return | ||
343 | + } | ||
344 | + if questionContent, err = json.Marshal(request.Question.Content); err != nil { | ||
345 | + log.Error(err.Error()) | ||
346 | + return | ||
347 | + } | ||
348 | + bulletinQuestion.Title = request.Title | ||
349 | + bulletinQuestion.Content = string(questionContent) | ||
350 | + bulletinQuestion.Type = int8(request.Question.Type) | ||
351 | + bulletinQuestion.UpdateAt = time.Now() | ||
352 | + if err = models.UpdateBulletinQuestionById(bulletinQuestion); err != nil { | ||
353 | + log.Error(err.Error()) | ||
354 | + return | ||
355 | + } | ||
339 | } | 356 | } |
340 | - bulletinQuestion.Content = string(questionContent) | ||
341 | - bulletinQuestion.Type = int8(request.Question.Type) | ||
342 | - bulletinQuestion.UpdateAt = time.Now() | ||
343 | - if err = models.UpdateBulletinQuestionById(bulletinQuestion); err != nil { | ||
344 | - log.Error(err.Error()) | ||
345 | - return | 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 | + } | ||
346 | } | 372 | } |
373 | + | ||
347 | } | 374 | } |
348 | return | 375 | return |
349 | } | 376 | } |
@@ -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 | } |
@@ -75,11 +75,11 @@ type CheckOpp struct { | @@ -75,11 +75,11 @@ type CheckOpp struct { | ||
75 | 75 | ||
76 | //OptionOpportunity 机会管理 高级权限设置 | 76 | //OptionOpportunity 机会管理 高级权限设置 |
77 | type OptionOpportunity struct { | 77 | type OptionOpportunity struct { |
78 | - Check int `json:"check"` | ||
79 | - CheckOption CheckOpp | ||
80 | - EditSorce int `json:"edit_sorce"` | ||
81 | - EditPublicStatus int `json:"edit_public_status"` | ||
82 | - CloseChance int `json:"close_chance"` | 78 | + Check int `json:"check"` |
79 | + CheckOption CheckOpp `json:"check_option"` | ||
80 | + EditSorce int `json:"edit_sorce"` | ||
81 | + EditPublicStatus int `json:"edit_public_status"` | ||
82 | + CloseChance int `json:"close_chance"` | ||
83 | } | 83 | } |
84 | 84 | ||
85 | /* | 85 | /* |
-
请 注册 或 登录 后发表评论