Skip to content

Commit 9530b30

Browse files
committed
add: get feedback list
1 parent 17289de commit 9530b30

26 files changed

Lines changed: 5981 additions & 1687 deletions

File tree

api/handler/api/feedback_service.go

Lines changed: 73 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ import (
2020
"context"
2121

2222
"github.com/cloudwego/hertz/pkg/app"
23+
"github.com/cloudwego/hertz/pkg/protocol/consts"
24+
"github.com/west2-online/fzuhelper-server/api/model/model"
25+
"github.com/west2-online/fzuhelper-server/pkg/logger"
2326

2427
api "github.com/west2-online/fzuhelper-server/api/model/api"
2528
"github.com/west2-online/fzuhelper-server/api/pack"
@@ -38,8 +41,7 @@ func CreateFeedback(ctx context.Context, c *app.RequestContext) {
3841
}
3942

4043
resp := new(api.CreateFeedbackResponse)
41-
err := rpc.CreateFeedbackRPC(ctx, &oa.CreateFeedbackRequest{
42-
ReportId: req.GetReportID(),
44+
reportID, err := rpc.CreateFeedbackRPC(ctx, &oa.CreateFeedbackRequest{
4345
StuId: req.GetStuID(),
4446
Name: req.GetName(),
4547
College: req.GetCollege(),
@@ -64,22 +66,84 @@ func CreateFeedback(ctx context.Context, c *app.RequestContext) {
6466
pack.RespError(c, err)
6567
return
6668
}
69+
resp.ReportID = reportID
6770
pack.RespData(c, resp)
6871
}
6972

70-
// GetFeedback .
71-
// @router /api/v1/feedback/get [POST]
72-
func GetFeedback(ctx context.Context, c *app.RequestContext) {
73-
var req api.GetFeedbackRequest
74-
if err := c.BindAndValidate(&req); err != nil {
75-
pack.RespError(c, errno.ParamError.WithError(err))
73+
// GetFeedbackByID .
74+
// @router /api/v1/feedbacks/detail [GET]
75+
func GetFeedbackByID(ctx context.Context, c *app.RequestContext) {
76+
var err error
77+
var req api.GetFeedbackByIDRequest
78+
err = c.BindAndValidate(&req)
79+
if err != nil {
80+
c.String(consts.StatusBadRequest, err.Error())
81+
return
82+
}
83+
84+
resp := new(api.FeedbackDetailResponse)
85+
data, err := rpc.GetFeedbackByIdRPC(ctx, &oa.GetFeedbackByIDRequest{ReportId: req.ReportID})
86+
if err != nil {
87+
pack.RespError(c, err)
88+
return
89+
}
90+
resp.Data = &model.Feedback{
91+
ReportID: data.ReportId,
92+
StuID: data.StuId,
93+
Name: data.Name,
94+
College: data.College,
95+
ContactPhone: data.ContactPhone,
96+
ContactQq: data.ContactQq,
97+
ContactEmail: data.ContactEmail,
98+
NetworkEnv: data.NetworkEnv,
99+
IsOnCampus: data.IsOnCampus,
100+
OsName: data.OsName,
101+
OsVersion: data.OsVersion,
102+
Manufacturer: data.Manufacturer,
103+
DeviceModel: data.DeviceModel,
104+
ProblemDesc: data.ProblemDesc,
105+
Screenshots: data.Screenshots,
106+
AppVersion: data.AppVersion,
107+
VersionHistory: data.VersionHistory,
108+
NetworkTraces: data.NetworkTraces,
109+
Events: data.Events,
110+
UserSettings: data.UserSettings,
111+
}
112+
pack.RespData(c, resp)
113+
}
114+
115+
// ListFeedback .
116+
// @router /api/v1/feedbacks/get/list [GET]
117+
func ListFeedback(ctx context.Context, c *app.RequestContext) {
118+
var err error
119+
var req api.GetListFeedbackRequest
120+
err = c.BindAndValidate(&req)
121+
if err != nil {
122+
c.String(consts.StatusBadRequest, err.Error())
76123
return
77124
}
78125

79-
resp, err := rpc.GetFeedbackRPC(ctx, &oa.GetFeedbackRequest{ReportId: req.ReportID})
126+
resp := new(api.GetListFeedbackResponse)
127+
data, pageToken, err := rpc.GetFeedbackListRPC(ctx, &oa.GetListFeedbackRequest{
128+
StuId: req.StuID,
129+
Name: req.Name,
130+
NetworkEnv: req.NetworkEnv,
131+
IsOnCampus: req.IsOnCampus,
132+
OsName: req.OsName,
133+
ProblemDesc: req.ProblemDesc,
134+
AppVersion: req.AppVersion,
135+
BeginTimeMs: req.BeginTimeMs,
136+
EndTimeMs: req.EndTimeMs,
137+
Limit: req.Limit,
138+
PageToken: req.PageToken,
139+
OrderDesc: req.OrderDesc,
140+
})
80141
if err != nil {
81142
pack.RespError(c, err)
82143
return
83144
}
145+
resp.Data = pack.BuildFeedbackList(data)
146+
resp.PageToken = pageToken
147+
logger.Infof("handler: %s", resp.Data[0].ProblemDesc)
84148
pack.RespData(c, resp)
85149
}

api/handler/api/feedback_service_test.go

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,26 +44,25 @@ func TestCreateFeedback(t *testing.T) {
4444
}
4545

4646
okBody := `{
47-
"reportId": 1,
48-
"stuId": "102301000",
47+
"stu_id": "102301000",
4948
"name": "张三",
5049
"college": "计算机与大数据学院",
51-
"contactPhone": "13800000000",
52-
"contactQQ": "10001",
53-
"contactEmail": "a@b.com",
54-
"networkEnv": "wifi",
55-
"isOnCampus": true,
56-
"osName": "Android",
57-
"osVersion": "14",
50+
"contact_phone": "13800000000",
51+
"contact_qq": "10001",
52+
"contact_email": "a@b.com",
53+
"network_env": "wifi",
54+
"is_on_campus": true,
55+
"os_name": "Android",
56+
"os_version": "14",
5857
"manufacturer": "Xiaomi",
59-
"deviceModel": "Mi 14",
60-
"problemDesc": "登录白屏",
58+
"device_model": "Mi 14",
59+
"problem_desc": "登录白屏",
6160
"screenshots": "[]",
62-
"appVersion": "1.2.3",
63-
"versionHistory": "[]",
64-
"networkTraces": "[]",
61+
"app_version": "1.2.3",
62+
"version_history": "[]",
63+
"network_traces": "[]",
6564
"events": "[]",
66-
"userSettings": "{}"
65+
"user_settings": "{}"
6766
}`
6867

6968
testCases := []testCase{

0 commit comments

Comments
 (0)