From e85f331755c2657f87c76651c649aa21799e1650 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 6 Jan 2025 19:09:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:app=E9=92=B1=E5=8C=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pjcloud/hard/api/dto/code/QRCodeDto.java | 4 +-- .../impl/order/HardOrderSyncServiceImpl.java | 1 - .../api/dto/WalletBalanceTransactionDto.java | 2 ++ .../wallet/api/dto/WalletTransactionDto.java | 13 +++++++++ .../pjcloud/wallet/api/vo/WalletManageVo.java | 2 ++ .../controller/WalletManageController.java | 27 ++++++++++++++++--- .../WalletTransactionController.java | 15 ++++++++--- .../WalletRechargePackageController.java | 8 ++++++ .../wallet/mapper/WalletManageMapper.java | 12 +++++++++ .../mapper/WalletTransactionMapper.java | 11 +++++++- .../wallet/service/WalletManageService.java | 3 +++ .../service/impl/WalletManageServiceImpl.java | 14 +++++++++- 12 files changed, 101 insertions(+), 11 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/code/QRCodeDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/code/QRCodeDto.java index 2b9304e33..f24328087 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/code/QRCodeDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/code/QRCodeDto.java @@ -23,10 +23,10 @@ public class QRCodeDto { private Long userId; // 订单类型 - private Integer orderType; + private String orderType; // 支付类型 - private Integer payType; + private String payType; // 过期时间 -1 代表没有限制 private Long exceedTime; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderSyncServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderSyncServiceImpl.java index 7ee52d2ea..ec838985a 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderSyncServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderSyncServiceImpl.java @@ -118,7 +118,6 @@ public class HardOrderSyncServiceImpl implements HardOrderSyncService { return false; } - public HardOrderEntity parseOrder(OfflineOrder order, Long hardwareId, Long merchantId, Long merchantDeptId) { HardOrderEntity res = new HardOrderEntity(); res.setAndroidOrderCode(order.getUniqueCode()); diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletBalanceTransactionDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletBalanceTransactionDto.java index ed20d5271..cc6459f9d 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletBalanceTransactionDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletBalanceTransactionDto.java @@ -7,6 +7,8 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import java.io.Serializable; + @Builder @AllArgsConstructor @NotEmpty diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java index 48521791a..a1c2976c2 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/WalletTransactionDto.java @@ -1,11 +1,24 @@ package com.bsd.pjcloud.wallet.api.dto; import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @Data public class WalletTransactionDto extends WalletTransactionEntity { + /** + * 类型 - 收入 + */ + public static final Integer TYPE_INCOME = 1; + /** + * 类型 - 支出 + */ + public static final Integer TYPE_EXPENSE = 2; + + + private Integer type; + /** * 用户id */ diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletManageVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletManageVo.java index 458dd70c9..4eb622674 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletManageVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletManageVo.java @@ -16,6 +16,8 @@ public class WalletManageVo extends WalletManageEntity implements BaseUserInterf private String walletTypeUniqueCode; + private String walletIcon; + /** * 用户相关 */ diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java index b691e3ddd..e87c26044 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletManageController.java @@ -12,6 +12,8 @@ import com.bsd.pjcloud.common.core.util.MsgUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; +import com.bsd.pjcloud.common.security.service.PjcloudUser; +import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; import com.bsd.pjcloud.wallet.api.dto.WalletManageDto; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; @@ -74,16 +76,35 @@ public class WalletManageController { @Inner @GetMapping("/del-wallet") - public R delWallet(@RequestParam("userIds") List userIds){ + public R delWallet(@RequestParam("userIds") List userIds) { return R.ok(walletManageService.delWalletByUserIds(userIds)); } @Inner @GetMapping("/add-price") - public R addPrice(@RequestParam("userIds") List userIds){ + public R addPrice(@RequestParam("userIds") List userIds) { return R.ok(walletManageService.delWalletByUserIds(userIds)); } - /* ************************************* start 远程调用 start ************************************* */ + /* ************************************* end 远程调用 end ************************************* */ + + + /* ************************************* start app start ************************************* */ + @Operation(summary = "分页查询", description = "分页查询") + @GetMapping("/app/get-all") + public R appGetAll(@ParameterObject Page page, @ParameterObject WalletManageEntity walletManage) { + PjcloudUser user = SecurityUtils.getUser(); + WalletManageDto dto = new WalletManageDto(); + dto.setUserId(user.getId()); + return walletManageService.pageJoin(page, dto); + } + + @Operation(summary = "分页查询", description = "分页查询") + @GetMapping("/app/detail") + public R appGetAll(@RequestParam Long walletId) { + PjcloudUser user = SecurityUtils.getUser(); + return R.ok(walletManageService.join(user.getId(), walletId)); + } + /* ************************************* end app end ************************************* */ @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") 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 6f51733a6..3dfb2e501 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 @@ -9,12 +9,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.common.security.service.PjcloudUser; +import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.wallet.api.dto.WalletBalanceTransactionDto; import com.bsd.pjcloud.wallet.api.dto.WalletTransactionDto; -import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity; -import com.bsd.pjcloud.wallet.service.WalletManageService; import com.bsd.pjcloud.wallet.service.WalletTransactionService; import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; @@ -62,6 +61,16 @@ public class WalletTransactionController { } /* ************************************* end 远程调用 end ************************************* */ + /* ************************************* start app start ************************************* */ + @Operation(summary = "app查询消费记录", description = "app查询消费记录") + @GetMapping("/app/page") + public R appGetAll(@ParameterObject Page page, @ParameterObject WalletTransactionDto dto) { + PjcloudUser user = SecurityUtils.getUser(); + dto.setUserId(user.getId()); + return R.ok(walletTransactionService.pageJoin(page, dto)); + } + /* ************************************* end app end ************************************* */ + @PutMapping("/update-balance") @Operation(summary = "更新会员用户余额") public R updateWalletBalance(@RequestBody WalletTransactionDto dto) { diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargePackageController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargePackageController.java index e91d372c5..1d02957ed 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargePackageController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargePackageController.java @@ -37,6 +37,14 @@ public class WalletRechargePackageController { private final WalletRechargePackageService walletRechargePackageService; + /* ************************************* start app start ************************************* */ + @Operation(summary = "查询全部", description = "查询全部") + @GetMapping("/app/list") + public R appList() { + return R.ok(walletRechargePackageService.list(new LambdaQueryWrapper<>())); + } + /* ************************************* end app end ************************************* */ + @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_view')") diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java index c36a9c825..0dab91775 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletManageMapper.java @@ -34,6 +34,7 @@ public interface WalletManageMapper extends PjcloudBaseMapper wrapper = new MPJLambdaWrapper() + .selectAll(WalletManageEntity.class) + .selectAs(WalletTypeEntity::getName, WalletManageVo::getWalletTypeName) + .selectAs(WalletTypeEntity::getUniqueCode, WalletManageVo::getWalletTypeUniqueCode) + .selectAs(WalletTypeEntity::getIcon, WalletManageVo::getWalletIcon) + .leftJoin(WalletTypeEntity.class, WalletTypeEntity::getId, WalletManageEntity::getWalletTypeId) + .eqIfExists(WalletManageEntity::getId, id); + return selectJoinOne(WalletManageVo.class, wrapper); + } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java index f1c9769a6..5a236edd0 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/mapper/WalletTransactionMapper.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.wallet.mapper; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -12,13 +13,21 @@ import com.bsd.pjcloud.wallet.api.vo.WalletTransactionVo; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.Objects; + @Mapper public interface WalletTransactionMapper extends PjcloudBaseMapper { - default IPage pageJoin(Page page, WalletTransactionDto dto) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() .eqIfExists(WalletTransactionEntity::getWalletId, dto.getWalletId()); + + if (ObjectUtil.equals(dto.getType(), WalletTransactionDto.TYPE_INCOME)) { + wrapper.gt(WalletTransactionEntity::getPrice, 0); + } else if (Objects.equals(dto.getType(), WalletTransactionDto.TYPE_EXPENSE)) { + wrapper.lt(WalletTransactionEntity::getPrice, 0); + } + return selectJoinPage(page, WalletTransactionVo.class, wrapper); } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java index ae225218e..bcd2ec646 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletManageService.java @@ -6,6 +6,7 @@ import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; import com.bsd.pjcloud.wallet.api.dto.WalletManageDto; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; +import com.bsd.pjcloud.wallet.api.vo.WalletManageVo; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; @@ -79,4 +80,6 @@ public interface WalletManageService extends IService { * @return */ R pageJoin(Page page, WalletManageDto dto); + + WalletManageVo join(Long id, Long walletId); } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java index 218c48536..5468206ea 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java @@ -27,7 +27,6 @@ import com.bsd.pjcloud.wallet.service.WalletTypeService; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; @@ -173,6 +172,19 @@ public class WalletManageServiceImpl extends ServiceImpl