正在显示
5 个修改的文件
包含
69 行增加
和
0 行删除
@@ -76,3 +76,24 @@ func (this *AchievementController) AchievementDetail() { | @@ -76,3 +76,24 @@ func (this *AchievementController) AchievementDetail() { | ||
76 | header := controllers.GetRequestHeader(this.Ctx) | 76 | header := controllers.GetRequestHeader(this.Ctx) |
77 | msg = protocol.NewReturnResponse(chance.AchievementDetail(header, request)) | 77 | msg = protocol.NewReturnResponse(chance.AchievementDetail(header, request)) |
78 | } | 78 | } |
79 | + | ||
80 | +//MyGraspStatistic 我把握的统计(按一级分类类型) | ||
81 | +// @router /myGraspStatistic [post] | ||
82 | +func (this *AchievementController) MyGraspStatistic() { | ||
83 | + var msg *protocol.ResponseMessage | ||
84 | + defer func() { | ||
85 | + this.Resp(msg) | ||
86 | + }() | ||
87 | + var request *protocol.MyGraspStatisticRequest | ||
88 | + if err := json.Unmarshal(this.ByteBody, &request); err != nil { | ||
89 | + log.Error(err) | ||
90 | + msg = protocol.BadRequestParam(1) | ||
91 | + return | ||
92 | + } | ||
93 | + if b, m := this.Valid(request); !b { | ||
94 | + msg = m | ||
95 | + return | ||
96 | + } | ||
97 | + header := controllers.GetRequestHeader(this.Ctx) | ||
98 | + msg = protocol.NewReturnResponse(chance.MyGraspStatistic(header, request)) | ||
99 | +} |
@@ -110,3 +110,17 @@ func GetCommAchievementItemOrmId(id int64, v interface{}) (err error) { | @@ -110,3 +110,17 @@ func GetCommAchievementItemOrmId(id int64, v interface{}) (err error) { | ||
110 | } | 110 | } |
111 | return err | 111 | return err |
112 | } | 112 | } |
113 | + | ||
114 | +//获取成果统计 | ||
115 | +func GetAchievementStatisticByChanceType(uid int64, v interface{}) (err error) { | ||
116 | + o := orm.NewOrm() | ||
117 | + sql := `select a.*,b.name from ( | ||
118 | + select chance_type_id,count(0) total from achievement where user_company_id =? | ||
119 | + group by chance_type_id | ||
120 | + )a inner join chance_type b on a.chance_type_id = b.id | ||
121 | + order by sort_num` | ||
122 | + if _, err = o.Raw(sql, uid).QueryRows(v); err == nil { | ||
123 | + return nil | ||
124 | + } | ||
125 | + return err | ||
126 | +} |
@@ -125,3 +125,10 @@ type SourceChanceItemOrm struct { | @@ -125,3 +125,10 @@ type SourceChanceItemOrm struct { | ||
125 | TemplateId int `orm:"column(audit_template_id)"` | 125 | TemplateId int `orm:"column(audit_template_id)"` |
126 | ChanceTypeId int `orm:"column(chance_type_id)"` | 126 | ChanceTypeId int `orm:"column(chance_type_id)"` |
127 | } | 127 | } |
128 | + | ||
129 | +/*MyGraspStatistic */ | ||
130 | +type MyGraspStatisticRequest struct { | ||
131 | +} | ||
132 | +type MyGraspStatisticResponse struct { | ||
133 | + GraspStatistic interface{} `json:"list"` | ||
134 | +} |
@@ -31,6 +31,14 @@ func init() { | @@ -31,6 +31,14 @@ func init() { | ||
31 | MethodParams: param.Make(), | 31 | MethodParams: param.Make(), |
32 | Params: nil}) | 32 | Params: nil}) |
33 | 33 | ||
34 | + beego.GlobalControllerRouter["opp/controllers/v1:AchievementController"] = append(beego.GlobalControllerRouter["opp/controllers/v1:AchievementController"], | ||
35 | + beego.ControllerComments{ | ||
36 | + Method: "MyGraspStatistic", | ||
37 | + Router: `/myGraspStatistic`, | ||
38 | + AllowHTTPMethods: []string{"post"}, | ||
39 | + MethodParams: param.Make(), | ||
40 | + Params: nil}) | ||
41 | + | ||
34 | beego.GlobalControllerRouter["opp/controllers/v1:AuthController"] = append(beego.GlobalControllerRouter["opp/controllers/v1:AuthController"], | 42 | beego.GlobalControllerRouter["opp/controllers/v1:AuthController"] = append(beego.GlobalControllerRouter["opp/controllers/v1:AuthController"], |
35 | beego.ControllerComments{ | 43 | beego.ControllerComments{ |
36 | Method: "AccessToken", | 44 | Method: "AccessToken", |
@@ -191,3 +191,22 @@ func AchievementDetail(header *protocol.RequestHeader, request *protocol.Achieve | @@ -191,3 +191,22 @@ func AchievementDetail(header *protocol.RequestHeader, request *protocol.Achieve | ||
191 | agg.ValidChancePermission(header.UserId, header.CompanyId, rsp.SourceChance) | 191 | agg.ValidChancePermission(header.UserId, header.CompanyId, rsp.SourceChance) |
192 | return | 192 | return |
193 | } | 193 | } |
194 | + | ||
195 | +//我把握的统计(按一级分类类型) | ||
196 | +func MyGraspStatistic(header *protocol.RequestHeader, request *protocol.MyGraspStatisticRequest) (rsp *protocol.MyGraspStatisticResponse, err error) { | ||
197 | + type StatisticItemOrm struct { | ||
198 | + Id int `json:"id" orm:"column(chance_type_id)"` //类型 | ||
199 | + Name string `json:"name" orm:"column(name)"` //总数 | ||
200 | + Total int `json:"total" orm:"column(total)"` | ||
201 | + } | ||
202 | + var ( | ||
203 | + items []StatisticItemOrm | ||
204 | + ) | ||
205 | + if err = models.GetAchievementStatisticByChanceType(header.UserId, &items); err != nil { | ||
206 | + log.Error(err) | ||
207 | + return | ||
208 | + } | ||
209 | + rsp = &protocol.MyGraspStatisticResponse{} | ||
210 | + rsp.GraspStatistic = items | ||
211 | + return | ||
212 | +} |
-
请 注册 或 登录 后发表评论