From d9c48599ab3f0bd4201044114b47cd6c5ba0d811 Mon Sep 17 00:00:00 2001 From: zpc Date: Sat, 3 Jan 2026 22:23:21 +0800 Subject: [PATCH] 333 --- honey_box/common/common.js | 2 +- honey_box/common/server/goods.js | 2 +- .../.vs/HoneyBox/DesignTimeBuild/.dtbcache.v2 | Bin 343647 -> 356649 bytes server/C#/HoneyBox/.vs/HoneyBox/v18/.suo | Bin 81408 -> 104960 bytes .../HoneyBox/v18/DocumentLayout.backup.json | 181 +++++++++++++++--- .../.vs/HoneyBox/v18/DocumentLayout.json | 137 ++++++++++--- .../Controllers/GoodsController.cs | 22 +-- .../Controllers/OrderController.cs | 10 +- .../Controllers/WarehouseController.cs | 23 ++- .../Controllers/WelfareController.cs | 103 +++++----- .../HoneyBox.Model/Data/HoneyBoxDbContext.cs | 42 ++++ .../HoneyBox.Model/Entities/WelfareHouse.cs | 60 ++++++ .../src/HoneyBox.Model/HoneyBox.Model.csproj | 1 + .../src/HoneyBox.Model/Models/Common.cs | 3 + .../Models/Goods/GoodsModels.cs | 10 +- .../Models/Lottery/LotteryModels.cs | 8 +- .../Models/Welfare/WelfareHouseDto.cs | 33 ++++ 17 files changed, 501 insertions(+), 136 deletions(-) create mode 100644 server/C#/HoneyBox/src/HoneyBox.Model/Entities/WelfareHouse.cs create mode 100644 server/C#/HoneyBox/src/HoneyBox.Model/Models/Welfare/WelfareHouseDto.cs diff --git a/honey_box/common/common.js b/honey_box/common/common.js index c87f054b..dcd4cf0d 100644 --- a/honey_box/common/common.js +++ b/honey_box/common/common.js @@ -379,7 +379,7 @@ export default { const res = await getDanYeContent(id); if (res.status == 1) { if (res.data) { - res.data = res.data.replace( + res.data = res.data.content.replace( /\ { * @returns {Promise} 商品详情 */ export const getInfiniteGoodsDetail = async (goodsId) => { - return await RequestManager.post('/infinite_goodsdetail', { + return await RequestManager.get('/infinite_goodsdetail', { goods_id: goodsId }, true); }; diff --git a/server/C#/HoneyBox/.vs/HoneyBox/DesignTimeBuild/.dtbcache.v2 b/server/C#/HoneyBox/.vs/HoneyBox/DesignTimeBuild/.dtbcache.v2 index 49fdc6b80327083e72b6dc1207865517ef6617fd..1fd935a328a2522f7494a52c73786a098c988732 100644 GIT binary patch delta 48218 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

