From bd69bf6e71053f484974ce00c6e6aff843b48da2 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 8 Jan 2025 18:08:24 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=E4=B8=8B=E5=8D=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/order/app/HardAppCreateOrderDto.java | 5 ++-- .../controller/order/HardOrderController.java | 5 ++-- .../pjcloud/hard/service/HardCarService.java | 1 - .../hard/service/HardOrderService.java | 1 - .../impl/order/HardCarServiceImpl.java | 1 + .../impl/order/HardwareOrderServiceImpl.java | 6 ++--- .../api/constant/WalletTypeCodeEnum.java | 24 ------------------- .../wallet/api/constant/WalletTypeEnum.java | 3 +++ .../wallet/api/feign/RemoteWalletService.java | 6 ++--- .../controller/WalletManageController.java | 9 +++---- .../wallet/service/WalletManageService.java | 7 +++--- .../wallet/service/WalletTypeService.java | 6 ++--- .../service/impl/WalletActiveServiceImpl.java | 5 ++-- .../service/impl/WalletManageServiceImpl.java | 6 ++--- .../service/impl/WalletTypeServiceImpl.java | 7 ++---- 15 files changed, 29 insertions(+), 63 deletions(-) delete mode 100644 pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletTypeCodeEnum.java diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java index 2dac3492e..3b9d7fff3 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/app/HardAppCreateOrderDto.java @@ -1,9 +1,8 @@ package com.bsd.pjcloud.hard.api.dto.order.app; -import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Builder; @@ -23,7 +22,7 @@ public class HardAppCreateOrderDto { private Long userId; @NotNull(message = "钱包类型不能为空") - private WalletTypeCodeEnum walletType; + private WalletTypeEnum walletType; @NotNull(message = "订单类型不能为空") private HardOrderTypeEnum orderType; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 0931126d1..8355e50bd 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -12,12 +12,11 @@ import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum; -import com.bsd.pjcloud.hard.api.dto.hard.HardCreateOrderDto; import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateOrderDto; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.service.HardOrderService; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -65,7 +64,7 @@ public class HardOrderController { @Idempotent(expireTime = 10, info = "正在创建订单中,请勿重复操作") public R appCreateOrder(@RequestParam Long carParentId) { PjcloudUser user = SecurityUtils.getUser(); - HardAppCreateOrderDto dto = HardAppCreateOrderDto.builder().carParentId(carParentId).walletType(WalletTypeCodeEnum.CANTEEN).userId(user.getId()).orderType(HardOrderTypeEnum.RESERVE).payType(HardPayTypeEnum.WALLET_DEFAULT).build(); + HardAppCreateOrderDto dto = HardAppCreateOrderDto.builder().carParentId(carParentId).walletType(WalletTypeEnum.EAT).userId(user.getId()).orderType(HardOrderTypeEnum.RESERVE).payType(HardPayTypeEnum.WALLET_DEFAULT).build(); return R.ok(hardwareOrderService.appCreateOrder(dto)); } /* ************************************* end app end ************************************* */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCarService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCarService.java index 7ad4f486e..725276eaa 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCarService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardCarService.java @@ -9,7 +9,6 @@ import com.bsd.pjcloud.hard.api.dto.order.HardCreateCarDto; import com.bsd.pjcloud.hard.api.entity.order.HardCarEntity; import com.bsd.pjcloud.hard.api.entity.order.HardParentCarEntity; import com.bsd.pjcloud.hard.api.vo.order.HardCarVo; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java index c36abcb14..a8cb90976 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java @@ -8,7 +8,6 @@ import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateOrderDto; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; import jakarta.validation.Valid; public interface HardOrderService extends IService { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCarServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCarServiceImpl.java index 1f9622bdb..51893edb3 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCarServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardCarServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.canteen.api.feign.RemoteOnlineCanteenSpuService; import com.bsd.pjcloud.canteen.vo.app.CanteenOnlineSpuAppVO; +import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java index 8c52b16c4..41eea23af 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java @@ -31,7 +31,7 @@ import com.bsd.pjcloud.hard.service.HardCarService; import com.bsd.pjcloud.hard.service.HardManagerService; import com.bsd.pjcloud.hard.service.HardOrderService; import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import com.bsd.pjcloud.wallet.api.dto.WalletBalanceTransactionDto; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity; @@ -122,7 +122,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl walletResult = remoteWalletService.getWallet(dto.getUserId(), WalletTypeCodeEnum.CANTEEN); + R walletResult = remoteWalletService.getWallet(dto.getUserId(), WalletTypeEnum.EAT); wallet = Optional.of(walletResult).map(R::getData).orElseThrow(() -> new RuntimeException("用户钱包不存在")); } int totalPrice = 0, extraPrice = 0, payPrice = 0; @@ -191,7 +191,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl ObjectUtil.equal(v.getDesc(), description)) - .findFirst().get(); - } -} diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletTypeEnum.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletTypeEnum.java index 7520afc93..0023549e0 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletTypeEnum.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/WalletTypeEnum.java @@ -6,6 +6,9 @@ import lombok.Getter; import java.util.Arrays; +/** + * 钱包的unique code + */ @Getter @AllArgsConstructor public enum WalletTypeEnum { diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java index 5523ff404..b996fd43a 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteWalletService.java @@ -3,7 +3,7 @@ package com.bsd.pjcloud.wallet.api.feign; import com.bsd.pjcloud.common.core.constant.ServiceNameConstants; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.feign.annotation.NoToken; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -16,11 +16,11 @@ public interface RemoteWalletService { @NoToken @GetMapping("/wallet-manage/get-or-create-wallet") - R getOrCreateWallet(@RequestParam Long userId, @RequestParam(required = false) WalletTypeCodeEnum walletTypeCode); + R getOrCreateWallet(@RequestParam Long userId, @RequestParam(required = false) WalletTypeEnum walletTypeCode); @NoToken @GetMapping("/wallet-manage/get-wallet") - R getWallet(@RequestParam Long userId, @RequestParam WalletTypeCodeEnum walletTypeCode); + R getWallet(@RequestParam Long userId, @RequestParam WalletTypeEnum walletTypeCode); @NoToken @GetMapping("/wallet-manage/create-wallet") 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 e87c26044..5a6fb29e5 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 @@ -6,15 +6,12 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.admin.api.entity.SysUser; -import com.bsd.pjcloud.common.core.exception.ErrorCodes; -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.constant.WalletTypeEnum; import com.bsd.pjcloud.wallet.api.dto.WalletManageDto; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.service.WalletManageService; @@ -49,7 +46,7 @@ public class WalletManageController { /* ************************************* start 远程调用 start ************************************* */ @Inner @GetMapping("/get-or-create-wallet") - public R getOrCreateWallet(@RequestParam Long userId, @RequestParam WalletTypeCodeEnum walletTypeCode) { + public R getOrCreateWallet(@RequestParam Long userId, @RequestParam WalletTypeEnum walletTypeCode) { WalletManageEntity wallet = walletManageService.getOrCreateWallet(userId, walletTypeCode); if (ObjectUtil.isEmpty(wallet)) { return R.failed("用户钱包不存在"); @@ -66,7 +63,7 @@ public class WalletManageController { @Inner @GetMapping("/get-wallet") - public R getWallet(@RequestParam Long userId, @RequestParam WalletTypeCodeEnum walletTypeCode) { + public R getWallet(@RequestParam Long userId, @RequestParam WalletTypeEnum walletTypeCode) { WalletManageEntity wallet = walletManageService.getWallet(userId, walletTypeCode); if (ObjectUtil.isEmpty(wallet)) { return R.failed("用户钱包不存在"); 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 bcd2ec646..cb55b9063 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 @@ -3,11 +3,10 @@ package com.bsd.pjcloud.wallet.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; 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; import java.util.List; @@ -34,7 +33,7 @@ public interface WalletManageService extends IService { * * @param userId */ - WalletManageEntity getOrCreateWallet(@NotNull Long userId, @NotNull WalletTypeCodeEnum walletTypeCode); + WalletManageEntity getOrCreateWallet(@NotNull Long userId, @NotNull WalletTypeEnum walletTypeCode); /** * 获取钱包(没有缓存) @@ -43,7 +42,7 @@ public interface WalletManageService extends IService { * @param walletTypeCode * @return */ - WalletManageEntity getWallet(@NotNull Long userId, @NotNull WalletTypeCodeEnum walletTypeCode); + WalletManageEntity getWallet(@NotNull Long userId, @NotNull WalletTypeEnum walletTypeCode); /** diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTypeService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTypeService.java index d3bdb40e4..3f86ee37e 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTypeService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletTypeService.java @@ -1,14 +1,12 @@ package com.bsd.pjcloud.wallet.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity; -import java.io.Serializable; - public interface WalletTypeService extends IService { - WalletTypeEntity getByUniqueCode(WalletTypeCodeEnum walletTypeCodeEnum); + WalletTypeEntity getByUniqueCode(WalletTypeEnum walletTypeCodeEnum); void create(WalletTypeEntity dto); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java index 35346c1e7..175d0ca0a 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletActiveServiceImpl.java @@ -14,7 +14,7 @@ import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.exception.CheckedException; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import com.bsd.pjcloud.wallet.api.dto.MchManageDto; import com.bsd.pjcloud.wallet.api.dto.WalletActiveDto; import com.bsd.pjcloud.wallet.api.entity.MchManageEntity; @@ -23,7 +23,6 @@ import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity; import com.bsd.pjcloud.wallet.api.utils.MchDataUtil; import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import com.bsd.pjcloud.wallet.api.vo.WalletActiveVo; -import com.bsd.pjcloud.wallet.api.vo.WalletManageVo; import com.bsd.pjcloud.wallet.mapper.WalletActiveMapper; import com.bsd.pjcloud.wallet.service.MchManageService; import com.bsd.pjcloud.wallet.service.WalletActiveService; @@ -61,7 +60,7 @@ public class WalletActiveServiceImpl extends ServiceImpl walletQuery = new LambdaQueryWrapper().eq(WalletManageEntity::getUserId, userId).eq(WalletManageEntity::getWalletTypeId, walletType.getId()); @@ -113,7 +113,7 @@ public class WalletManageServiceImpl extends ServiceImpl() diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTypeServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTypeServiceImpl.java index deaf74138..6c0c53db8 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTypeServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletTypeServiceImpl.java @@ -3,14 +3,11 @@ package com.bsd.pjcloud.wallet.service.impl; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.bsd.pjcloud.common.core.constant.CacheConstants; import com.bsd.pjcloud.common.core.exception.CheckedException; -import com.bsd.pjcloud.wallet.api.constant.WalletTypeCodeEnum; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity; import com.bsd.pjcloud.wallet.mapper.WalletTypeMapper; import com.bsd.pjcloud.wallet.service.WalletTypeService; -import com.github.yulichang.query.MPJLambdaQueryWrapper; -import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.io.Serializable; @@ -31,7 +28,7 @@ public class WalletTypeServiceImpl extends ServiceImpl() .eq(WalletTypeEntity::getUniqueCode, walletTypeCodeEnum.getCode()) ); From 2b25aafc15cd2c869d7125e6580b7597dec12e44 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 9 Jan 2025 09:21:12 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=E4=B8=8B=E5=8D=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/order/HardOrderStatusEnum.java | 3 ++ .../api/constant/order/HardOrderTypeEnum.java | 6 +++ .../hard/api/dto/order/HardCarDto.java | 3 ++ .../hard/api/dto/order/HardOrderDto.java | 8 +++ .../hard/api/vo/order/HardOrderVo.java | 12 ++++- pjcloud-hardware/pjcloud-hardware-biz/pom.xml | 5 ++ .../controller/order/HardCarController.java | 18 ++++++- .../hard/mapper/order/HardCarMapper.java | 3 +- .../hard/mapper/order/HardOrderMapper.java | 12 ++++- .../impl/order/HardwareOrderServiceImpl.java | 53 ++++++++++++++----- .../api/dto/WalletBalanceTransactionDto.java | 8 +-- .../feign/RemoteWalletTransactionService.java | 6 +-- pjcloud-wallet/pjcloud-wallet-biz/pom.xml | 5 ++ 13 files changed, 120 insertions(+), 22 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java index 1697a48a3..c5f5f19bb 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java @@ -6,6 +6,9 @@ import lombok.Getter; import java.util.Arrays; +/** + * 订单状态 + */ @AllArgsConstructor @Getter public enum HardOrderStatusEnum { diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java index da92d1354..be3fb28f9 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java @@ -28,8 +28,14 @@ public enum HardOrderTypeEnum { public static final List refundList = List.of(BELOW, RESERVE); + public static final List payList = List.of(BELOW, RESERVE); + public static boolean isRefund(HardOrderTypeEnum type) { return refundList.contains(type); } + public static boolean isPay(HardOrderTypeEnum type) { + return refundList.contains(type); + } + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardCarDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardCarDto.java index 3e69836be..277796076 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardCarDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardCarDto.java @@ -5,4 +5,7 @@ import lombok.Data; @Data public class HardCarDto extends HardCarEntity { + + private Long orderId; + } 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 a66b0ed28..3bcf940d5 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 @@ -3,6 +3,14 @@ package com.bsd.pjcloud.hard.api.dto.order; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import lombok.Data; +import java.util.List; + @Data public class HardOrderDto extends HardOrderEntity { + + /** + * 用户相关 + */ + private List userIds; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java index 61590c55f..03a415b8e 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java @@ -3,10 +3,11 @@ package com.bsd.pjcloud.hard.api.vo.order; 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.order.HardOrderEntity; +import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @Data -public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, BaseDeptInterface { +public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, BaseDeptInterface, BaseMchInterface { /** * 用户相关 */ @@ -20,4 +21,13 @@ public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, B * 部门相关 */ private String deptName; + + private String merchantName; + + /** + * 设备相关 + */ + private String hardName; + + private String hardType; } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/pom.xml b/pjcloud-hardware/pjcloud-hardware-biz/pom.xml index 686e24b41..ee6079f26 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/pom.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/pom.xml @@ -13,6 +13,11 @@ pjcloud-hardware-biz + + + com.bsd + pjcloud-common-seata + com.alibaba.cloud diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java index 39c346fed..c0f009ad8 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java @@ -2,6 +2,7 @@ package com.bsd.pjcloud.hard.controller.order; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -13,8 +14,12 @@ import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; import com.bsd.pjcloud.hard.api.dto.app.HardCarSaveOrUpdateDto; import com.bsd.pjcloud.hard.api.dto.order.HardCarDto; import com.bsd.pjcloud.hard.api.entity.order.HardCarEntity; +import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; +import com.bsd.pjcloud.hard.api.entity.order.HardParentCarEntity; import com.bsd.pjcloud.hard.api.vo.order.HardCarVo; import com.bsd.pjcloud.hard.service.HardCarService; +import com.bsd.pjcloud.hard.service.HardOrderService; +import com.bsd.pjcloud.hard.service.HardParentCarService; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -41,6 +46,7 @@ import java.util.List; public class HardCarController { private final HardCarService hardCarService; + private final HardOrderService hardOrderService; /* ************************************* start app start ************************************* */ @GetMapping("/app/mch-detail") @@ -51,7 +57,7 @@ public class HardCarController { } @GetMapping("/app/order-id") - @Operation(summary = "根据订单id查询当前用户购物车") + @Operation(summary = "根据订单id查询购物车") public R> appOrderId(@RequestParam Long orderId) { return R.ok(hardCarService.getByOrderId(orderId)); } @@ -67,6 +73,16 @@ public class HardCarController { } /* ************************************* end app end ************************************* */ + @GetMapping("/order-id") + @Operation(summary = "根据订单id查询购物车") + public R> orderId(@ParameterObject Page page, @RequestParam Long orderId) { + HardOrderEntity order = hardOrderService.getById(orderId); + if (ObjectUtil.isEmpty(order)) return null; + HardCarDto dto = new HardCarDto(); + dto.setParentCarId(order.getParentCarId()); + return R.ok(hardCarService.pageJoin(page, dto)); + } + @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('hard_hardCar_view')") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java index 3c6ae8196..0fd86ffde 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardCarMapper.java @@ -13,7 +13,8 @@ public interface HardCarMapper extends PjcloudBaseMapper { default Page pageJoin(Page page, HardCarDto dto) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() - .selectAll(HardCarEntity.class); + .selectAll(HardCarEntity.class) + .eqIfExists(HardCarEntity::getParentCarId, dto.getParentCarId()); return selectJoinPage(page, HardCarVo.class, wrapper); } } \ 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 a4e9b1249..67fd637d0 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 @@ -1,10 +1,13 @@ package com.bsd.pjcloud.hard.mapper.order; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; +import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; +import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; @@ -12,7 +15,14 @@ import org.apache.ibatis.annotations.Mapper; public interface HardOrderMapper extends PjcloudBaseMapper { default Page pageJoin(Page page, HardOrderDto dto) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() - .selectAll(HardOrderEntity.class); + .selectAll(HardOrderEntity.class) + .selectAs(HardManagerEntity::getName, HardOrderVo::getHardName) + .selectAs(HardManagerEntity::getType, HardOrderVo::getHardType) + .leftJoin(HardManagerEntity.class, HardManagerEntity::getId, HardOrderEntity::getHardId) + .eqIfExists(HardOrderEntity::getOrderType, dto.getOrderType()) + .eqIfExists(HardOrderEntity::getPayType, dto.getPayType()) + .eqIfExists(HardOrderEntity::getOrderStatus, dto.getOrderStatus()) + .in(ObjectUtil.isNotEmpty(dto.getUserIds()), HardOrderEntity::getUserId, dto.getUserIds()); return selectJoinPage(page, HardOrderVo.class, wrapper); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java index 41eea23af..b7e42343f 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java @@ -25,6 +25,7 @@ import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.entity.order.HardCarEntity; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.entity.order.HardParentCarEntity; +import com.bsd.pjcloud.hard.api.vo.HardManagerVo; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper; import com.bsd.pjcloud.hard.service.HardCarService; @@ -36,6 +37,7 @@ import com.bsd.pjcloud.wallet.api.dto.WalletBalanceTransactionDto; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity; import com.bsd.pjcloud.wallet.api.feign.*; +import com.bsd.pjcloud.wallet.api.utils.MchDataUtil; import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import com.bsd.pjcloud.wallet.api.vo.WalletSettingVo; import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo; @@ -79,6 +81,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl pageJoin(Page page, HardOrderDto dto) { @@ -86,15 +89,27 @@ public class HardwareOrderServiceImpl extends ServiceImpl userIds = list.getRecords().stream().map(HardOrderVo::getUserId).distinct().toList(); - R> userList = userService.getUserById(new ArrayList<>(userIds)); - if (ObjectUtil.isNotEmpty(userList.getData())) { - DataUtil.convertUserList(list.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId)); + 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)); + } } // 部门 List deptIds = list.getRecords().stream().map(HardOrderVo::getDeptId).distinct().toList(); - R> deptList = deptService.getDeptByDeptIds(deptIds); - if (ObjectUtil.isNotEmpty(deptList.getData())) { - DataUtil.convertDeptList(list.getRecords(), deptList.getData()); + if (ObjectUtil.isNotEmpty(deptIds)) { + R> deptList = deptService.getDeptByDeptIds(deptIds); + if (ObjectUtil.isNotEmpty(deptList.getData())) { + DataUtil.convertDeptList(list.getRecords(), deptList.getData()); + } + } + // 商户 + List mchIds = list.getRecords().stream().map(HardOrderVo::getMerchantId).distinct().toList(); + if (ObjectUtil.isNotEmpty(mchIds)) { + R> mchList = remoteMchService.getByIds(mchIds); + if (ObjectUtil.isNotEmpty(mchList.getData())) { + MchDataUtil.convertMchList(list.getRecords(), CollectionUtils.convertMap(mchList.getData(), MchManageVo::getId)); + } } } return list; @@ -151,7 +166,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl addWalletBalance(@RequestBody WalletBalanceTransactionDto dto); @NoToken - @GetMapping("/wallet-transaction/reduce-balance") + @PostMapping("/wallet-transaction/reduce-balance") R reduceWalletBalance(@RequestBody WalletBalanceTransactionDto dto); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/pom.xml b/pjcloud-wallet/pjcloud-wallet-biz/pom.xml index bfc11cf4f..f63a6c1ff 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/pom.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/pom.xml @@ -13,6 +13,11 @@ pjcloud-wallet-biz + + + com.bsd + pjcloud-common-seata + org.springframework.boot From 964b9e87f659b0d06f971384681813d0d13d44f2 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 9 Jan 2025 10:52:43 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=E5=94=AE=E5=90=8E=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/api/constant/HardTypeEnum.java | 2 +- .../pjcloud/hard/api/vo/HardInvoiceVo.java | 2 + .../pjcloud/hard/api/vo/HardManagerVo.java | 2 + .../hard/api/vo/order/HardOrderVo.java | 6 +++ .../order/HardAfterSaleController.java | 10 ++++ .../controller/order/HardOrderController.java | 2 +- .../mapper/order/HardAfterSaleMapper.java | 11 +++- .../hard/mapper/order/HardOrderMapper.java | 6 ++- .../hard/service/HardAfterSaleService.java | 2 + .../hard/service/HardOrderService.java | 6 +++ .../impl/order/HardAfterSaleServiceImpl.java | 25 ++++++++- .../impl/order/HardwareOrderServiceImpl.java | 53 ++++++++++++++++--- .../pjcloud/wallet/api/utils/MchDataUtil.java | 1 + .../pjcloud/wallet/api/vo/WalletActiveVo.java | 2 + .../wallet/api/vo/base/BaseMchInterface.java | 8 +++ 15 files changed, 126 insertions(+), 12 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardTypeEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardTypeEnum.java index 0f99a9daa..fdcafcba8 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardTypeEnum.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardTypeEnum.java @@ -21,7 +21,7 @@ public enum HardTypeEnum { private final String type; private final String description; - public static HardTypeEnum valueOfByType(Integer type) { + public static HardTypeEnum valueOfByType(String type) { if (ObjectUtil.isEmpty(type)) return null; return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get(); } 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 289e7933e..00adb7a2e 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 @@ -13,4 +13,6 @@ public class HardInvoiceVo extends HardInvoiceEntity implements BaseDeptInterfac private Long merchantId; private String merchantName; + + private String logoPic; } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java index 169d9bfc4..85cd91a54 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/HardManagerVo.java @@ -13,4 +13,6 @@ public class HardManagerVo extends HardManagerEntity implements BaseDeptInterfac private String merchantName; + private String logoPic; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java index 03a415b8e..362513d1e 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java @@ -22,8 +22,14 @@ public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, B */ private String deptName; + /** + * 商户相关 + */ + private String merchantName; + private String logoPic; + /** * 设备相关 */ 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 5b1c6539b..a4be792ee 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,6 +14,8 @@ 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; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; @@ -48,6 +50,14 @@ public class HardAfterSaleController { return R.ok(hardAfterSaleService.getHistory(id)); } + @GetMapping(value = "/detail-by-order-id") + @Operation(summary = "查询售后进度") + public R getDetailByOrderId(@RequestParam Long orderId) { + HardAfterSaleDto dto = new HardAfterSaleDto(); + dto.setOrderId(orderId); + return R.ok(hardAfterSaleService.join(dto)); + } + @PutMapping("/agree") @Operation(summary = "同意售后") @Idempotent(expireTime = 10, info = "正在处理中,请勿重复操作") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 8355e50bd..6b47184c9 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -88,7 +88,7 @@ public class HardOrderController { @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('hard_hardwareOrder_view')") public R getById(@PathVariable("id") Long id) { - return R.ok(hardwareOrderService.getById(id)); + return R.ok(hardwareOrderService.join(id)); } @Operation(summary = "新增订单表", description = "新增订单表") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java index 032eaa5a6..9e84ccc09 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleMapper.java @@ -11,10 +11,17 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface HardAfterSaleMapper extends PjcloudBaseMapper { - - default Page pageJoin(Page page, HardAfterSaleDto dto){ + default Page pageJoin(Page page, HardAfterSaleDto dto) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() .selectAll(HardAfterSaleEntity.class); return selectJoinPage(page, HardAfterSaleVo.class, wrapper); } + + default HardAfterSaleVo join(HardAfterSaleDto dto) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper() + .selectAll(HardAfterSaleEntity.class) + .eqIfExists(HardAfterSaleEntity::getId, dto.getId()) + .eqIfExists(HardAfterSaleEntity::getOrderId, dto.getOrderId()); + return selectJoinOne(HardAfterSaleVo.class, wrapper); + } } \ 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 67fd637d0..3c8880a30 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,7 +28,11 @@ public interface HardOrderMapper extends PjcloudBaseMapper { default HardOrderVo join(HardOrderDto dto) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() - .selectAll(HardOrderEntity.class); + .selectAll(HardOrderEntity.class) + .selectAs(HardManagerEntity::getName, HardOrderVo::getHardName) + .selectAs(HardManagerEntity::getType, HardOrderVo::getHardType) + .leftJoin(HardManagerEntity.class, HardManagerEntity::getId, HardOrderEntity::getHardId) + .eqIfExists(HardOrderEntity::getId, dto.getId()); return selectJoinOne(HardOrderVo.class, wrapper); } } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java index ae0f6be7f..e19b6b890 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java @@ -14,6 +14,8 @@ public interface HardAfterSaleService extends IService { Page pageJoin(Page page, HardAfterSaleDto dto); + HardAfterSaleVo join(HardAfterSaleDto dto); + /** * 获取售后进度 * diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java index a8cb90976..35a13598e 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java @@ -2,6 +2,7 @@ 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.constant.HardTypeEnum; import com.bsd.pjcloud.hard.api.dto.hard.HandCancelCodeDto; import com.bsd.pjcloud.hard.api.dto.hard.HardCreateOrderDto; import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; @@ -46,6 +47,11 @@ public interface HardOrderService extends IService { */ void cancelCode(HardOrderEntity order); + /** + * 扣件库存 + */ + void fastenerInventory(HardOrderEntity order); + /** * 核销硬件二维码 * diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java index 24abd1090..75106236c 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.admin.api.dto.UserInfo; import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; @@ -85,6 +86,28 @@ public class HardAfterSaleServiceImpl extends ServiceImpl user = userService.getByUserId(detail.getUserId()); + if (ObjectUtil.isNotEmpty(user.getData())) { + DataUtil.convertUser(detail, user.getData().getSysUser()); + } + } + // 部门 + if (ObjectUtil.isNotEmpty(detail.getDeptId())) { + R dept = deptService.getDeptByDeptId(detail.getDeptId()); + if (ObjectUtil.isNotEmpty(dept.getData())) { + DataUtil.convertDept(detail, dept.getData()); + } + } + } + return detail; + } + @Override public List getHistory(Long id) { return hardAfterSaleLogMapper.selectList(new LambdaQueryWrapper() @@ -161,7 +184,7 @@ public class HardAfterSaleServiceImpl extends ServiceImpl list = baseMapper.pageJoin(page, dto); if (ObjectUtil.isNotEmpty(list.getRecords())) { // 用户 - List userIds = list.getRecords().stream().map(HardOrderVo::getUserId).distinct().toList(); + List userIds = list.getRecords().stream().map(HardOrderVo::getUserId).filter(ObjectUtil::isNotEmpty).distinct().toList(); if (ObjectUtil.isNotEmpty(userIds)) { R> userList = userService.getUserById(new ArrayList<>(userIds)); if (ObjectUtil.isNotEmpty(userList.getData())) { @@ -96,7 +95,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl deptIds = list.getRecords().stream().map(HardOrderVo::getDeptId).distinct().toList(); + List deptIds = list.getRecords().stream().map(HardOrderVo::getDeptId).filter(ObjectUtil::isNotEmpty).distinct().toList(); if (ObjectUtil.isNotEmpty(deptIds)) { R> deptList = deptService.getDeptByDeptIds(deptIds); if (ObjectUtil.isNotEmpty(deptList.getData())) { @@ -104,7 +103,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl mchIds = list.getRecords().stream().map(HardOrderVo::getMerchantId).distinct().toList(); + List mchIds = list.getRecords().stream().map(HardOrderVo::getMerchantId).filter(ObjectUtil::isNotEmpty).distinct().toList(); if (ObjectUtil.isNotEmpty(mchIds)) { R> mchList = remoteMchService.getByIds(mchIds); if (ObjectUtil.isNotEmpty(mchList.getData())) { @@ -119,7 +118,31 @@ public class HardwareOrderServiceImpl extends ServiceImpl user = userService.getByUserId(detail.getUserId()); + if (ObjectUtil.isNotEmpty(user.getData())) { + DataUtil.convertUser(detail, user.getData().getSysUser()); + } + } + // 部门 + if (ObjectUtil.isNotEmpty(detail.getDeptId())) { + R dept = deptService.getDeptByDeptId(detail.getDeptId()); + if (ObjectUtil.isNotEmpty(dept.getData())) { + DataUtil.convertDept(detail, dept.getData()); + } + } + // 商户 + if (ObjectUtil.isNotEmpty(detail.getMerchantId())) { + R mch = remoteMchService.getById(detail.getMerchantId()); + if (ObjectUtil.isNotEmpty(mch.getData())) { + MchDataUtil.convertMch(detail, mch.getData()); + } + } + } + return detail; } @@ -274,6 +297,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl T convertMch(T v, MchManageVo vo) { if (ObjectUtil.isEmpty(vo)) return v; v.setMerchantName(vo.getName()); + v.setLogoPic(vo.getLogoPic()); return v; } diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletActiveVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletActiveVo.java index bff468891..e12a0ffd2 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletActiveVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletActiveVo.java @@ -27,4 +27,6 @@ public class WalletActiveVo extends WalletActiveEntity implements BaseUserInterf * 商户相关 */ private String merchantName; + + private String logoPic; } diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java index afc7012a9..f11cd242f 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/base/BaseMchInterface.java @@ -16,4 +16,12 @@ public interface BaseMchInterface { void setMerchantName(String dchName); + /** + * 商户logo + */ + String getLogoPic(); + + void setLogoPic(String logoPic); + + } From 37a88b1d532a0fb6a2a3e91b8538cf7145601d5d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 9 Jan 2025 13:02:18 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:h5=E9=80=80=E6=AC=BE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/constant/refund/HardSaleTypeEnum.java | 16 +++ .../hard/api/dto/order/HardOrderDto.java | 5 + .../hard/api/vo/order/HardOrderVo.java | 8 +- .../order/HardAfterSaleController.java | 33 +++++ .../controller/order/HardOrderController.java | 1 + .../mapper/order/HardAfterSaleLogMapper.java | 13 ++ .../hard/service/HardAfterSaleService.java | 15 ++ .../impl/order/HardAfterSaleServiceImpl.java | 76 ++++++++++ .../impl/order/HardwareOrderServiceImpl.java | 12 +- .../src/main/resources/application.yml | 2 +- .../api/entity/WalletSettingEntity.java | 133 +++++++++--------- .../controller/WalletSettingController.java | 20 +-- .../impl/WalletSettingServiceImpl.java | 1 + 13 files changed, 254 insertions(+), 81 deletions(-) create mode 100644 pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/refund/HardSaleTypeEnum.java diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/refund/HardSaleTypeEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/refund/HardSaleTypeEnum.java new file mode 100644 index 000000000..b0b0bb727 --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/refund/HardSaleTypeEnum.java @@ -0,0 +1,16 @@ +package com.bsd.pjcloud.hard.api.constant.refund; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum HardSaleTypeEnum { + + IN_SALE("10", "售中退款"), + AFTER_SALE("20", "售后退款"), + ; + + private final String type; + private final String name; +} 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 3bcf940d5..975b823c0 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 @@ -13,4 +13,9 @@ public class HardOrderDto extends HardOrderEntity { */ private List userIds; + /** + * 是否查询购物车列表 + */ + private Boolean isFindCarList = false; + } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java index 362513d1e..8d3767a09 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java @@ -6,6 +6,8 @@ import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; +import java.util.List; + @Data public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, BaseDeptInterface, BaseMchInterface { /** @@ -25,7 +27,6 @@ public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, B /** * 商户相关 */ - private String merchantName; private String logoPic; @@ -36,4 +37,9 @@ public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, B private String hardName; private String hardType; + + /** + * 购物车 + */ + private List carList; } 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 a4be792ee..fa1bafbb8 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 @@ -44,6 +44,39 @@ public class HardAfterSaleController { private final HardAfterSaleService hardAfterSaleService; + /* ************************************* start app start ************************************* */ + @PostMapping(value = "/app/create") + @Operation(summary = "app申请售后") + @Idempotent(expireTime = 10, info = "正在申请中,请勿重复操作") + public R appCreate(@RequestBody HardAfterSaleDto dto) { + PjcloudUser user = SecurityUtils.getUser(); + dto.setUserId(user.getId()); + return R.ok(hardAfterSaleService.create(dto)); + } + + @GetMapping(value = "/app/cancel") + @Operation(summary = "app取消售后") + @Idempotent(expireTime = 10, info = "正在取消中,请勿重复操作") + public R appCancel(@RequestParam Long id) { + PjcloudUser user = SecurityUtils.getUser(); + return R.ok(hardAfterSaleService.cancelAfterSale(user.getId(), id)); + } + + @GetMapping(value = "/app/history") + @Operation(summary = "app查询售后进度") + public R> appHistory(@RequestParam Long id) { + return R.ok(hardAfterSaleService.getHistory(id)); + } + + @GetMapping(value = "/app/detail-by-order-id") + @Operation(summary = "app查询退款详情") + public R appDetail(@RequestParam Long orderId) { + HardAfterSaleDto dto = new HardAfterSaleDto(); + dto.setOrderId(orderId); + return R.ok(hardAfterSaleService.join(dto)); + } + /* ************************************* end app end ************************************* */ + @GetMapping(value = "/history") @Operation(summary = "查询售后进度") public R> history(@RequestParam Long id) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 6b47184c9..c4d4bfac2 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -50,6 +50,7 @@ public class HardOrderController { public R appPageJoin(@ParameterObject Page page, @ParameterObject HardOrderDto dto) { PjcloudUser user = SecurityUtils.getUser(); dto.setUserId(user.getId()); + dto.setIsFindCarList(true); return R.ok(hardwareOrderService.pageJoin(page, dto)); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleLogMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleLogMapper.java index c375f3ce5..cddab1e9b 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleLogMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardAfterSaleLogMapper.java @@ -1,5 +1,7 @@ package com.bsd.pjcloud.hard.mapper.order; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleLogDto; @@ -8,6 +10,8 @@ import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleLogVo; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface HardAfterSaleLogMapper extends PjcloudBaseMapper { @@ -16,4 +20,13 @@ public interface HardAfterSaleLogMapper extends PjcloudBaseMapper list = selectList(new LambdaQueryWrapper() + .eq(HardAfterSaleLogEntity::getAfterSaleId, id) + .orderByAsc(HardAfterSaleLogEntity::getId) + ); + if (ObjectUtil.isEmpty(list)) return null; + return list.stream().findFirst().get(); + } } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java index e19b6b890..ebed93271 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAfterSaleService.java @@ -16,6 +16,21 @@ public interface HardAfterSaleService extends IService { HardAfterSaleVo join(HardAfterSaleDto dto); + /** + * 申请售后 + * @param dto + * @return + */ + Long create(HardAfterSaleDto dto); + + /** + * 取消售后 + * @param userId 用户id + * @param afterSaleId 售后id + * @return + */ + Boolean cancelAfterSale(Long userId, Long afterSaleId); + /** * 获取售后进度 * diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java index 75106236c..18a1566b4 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java @@ -3,6 +3,7 @@ package com.bsd.pjcloud.hard.service.impl.order; import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.admin.api.dto.UserInfo; @@ -19,6 +20,7 @@ import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; import com.bsd.pjcloud.hard.api.constant.refund.HardAfterSaleOperateTypeEnum; import com.bsd.pjcloud.hard.api.constant.refund.HardRefundStatusEnum; import com.bsd.pjcloud.hard.api.constant.refund.HardSaleStatusEnum; +import com.bsd.pjcloud.hard.api.constant.refund.HardSaleTypeEnum; 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; @@ -86,6 +88,45 @@ public class HardAfterSaleServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(HardOrderEntity::getApplyCancelTime, null) + .set(HardOrderEntity::getOrderStatus, HardOrderStatusEnum.REFUND.getType()) + .set(HardOrderEntity::getRefundStatus, HardRefundStatusEnum.NONE.getStatus()) + .eq(HardOrderEntity::getId, order.getId()); + hardOrderService.update(updateWrapper); + return saveObj; + } + private HardAfterSaleServiceImpl getSelf() { return SpringUtil.getBean(getClass()); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java index d003b7655..6b710c4f9 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java @@ -11,6 +11,7 @@ import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.admin.api.utils.DataUtil; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; +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.hard.api.constant.HardTypeEnum; @@ -26,6 +27,7 @@ import com.bsd.pjcloud.hard.api.entity.HardManagerEntity; import com.bsd.pjcloud.hard.api.entity.order.HardCarEntity; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.entity.order.HardParentCarEntity; +import com.bsd.pjcloud.hard.api.vo.order.HardCarVo; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper; import com.bsd.pjcloud.hard.service.HardCarService; @@ -72,6 +74,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl pageJoin(Page page, HardOrderDto dto) { @@ -110,6 +112,14 @@ public class HardwareOrderServiceImpl extends ServiceImpl carList = hardCarService.getByParentCarId(v.getParentCarId()); + List carVoList = BeanUtils.toBean(carList, HardCarVo.class); + v.setCarList(carVoList); + } + } } return list; } diff --git a/pjcloud-supermarket-erp/pjcloud-supermarket-erp-biz/src/main/resources/application.yml b/pjcloud-supermarket-erp/pjcloud-supermarket-erp-biz/src/main/resources/application.yml index 8914641d5..54c28d3b0 100644 --- a/pjcloud-supermarket-erp/pjcloud-supermarket-erp-biz/src/main/resources/application.yml +++ b/pjcloud-supermarket-erp/pjcloud-supermarket-erp-biz/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: username: @nacos.username@ password: @nacos.password@ discovery: - server-addr: pjcloud-register:8848 + server-addr: ${NACOS_HOST:pjcloud-register}:${NACOS_PORT:8848} config: server-addr: ${spring.cloud.nacos.discovery.server-addr} config: diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/WalletSettingEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/WalletSettingEntity.java index 202db7a12..fc3095b1e 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/WalletSettingEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/WalletSettingEntity.java @@ -2,12 +2,15 @@ package com.bsd.pjcloud.wallet.api.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import com.bsd.pjcloud.common.core.util.TenantTable; + import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * 支付设置 @@ -23,100 +26,100 @@ import java.time.LocalDateTime; public class WalletSettingEntity extends Model { - /** - * 编号 - */ + /** + * 编号 + */ @TableId(type = IdType.ASSIGN_ID) - @Schema(description="编号") + @Schema(description = "编号") private Long id; - /** - * 每一餐的上限(分) - */ - @Schema(description="每一餐的上限(分)") + /** + * 每一餐的上限(分) + */ + @Schema(description = "每一餐的上限(分)") private Integer payAmountMealLimit; - /** - * 每一餐的倍数 - */ - @Schema(description="每一餐的倍数") + /** + * 每一餐的倍数 + */ + @Schema(description = "每一餐的倍数") private BigDecimal payAmountMealTimes; - /** - * 是否开启每一餐的额外缴费 - */ - @Schema(description="是否开启每一餐的额外缴费") + /** + * 是否开启每一餐的额外缴费 + */ + @Schema(description = "是否开启每一餐的额外缴费") private String payAmountEnable; - /** - * 是否开启钱包二维码刷新 - */ - @Schema(description="是否开启钱包二维码刷新") + /** + * 是否开启钱包二维码刷新 + */ + @Schema(description = "是否开启钱包二维码刷新") private String refreshQrCodeEnable; - /** - * 二维码刷新频率 - */ - @Schema(description="二维码刷新频率") + /** + * 二维码刷新频率 + */ + @Schema(description = "二维码刷新频率") private Integer refreshQrCodeFre; - /** - * 是否开启离线订单的审批 - */ - @Schema(description="是否开启离线订单的审批") + /** + * 是否开启离线订单的审批 + */ + @Schema(description = "是否开启离线订单的审批") private String offLineOrderApplyEnable; - /** - * 退款理由 - */ - @Schema(description="退款理由") + /** + * 退款理由 + */ + @Schema(description = "退款理由") private String afterSaleRefundReasons; - /** - * 退货理由 - */ - @Schema(description="退货理由") + /** + * 退货理由 + */ + @Schema(description = "退货理由") private String afterSaleReturnReasons; - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建人") private String createBy; - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建时间") private LocalDateTime createTime; - /** - * 修改人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改人") + /** + * 修改人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改人") private String updateBy; - /** - * 修改时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改时间") + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改时间") private LocalDateTime updateTime; - /** - * 删除标记 - */ + /** + * 删除标记 + */ @TableLogic - @TableField(fill = FieldFill.INSERT) - @Schema(description="删除标记") + @TableField(fill = FieldFill.INSERT) + @Schema(description = "删除标记") private String delFlag; - /** - * 租户ID - */ - @Schema(description="租户ID") + /** + * 租户ID + */ + @Schema(description = "租户ID") private Long tenantId; } \ No newline at end of file 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 abeb8dd7b..2aed7a84a 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 @@ -1,30 +1,18 @@ package com.bsd.pjcloud.wallet.controller; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -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.dto.WalletSettingDto; -import com.bsd.pjcloud.wallet.api.entity.WalletSettingEntity; import com.bsd.pjcloud.wallet.api.vo.WalletSettingVo; import com.bsd.pjcloud.wallet.service.WalletSettingService; -import org.springframework.security.access.prepost.PreAuthorize; -import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import org.springdoc.core.annotations.ParameterObject; 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.web.bind.annotation.*; -import java.util.List; -import java.util.Objects; - /** * 支付设置 * @@ -46,8 +34,14 @@ public class WalletSettingController { public R get() { return R.ok(walletSettingService.getSetting()); } - /* ************************************* start 远程调用 start ************************************* */ + /* ************************************* end 远程调用 end ************************************* */ + /* ************************************* start app start ************************************* */ + @GetMapping("/app/get-setting") + public R appGet() { + return R.ok(walletSettingService.getSetting()); + } + /* ************************************* end app end ************************************* */ @Operation(summary = "获取支付配置", description = "获取支付配置") @GetMapping("") diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletSettingServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletSettingServiceImpl.java index 19bb2bef1..f8067d48f 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletSettingServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletSettingServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.List; /** * 支付设置 From 8f77b9e79578a2e990544c26d7a39cff8436f250 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 9 Jan 2025 13:27:19 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fix=EF=BC=9A=E5=95=86=E6=88=B7=E4=B8=8B?= =?UTF-8?q?=E6=8B=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/order/HardAfterSaleServiceImpl.java | 12 ++++++------ .../wallet/controller/MchManageController.java | 6 ++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java index 18a1566b4..4b669314a 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java @@ -91,7 +91,7 @@ public class HardAfterSaleServiceImpl extends ServiceImpl