From 07084b07c9838524c7e0348a64cf51f98cd518dd Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 19 Jan 2025 11:53:58 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=92=B1=E5=8C=85=E3=80=81=E7=A1=AC?= =?UTF-8?q?=E4=BB=B6=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pjcloud/hard/api/dto/HardInvoiceDto.java | 8 ++ .../hard/api/dto/order/HardOrderDto.java | 7 +- .../pjcloud/hard/api/vo/HardInvoiceVo.java | 16 +++- .../controller/HardInvoiceController.java | 3 +- .../order/HardAfterSaleController.java | 2 + .../hard/mapper/HardInvoiceMapper.java | 10 +-- .../hard/mapper/order/HardOrderMapper.java | 3 +- .../hard/service/HardInvoiceService.java | 8 +- .../hard/service/impl/HardApiServiceImpl.java | 2 +- .../service/impl/HardInvoiceServiceImpl.java | 73 +++++-------------- .../service/impl/HardManagerServiceImpl.java | 17 +++++ .../impl/order/HardOrderServiceImpl.java | 8 ++ .../resources/mapper/HardInvoiceMapper.xml | 72 +++++++++++++++++- .../bsd/pjcloud/admin/api/dto/UserDTO.java | 2 + .../admin/api/feign/RemoteDeptService.java | 10 +++ .../service/impl/SysUserServiceImpl.java | 2 +- .../main/resources/mapper/SysUserMapper.xml | 6 ++ .../controller/WalletSettingController.java | 2 + .../WalletTransactionController.java | 1 + .../WalletRechargeApplyController.java | 2 +- 20 files changed, 176 insertions(+), 78 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardInvoiceDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardInvoiceDto.java index 256cbc018..28d6ec525 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardInvoiceDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardInvoiceDto.java @@ -3,11 +3,19 @@ package com.bsd.pjcloud.hard.api.dto; import com.bsd.pjcloud.hard.api.entity.HardInvoiceEntity; import lombok.Data; +import java.time.LocalDate; import java.util.List; @Data public class HardInvoiceDto extends HardInvoiceEntity { + private List deptIds; + private List userIds; + private List merchantIds; + + private String hardType; + + private LocalDate[] createTimeList; } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java index 349918d36..3cc1cc92d 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java @@ -11,10 +11,15 @@ import java.util.List; public class HardOrderDto extends HardOrderEntity { /** - * 用户相关 + * 订单部门id极其子部门id */ + private Long deptIdIdDeepen; + private List deptIds; + private List userIds; + private List userDeptIds; + private List orderIds; private List hardIds; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardInvoiceVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardInvoiceVo.java index 21580a2b2..8356d7fa4 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardInvoiceVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardInvoiceVo.java @@ -1,6 +1,7 @@ package com.bsd.pjcloud.hard.api.vo; import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface; +import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface; import com.bsd.pjcloud.hard.api.entity.HardInvoiceEntity; import com.bsd.pjcloud.hard.api.vo.base.BaseHardInterface; import com.bsd.pjcloud.hard.api.vo.base.BaseOrderInterface; @@ -10,7 +11,7 @@ import lombok.Data; import java.time.LocalDateTime; @Data -public class HardInvoiceVo extends HardInvoiceEntity implements BaseDeptInterface, BaseMchInterface, BaseOrderInterface, BaseHardInterface { +public class HardInvoiceVo extends HardInvoiceEntity implements BaseDeptInterface, BaseMchInterface, BaseOrderInterface, BaseHardInterface, BaseUserInterface { private Long historyId; @@ -33,6 +34,8 @@ public class HardInvoiceVo extends HardInvoiceEntity implements BaseDeptInterfac */ private Long orderHardId; + private Long orderUserId; + private Long orderMchId; private Long orderId; @@ -58,4 +61,15 @@ public class HardInvoiceVo extends HardInvoiceEntity implements BaseDeptInterfac private String hardType; + /** + * 用户相关 + */ + private Long userId; + + private String username; + + private String userMobile; + + private String userAvatar; + } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java index f49d555fe..8f48b633f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardInvoiceController.java @@ -43,6 +43,7 @@ public class HardInvoiceController { @SysLog("后台打印") @Idempotent(expireTime = 5, info = "正在打印中,请勿重复操作") @GetMapping("/print") + @PreAuthorize("@pms.hasPermission('hard_hardInvoice_admin_print')") public R print(@RequestParam Long orderId) { return R.ok(hardInvoiceService.print(orderId)); } @@ -59,7 +60,7 @@ public class HardInvoiceController { @GetMapping("/page-join") @PreAuthorize("@pms.hasPermission('hard_hardInvoice_view')") public R pageJoin(@ParameterObject Page page, @ParameterObject HardInvoiceDto dto) { - return R.ok(hardInvoiceService.scopePageList(page, dto)); + return R.ok(hardInvoiceService.scopeJoinPageList(page, dto)); } @Operation(summary = "通过id查询", description = "通过id查询") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java index a0b20ba61..87ac7126f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java @@ -93,6 +93,7 @@ public class HardAfterSaleController { @PutMapping("/agree") @Operation(summary = "同意售后") + @PreAuthorize("@pms.hasPermission('hard_hardAfterSale_change')") @Idempotent(expireTime = 10, info = "正在处理中,请勿重复操作") public R agreeRefund(@RequestParam Long id) { PjcloudUser user = SecurityUtils.getUser(); @@ -101,6 +102,7 @@ public class HardAfterSaleController { @PostMapping("/disagree") @Operation(summary = "拒绝售后") + @PreAuthorize("@pms.hasPermission('hard_hardAfterSale_change')") @Idempotent(expireTime = 10, info = "正在处理中,请勿重复操作") public R disagreeRefund(@RequestBody HardDisagreeDto dto) { PjcloudUser user = SecurityUtils.getUser(); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java index 8d9bfd656..923eb4a67 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/HardInvoiceMapper.java @@ -11,6 +11,7 @@ import com.bsd.pjcloud.hard.api.entity.HardInvoiceEntity; import com.bsd.pjcloud.hard.api.vo.HardInvoiceVo; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface HardInvoiceMapper extends PjcloudBaseMapper { @@ -23,13 +24,6 @@ public interface HardInvoiceMapper extends PjcloudBaseMapper return selectJoinPage(page, HardInvoiceVo.class, wrapper); } - default Page scopePageList(Page page, HardInvoiceDto dto) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper() - .eq(ObjectUtil.isNotEmpty(dto.getHardId()), HardInvoiceEntity::getHardId, dto.getHardId()) - .eq(ObjectUtil.isNotEmpty(dto.getOrderId()), HardInvoiceEntity::getOrderId, dto.getOrderId()); - Page list = selectPageByScope(page, wrapper, DataScope.of()); - list.setRecords(BeanUtils.toBean(list.getRecords(), HardInvoiceVo.class)); - return list; - } + Page scopePageList(Page page, @Param("dto") HardInvoiceDto dto, @Param("dataScope") DataScope dataScope); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java index cf0569432..f6df8d194 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java @@ -28,6 +28,7 @@ public interface HardOrderMapper extends PjcloudBaseMapper { .in(ObjectUtil.isNotEmpty(dto.getUserIds()), HardOrderEntity::getUserId, dto.getUserIds()) .in(ObjectUtil.isNotEmpty(dto.getHardIds()), HardOrderEntity::getHardId, dto.getHardIds()) .in(ObjectUtil.isNotEmpty(dto.getMchIds()), HardOrderEntity::getMerchantId, dto.getMchIds()) + .in(ObjectUtil.isNotEmpty(dto.getUserDeptIds()), HardOrderEntity::getDeptId, dto.getUserDeptIds()) .between( ObjectUtil.isNotEmpty(dto.getCreateTimeList()), HardOrderEntity::getCreateTime, @@ -36,7 +37,7 @@ public interface HardOrderMapper extends PjcloudBaseMapper { ) .between( ObjectUtil.isNotEmpty(dto.getPayTimeList()), - HardOrderEntity::getPayType, + HardOrderEntity::getPayTime, ObjectUtil.isNotEmpty(dto.getPayTimeList()) ? dto.getPayTimeList()[0] : null, ObjectUtil.isNotEmpty(dto.getPayTimeList()) ? dto.getPayTimeList()[1] : null ); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java index ff0424b51..dc9478916 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardInvoiceService.java @@ -3,19 +3,13 @@ package com.bsd.pjcloud.hard.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.hard.api.dto.HardInvoiceDto; -import com.bsd.pjcloud.hard.api.dto.async.SyncOfflineReqVo; import com.bsd.pjcloud.hard.api.entity.HardInvoiceEntity; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.vo.HardInvoiceVo; -import jakarta.validation.Valid; - -import java.util.List; public interface HardInvoiceService extends IService { - Page pageJoin(Page page, HardInvoiceDto dto); - - Page scopePageList(Page page, HardInvoiceDto dto); + Page scopeJoinPageList(Page page, HardInvoiceDto dto); /** * 生成发票 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java index 4fd0236e1..04f6336f3 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java @@ -36,7 +36,7 @@ public class HardApiServiceImpl implements HardApiService { if (ObjectUtil.isEmpty(wallet)) return null; SysUser sysUser = user.getSysUser(); result.setUserId(sysUser.getUserId()); - result.setUsername(sysUser.getUsername()); + result.setUsername(sysUser.getName()); result.setUserAvatar(sysUser.getAvatar()); result.setUserMobile(sysUser.getPhone()); result.setDeptId(sysUser.getDeptId()); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java index 243c8855a..71c62c7f2 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java @@ -18,6 +18,7 @@ import com.bsd.pjcloud.admin.api.utils.DataUtil; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.constant.HardPrintStatusEnum; import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; @@ -32,6 +33,7 @@ import com.bsd.pjcloud.hard.api.utils.Drawing2D; import com.bsd.pjcloud.hard.api.utils.HardUtil; import com.bsd.pjcloud.hard.api.vo.HardInvoiceVo; import com.bsd.pjcloud.hard.api.vo.HardManagerVo; +import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleVo; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; import com.bsd.pjcloud.hard.mapper.HardInvoiceMapper; import com.bsd.pjcloud.hard.mapper.HardManagerMapper; @@ -57,6 +59,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.ByteArrayInputStream; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; @@ -84,13 +87,13 @@ public class HardInvoiceServiceImpl extends ServiceImpl pageJoin(Page page, HardInvoiceDto dto) { - Page list = baseMapper.pageJoin(page, dto); + public Page scopeJoinPageList(Page page, HardInvoiceDto dto) { + Page list = baseMapper.scopePageList(page, dto, DataScope.of()); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 部门 List deptIds = list.getRecords().stream().map(HardInvoiceVo::getDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); @@ -100,56 +103,20 @@ public class HardInvoiceServiceImpl extends ServiceImpl orderIds = list.getRecords().stream().map(HardInvoiceVo::getOrderId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(orderIds)) { - HardOrderDto hardOrderDto = new HardOrderDto(); - hardOrderDto.setOrderIds(orderIds); - List orderList = hardOrderMapper.list(hardOrderDto); - HardUtil.convertOrderList(list.getRecords(), CollectionUtils.convertMap(orderList, HardOrderEntity::getId)); - } - // 设备 - List hardIds = list.getRecords().stream().map(HardInvoiceVo::getHardId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(hardIds)) { - HardManagerDto hardManagerDto = new HardManagerDto(); - hardManagerDto.setIds(hardIds); - List hardList = hardManagerMapper.list(hardManagerDto); - if (ObjectUtil.isNotEmpty(hardList)) { - HardUtil.convertHardList(list.getRecords(), CollectionUtils.convertMap(hardList, HardManagerEntity::getId)); + // 用户 + List userIds = list.getRecords().stream().map(HardInvoiceVo::getOrderUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(userIds)) { + R> userList = userService.getUserById(new ArrayList<>(userIds)); + if (ObjectUtil.isNotEmpty(userList.getData())) { + DataUtil.convertUserList(list.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId)); } } - } - return list; - } - - @Override - public Page scopePageList(Page page, HardInvoiceDto dto) { - Page list = baseMapper.scopePageList(page, dto); - if (ObjectUtil.isNotEmpty(list.getRecords())) { - // 部门 - List deptIds = list.getRecords().stream().map(HardInvoiceVo::getDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(deptIds)) { - R> deptList = deptService.getDeptByDeptIds(deptIds); - if (ObjectUtil.isNotEmpty(deptList.getData())) { - DataUtil.convertDeptList(list.getRecords(), deptList.getData()); - } - } - // 订单 - List orderIds = list.getRecords().stream().map(HardInvoiceVo::getOrderId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(orderIds)) { - HardOrderDto hardOrderDto = new HardOrderDto(); - hardOrderDto.setOrderIds(orderIds); - List orderList = hardOrderMapper.list(hardOrderDto); - HardUtil.convertOrderList(list.getRecords(), CollectionUtils.convertMap(orderList, HardOrderEntity::getId)); - } - // 设备 - List hardIds = list.getRecords().stream().map(HardInvoiceVo::getHardId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(hardIds)) { - HardManagerDto hardManagerDto = new HardManagerDto(); - hardManagerDto.setIds(hardIds); - List hardList = hardManagerMapper.list(hardManagerDto); - if (ObjectUtil.isNotEmpty(hardList)) { - HardUtil.convertHardList(list.getRecords(), CollectionUtils.convertMap(hardList, HardManagerEntity::getId)); + // 商户 + List mchIds = list.getRecords().stream().map(HardInvoiceVo::getMerchantId).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + R> mchList = remoteMchService.getByIds(mchIds); + if (ObjectUtil.isNotEmpty(mchList.getData())) { + WalletDataUtil.convertMchList(list.getRecords(), CollectionUtils.convertMap(mchList.getData(), MchManageVo::getId)); } } } @@ -170,7 +137,7 @@ public class HardInvoiceServiceImpl extends ServiceImpl new RuntimeException("用户不存在")); SysUser sysUser = user.getSysUser(); // 查询商户 - MchManageVo mch = Optional.of(mchService.getById(order.getMerchantId())).map(R::getData).orElseThrow(() -> new RuntimeException("商户不存在")); + MchManageVo mch = Optional.of(remoteMchService.getById(order.getMerchantId())).map(R::getData).orElseThrow(() -> new RuntimeException("商户不存在")); // 订单类型 String orderType = "- -"; HardOrderTypeEnum orderTypeEnum = HardOrderTypeEnum.valueOfByType(order.getOrderType()); @@ -276,7 +243,7 @@ public class HardInvoiceServiceImpl extends ServiceImpl() + .eq(ObjectUtil.isNotEmpty(uniqueCode), HardManagerEntity::getUniqueCode, uniqueCode) + .ne(ObjectUtil.isNotEmpty(id), HardManagerEntity::getId, id) + ); + if (ObjectUtil.isNotEmpty(id)) { + return count >= 1; + } + return count > 0; + } + + private String createMqConfigByAction(Long groupId, Long deptId, Long hardId, Integer action) { MqTopicUtil eventDto = MqTopicUtil.builder().groupId(groupId).deptId(deptId).hardId(hardId).build(); if (ObjectUtil.equals(action, 1)) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index f86e5ef61..1dde2858f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -152,6 +152,14 @@ public class HardOrderServiceImpl extends ServiceImpl scopePageList(Page page, HardOrderDto dto) { + if (ObjectUtil.isNotEmpty(dto.getDeptIdIdDeepen())) { + List deptList = deptService.getDescendantList(dto.getDeptIdIdDeepen()).getData(); + if (ObjectUtil.isNotEmpty(deptList)) { + dto.setUserDeptIds(deptList.stream().map(SysDept::getDeptId).toList()); + } else { + dto.setUserDeptIds(List.of(-1L)); + } + } Page list = baseMapper.scopePageList(page, dto); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 用户 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/HardInvoiceMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/HardInvoiceMapper.xml index c2383ab0d..fa2ae0103 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/HardInvoiceMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/HardInvoiceMapper.xml @@ -2,8 +2,7 @@ - - + @@ -16,5 +15,72 @@ - + + + + select a.id, + a.dept_id, + a.hard_id, + a.order_id, + a.status, + a.pic, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.del_flag, + a.tenant_id, + + + + a.del_flag = '0' + + and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]} + + + + \ No newline at end of file diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java index af8a7f59c..8a2a76603 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java @@ -63,4 +63,6 @@ public class UserDTO extends SysUser { */ private String nameOrPhone; + private List userIds; + } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java index ced72c39f..f3bfa861e 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteDeptService.java @@ -85,6 +85,16 @@ public interface RemoteDeptService { @GetMapping("/dept/getParentDeptList") R> getParentDeptList(@RequestParam("deptId") Long deptId); + /** + * 获得指定部门的所有父部门 + * + * @param deptId + * @return + */ + @GetMapping("/dept/getDescendantList/{deptId}") + R> getDescendantList(@PathVariable Long deptId); + + /** * 查询部门所属的分组部门 * @param deptId diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index c4d2bc1b6..e929067fd 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -518,8 +518,8 @@ public class SysUserServiceImpl extends ServiceImpl impl } catch (Exception e) { e.printStackTrace(); log.error("|{}|导入用户意外的错误error:|{}|", TAG, e.getMessage()); + throw new RuntimeException("导入错误"); } - return null; } /** 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 03a311801..0ada96c57 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 @@ -186,6 +186,12 @@ AND (u.phone LIKE #{nameOrPhone} OR u.name LIKE #{nameOrPhone} ) + + and u.user_id IN + + #{v} + + diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletSettingController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletSettingController.java index b12deaceb..abe089500 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletSettingController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletSettingController.java @@ -11,6 +11,7 @@ import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** @@ -60,6 +61,7 @@ public class WalletSettingController { @Operation(summary = "更新支付配置", description = "更新支付配置") @SysLog("更新支付配置") @PutMapping + @PreAuthorize("@pms.hasPermission('wallet_setting_edit')") public R updateById(@RequestBody WalletSettingDto dto) { walletSettingService.edit(dto); return R.ok(true); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java index e298bdb18..e72c8d3ad 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletTransactionController.java @@ -73,6 +73,7 @@ public class WalletTransactionController { @PutMapping("/update-balance") @Operation(summary = "更新会员用户余额") + @PreAuthorize("@pms.hasPermission('wallet_walletTransaction_update_balance')") public R updateWalletBalance(@RequestBody WalletTransactionDto dto) { return R.ok(walletTransactionService.updateWalletBalance(dto)); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java index 0b1a3e46f..030683a74 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java @@ -95,7 +95,7 @@ public class WalletRechargeApplyController { @Operation(summary = "新增充值/扣款申请", description = "新增充值/扣款申请") @SysLog("新增充值/扣款申请") @PostMapping - @PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_add')") + @PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_apply')") public R save(@RequestBody WalletRechargeApplyDto dto) { walletRechargeApplyService.create(dto); return R.ok(); From 29e85b98afd676e72ab6b00b493e847886a0d90b Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 19 Jan 2025 12:24:19 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=E6=9C=80=E5=A4=9A=E5=8F=AA=E8=83=BD?= =?UTF-8?q?=E4=B8=8A=E4=BC=A03=E5=BC=A0=E4=BA=BA=E8=84=B8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/order/HardAfterSaleController.java | 1 - .../admin/controller/SysUserFaceController.java | 4 +++- .../pjcloud/admin/service/SysUserFaceService.java | 3 ++- .../admin/service/impl/SysUserFaceServiceImpl.java | 13 ++++++++++++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java index 87ac7126f..013e8ffe2 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java @@ -14,7 +14,6 @@ import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleDto; import com.bsd.pjcloud.hard.api.dto.order.HardDisagreeDto; import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity; import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity; -import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleLogVo; import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleVo; import com.bsd.pjcloud.hard.service.HardAfterSaleService; import org.springframework.security.access.prepost.PreAuthorize; diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java index 51393634a..471b733ae 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java @@ -10,6 +10,8 @@ import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity; import com.bsd.pjcloud.admin.api.vo.SysUserFaceVo; import com.bsd.pjcloud.admin.service.SysUserFaceService; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.common.data.datascope.DataScopeFuncEnum; import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.service.PjcloudUser; @@ -46,7 +48,7 @@ public class SysUserFaceController { public R> appPageJoin(@ParameterObject Page page, @ParameterObject SysUserFaceDto dto) { PjcloudUser user = SecurityUtils.getUser(); dto.setUserId(user.getId()); - return R.ok(sysUserFaceService.scopePageList(page, dto)); + return R.ok(sysUserFaceService.pageJoin(page, dto)); } @Operation(summary = "app查询人脸详情", description = "app查询人脸详情") diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserFaceService.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserFaceService.java index e193ce4f1..0c23ef41a 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserFaceService.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserFaceService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.admin.api.dto.SysUserFaceDto; import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity; import com.bsd.pjcloud.admin.api.vo.SysUserFaceVo; +import com.bsd.pjcloud.common.data.datascope.DataScope; import java.util.ArrayList; @@ -18,7 +19,7 @@ public interface SysUserFaceService extends IService { void delByIds(ArrayList list); - Page scopePageList(Page page, SysUserFaceDto dto); + Page scopePageList(Page page, SysUserFaceDto dto, DataScope dataScope); Page pageJoin(Page page, SysUserFaceDto dto); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java index 1cf82afc9..3168ef55d 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java @@ -44,6 +44,9 @@ public class SysUserFaceServiceImpl extends ServiceImpl scopePageList(Page page, SysUserFaceDto dto) { + public Page scopePageList(Page page, SysUserFaceDto dto, DataScope dataScope) { return baseMapper.scopePageList(page, dto, DataScope.of()); } @@ -116,6 +119,14 @@ public class SysUserFaceServiceImpl extends ServiceImpl() + .eq(SysUserFaceEntity::getUserId, userId) + ); + return count >= 3; + } + // 发送mq private void sendFaceMq(List userIds, Boolean isGlobalFace) { if (ObjectUtil.isEmpty(userIds)) return; From 91d310fa04e81367c3cc6f03cd5f29afb3cf7889 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 19 Jan 2025 15:34:49 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=A5=AD=E5=8D=A1=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java index 04f6336f3..eafe02594 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardApiServiceImpl.java @@ -60,7 +60,7 @@ public class HardApiServiceImpl implements HardApiService { if (ObjectUtil.isEmpty(user)) return null; SysUser sysUser = user.getSysUser(); result.setUserId(sysUser.getUserId()); - result.setUsername(sysUser.getUsername()); + result.setUsername(sysUser.getName()); result.setUserAvatar(sysUser.getAvatar()); result.setUserMobile(sysUser.getPhone()); result.setDeptId(sysUser.getDeptId()); From 9db145a4acf5146f99ad822d1b5ac3f11fc6edfd Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 19 Jan 2025 15:50:36 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:=E7=94=A8=E6=88=B7=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E9=83=A8=E9=97=A8=E5=92=8C=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=8F=8A=E5=85=B6=E5=AD=90=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java | 8 ++++++++ .../pjcloud/admin/service/impl/SysUserServiceImpl.java | 7 +++++++ .../src/main/resources/mapper/SysUserMapper.xml | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java index 8a2a76603..98a84fd1b 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java @@ -23,6 +23,7 @@ import com.bsd.pjcloud.admin.api.entity.SysUser; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import org.apache.commons.collections4.set.ListOrderedSet; import java.util.List; @@ -65,4 +66,11 @@ public class UserDTO extends SysUser { private List userIds; + /** + * false 当前部门 + * true 当前部门及子部门 + */ + private Boolean isDeepDept; + private List deptIds; + } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index e929067fd..094dab539 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -221,6 +221,13 @@ public class SysUserServiceImpl extends ServiceImpl impl */ @Override public IPage getUsersWithRolePage(Page page, UserDTO userDTO) { + if (userDTO.getIsDeepDept() && ObjectUtil.isNotEmpty(userDTO.getDeptId())) { + List deptList = sysDeptService.listDescendant(userDTO.getDeptId()); + userDTO.setDeptId(null); + if (ObjectUtil.isNotEmpty(deptList)) { + userDTO.setDeptIds(deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList())); + } + } IPage list = baseMapper.getUserVosPage(page, userDTO, DataScope.of()); if (ObjectUtil.isNotEmpty(list.getRecords())) { List userIds = list.getRecords().stream().map(UserVO::getUserId).distinct().toList(); 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 0ada96c57..394522179 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 @@ -178,6 +178,12 @@ AND u.dept_id = #{query.deptId} + + and u.dept_id IN + + #{v} + + AND u.phone LIKE #{phoneLike} From 3231303204bc4a98512605084cf275db69cce293 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 19 Jan 2025 16:09:32 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fix:=E4=BA=BA=E5=91=98=E6=9F=A5=E8=AF=A2bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java index 98a84fd1b..ba3a559df 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java @@ -70,7 +70,7 @@ public class UserDTO extends SysUser { * false 当前部门 * true 当前部门及子部门 */ - private Boolean isDeepDept; + private Boolean isDeepDept = false; private List deptIds; }