From 5ece4530e53681c8c6ef5d13b6df6366ca4c5318 Mon Sep 17 00:00:00 2001 From: Rogee Date: Wed, 23 Sep 2026 18:59:10 +0800 Subject: [PATCH] feat: switch price inquiries to orthopedic projects --- backend/internal/httpapi/admin_test.go | 8 ++--- backend/internal/service/phone_test.go | 4 +-- .../internal/service/price_inquiry_test.go | 16 ++++----- backend/internal/service/service.go | 18 +++++----- uniapp/pages.json | 2 +- uniapp/pages/price-query/price-query.uvue | 34 +++++++++---------- 6 files changed, 39 insertions(+), 43 deletions(-) diff --git a/backend/internal/httpapi/admin_test.go b/backend/internal/httpapi/admin_test.go index b5f1e98..9e6502d 100644 --- a/backend/internal/httpapi/admin_test.go +++ b/backend/internal/httpapi/admin_test.go @@ -199,7 +199,7 @@ func TestPriceInquirySavesRegionAndAppearsInAdminDispatchList(t *testing.T) { t.Fatalf("phone bind status = %d, want %d: %s", resp.StatusCode, http.StatusOK, readBody(t, resp)) } - resp = doRequest(t, app, http.MethodPost, "/api/price-inquiries", `{"openid":"`+session.User.Openid+`","province":"上海市","city":"上海市","district":"浦东新区","project_name":"牙齿种植"}`, map[string]string{ + resp = doRequest(t, app, http.MethodPost, "/api/price-inquiries", `{"openid":"`+session.User.Openid+`","province":"上海市","city":"上海市","district":"浦东新区","project_name":"半月板损伤"}`, map[string]string{ "Content-Type": "application/json", }) defer resp.Body.Close() @@ -218,7 +218,7 @@ func TestPriceInquirySavesRegionAndAppearsInAdminDispatchList(t *testing.T) { t.Fatalf("price inquiry = %+v, want id and pending status", createdInquiry) } - resp = doRequest(t, app, http.MethodPost, "/api/price-inquiries", `{"openid":"`+session.User.Openid+`","province":"上海市","city":"上海市","district":"浦东新区","project_name":"牙齿种植"}`, map[string]string{ + resp = doRequest(t, app, http.MethodPost, "/api/price-inquiries", `{"openid":"`+session.User.Openid+`","province":"上海市","city":"上海市","district":"浦东新区","project_name":"半月板损伤"}`, map[string]string{ "Content-Type": "application/json", }) defer resp.Body.Close() @@ -242,7 +242,7 @@ func TestPriceInquirySavesRegionAndAppearsInAdminDispatchList(t *testing.T) { } for _, expected := range []string{ "13900005555", - "牙齿种植", + "半月板损伤", "上海市 上海市 浦东新区", "待派单", "创建时间", @@ -716,7 +716,7 @@ func createTestPriceInquiry(t *testing.T, app *fiber.App, code, phone string) st t.Fatalf("phone bind status = %d, want %d: %s", resp.StatusCode, http.StatusOK, body) } - resp = doRequest(t, app, http.MethodPost, "/api/price-inquiries", fmt.Sprintf(`{"openid":%q,"province":"上海市","city":"上海市","district":"浦东新区","project_name":"牙齿种植"}`, session.User.Openid), map[string]string{ + resp = doRequest(t, app, http.MethodPost, "/api/price-inquiries", fmt.Sprintf(`{"openid":%q,"province":"上海市","city":"上海市","district":"浦东新区","project_name":"半月板损伤"}`, session.User.Openid), map[string]string{ "Content-Type": "application/json", }) body = readBody(t, resp) diff --git a/backend/internal/service/phone_test.go b/backend/internal/service/phone_test.go index f38b088..b854e06 100644 --- a/backend/internal/service/phone_test.go +++ b/backend/internal/service/phone_test.go @@ -82,7 +82,7 @@ func TestCreatePriceInquiryUpdatesDuplicateSubmissionTimestamp(t *testing.T) { Province: "上海市", City: "上海市", District: "浦东新区", - ProjectName: "牙齿种植", + ProjectName: "半月板损伤", } first, err := svc.CreatePriceInquiry(ctx, req) if err != nil { @@ -117,7 +117,7 @@ WHERE id = ?`, first.ID); err != nil { SELECT COUNT(*) FROM price_inquiries WHERE phone = ? AND province = ? AND city = ? AND district = ? AND project_name = ?`, - "13900005555", "上海市", "上海市", "浦东新区", "牙齿种植").Scan(&count); err != nil { + "13900005555", "上海市", "上海市", "浦东新区", "半月板损伤").Scan(&count); err != nil { t.Fatalf("count price inquiries: %v", err) } if count != 1 { diff --git a/backend/internal/service/price_inquiry_test.go b/backend/internal/service/price_inquiry_test.go index 19c64d8..9df33fd 100644 --- a/backend/internal/service/price_inquiry_test.go +++ b/backend/internal/service/price_inquiry_test.go @@ -21,7 +21,7 @@ func TestCreatePriceInquiryRefreshesExistingPhoneOnly(t *testing.T) { } first, err := svc.CreatePriceInquiry(ctx, CreatePriceInquiryRequest{ - OpenID: firstUser.User.Openid, Province: "上海市", City: "上海市", District: "浦东新区", ProjectName: "牙齿种植", + OpenID: firstUser.User.Openid, Province: "上海市", City: "上海市", District: "浦东新区", ProjectName: "半月板损伤", }) if err != nil { t.Fatalf("create first inquiry: %v", err) @@ -41,7 +41,7 @@ WHERE id = ?`, first.ID); err != nil { t.Fatalf("bind second phone: %v", err) } second, err := svc.CreatePriceInquiry(ctx, CreatePriceInquiryRequest{ - OpenID: secondUser.User.Openid, Province: "北京市", City: "北京市", District: "朝阳区", ProjectName: "牙齿美白", + OpenID: secondUser.User.Openid, Province: "北京市", City: "北京市", District: "朝阳区", ProjectName: "滑膜炎", }) if err != nil { t.Fatalf("create second phone inquiry: %v", err) @@ -54,12 +54,12 @@ WHERE id = ?`, second.ID); err != nil { } refreshed, err := svc.CreatePriceInquiry(ctx, CreatePriceInquiryRequest{ - OpenID: firstUser.User.Openid, Province: "浙江省", City: "杭州市", District: "西湖区", ProjectName: "牙齿清洁", + OpenID: firstUser.User.Openid, Province: "浙江省", City: "杭州市", District: "西湖区", ProjectName: "腰椎间盘突出", }) if err != nil { t.Fatalf("refresh first phone inquiry: %v", err) } - if refreshed.ID != first.ID || refreshed.Province != "上海市" || refreshed.District != "浦东新区" || refreshed.ProjectName != "牙齿种植" || refreshed.Status != "completed" || refreshed.Remark != "保留备注" { + if refreshed.ID != first.ID || refreshed.Province != "上海市" || refreshed.District != "浦东新区" || refreshed.ProjectName != "半月板损伤" || refreshed.Status != "completed" || refreshed.Remark != "保留备注" { t.Fatalf("refreshed inquiry changed business fields: %#v", refreshed) } if refreshed.LastSubmittedAt <= "2000-01-01 00:00:00" { @@ -115,7 +115,7 @@ func TestCreatePriceInquiryDedupesRepeatedPhoneSubmission(t *testing.T) { Province: "上海市", City: "上海市", District: "浦东新区", - ProjectName: "牙齿种植", + ProjectName: "半月板损伤", }) if err != nil { t.Fatalf("create first inquiry: %v", err) @@ -139,7 +139,7 @@ WHERE id = ?`, first.ID); err != nil { Province: "浙江省", City: "杭州市", District: "西湖区", - ProjectName: "牙齿清洁", + ProjectName: "腰肌劳损", }) if err != nil { t.Fatalf("create repeated phone inquiry: %v", err) @@ -150,7 +150,7 @@ WHERE id = ?`, first.ID); err != nil { if second.Status != "assigned" || second.Remark != "运营已派单" { t.Fatalf("repeated phone inquiry changed admin fields: %#v", second) } - if second.Province != "上海市" || second.ProjectName != "牙齿种植" { + if second.Province != "上海市" || second.ProjectName != "半月板损伤" { t.Fatalf("repeated phone inquiry changed original inquiry fields: %#v", second) } if second.LastSubmittedAt <= "2000-01-01 00:00:00" { @@ -183,7 +183,7 @@ func TestAdminPriceInquiryTimeFilterMatchesLastSubmittedAt(t *testing.T) { Province: "上海市", City: "上海市", District: "浦东新区", - ProjectName: "牙齿种植", + ProjectName: "颈椎病", }) if err != nil { t.Fatalf("create inquiry: %v", err) diff --git a/backend/internal/service/service.go b/backend/internal/service/service.go index c9ef38e..2d4e50a 100644 --- a/backend/internal/service/service.go +++ b/backend/internal/service/service.go @@ -83,16 +83,14 @@ const ( ) var priceInquiryProjects = []string{ - "牙齿矫正", - "牙齿种植", - "牙齿修复", - "牙齿治疗", - "全瓷牙种植", - "牙齿美白", - "正颌", - "瓷贴面", - "美容冠", - "牙齿清洁", + "半月板损伤", + "滑膜炎", + "膝关节炎", + "腰椎间盘突出", + "腰肌劳损", + "腰椎管狭窄", + "颈椎病", + "腰椎病", } func New(database *sql.DB, logger *logrus.Logger) *Service { diff --git a/uniapp/pages.json b/uniapp/pages.json index 7493085..8ed0d48 100644 --- a/uniapp/pages.json +++ b/uniapp/pages.json @@ -4,7 +4,7 @@ "path": "pages/price-query/price-query", "style": { "navigationStyle": "custom", - "navigationBarTitleText": "全国口腔价格查询" + "navigationBarTitleText": "全国骨科价格查询" } } ], diff --git a/uniapp/pages/price-query/price-query.uvue b/uniapp/pages/price-query/price-query.uvue index 7f742c4..b8c0851 100644 --- a/uniapp/pages/price-query/price-query.uvue +++ b/uniapp/pages/price-query/price-query.uvue @@ -1,7 +1,7 @@