From 481e537d6ca86b07452921c0e2f1a8b623afb318 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 23 Jun 2025 14:49:34 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=E7=94=A8=E6=88=B7=E5=AF=BC=E5=87=BAbu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pjcloud/admin/controller/SysDeptController.java | 3 --- .../admin/service/impl/SysDeptServiceImpl.java | 11 +++-------- .../src/main/resources/mapper/SysUserMapper.xml | 7 +++++++ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java index e71d2307a..dd3c7ef12 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java @@ -88,9 +88,6 @@ public class SysDeptController { /** * 返回树形菜单集合 - * - * @param deptName 部门名称 - * @return 树形菜单 */ @GetMapping(value = "/tree") public R getTree(String deptName, Long parentId) { diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java index fed013eda..4110bd2c8 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java @@ -134,14 +134,9 @@ public class SysDeptServiceImpl extends ServiceImpl impl @Override public List> selectTree(String deptName, Long parentId) { List deptAllList = new ArrayList<>(); - if (ObjectUtil.isEmpty(parentId)) { - // 查询全部部门 - deptAllList = deptMapper - .selectList(Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName)); - } else { - deptAllList = listDescendant(parentId); - } - + // 查询全部部门 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName); + deptAllList = deptMapper.selectListByScope(queryWrapper, DataScope.of()); // 查询数据权限内部门 List deptOwnIdList = deptMapper .selectListByScope( diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml index 41a60a494..49847405f 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml @@ -267,6 +267,7 @@ FROM sys_user u LEFT JOIN sys_dept d ON d.dept_id = u.dept_id + LEFT JOIN sys_user_role urole ON urole.user_id = u.user_id u.del_flag = '0' @@ -276,6 +277,12 @@ AND u.dept_id = #{query.deptId} + + and urole.role_id IN + + #{v} + + From 2468be98eb91faf830be3d69dfb6b5ee61e3586d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 23 Jun 2025 15:41:52 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=E9=83=A8=E9=97=A8=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pjcloud/admin/controller/SysDeptController.java | 11 ++++++++++- .../com/bsd/pjcloud/admin/service/SysDeptService.java | 3 ++- .../admin/service/impl/SysDeptServiceImpl.java | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java index dd3c7ef12..d1ed5752b 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java @@ -26,6 +26,7 @@ import com.bsd.pjcloud.admin.api.vo.DeptExcelVO; import com.bsd.pjcloud.admin.mapper.SysDeptMapper; import com.bsd.pjcloud.admin.service.SysDeptService; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.tenant.TenantContextHolder; import com.bsd.pjcloud.common.excel.annotation.RequestExcel; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; @@ -101,7 +102,15 @@ public class SysDeptController { if (ObjectUtil.isEmpty(parentId)) { parentId = deptId; } - return R.ok(sysDeptService.selectTree(deptName, parentId)); + return R.ok(sysDeptService.selectTree(deptName, parentId, DataScope.of())); + } + + /** + * 返回树形菜单集合 + */ + @GetMapping(value = "/tree-select") + public R getTreeSelect(String deptName, Long parentId) { + return R.ok(sysDeptService.selectTree(deptName, parentId, null)); } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java index c14f20d38..a241f15e0 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysDeptService.java @@ -26,6 +26,7 @@ import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.vo.DeptExcelVO; import com.bsd.pjcloud.admin.api.vo.OrgTreeVO; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import jakarta.validation.Valid; import org.springframework.validation.BindingResult; @@ -48,7 +49,7 @@ public interface SysDeptService extends IService { * @param deptName 部门名称 * @return 树 */ - List> selectTree(String deptName, Long parentId); + List> selectTree(String deptName, Long parentId, DataScope dataScope); List> selectSimpleTree(String deptName, Long parentId); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java index 4110bd2c8..b6ec66f74 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java @@ -132,11 +132,11 @@ public class SysDeptServiceImpl extends ServiceImpl impl * @return 树 部门名称 */ @Override - public List> selectTree(String deptName, Long parentId) { + public List> selectTree(String deptName, Long parentId, DataScope dataScope) { List deptAllList = new ArrayList<>(); // 查询全部部门 LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName); - deptAllList = deptMapper.selectListByScope(queryWrapper, DataScope.of()); + deptAllList = deptMapper.selectListByScope(queryWrapper, dataScope); // 查询数据权限内部门 List deptOwnIdList = deptMapper .selectListByScope( From 65e43b0821c11ab9d325da66d1d5e79e2927ccb4 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 23 Jun 2025 16:50:46 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=E5=95=86=E6=88=B7=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=AF=BC=E5=87=BA=E5=A2=9E=E5=8A=A0=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/api/vo/order/HardOrderCsVo.java | 6 ++++++ .../impl/order/HardOrderTotalServiceImpl.java | 12 ++++++++++++ .../main/resources/file/商户交易金额汇总.xlsx | Bin 10033 -> 10052 bytes 3 files changed, 18 insertions(+) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java index 44da7cb2d..7f58a1192 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java @@ -25,6 +25,12 @@ public class HardOrderCsVo implements BaseMchInterface, BaseHardInterface { @Schema(description = "商户名") private String merchantName; + @Schema(description = "商户部门名") + private String merchantDeptName; + + @Schema(description = "商户部门id") + private Long merchantDeptId; + @Schema(description = "商户logo") private String logoPic; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java index 384280206..ce26a67e7 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderTotalServiceImpl.java @@ -51,6 +51,7 @@ import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.concurrent.CompletableFuture; @Validated @@ -200,6 +201,17 @@ public class HardOrderTotalServiceImpl implements HardOrderTotalService { WalletDataUtil.convertMchList(totalList, CollectionUtils.convertMap(mchList, MchManageVo::getId)); } } + // 商户部门 + List mchDeptIds = totalList.stream().map(HardOrderCsVo::getMerchantDeptId).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchDeptIds)) { + Map deptMap = remoteDeptService.getDeptByDeptIds(mchDeptIds).getData(); + if (ObjectUtil.isNotEmpty(deptMap)) { + for (HardOrderCsVo v : totalList) { + if (ObjectUtil.isEmpty(v.getMerchantDeptId())) continue; + v.setMerchantDeptName(deptMap.get(v.getMerchantDeptId()).getName()); + } + } + } } return totalList; } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/商户交易金额汇总.xlsx b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/file/商户交易金额汇总.xlsx index 557541e5c8a66c30e679f4966dc38375f39d2a9c..41c27a79e952b44adcd1b6029e9f031dd280421a 100644 GIT binary patch delta 2087 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 T0{{T52$KRQJO&ga00000-;=_b