eI%h|NV?MrjMkR>U^McEk?EPQ)(6Zp0qM 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 delta 4297 zcmdUydsI}%8Nly%*@azR?gA=;k41a{K?QsvqFi@WcSS8l5i=x42 zU_WKlv?kD;lJpoGxSHGgKuk>Hqfyf)rbdnEY5z$Y>uEy|nhO19-8DopkM^$&=eINS z&CGXazQ^2){g9{qKdSneFi~(7ogjo$llOaidwaRmg9vD~go^&lE~oUovHmJNK@uq* z*NN+(6T8HDS|Nxe0}1pW9pQLJg;gGP;DewVoHCrG-b5Hd3VX*;?Mv_#BV95s*He3h ztM5m(7jci|zoNRQAukj=#;b-6a!m-NdNiSS^*yQ9;Ej}l4VfX3)?mpGo97zgsx5um znbgiAYB4=@qAibF%ZYqq1@SCVNbprFUG*xei-=;PgeWD-2|j1FtFCm_Rj!(k@v_d< z{{_|Si5G}!!bWTq1P~lzvHx4uX+PGgUiC|TXeqY~_l~;^AQ^AFZQR$s-2U9=Zu|1J zZu`2|^V((SK&PF9T?*ZHR=N8ARBL~hcJ>}Rs*X0lh1g1LBeoMeh@HesL_L9$cWv-d zYRJSP;xO?x!Oe|Vy@P$*sdIwpARH5dEgw*Qnm9w8CC(9lBt9h06Bme!#7D%Rh(8k_ z6Q2;5h);>X5SNM1h$|Qy5{SV*wT_?RmIF*^@=wAI0jr@6y8`H9p!>v`r4KHKf#XFkp=63$fTWsMmJ^$@H`7hl<1hT`fdVgU2>shxP)M-0iP{ z?-??&cdMoWF3NN!m-$)czq+DBG3eZBf~ z>IdPS0q5|PF$S(-m(B)P(W;-X;c3KgCAWquj|emv!?h4k!bz?HxQl_cCOs12mhVTuz3lG@Mq?Y%$H&_OzJRIr{*WezicM-b@=8_Ge zdM~k$c$wf{vJIM}M8|M5KfSt=06 zWnKL5LFJAnpEpVEExu7QLN7vc|5{KQ8>D@a=J2Bgc@UfwMKdWs#Mu57HcO%-qw?|D>A8TE>1WG#Ej=Kf66CvCo+3^P(V;Hn zbv^fR42|>J37%1fMkkPDI*~}sAZ8LtgqbiB4`$OU)P){XaRFWo9UA0*cW&x4%aQ#x zXs|2O23}~*+UR+J#^~PenR*sf{C&j_>f6VyLUWFLgBre3HP`OTZ`&Xqv3(!z{E}G^ zQk=nsaSsjh%$-VbPfsI$;;DXl|5R^V9N$lSe>jo&M*tE%t$8m(a{>6Cq7IK7XEZG@Ba~1lj4%!W!^A-RxHwuIsYYW-B6y&!WF)+fNflPVJo>C# zDJ-E6y)vN?KdcynF(v-kR5F>CSt2ETr(D9prIC20!pAwXw{)Y2moSP+*)SAuS7>BY z*t8G4wCpTuX@^F}`{4NBZ zQ?(UKAXcf!U+vg*J%wE!4n_?9#-!(Wh`T&Z4UKYd1O#{lmQ$O*xp^_a1LlO7gtpS5 z@EvENsq8qOv~6bx!yywpH)iujoKiOi_K9uf-SEHq(MmzYz3KMjLQ$y1Bl8(^mroOy2UU{8h~tn#cQVyp~VG zuWJ5H*9bX^di&)Ae_J3ne<3#CQnhtA0p`_(D=Cq14SwBpN0e_k48V-h&?z^4lk15Y zo0p?u)4!C3dYG$XmT?fw4o1TSW#xSM11L=c0Yq&6GD=C0g=c|X%z^TjrokXG`vRz9 zhD8vJmy$=(Ka3isCJ|DhrD+(5jXBWa#a~HOSZf|kV`qzCCJV}fHO{zHq!N%+tZ4+K z_3zTxfZ4O)?zbzLWTHUKm=ZzXaQtRE#It+0(i8@z0IQiU9BzNdrBz;UXFxMB$b@NX zvydlLDoJ(#P~sLtEr7tl1k-(ZJciSY$wLTX+a`k*j$!g>TT6!-M5QSf^uSI&14aEm zo5f_pP@Y>imD)rQfyK=NgVH$*I^ogd-^_+=cC`qiohQO&Wg2GO4H-VJ9^A;{7eR50 zM2BO`pMq*|TBb&cUJMf4KM&hrgG6?$8q6$t0E}Ywkw9*L*^BLqh9LR9#Octu6YOl{ zR6e!@#*lTE=ECGhti!hEfHSMq61{)N+86-6`ra?I?-vb#fl8rXPg-qHF nc3FzBgCgaE9lkw8E!_o=-N|D<=f*U!&zHk+=Q9+kn$GrLof1$H diff --git a/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.backup.json b/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.backup.json index 596dc66d..0012a704 100644 --- a/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.backup.json +++ b/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.backup.json @@ -3,24 +3,32 @@ "WorkspaceRootPath": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\couponcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", @@ -34,6 +42,26 @@ "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\authcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\authcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\addresscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\addresscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\redeemcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\redeemcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" @@ -62,15 +90,106 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 4, + "SelectedChildIndex": 1, "Children": [ { "$type": "Bookmark", "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "GoodsModels.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "RelativeToolTip": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "ViewState": "AgIAAJEAAAAAAAAAAADwv64AAAAOAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T14:01:36.805Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "WelfareHouse.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "RelativeToolTip": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T13:33:55.966Z", + "EditorCaption": "" + }, { "$type": "Document", "DocumentIndex": 2, + "Title": "WelfareController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "ViewState": "AgIAAB8AAAAAAAAAAAAAwFAAAAAXAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T13:11:54.84Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "WarehouseController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "ViewState": "AgIAAFoAAAAAAAAAAAAAADcAAAAnAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T12:11:16.344Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "UserController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\UserController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\UserController.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T12:11:15.83Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 11, + "Title": "RedeemController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\RedeemController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\RedeemController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\RedeemController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\RedeemController.cs", + "ViewState": "AgIAAFIAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T11:40:46.393Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "AddressController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AddressController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AddressController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AddressController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\AddressController.cs", + "ViewState": "AgIAAGkAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T11:40:39.283Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 13, "Title": "UserAddress.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\UserAddress.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\UserAddress.cs", @@ -83,7 +202,7 @@ }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 14, "Title": "PayController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\PayController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\PayController.cs", @@ -96,59 +215,59 @@ }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 7, "Title": "CouponController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CouponController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CouponController.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CouponController.cs", "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\CouponController.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAADEBAAAAAAAAAAAAAEQAAAA3AAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-03T06:35:48.625Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 12, "Title": "ConfigController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\ConfigController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\ConfigController.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\ConfigController.cs", "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\ConfigController.cs", - "ViewState": "AgIAAIcAAAAAAAAAAADwv6QAAABOAAAAAAAAAA==", + "ViewState": "AgIAAJsAAAAAAAAAAADwv7QAAAANAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-03T06:15:47.201Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 7, + "DocumentIndex": 9, "Title": "AuthController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AuthController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AuthController.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AuthController.cs", "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\AuthController.cs", - "ViewState": "AgIAAGYAAAAAAAAAAAAuwCUBAAAWAAAAAAAAAA==", + "ViewState": "AgIAAC4BAAAAAAAAAAAuwCUBAAAWAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-03T06:07:38.674Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 8, "Title": "CollectionController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CollectionController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CollectionController.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CollectionController.cs", "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\CollectionController.cs", - "ViewState": "AgIAAA0BAAAAAAAAAAAAAEkBAAAUAAAAAAAAAA==", + "ViewState": "AgIAAFMBAAAAAAAAAADwvyABAAAZAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-03T06:07:37.824Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 15, "Title": "appsettings.json", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\appsettings.json", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\appsettings.json", @@ -161,33 +280,33 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 1, "Title": "GoodsController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs", "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs", - "ViewState": "AgIAAD0AAAAAAAAAAAAAAFkAAAAIAAAAAAAAAA==", + "ViewState": "AgIAACcBAAAAAAAAAAAMwEIBAABiAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-03T05:07:08.788Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 4, "Title": "HoneyBoxDbContext.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", "RelativeToolTip": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", - "ViewState": "AgIAAFUAAAAAAAAAAAAUwHAAAAAqAAAAAAAAAA==", + "ViewState": "AgIAAFUAAAAAAAAAAAAUwHQAAAAqAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-02T06:46:26.809Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 16, "Title": "Program.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Program.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Program.cs", @@ -200,7 +319,7 @@ }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 17, "Title": "ApiResponse.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Base\\ApiResponse.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Base\\ApiResponse.cs", @@ -212,7 +331,7 @@ }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 18, "Title": "PrizeModels.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs", @@ -224,7 +343,7 @@ }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 19, "Title": "T_Task.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\T_Task.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\T_Task.cs", diff --git a/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.json b/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.json index 4d28996c..0012a704 100644 --- a/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.json +++ b/server/C#/HoneyBox/.vs/HoneyBox/v18/DocumentLayout.json @@ -2,6 +2,34 @@ "Version": 1, "WorkspaceRootPath": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\", "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\couponcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\couponcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -26,18 +54,10 @@ "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -70,7 +90,7 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 5, + "SelectedChildIndex": 1, "Children": [ { "$type": "Bookmark", @@ -78,7 +98,72 @@ }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 0, + "Title": "GoodsModels.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "RelativeToolTip": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs", + "ViewState": "AgIAAJEAAAAAAAAAAADwv64AAAAOAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T14:01:36.805Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "WelfareHouse.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "RelativeToolTip": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T13:33:55.966Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "WelfareController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs", + "ViewState": "AgIAAB8AAAAAAAAAAAAAwFAAAAAXAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T13:11:54.84Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "WarehouseController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs", + "ViewState": "AgIAAFoAAAAAAAAAAAAAADcAAAAnAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T12:11:16.344Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "UserController.cs", + "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs", + "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\UserController.cs", + "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs", + "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\UserController.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-01-03T12:11:15.83Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 11, "Title": "RedeemController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\RedeemController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\RedeemController.cs", @@ -91,7 +176,7 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 10, "Title": "AddressController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AddressController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AddressController.cs", @@ -104,7 +189,7 @@ }, { "$type": "Document", - "DocumentIndex": 7, + "DocumentIndex": 13, "Title": "UserAddress.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\UserAddress.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\UserAddress.cs", @@ -117,7 +202,7 @@ }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 14, "Title": "PayController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\PayController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\PayController.cs", @@ -130,7 +215,7 @@ }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 7, "Title": "CouponController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CouponController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CouponController.cs", @@ -143,7 +228,7 @@ }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 12, "Title": "ConfigController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\ConfigController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\ConfigController.cs", @@ -156,7 +241,7 @@ }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 9, "Title": "AuthController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AuthController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AuthController.cs", @@ -169,7 +254,7 @@ }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 8, "Title": "CollectionController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CollectionController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CollectionController.cs", @@ -182,7 +267,7 @@ }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 15, "Title": "appsettings.json", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\appsettings.json", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\appsettings.json", @@ -195,33 +280,33 @@ }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 1, "Title": "GoodsController.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs", "RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs", - "ViewState": "AgIAAD0AAAAAAAAAAAAAAFkAAAAIAAAAAAAAAA==", + "ViewState": "AgIAACcBAAAAAAAAAAAMwEIBAABiAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-03T05:07:08.788Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 4, "Title": "HoneyBoxDbContext.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", "ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", "RelativeToolTip": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs", - "ViewState": "AgIAAFUAAAAAAAAAAAAUwHIAAAAqAAAAAAAAAA==", + "ViewState": "AgIAAFUAAAAAAAAAAAAUwHQAAAAqAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2026-01-02T06:46:26.809Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 16, "Title": "Program.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Program.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Api\\Program.cs", @@ -234,7 +319,7 @@ }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 17, "Title": "ApiResponse.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Base\\ApiResponse.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Base\\ApiResponse.cs", @@ -246,7 +331,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 18, "Title": "PrizeModels.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs", @@ -258,7 +343,7 @@ }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 19, "Title": "T_Task.cs", "DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\T_Task.cs", "RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\T_Task.cs", diff --git a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/GoodsController.cs b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/GoodsController.cs index dd1c38da..4308ec42 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/GoodsController.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/GoodsController.cs @@ -1,8 +1,10 @@ using System.Security.Claims; + using HoneyBox.Core.Interfaces; using HoneyBox.Model.Base; using HoneyBox.Model.Models; using HoneyBox.Model.Models.Goods; + using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -138,7 +140,7 @@ public class GoodsController : ControllerBase } catch (Exception ex) { - _logger.LogError(ex, "Failed to get goods children: GoodsId={GoodsId}, GoodsListId={GoodsListId}", + _logger.LogError(ex, "Failed to get goods children: GoodsId={GoodsId}, GoodsListId={GoodsListId}", request?.GoodsId, request?.GoodsListId); return ApiResponse>.Fail("获取子奖品列表失败"); } @@ -315,17 +317,11 @@ public class GoodsController : ControllerBase /// /// 中奖记录请求参数,包含商品ID、箱号、分页信息 /// 中奖记录分页数据 - [HttpPost("goods_prize_logs")] - [Authorize] + [HttpGet("goods_prize_logs")] [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)] [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status401Unauthorized)] - public async Task> GetPrizeLogs([FromBody] PrizeLogsRequest? request) + public async Task> GetPrizeLogs([FromQuery] PrizeLogsRequest? request) { - var userId = GetCurrentUserId(); - if (userId == null) - { - return ApiResponse.Unauthorized(); - } try { @@ -338,10 +334,10 @@ public class GoodsController : ControllerBase var pageSize = request.PageSize < 1 ? 15 : request.PageSize; var result = await _prizeService.GetPrizeLogsAsync( - request.GoodsId, - request.GoodsNum, - request.ShangId, - page, + request.GoodsId, + request.GoodsNum, + request.ShangId ?? 0, + page, pageSize); return ApiResponse.Success(result); } diff --git a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/OrderController.cs b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/OrderController.cs index 69ee7ab5..cb8bf438 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/OrderController.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/OrderController.cs @@ -467,11 +467,11 @@ public class OrderController : ControllerBase ///

/// 无限赏中奖记录查询 - /// POST /api/infinite_shang_log + /// GET /api/infinite_shang_log /// Requirements: 4.1-4.3 /// - [HttpPost("infinite_shang_log")] - public async Task> GetInfiniteShangLog([FromBody] InfiniteShangLogRequest? request) + [HttpGet("infinite_shang_log")] + public async Task> GetInfiniteShangLog([FromQuery] InfiniteShangLogRequest? request) { try { @@ -486,8 +486,8 @@ public class OrderController : ControllerBase var result = await _lotteryService.GetInfiniteShangLogAsync( request.GoodsId, - request.ShangId, - request.IsMibao, + request.ShangId ?? 0, + request.IsMibao ?? 0, page, pageSize); return ApiResponse.Success(result); diff --git a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WarehouseController.cs b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WarehouseController.cs index f9cc2897..cd62f377 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WarehouseController.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WarehouseController.cs @@ -35,18 +35,23 @@ public class WarehouseController : ControllerBase /// 仓库首页查询 /// /// - /// POST /api/warehouse_index + /// GET /api/warehouse_index /// /// 获取用户仓库中的奖品列表 /// Requirements: 10.1-10.3 /// - /// 仓库查询请求参数 + /// 页码 + /// 类型: 1赏品 2预售 3卡册 4保险柜 5无限赏 + /// 搜索关键词 /// 仓库奖品列表 - [HttpPost("warehouse_index")] + [HttpGet("warehouse_index")] [Authorize] [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)] [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status401Unauthorized)] - public async Task> GetWarehouseIndex([FromBody] WarehouseIndexRequest? request) + public async Task> GetWarehouseIndex( + [FromQuery] int page = 1, + [FromQuery] int type = 1, + [FromQuery] string? keyword = null) { var userId = GetCurrentUserId(); if (userId == null) @@ -56,9 +61,13 @@ public class WarehouseController : ControllerBase try { - request ??= new WarehouseIndexRequest(); - if (request.Page < 1) request.Page = 1; - if (request.PageSize < 1) request.PageSize = 10; + var request = new WarehouseIndexRequest + { + Page = page < 1 ? 1 : page, + Type = type, + Keyword = keyword, + PageSize = 10 + }; var result = await _warehouseService.GetWarehouseIndexAsync(userId.Value, request); return ApiResponse.Success(result); diff --git a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WelfareController.cs b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WelfareController.cs index a629b256..750bcb8e 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WelfareController.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Api/Controllers/WelfareController.cs @@ -1,9 +1,13 @@ -using System.Security.Claims; +using System.Security.Claims; + using HoneyBox.Core.Interfaces; using HoneyBox.Model.Base; +using HoneyBox.Model.Data; using HoneyBox.Model.Models.Welfare; + using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; namespace HoneyBox.Api.Controllers; @@ -18,16 +22,57 @@ namespace HoneyBox.Api.Controllers; public class WelfareController : ControllerBase { private readonly IWelfareService _welfareService; + private readonly HoneyBoxDbContext _dbContext; private readonly ILogger _logger; public WelfareController( IWelfareService welfareService, + HoneyBoxDbContext dbContext, ILogger logger) { _welfareService = welfareService; + _dbContext = dbContext; _logger = logger; } + /// + /// 获取福利屋配置列表 (兼容PHP /welfare_house_list 接口) + /// POST /api/welfare_house_list + /// + /// + /// 从 welfare_house 表获取启用的福利屋配置列表 + /// + [HttpPost("welfare_house_list")] + public async Task>> GetWelfareHouseList() + { + try + { + var list = await _dbContext.WelfareHouses + .Where(w => w.Status == 1) + .OrderBy(w => w.Sort) + .ThenByDescending(w => w.Id) + .Select(w => new WelfareHouseDto + { + Id = w.Id, + Name = w.Name, + Image = w.Image, + Url = w.Url, + Sort = w.Sort, + Status = w.Status, + CreateTime = w.CreateTime, + UpdateTime = w.UpdateTime + }) + .ToListAsync(); + + return ApiResponse>.Success(list, "获取成功"); + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to get welfare house list"); + return ApiResponse>.Fail("获取福利屋列表失败"); + } + } + /// /// 获取福利屋列表 (兼容PHP /fuliwu 接口) /// GET/POST /api/fuliwu @@ -92,54 +137,18 @@ public class WelfareController : ControllerBase } catch (InvalidOperationException ex) { - _logger.LogWarning("Buy welfare failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}", + _logger.LogWarning("Buy welfare failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}", userId, request.GoodsId, ex.Message); return ApiResponse.Fail(ex.Message); } catch (Exception ex) { - _logger.LogError(ex, "Failed to buy welfare: UserId={UserId}, GoodsId={GoodsId}", + _logger.LogError(ex, "Failed to buy welfare: UserId={UserId}, GoodsId={GoodsId}", userId, request.GoodsId); return ApiResponse.Fail("购买失败,请刷新重试"); } } - /// - /// 获取福利屋列表 - /// POST /api/welfare_house_list - /// Requirements: 12.1-12.5 - /// - [HttpPost("welfare_house_list")] - [Authorize] - public async Task> GetWelfareList([FromForm] WelfareListRequest request) - { - var userId = GetCurrentUserId(); - if (userId == null) - { - return ApiResponse.Unauthorized(); - } - - try - { - var result = await _welfareService.GetWelfareListAsync( - userId.Value, - request.Type, - request.Page, - request.Limit); - return ApiResponse.Success(result); - } - catch (ArgumentException ex) - { - _logger.LogWarning("Get welfare list failed: UserId={UserId}, Error={Error}", userId, ex.Message); - return ApiResponse.Fail(ex.Message); - } - catch (Exception ex) - { - _logger.LogError(ex, "Failed to get welfare list: UserId={UserId}", userId); - return ApiResponse.Fail("获取福利屋列表失败"); - } - } - /// /// 获取福利屋详情 /// POST /api/fuliwu_detail @@ -162,13 +171,13 @@ public class WelfareController : ControllerBase } catch (InvalidOperationException ex) { - _logger.LogWarning("Get welfare detail failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}", + _logger.LogWarning("Get welfare detail failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}", userId, request.GoodsId, ex.Message); return ApiResponse.Fail(ex.Message); } catch (Exception ex) { - _logger.LogError(ex, "Failed to get welfare detail: UserId={UserId}, GoodsId={GoodsId}", + _logger.LogError(ex, "Failed to get welfare detail: UserId={UserId}, GoodsId={GoodsId}", userId, request.GoodsId); return ApiResponse.Fail("获取福利屋详情失败"); } @@ -193,8 +202,8 @@ public class WelfareController : ControllerBase try { var result = await _welfareService.GetParticipantsAsync( - request.GoodsId, - request.Page, + request.GoodsId, + request.Page, request.Limit); return ApiResponse>.Success(result); } @@ -223,8 +232,8 @@ public class WelfareController : ControllerBase try { var result = await _welfareService.GetWinningRecordsAsync( - request.GoodsId, - request.Page, + request.GoodsId, + request.Page, request.Limit); return ApiResponse>.Success(result); } @@ -243,7 +252,7 @@ public class WelfareController : ControllerBase [HttpGet("fuliwu_user_records")] [Authorize] public async Task>> GetUserParticipationRecords( - [FromQuery] int page = 1, + [FromQuery] int page = 1, [FromQuery] int limit = 15) { var userId = GetCurrentUserId(); @@ -272,7 +281,7 @@ public class WelfareController : ControllerBase [HttpGet("fuliwu_user_winning_records")] [Authorize] public async Task>> GetUserWinningRecords( - [FromQuery] int page = 1, + [FromQuery] int page = 1, [FromQuery] int limit = 15) { var userId = GetCurrentUserId(); diff --git a/server/C#/HoneyBox/src/HoneyBox.Model/Data/HoneyBoxDbContext.cs b/server/C#/HoneyBox/src/HoneyBox.Model/Data/HoneyBoxDbContext.cs index fcffca5a..ead2ebae 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Model/Data/HoneyBoxDbContext.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Model/Data/HoneyBoxDbContext.cs @@ -110,6 +110,8 @@ public partial class HoneyBoxDbContext : DbContext public virtual DbSet FloatBallConfigs { get; set; } + public virtual DbSet WelfareHouses { get; set; } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // Connection string is configured in Program.cs via dependency injection @@ -3067,6 +3069,46 @@ public partial class HoneyBoxDbContext : DbContext .HasColumnName("updated_at"); }); + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("pk_welfare_house"); + + entity.ToTable("welfare_house", tb => tb.HasComment("福利屋配置表")); + + entity.HasIndex(e => e.Status, "ix_welfare_house_status"); + entity.HasIndex(e => e.Sort, "ix_welfare_house_sort"); + + entity.Property(e => e.Id) + .HasComment("主键ID") + .HasColumnName("id"); + entity.Property(e => e.Name) + .HasMaxLength(100) + .HasComment("名称") + .HasColumnName("name"); + entity.Property(e => e.Image) + .HasMaxLength(255) + .HasComment("图片") + .HasColumnName("image"); + entity.Property(e => e.Url) + .HasMaxLength(255) + .HasComment("跳转链接") + .HasColumnName("url"); + entity.Property(e => e.Sort) + .HasDefaultValue(0) + .HasComment("排序") + .HasColumnName("sort"); + entity.Property(e => e.Status) + .HasDefaultValue((byte)1) + .HasComment("状态:0禁用 1启用") + .HasColumnName("status"); + entity.Property(e => e.CreateTime) + .HasComment("创建时间") + .HasColumnName("create_time"); + entity.Property(e => e.UpdateTime) + .HasComment("更新时间") + .HasColumnName("update_time"); + }); + OnModelCreatingPartial(modelBuilder); } diff --git a/server/C#/HoneyBox/src/HoneyBox.Model/Entities/WelfareHouse.cs b/server/C#/HoneyBox/src/HoneyBox.Model/Entities/WelfareHouse.cs new file mode 100644 index 00000000..fb8f35b2 --- /dev/null +++ b/server/C#/HoneyBox/src/HoneyBox.Model/Entities/WelfareHouse.cs @@ -0,0 +1,60 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace HoneyBox.Model.Entities; + +/// +/// 福利屋配置表 +/// +[Table("welfare_house")] +public class WelfareHouse +{ + [Key] + [Column("id")] + public int Id { get; set; } + + /// + /// 名称 + /// + [Column("name")] + [MaxLength(100)] + public string Name { get; set; } = string.Empty; + + /// + /// 图片 + /// + [Column("image")] + [MaxLength(255)] + public string Image { get; set; } = string.Empty; + + /// + /// 跳转链接 + /// + [Column("url")] + [MaxLength(255)] + public string Url { get; set; } = string.Empty; + + /// + /// 排序 + /// + [Column("sort")] + public int Sort { get; set; } + + /// + /// 状态:0禁用 1启用 + /// + [Column("status")] + public byte Status { get; set; } = 1; + + /// + /// 创建时间 + /// + [Column("create_time")] + public int? CreateTime { get; set; } + + /// + /// 更新时间 + /// + [Column("update_time")] + public int? UpdateTime { get; set; } +} diff --git a/server/C#/HoneyBox/src/HoneyBox.Model/HoneyBox.Model.csproj b/server/C#/HoneyBox/src/HoneyBox.Model/HoneyBox.Model.csproj index ff686d54..51f943ff 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Model/HoneyBox.Model.csproj +++ b/server/C#/HoneyBox/src/HoneyBox.Model/HoneyBox.Model.csproj @@ -9,6 +9,7 @@ + runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/server/C#/HoneyBox/src/HoneyBox.Model/Models/Common.cs b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Common.cs index 6dcc8287..a5851373 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Model/Models/Common.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Common.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Microsoft.AspNetCore.Mvc; namespace HoneyBox.Model.Models; @@ -11,12 +12,14 @@ public class PageRequest /// 页码,从1开始 /// [JsonPropertyName("page")] + [FromQuery(Name = "page")] public int Page { get; set; } = 1; /// /// 每页数量 /// [JsonPropertyName("page_size")] + [FromQuery(Name = "page_size")] public int PageSize { get; set; } = 10; } diff --git a/server/C#/HoneyBox/src/HoneyBox.Model/Models/Goods/GoodsModels.cs b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Goods/GoodsModels.cs index b71e3c54..fa590a3a 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Model/Models/Goods/GoodsModels.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Goods/GoodsModels.cs @@ -1,5 +1,6 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; using HoneyBox.Model.Models; +using Microsoft.AspNetCore.Mvc; namespace HoneyBox.Model.Models.Goods; @@ -157,19 +158,22 @@ public class PrizeLogsRequest : PageRequest /// 商品ID /// [JsonPropertyName("goods_id")] + [FromQuery(Name = "goods_id")] public int GoodsId { get; set; } /// /// 箱号 /// [JsonPropertyName("goods_num")] + [FromQuery(Name = "goods_num")] public int GoodsNum { get; set; } /// - /// 赏品分类ID (0表示全部) + /// 赏品分类ID (null或0表示全部) /// [JsonPropertyName("shang_id")] - public int ShangId { get; set; } = 0; + [FromQuery(Name = "shang_id")] + public int? ShangId { get; set; } } #endregion diff --git a/server/C#/HoneyBox/src/HoneyBox.Model/Models/Lottery/LotteryModels.cs b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Lottery/LotteryModels.cs index 90f5e884..a93949f8 100644 --- a/server/C#/HoneyBox/src/HoneyBox.Model/Models/Lottery/LotteryModels.cs +++ b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Lottery/LotteryModels.cs @@ -2,6 +2,7 @@ using System.Text.Json.Serialization; using HoneyBox.Model.Models; using HoneyBox.Model.Models.Goods; using HoneyBox.Model.Models.Order; +using Microsoft.AspNetCore.Mvc; namespace HoneyBox.Model.Models.Lottery; @@ -28,19 +29,22 @@ public class InfiniteShangLogRequest : PageRequest /// 商品ID /// [JsonPropertyName("goods_id")] + [FromQuery(Name = "goods_id")] public int GoodsId { get; set; } /// /// 赏品等级ID(0表示全部) /// [JsonPropertyName("shang_id")] - public int ShangId { get; set; } + [FromQuery(Name = "shang_id")] + public int? ShangId { get; set; } /// /// 是否秘宝池(0=否,1=是) /// [JsonPropertyName("is_mibao")] - public int IsMibao { get; set; } + [FromQuery(Name = "is_mibao")] + public int? IsMibao { get; set; } } /// diff --git a/server/C#/HoneyBox/src/HoneyBox.Model/Models/Welfare/WelfareHouseDto.cs b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Welfare/WelfareHouseDto.cs new file mode 100644 index 00000000..de69a9f6 --- /dev/null +++ b/server/C#/HoneyBox/src/HoneyBox.Model/Models/Welfare/WelfareHouseDto.cs @@ -0,0 +1,33 @@ +using System.Text.Json.Serialization; + +namespace HoneyBox.Model.Models.Welfare; + +/// +/// 福利屋配置项 DTO +/// +public class WelfareHouseDto +{ + [JsonPropertyName("id")] + public int Id { get; set; } + + [JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + [JsonPropertyName("image")] + public string Image { get; set; } = string.Empty; + + [JsonPropertyName("url")] + public string Url { get; set; } = string.Empty; + + [JsonPropertyName("sort")] + public int Sort { get; set; } + + [JsonPropertyName("status")] + public byte Status { get; set; } + + [JsonPropertyName("create_time")] + public int? CreateTime { get; set; } + + [JsonPropertyName("update_time")] + public int? UpdateTime { get; set; } +}