From d39c74059827e81989eb4c6fd4659b56e099c351 Mon Sep 17 00:00:00 2001 From: gpu Date: Mon, 2 Feb 2026 00:57:43 +0800 Subject: [PATCH] 321 --- .../Models/Goods/PrizeModels.cs | 10 ++ .../Models/User/UserModels.cs | 5 + .../Services/GoodsService.cs | 37 +++++++- .../Services/UserBusinessService.cs | 20 ++++ .../admin-web/src/api/business/goods.ts | 2 + .../admin-web/src/api/business/prizelevel.ts | 13 +++ .../admin-web/src/api/business/user.ts | 1 + .../components/DesignatedPrizeDialog.vue | 94 +++++++++++++++++-- .../goods/components/PrizeAddDialog.vue | 34 ++++--- .../goods/components/PrizeEditDialog.vue | 34 ++++--- .../goods/components/PrizeListDialog.vue | 45 ++++----- .../{404-G_ax3CUy.js => 404-ya4HWUTF.js} | 2 +- ...XQA_WI.js => AdvertFormDialog-CBliOD57.js} | 2 +- ...le-BBnlFzu4.js => AdvertTable-BFjIQvCQ.js} | 2 +- ...-ZGFQV.js => AdvertTypeDialog-Dmk_4vOU.js} | 2 +- ...b4Tnb2TH.js => AdvertTypeForm-Cjtqk-8F.js} | 2 +- ...e_type_script_setup_true_lang-CI3LxFPA.js} | 2 +- ...qsPp.js => AlipayMerchantForm-C0UCZIG_.js} | 2 +- ...CSAgkAmD.js => AppSettingCard-TUwJSibG.js} | 2 +- ...-Ckgikh2o.js => BuyOrderTable-BMPQirvp.js} | 2 +- .../assets/CouponFormDialog-gEPo3kc4.js | 1 + .../assets/CouponFormDialog-zV33g7Ea.js | 1 - ...e_type_script_setup_true_lang-h9EfUUaU.js} | 2 +- ...FWaUmB.js => CouponSearchForm-Bjwexhay.js} | 2 +- ...le-B8LVxtMK.js => CouponTable-DRZN6cPL.js} | 2 +- ...PGLpqO.js => CurrencyInfoCard-DpY5-Bnf.js} | 2 +- ...tBlu4nX.js => DanyeFormDialog-BMQ2Fynp.js} | 2 +- ...ble-DO6htsc9.js => DanyeTable-BXa9jnKA.js} | 2 +- .../assets/DesignatedPrizeDialog-Bo4lKcZF.css | 1 + .../assets/DesignatedPrizeDialog-CatPVJUG.css | 1 - .../assets/DesignatedPrizeDialog-DZ0TvZuy.js | 1 + .../assets/DesignatedPrizeDialog-DeQ5xY-L.js | 1 - ...d4Fpu.js => DiamondFormDialog-BVn_UW6g.js} | 2 +- ...Hv9Fa.js => DiamondSearchForm-BT0tdEWQ.js} | 2 +- ...e-Dkj0erm-.js => DiamondTable-mRyRuFPm.js} | 2 +- ...bFY.js => FloatBallFormDialog-_qmEN0nB.js} | 2 +- ...B4wPKT-K.js => FloatBallTable-DSCFl49e.js} | 2 +- ...DEErBGnh.js => GiftCardDialog-B_kJ8g3t.js} | 2 +- ...lc2THb.js => GiftCouponDialog-Cki5lFcB.js} | 2 +- ...Cfu1qO0a.js => GoodsAddDialog-CYiOXiBm.js} | 2 +- ...a42h_UQ.js => GoodsEditDialog-B-Q6C9kJ.js} | 2 +- ...TSGFW.js => GoodsExtendDialog-BiEIK4Uu.js} | 2 +- ...oxBVhFr.js => GoodsSearchForm-CrZlKzzF.js} | 2 +- ...ble-DR5kN-EY.js => GoodsTable-BnP-0f9H.js} | 2 +- ...Form-BiaICP08.js => H5AppForm-BteenaPX.js} | 2 +- ...jVuzN.js => IncomeSummaryCard-Cwo3TjDb.js} | 2 +- ...og-66RyVZda.js => IpLogDialog-BkpDK-b-.js} | 2 +- ...D_x3ZXS.js => MiniprogramForm-DDxqP8Wt.js} | 2 +- ...Yy1uq.js => MoneyChangeDialog-CIZlFeX-.js} | 2 +- ...CVgSl.js => MoneyDetailDialog-CmShNRjR.js} | 2 +- ...Kikqo.js => OrderDetailDialog-CETbgPYM.js} | 2 +- ...bBk.js => OrderListSearchForm-BuSUBMee.js} | 2 +- ...Cnp5evwC.js => OrderListTable-C_pk8Srv.js} | 2 +- ...OIccTgU.js => OrderSearchForm-CYVQ-Sr2.js} | 2 +- .../wwwroot/assets/PrizeAddDialog-BUE9Tcwj.js | 1 + .../assets/PrizeAddDialog-Bi9aewFt.css | 1 + .../assets/PrizeAddDialog-BpIe7nzR.css | 1 - .../wwwroot/assets/PrizeAddDialog-F_lIDubW.js | 1 - .../assets/PrizeEditDialog-BPQM3nMA.js | 1 + .../assets/PrizeEditDialog-CK47Q__C.css | 1 + .../assets/PrizeEditDialog-DrsAX0QP.js | 1 - .../assets/PrizeEditDialog-QTrYefhj.css | 1 - .../assets/PrizeLevelFormDialog-CbRBoLiy.js | 1 + .../assets/PrizeLevelFormDialog-CdTzq1fD.js | 1 - .../assets/PrizeListDialog-Brz-Y_iQ.css | 1 + .../assets/PrizeListDialog-CZ7hHrg0.js | 1 + .../assets/PrizeListDialog-Chuds_vJ.css | 1 - .../assets/PrizeListDialog-D0JWS9k2.js | 1 - .../assets/QyLevelFormDialog-BkUQghF9.js | 1 - .../assets/QyLevelFormDialog-D_udyouu.js | 1 + ...e_type_script_setup_true_lang-DtMhlJ_E.js} | 2 +- ...cuXL.js => QyLevelPrizeDialog-DWq9feEu.js} | 2 +- ....js => QyLevelPrizeFormDialog-CX_h_jOq.js} | 2 +- ...e-DdsOJyiM.js => QyLevelTable-W7PJM8Zt.js} | 2 +- ...NGa.js => RankPrizeFormDialog-BNVAsQA1.js} | 2 +- ...M3Ute8T.js => RankSettingCard-B-YQzS-o.js} | 2 +- ...Ou.js => RecoveryDetailDialog-C9uKyHiv.js} | 2 +- ...oa_7.js => RecoveryOrderTable-DoKebrzS.js} | 2 +- ...DrUW.js => RewardConfigDialog-CThQ3lrY.js} | 2 +- ...bsJrf.js => RewardConfigInput-e-79isI8.js} | 2 +- .../assets/RewardFormDialog-BMC0OfEe.js | 1 - .../assets/RewardFormDialog-Dj0ik-vK.js | 1 + ...e_type_script_setup_true_lang-ClA0EwOt.js} | 2 +- ...KOubBd.js => RewardSearchForm-pBqYCYIq.js} | 2 +- ...le-CArzLzif.js => RewardTable-ntjvFYbS.js} | 2 +- ...log-ZDDzSqom.js => ShipDialog-j63ZYGLF.js} | 2 +- ...H5.js => ShippingDetailDialog-BrrztDO9.js} | 2 +- ...G2va.js => ShippingOrderTable-vCKN4FY8.js} | 2 +- ...oAJx.js => ShippingSearchForm-S2sap6Z6.js} | 2 +- ...uv.js => SignConfigFormDialog-Bw_FE4_F.js} | 2 +- ...8fUSYNI.js => SignConfigTable-B3gnpRcu.js} | 2 +- ...6B4EWsm.js => StuckOrderTable-PBd9gBLJ.js} | 2 +- ...DWv-HoFS.js => SystemTestCard-D3TWPs07.js} | 2 +- .../wwwroot/assets/TaskFormDialog-Cw3XBm-r.js | 1 + .../wwwroot/assets/TaskFormDialog-HuypJoCO.js | 1 - ...e_type_script_setup_true_lang-jGJ7apls.js} | 2 +- ...B_ji45Dy.js => TaskSearchForm-B8X1b0HH.js} | 2 +- ...able-D37ioy2g.js => TaskTable-BtZ8hs0E.js} | 2 +- ...CyBPCoiJ.js => TodayOrderCard-BbpQpwng.js} | 2 +- ...dE2aeFaa.js => TypeFormDialog-DCuOqzo6.js} | 2 +- ...-DYME5_q9.js => UserBoxDialog-D3alVkyr.js} | 2 +- ...BZwO-o40.js => UserConfigCard-CXevMxHg.js} | 2 +- ...PJCr5Nv.js => UserOrderDialog-Ct98cxQn.js} | 2 +- ...Czf6jfZn.js => UserSearchForm-XDGX0sZY.js} | 2 +- ...-2sWzLC6c.js => UserStatsCard-BQP9wTyW.js} | 2 +- ...able-D6mk_5Vj.js => UserTable-CD-eh5et.js} | 2 +- ...Bbs7hH90.js => UserTeamDialog-BMiCKz68.js} | 4 +- ...DdAO.js => WeixinMerchantForm-VuN4kjRx.js} | 2 +- ....js => WelfareHouseFormDialog-DtG9Ce6L.js} | 2 +- ...TQzQ3.js => WelfareHouseTable-DjGh8fwO.js} | 2 +- ...{advert-CR0HnGSU.js => advert-zzPNZaxS.js} | 2 +- ...{alipay-DJ2LjOTa.js => alipay-CLJv6Jt_.js} | 2 +- .../{base-D2mug0nD.js => base-Cq-4J97f.js} | 2 +- .../{buy-BX3u-d_W.js => buy-Dv4Dwqs0.js} | 2 +- ...{config-kgJnj_JK.js => config-DEwt64oT.js} | 2 +- ...{coupon-BsfaW4oF.js => coupon-56WFD7At.js} | 2 +- ...and-D4csyvVg.js => data-stand-DE7cOlvc.js} | 2 +- ...ent-B1umvyHD.js => department-DpMR8qJZ.js} | 2 +- ...ball-B2gTNRte.js => floatball-CPWpGhd1.js} | 2 +- .../{goods-DS_lYUdY.js => goods-DDMVLQs9.js} | 2 +- .../assets/{h5-DBIwGWf6.js => h5-BGcZcmHV.js} | 2 +- .../{index-Bpnap0gJ.js => index-BNXSNc0z.js} | 2 +- .../{index-DrkRjBNR.js => index-BdVD8ofq.js} | 2 +- .../wwwroot/assets/index-BjlP2nCG.js | 1 + .../{index-CSBQ6dXX.js => index-Bw2-tnIY.js} | 2 +- .../{index-Z6ndYGhu.js => index-C4svORKf.js} | 2 +- .../wwwroot/assets/index-C5qzz-Rk.js | 1 - .../{index-BTtaIx1r.js => index-CIn0uKce.js} | 2 +- .../{index-DsU57VeV.js => index-Cm1JoKyZ.js} | 2 +- .../{index-71vnkOS-.js => index-Cm1spYVt.js} | 2 +- .../{index-DpVrhTN5.js => index-D7IVvOL9.js} | 2 +- .../{index-B57yLai5.js => index-DAdTH0RR.js} | 2 +- .../{index-dv4zmmtr.js => index-DfnC-q5z.js} | 4 +- .../{index-Dryancc5.js => index-DvKzNZgF.js} | 2 +- .../{index-BpfPS9Yv.js => index-kPwBgWDQ.js} | 2 +- ...s-Bvh1zIIG.js => invite-stats-DcPwT9vo.js} | 2 +- .../{list-DYApe97j.js => list-BYMygXGu.js} | 2 +- .../{list-DRuj6oIy.js => list-ByO7omY0.js} | 2 +- .../{list-CQLEZBUr.js => list-CD0rV2tB.js} | 2 +- .../{list-DfmuZMGJ.js => list-CzOhOZH5.js} | 2 +- .../{list-B6WoMQKI.js => list-DHRVwOCX.js} | 2 +- .../{list-9Or76tWm.js => list-DQFaV7jE.js} | 2 +- .../{list-CY0SJM-Y.js => list-D_yX3tCq.js} | 2 +- .../{list-Ly7kVf9q.js => list-DkwTjwH9.js} | 2 +- .../{list-BOQYtB2A.js => list-DruU2vnS.js} | 2 +- .../{list-BsWaVEzt.js => list-Q-Lmj24X.js} | 2 +- .../{list-DVzHcu-y.js => list-kAnjpBnS.js} | 2 +- ...ts-DTweYaox.js => login-stats-CLv2PR4B.js} | 2 +- ...am-BIeJu2sk.js => miniprogram-aQ58c91u.js} | 2 +- .../{month-B7cArvaX.js => month-C10iciRV.js} | 2 +- ...-log-D5F3MBmw.js => month-log-DOsYfS_G.js} | 2 +- .../{order-BGzyvN1T.js => order-hXknDITf.js} | 2 +- ...ion-Dy-kmpaH.js => permission-nxCGtDjj.js} | 2 +- .../wwwroot/assets/prize-level-ChaJc7CY.js | 1 - .../wwwroot/assets/prize-level-Ci5RRBss.js | 1 + .../wwwroot/assets/prizelevel-BC2RS4Xn.js | 1 + ...ss-DTD8Yq-w.js => profit-loss-BvukzCe0.js} | 2 +- ...ylevel-DMLpFSjZ.js => qylevel-CPn_N88w.js} | 2 +- .../{rank-Yv6dLhKF.js => rank-Dpe87JJG.js} | 2 +- ...eceive-DyKbBICy.js => receive-BXHJN6B1.js} | 2 +- ...overy-DVtpYZVo.js => recovery-CyOHQktX.js} | 2 +- ...{reward-C33B5G10.js => reward-BLWbUBvp.js} | 2 +- .../{role-BLgBDWzd.js => role-z1uHTix7.js} | 2 +- ...pping-B5oVhU40.js => shipping-aY7AgrEf.js} | 2 +- .../{sign-BWsZyGVU.js => sign-B6Cmvx-Q.js} | 2 +- ...fig-DkZiykhg.js => signconfig-CdCykNHv.js} | 2 +- ...ics-Difup0Ba.js => statistics-DhYspjWn.js} | 2 +- .../{stuck-B4J5LAj2.js => stuck-BWWZoOvr.js} | 2 +- ...{system-DJqNnknW.js => system-XiusB0mZ.js} | 2 +- .../{task-Xuwzl89g.js => task-2oBQXxqo.js} | 2 +- .../{type-JIo-iiDT.js => type-DWwK__oW.js} | 2 +- ...ploads-D3lrHjl3.js => uploads-CGT06uef.js} | 2 +- .../{user-DlkvLLLf.js => user-BYxzRk41.js} | 2 +- .../{user-nVTO4xQk.js => user-C5Pwpcpr.js} | 2 +- .../{vip-Cm_YVod1.js => vip-DeG_N39o.js} | 2 +- .../{week-DhwqoTXk.js => week-B-5pzUjW.js} | 2 +- ...k-log-C34ruK09.js => week-log-Rg97cIoz.js} | 2 +- ...npay-CQYPl4kl.js => weixinpay-Dq7luXsJ.js} | 2 +- .../src/HoneyBox.Admin/wwwroot/index.html | 2 +- 179 files changed, 388 insertions(+), 216 deletions(-) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{404-G_ax3CUy.js => 404-ya4HWUTF.js} (88%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{AdvertFormDialog-DyXQA_WI.js => AdvertFormDialog-CBliOD57.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{AdvertTable-BBnlFzu4.js => AdvertTable-BFjIQvCQ.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{AdvertTypeDialog-CV-ZGFQV.js => AdvertTypeDialog-Dmk_4vOU.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{AdvertTypeForm-b4Tnb2TH.js => AdvertTypeForm-Cjtqk-8F.js} (52%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{AdvertTypeForm.vue_vue_type_script_setup_true_lang-CRXaf1eL.js => AdvertTypeForm.vue_vue_type_script_setup_true_lang-CI3LxFPA.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{AlipayMerchantForm-DPN8qsPp.js => AlipayMerchantForm-C0UCZIG_.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{AppSettingCard-CSAgkAmD.js => AppSettingCard-TUwJSibG.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{BuyOrderTable-Ckgikh2o.js => BuyOrderTable-BMPQirvp.js} (97%) create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-gEPo3kc4.js delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/CouponFormDialog-zV33g7Ea.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{CouponFormDialog.vue_vue_type_script_setup_true_lang-BExKGuk_.js => CouponFormDialog.vue_vue_type_script_setup_true_lang-h9EfUUaU.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{CouponSearchForm-DTFWaUmB.js => CouponSearchForm-Bjwexhay.js} (91%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{CouponTable-B8LVxtMK.js => CouponTable-DRZN6cPL.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{CurrencyInfoCard-CePGLpqO.js => CurrencyInfoCard-DpY5-Bnf.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{DanyeFormDialog-ItBlu4nX.js => DanyeFormDialog-BMQ2Fynp.js} (99%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{DanyeTable-DO6htsc9.js => DanyeTable-BXa9jnKA.js} (95%) create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DesignatedPrizeDialog-Bo4lKcZF.css delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DesignatedPrizeDialog-CatPVJUG.css create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DesignatedPrizeDialog-DZ0TvZuy.js delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/DesignatedPrizeDialog-DeQ5xY-L.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{DiamondFormDialog-BStd4Fpu.js => DiamondFormDialog-BVn_UW6g.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{DiamondSearchForm-B0pHv9Fa.js => DiamondSearchForm-BT0tdEWQ.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{DiamondTable-Dkj0erm-.js => DiamondTable-mRyRuFPm.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{FloatBallFormDialog-BrW2YbFY.js => FloatBallFormDialog-_qmEN0nB.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{FloatBallTable-B4wPKT-K.js => FloatBallTable-DSCFl49e.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{GiftCardDialog-DEErBGnh.js => GiftCardDialog-B_kJ8g3t.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{GiftCouponDialog-BElc2THb.js => GiftCouponDialog-Cki5lFcB.js} (89%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{GoodsAddDialog-Cfu1qO0a.js => GoodsAddDialog-CYiOXiBm.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{GoodsEditDialog-Ca42h_UQ.js => GoodsEditDialog-B-Q6C9kJ.js} (99%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{GoodsExtendDialog-CFTTSGFW.js => GoodsExtendDialog-BiEIK4Uu.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{GoodsSearchForm-BoxBVhFr.js => GoodsSearchForm-CrZlKzzF.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{GoodsTable-DR5kN-EY.js => GoodsTable-BnP-0f9H.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{H5AppForm-BiaICP08.js => H5AppForm-BteenaPX.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{IncomeSummaryCard-D_-jVuzN.js => IncomeSummaryCard-Cwo3TjDb.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{IpLogDialog-66RyVZda.js => IpLogDialog-BkpDK-b-.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{MiniprogramForm-CD_x3ZXS.js => MiniprogramForm-DDxqP8Wt.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{MoneyChangeDialog-WoeYy1uq.js => MoneyChangeDialog-CIZlFeX-.js} (79%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{MoneyDetailDialog-CEPCVgSl.js => MoneyDetailDialog-CmShNRjR.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{OrderDetailDialog-BulKikqo.js => OrderDetailDialog-CETbgPYM.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{OrderListSearchForm-DPweCbBk.js => OrderListSearchForm-BuSUBMee.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{OrderListTable-Cnp5evwC.js => OrderListTable-C_pk8Srv.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{OrderSearchForm-COIccTgU.js => OrderSearchForm-CYVQ-Sr2.js} (96%) create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeAddDialog-BUE9Tcwj.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeAddDialog-Bi9aewFt.css delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeAddDialog-BpIe7nzR.css delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeAddDialog-F_lIDubW.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeEditDialog-BPQM3nMA.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeEditDialog-CK47Q__C.css delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeEditDialog-DrsAX0QP.js delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeEditDialog-QTrYefhj.css create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeLevelFormDialog-CbRBoLiy.js delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeLevelFormDialog-CdTzq1fD.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeListDialog-Brz-Y_iQ.css create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeListDialog-CZ7hHrg0.js delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeListDialog-Chuds_vJ.css delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/PrizeListDialog-D0JWS9k2.js delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/QyLevelFormDialog-BkUQghF9.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/QyLevelFormDialog-D_udyouu.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{QyLevelFormDialog.vue_vue_type_script_setup_true_lang-D-ZVIL3y.js => QyLevelFormDialog.vue_vue_type_script_setup_true_lang-DtMhlJ_E.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{QyLevelPrizeDialog-CuG0cuXL.js => QyLevelPrizeDialog-DWq9feEu.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{QyLevelPrizeFormDialog-83vhtlkK.js => QyLevelPrizeFormDialog-CX_h_jOq.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{QyLevelTable-DdsOJyiM.js => QyLevelTable-W7PJM8Zt.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RankPrizeFormDialog-B578lNGa.js => RankPrizeFormDialog-BNVAsQA1.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RankSettingCard-CM3Ute8T.js => RankSettingCard-B-YQzS-o.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RecoveryDetailDialog-C2OPFEOu.js => RecoveryDetailDialog-C9uKyHiv.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RecoveryOrderTable-MrXWoa_7.js => RecoveryOrderTable-DoKebrzS.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RewardConfigDialog-B9d9DrUW.js => RewardConfigDialog-CThQ3lrY.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RewardConfigInput-61EbsJrf.js => RewardConfigInput-e-79isI8.js} (96%) delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/RewardFormDialog-BMC0OfEe.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/RewardFormDialog-Dj0ik-vK.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RewardFormDialog.vue_vue_type_script_setup_true_lang-Dc86-lzm.js => RewardFormDialog.vue_vue_type_script_setup_true_lang-ClA0EwOt.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RewardSearchForm-zAKOubBd.js => RewardSearchForm-pBqYCYIq.js} (91%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{RewardTable-CArzLzif.js => RewardTable-ntjvFYbS.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{ShipDialog-ZDDzSqom.js => ShipDialog-j63ZYGLF.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{ShippingDetailDialog-C6Gm1uH5.js => ShippingDetailDialog-BrrztDO9.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{ShippingOrderTable-O2wLG2va.js => ShippingOrderTable-vCKN4FY8.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{ShippingSearchForm-DxMzoAJx.js => ShippingSearchForm-S2sap6Z6.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{SignConfigFormDialog-w6XHn6uv.js => SignConfigFormDialog-Bw_FE4_F.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{SignConfigTable-B8fUSYNI.js => SignConfigTable-B3gnpRcu.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{StuckOrderTable-x6B4EWsm.js => StuckOrderTable-PBd9gBLJ.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{SystemTestCard-DWv-HoFS.js => SystemTestCard-D3TWPs07.js} (96%) create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/TaskFormDialog-Cw3XBm-r.js delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/TaskFormDialog-HuypJoCO.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{TaskFormDialog.vue_vue_type_script_setup_true_lang-TTHyYNxp.js => TaskFormDialog.vue_vue_type_script_setup_true_lang-jGJ7apls.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{TaskSearchForm-B_ji45Dy.js => TaskSearchForm-B8X1b0HH.js} (91%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{TaskTable-D37ioy2g.js => TaskTable-BtZ8hs0E.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{TodayOrderCard-CyBPCoiJ.js => TodayOrderCard-BbpQpwng.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{TypeFormDialog-dE2aeFaa.js => TypeFormDialog-DCuOqzo6.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{UserBoxDialog-DYME5_q9.js => UserBoxDialog-D3alVkyr.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{UserConfigCard-BZwO-o40.js => UserConfigCard-CXevMxHg.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{UserOrderDialog-_PJCr5Nv.js => UserOrderDialog-Ct98cxQn.js} (91%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{UserSearchForm-Czf6jfZn.js => UserSearchForm-XDGX0sZY.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{UserStatsCard-2sWzLC6c.js => UserStatsCard-BQP9wTyW.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{UserTable-D6mk_5Vj.js => UserTable-CD-eh5et.js} (99%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{UserTeamDialog-Bbs7hH90.js => UserTeamDialog-BMiCKz68.js} (53%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{WeixinMerchantForm-CDZTDdAO.js => WeixinMerchantForm-VuN4kjRx.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{WelfareHouseFormDialog-BEZnAMb8.js => WelfareHouseFormDialog-DtG9Ce6L.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{WelfareHouseTable-H-aTQzQ3.js => WelfareHouseTable-DjGh8fwO.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{advert-CR0HnGSU.js => advert-zzPNZaxS.js} (93%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{alipay-DJ2LjOTa.js => alipay-CLJv6Jt_.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{base-D2mug0nD.js => base-Cq-4J97f.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{buy-BX3u-d_W.js => buy-Dv4Dwqs0.js} (88%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{config-kgJnj_JK.js => config-DEwt64oT.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{coupon-BsfaW4oF.js => coupon-56WFD7At.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{data-stand-D4csyvVg.js => data-stand-DE7cOlvc.js} (82%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{department-B1umvyHD.js => department-DpMR8qJZ.js} (88%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{floatball-B2gTNRte.js => floatball-CPWpGhd1.js} (90%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{goods-DS_lYUdY.js => goods-DDMVLQs9.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{h5-DBIwGWf6.js => h5-BGcZcmHV.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-Bpnap0gJ.js => index-BNXSNc0z.js} (99%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-DrkRjBNR.js => index-BdVD8ofq.js} (97%) create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/index-BjlP2nCG.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-CSBQ6dXX.js => index-Bw2-tnIY.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-Z6ndYGhu.js => index-C4svORKf.js} (97%) delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/index-C5qzz-Rk.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-BTtaIx1r.js => index-CIn0uKce.js} (99%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-DsU57VeV.js => index-Cm1JoKyZ.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-71vnkOS-.js => index-Cm1spYVt.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-DpVrhTN5.js => index-D7IVvOL9.js} (90%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-B57yLai5.js => index-DAdTH0RR.js} (84%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-dv4zmmtr.js => index-DfnC-q5z.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-Dryancc5.js => index-DvKzNZgF.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{index-BpfPS9Yv.js => index-kPwBgWDQ.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{invite-stats-Bvh1zIIG.js => invite-stats-DcPwT9vo.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-DYApe97j.js => list-BYMygXGu.js} (92%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-DRuj6oIy.js => list-ByO7omY0.js} (89%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-CQLEZBUr.js => list-CD0rV2tB.js} (86%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-DfmuZMGJ.js => list-CzOhOZH5.js} (87%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-B6WoMQKI.js => list-DHRVwOCX.js} (83%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-9Or76tWm.js => list-DQFaV7jE.js} (87%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-CY0SJM-Y.js => list-D_yX3tCq.js} (84%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-Ly7kVf9q.js => list-DkwTjwH9.js} (85%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-BOQYtB2A.js => list-DruU2vnS.js} (86%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-BsWaVEzt.js => list-Q-Lmj24X.js} (86%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{list-DVzHcu-y.js => list-kAnjpBnS.js} (87%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{login-stats-DTweYaox.js => login-stats-CLv2PR4B.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{miniprogram-BIeJu2sk.js => miniprogram-aQ58c91u.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{month-B7cArvaX.js => month-C10iciRV.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{month-log-D5F3MBmw.js => month-log-DOsYfS_G.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{order-BGzyvN1T.js => order-hXknDITf.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{permission-Dy-kmpaH.js => permission-nxCGtDjj.js} (85%) delete mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/prize-level-ChaJc7CY.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/prize-level-Ci5RRBss.js create mode 100644 server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/prizelevel-BC2RS4Xn.js rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{profit-loss-DTD8Yq-w.js => profit-loss-BvukzCe0.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{qylevel-DMLpFSjZ.js => qylevel-CPn_N88w.js} (90%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{rank-Yv6dLhKF.js => rank-Dpe87JJG.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{receive-DyKbBICy.js => receive-BXHJN6B1.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{recovery-DVtpYZVo.js => recovery-CyOHQktX.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{reward-C33B5G10.js => reward-BLWbUBvp.js} (87%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{role-BLgBDWzd.js => role-z1uHTix7.js} (92%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{shipping-B5oVhU40.js => shipping-aY7AgrEf.js} (90%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{sign-BWsZyGVU.js => sign-B6Cmvx-Q.js} (97%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{signconfig-DkZiykhg.js => signconfig-CdCykNHv.js} (90%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{statistics-Difup0Ba.js => statistics-DhYspjWn.js} (82%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{stuck-B4J5LAj2.js => stuck-BWWZoOvr.js} (87%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{system-DJqNnknW.js => system-XiusB0mZ.js} (61%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{task-Xuwzl89g.js => task-2oBQXxqo.js} (85%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{type-JIo-iiDT.js => type-DWwK__oW.js} (95%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{uploads-D3lrHjl3.js => uploads-CGT06uef.js} (98%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{user-DlkvLLLf.js => user-BYxzRk41.js} (90%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{user-nVTO4xQk.js => user-C5Pwpcpr.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{vip-Cm_YVod1.js => vip-DeG_N39o.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{week-DhwqoTXk.js => week-B-5pzUjW.js} (94%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{week-log-C34ruK09.js => week-log-Rg97cIoz.js} (96%) rename server/HoneyBox/src/HoneyBox.Admin/wwwroot/assets/{weixinpay-CQYPl4kl.js => weixinpay-Dq7luXsJ.js} (95%) diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Goods/PrizeModels.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Goods/PrizeModels.cs index a14cca6b..5879ed5c 100644 --- a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Goods/PrizeModels.cs +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/Goods/PrizeModels.cs @@ -199,6 +199,16 @@ public class PrizeDto /// public int? ShangId { get; set; } + /// + /// 奖品等级名称 + /// + public string? ShangTitle { get; set; } + + /// + /// 奖品等级颜色 + /// + public string? ShangColor { get; set; } + /// /// 奖励数量 /// diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/User/UserModels.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/User/UserModels.cs index 65f82972..06407faa 100644 --- a/server/HoneyBox/src/HoneyBox.Admin.Business/Models/User/UserModels.cs +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Models/User/UserModels.cs @@ -5,6 +5,11 @@ namespace HoneyBox.Admin.Business.Models.User; /// public class UserListRequest : PagedRequest { + /// + /// 关键字搜索(支持用户ID、手机号、昵称) + /// + public string? Keyword { get; set; } + /// /// 用户ID /// diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Services/GoodsService.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Services/GoodsService.cs index 97e4e350..ac14baab 100644 --- a/server/HoneyBox/src/HoneyBox.Admin.Business/Services/GoodsService.cs +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Services/GoodsService.cs @@ -284,7 +284,29 @@ public class GoodsService : IGoodsService .ThenBy(gi => gi.Num) .ToListAsync(); - return prizes.Select(MapToPrizeDto).ToList(); + // 获取所有奖品等级ID + var shangIds = prizes + .Where(p => p.ShangId.HasValue) + .Select(p => p.ShangId!.Value) + .Distinct() + .ToList(); + + // 批量查询等级信息 + var prizeLevels = await _dbContext.PrizeLevels + .AsNoTracking() + .Where(pl => shangIds.Contains(pl.Id)) + .ToDictionaryAsync(pl => pl.Id, pl => new PrizeLevelInfo { Title = pl.Title, Color = pl.Color }); + + return prizes.Select(p => MapToPrizeDto(p, prizeLevels)).ToList(); + } + + /// + /// 奖品等级信息 + /// + private class PrizeLevelInfo + { + public string Title { get; set; } = string.Empty; + public string? Color { get; set; } } /// @@ -701,8 +723,17 @@ public class GoodsService : IGoodsService /// /// 映射奖品到DTO /// - private PrizeDto MapToPrizeDto(GoodsItem prize) + private PrizeDto MapToPrizeDto(GoodsItem prize, Dictionary? prizeLevels = null) { + string? shangTitle = null; + string? shangColor = null; + + if (prize.ShangId.HasValue && prizeLevels != null && prizeLevels.TryGetValue(prize.ShangId.Value, out var level)) + { + shangTitle = level.Title; + shangColor = level.Color; + } + return new PrizeDto { Id = prize.Id, @@ -720,6 +751,8 @@ public class GoodsService : IGoodsService GoodsType = prize.GoodsType, Sort = prize.Sort, ShangId = prize.ShangId, + ShangTitle = shangTitle, + ShangColor = shangColor, RewardNum = prize.RewardNum, Rank = prize.Rank, GiveMoney = prize.GiveMoney, diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Services/UserBusinessService.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Services/UserBusinessService.cs index effc4d8c..293edc24 100644 --- a/server/HoneyBox/src/HoneyBox.Admin.Business/Services/UserBusinessService.cs +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Services/UserBusinessService.cs @@ -1076,6 +1076,26 @@ public class UserBusinessService : IUserBusinessService /// private IQueryable ApplyUserFilters(IQueryable query, UserListRequest request) { + // 关键字搜索(支持用户ID、手机号、昵称) + if (!string.IsNullOrWhiteSpace(request.Keyword)) + { + var keyword = request.Keyword.Trim(); + // 尝试解析为用户ID + if (int.TryParse(keyword, out var keywordUserId)) + { + query = query.Where(u => + u.Id == keywordUserId || + (u.Mobile != null && u.Mobile.Contains(keyword)) || + u.Nickname.Contains(keyword)); + } + else + { + query = query.Where(u => + (u.Mobile != null && u.Mobile.Contains(keyword)) || + u.Nickname.Contains(keyword)); + } + } + if (request.UserId.HasValue) { query = query.Where(u => u.Id == request.UserId.Value); diff --git a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts index 7ecdab4b..3dad390f 100644 --- a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts +++ b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/goods.ts @@ -241,6 +241,8 @@ export interface PrizeItem { goodsType: number sort: number shangId: number | null + shangTitle: string | null + shangColor: string | null rewardNum: number rank: number giveMoney: number diff --git a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/prizelevel.ts b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/prizelevel.ts index d2261ce7..b35b66ba 100644 --- a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/prizelevel.ts +++ b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/prizelevel.ts @@ -126,3 +126,16 @@ export function getPrizeLevelStats(): Promise> { + return request({ + url: `${PRIZE_LEVEL_BASE_URL}/options-by-type`, + method: 'get', + params: { goodsType, isChildPrize } + }) +} diff --git a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/user.ts b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/user.ts index 162f85c6..9ecb639d 100644 --- a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/user.ts +++ b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/user.ts @@ -4,6 +4,7 @@ import { request, type ApiResponse, type PagedResult } from '@/utils/request' /** 用户列表查询参数 */ export interface UserListQuery { + keyword?: string userId?: number mobile?: string nickname?: string diff --git a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/goods/components/DesignatedPrizeDialog.vue b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/goods/components/DesignatedPrizeDialog.vue index c36773b8..a7066b41 100644 --- a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/goods/components/DesignatedPrizeDialog.vue +++ b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/goods/components/DesignatedPrizeDialog.vue @@ -144,12 +144,34 @@ {{ currentConfig?.goodsItemTitle || '-' }} - - + + + +
+ + + +
+ {{ user.nickname || '未知用户' }} + ID:{{ user.id }} | {{ user.mobile || '未绑定手机' }} +
+
+
+
@@ -182,7 +204,7 @@ +