From f8ba25e7d530fe223a20b7ba4b3ab167c1d558b7 Mon Sep 17 00:00:00 2001 From: apple Date: Thu, 9 Apr 2026 15:10:16 +0800 Subject: [PATCH] feat(integral-external): order/user list, integral log, wa selfBonus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix ExternalIntegral order list (no double restPage); default 普通订单; UI columns for useIntegral and buyer uid/nickname/phone; enrich StoreOrderDetailResponse and admin query select. - External user list: UserResponse.selfBonus and fillWaSelfBonus from wa_users.id=uid. - Integral log: AdminIntegralSearchRequest nickName/phone; findAdminList filters and ordering; integralExternal API sends page/limit as query params. - Integral detail page: linkType Chinese mapping including selfbonus; update docs/newpage.md. - Dashboard grid menu entries for integral-external routes. Made-with: Cursor --- backend-adminend/src/api/integralExternal.js | 6 +- .../views/dashboard/components/gridMenu.vue | 30 +++-- .../views/integral-external/order/index.vue | 35 +++--- .../user-integral-detail/index.vue | 107 +++++++++++++++--- .../ExternalIntegralController.java | 6 +- .../request/AdminIntegralSearchRequest.java | 6 + .../response/StoreOrderDetailResponse.java | 12 ++ .../zbkj/common/response/UserResponse.java | 3 + .../com/zbkj/service/service/UserService.java | 12 ++ .../service/impl/StoreOrderServiceImpl.java | 17 +-- .../impl/UserIntegralRecordServiceImpl.java | 55 +++++++-- .../service/service/impl/UserServiceImpl.java | 44 +++++++ docs/newpage.md | 33 +++++- 13 files changed, 299 insertions(+), 67 deletions(-) diff --git a/backend-adminend/src/api/integralExternal.js b/backend-adminend/src/api/integralExternal.js index 12218df..b0561ae 100644 --- a/backend-adminend/src/api/integralExternal.js +++ b/backend-adminend/src/api/integralExternal.js @@ -28,12 +28,14 @@ export function getExternalUserList(params) { } /** - * 用户积分明细分页列表 + * 用户积分明细分页列表(page/limit 走 query,与 /admin/user/integral/list 一致) */ export function getExternalIntegralLog(data) { + const { page, limit, ...body } = data; return requestNoAuth({ url: 'external/integral/log/list', method: 'post', - data, + params: { page, limit }, + data: body, }); } diff --git a/backend-adminend/src/views/dashboard/components/gridMenu.vue b/backend-adminend/src/views/dashboard/components/gridMenu.vue index b25e4bc..1a80c95 100644 --- a/backend-adminend/src/views/dashboard/components/gridMenu.vue +++ b/backend-adminend/src/views/dashboard/components/gridMenu.vue @@ -79,13 +79,6 @@ export default { url: '/order/index', perms: ['admin:order:list'], }, - { - bgColor: '#A277FF', - icon: 'iconduanxinpeizhi', - title: '一号通', - url: '/operation/onePass', - perms: ['admin:pass:login'], - }, { bgColor: '#E8B600', icon: 'iconwenzhangguanli', @@ -107,6 +100,27 @@ export default { url: '/marketing/coupon/list', perms: ['admin:coupon:list'], }, + { + bgColor: '#13c2c2', + icon: 'icondingdanguanli', + title: '积分订单', + url: '/integral-external/order', + alwaysShow: true, + }, + { + bgColor: '#722ed1', + icon: 'iconhuiyuanguanli', + title: '用户积分', + url: '/integral-external/user', + alwaysShow: true, + }, + { + bgColor: '#eb2f96', + icon: 'iconfenxiaoguanli', + title: '用户积分明细', + url: '/integral-external/user/integral-detail', + alwaysShow: true, + }, ], statisticData: [ { title: '待发货订单', num: 0, path: '/order/index', perms: ['admin:order:list'] }, @@ -128,7 +142,7 @@ export default { permList: function () { let arr = []; this.nav_list.forEach((item) => { - if (this.checkPermi(item.perms)) { + if (item.alwaysShow || this.checkPermi(item.perms)) { arr.push(item); } }); diff --git a/backend-adminend/src/views/integral-external/order/index.vue b/backend-adminend/src/views/integral-external/order/index.vue index 205f8ed..673c39d 100644 --- a/backend-adminend/src/views/integral-external/order/index.vue +++ b/backend-adminend/src/views/integral-external/order/index.vue @@ -4,13 +4,6 @@
- - - - {{ item.label }} - - - 全部 @@ -78,7 +71,17 @@ 用户已删除 - + + + + + + + + + +