Преглед на файлове

code review:钱包的逻辑

YunaiV преди 1 година
родител
ревизия
9697aee898
променени са 12 файла, в които са добавени 24 реда и са изтрити 15 реда
  1. 2 4
      yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java
  2. 1 1
      yudao-module-pay/yudao-module-pay-biz/pom.xml
  3. 3 1
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApiImpl.java
  4. 2 1
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletController.java
  5. 2 3
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/wallet/PayWalletRespVO.java
  6. 1 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/wallet/PayWalletUserReqVO.java
  7. 3 2
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/transfer/PayTransferConvert.java
  8. 1 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletConvert.java
  9. 3 2
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferExtensionDO.java
  10. 3 1
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java
  11. 1 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferServiceImpl.java
  12. 2 0
      yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageServiceImpl.java

+ 2 - 4
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java

@@ -160,8 +160,7 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<AlipayPa
 
         // 2.1 执行请求
         AlipayTradeRefundResponse response;
-        if (Objects.equals(config.getMode(), MODE_CERTIFICATE)) {
-            // 证书模式
+        if (Objects.equals(config.getMode(), MODE_CERTIFICATE)) {  // 证书模式
             response = client.certificateExecute(request);
         } else {
             response = client.execute(request);
@@ -203,8 +202,7 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<AlipayPa
 
         // 2.1 执行请求
         AlipayTradeFastpayRefundQueryResponse response;
-        if (Objects.equals(config.getMode(), MODE_CERTIFICATE)) {
-            // 证书模式
+        if (Objects.equals(config.getMode(), MODE_CERTIFICATE)) { // 证书模式
             response = client.certificateExecute(request);
         } else {
             response = client.execute(request);

+ 1 - 1
yudao-module-pay/yudao-module-pay-biz/pom.xml

@@ -23,12 +23,12 @@
             <artifactId>yudao-module-pay-api</artifactId>
             <version>${revision}</version>
         </dependency>
-
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-module-member-api</artifactId>
             <version>${revision}</version>
         </dependency>
+
         <!-- 业务组件 -->
         <dependency>
             <groupId>cn.iocoder.boot</groupId>

+ 3 - 1
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApiImpl.java

@@ -15,6 +15,7 @@ import javax.annotation.Resource;
 @Service
 @Validated
 public class PayTransferApiImpl implements PayTransferApi {
+
     @Resource
     private PayTransferService payTransferService;
 
@@ -22,4 +23,5 @@ public class PayTransferApiImpl implements PayTransferApi {
     public Long createTransfer(PayTransferCreateReqDTO reqDTO) {
         return payTransferService.createTransfer(reqDTO);
     }
-}
+
+}

+ 2 - 1
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletController.java

@@ -65,7 +65,8 @@ public class PayWalletController {
                     MemberUserRespDTO::getId);
             pageVO.setUserIds(userIds);
         }
-        //  暂时支持查询 userType 会员类型。管理员类型还不知道使用场景
+        // TODO @jason:管理员也可以先查询下。。
+        // 暂时支持查询 userType 会员类型。管理员类型还不知道使用场景
         PageResult<PayWalletDO> pageResult = payWalletService.getWalletPage(MEMBER.getValue(),pageVO);
         if (CollectionUtil.isEmpty(pageResult.getList())) {
             return success(new PageResult<>(pageResult.getTotal()));

+ 2 - 3
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/wallet/PayWalletRespVO.java

@@ -19,10 +19,9 @@ public class PayWalletRespVO extends PayWalletBaseVO {
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "用户昵称")
+    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王**")
     private String nickname;
-
-    @Schema(description = "用户头像")
+    @Schema(description = "用户头像", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xxx.jpg")
     private String avatar;
 
 }

+ 1 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/wallet/PayWalletUserReqVO.java

@@ -12,4 +12,5 @@ public class PayWalletUserReqVO {
     @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
+
 }

+ 3 - 2
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/transfer/PayTransferConvert.java

@@ -10,8 +10,9 @@ import org.mapstruct.factory.Mappers;
 @Mapper
 public interface PayTransferConvert {
 
-    PayTransferConvert  INSTANCE = Mappers.getMapper(PayTransferConvert.class);
-    @Mapping(source = "title", target = "subject")
+    PayTransferConvert INSTANCE = Mappers.getMapper(PayTransferConvert.class);
+
+    @Mapping(source = "title", target = "subject") // TODO @jason:是不是都改成 subject 完事呀?
     PayTransferDO convert(PayTransferCreateReqDTO dto);
 
     PayTransferCreateReqDTO convert(PayDemoTransferCreateReqVO vo);

+ 1 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/wallet/PayWalletConvert.java

@@ -26,6 +26,7 @@ public interface PayWalletConvert {
         PageResult<PayWalletRespVO> pageResult = convertPage(page);
         pageResult.getList().forEach( wallet -> MapUtils.findAndThen(userMap, wallet.getUserId(),
                 user -> {
+            // TODO @jason:可以链式调用哈;
                     wallet.setNickname(user.getNickname());
                     wallet.setAvatar(user.getAvatar());
                 }));

+ 3 - 2
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferExtensionDO.java

@@ -11,7 +11,8 @@ import lombok.Data;
 import java.util.Map;
 
 // TODO @jason:转账是不是类似 refund,不用拓展单呀?支付做拓展单的原因,是因为它存在不确定性,可以切换多种;转账和退款,都是明确方式的;
-// @芋艿 转账是不是也存在多种方式。 例如转账到银行卡。 可以使用微信,也可以使用支付宝。 支付宝账号余额不够,可以切换到微信
+// @芋艿 转账是不是也存在多种方式。 例如转账到银行卡。 可以使用微信,也可以使用支付宝。 支付宝账号余额不够,可以切换到微信;
+// TODO @jason:发起了,就不允许调整了,类似退款哈;
 /**
  * 转账拓展单 DO
  *
@@ -64,4 +65,4 @@ public class PayTransferExtensionDO extends BaseDO {
      */
     private String channelNotifyData;
 
-}
+}

+ 3 - 1
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/mysql/wallet/PayWalletRechargePackageMapper.java

@@ -19,7 +19,9 @@ public interface PayWalletRechargePackageMapper extends BaseMapperX<PayWalletRec
                 .orderByDesc(PayWalletRechargePackageDO::getPayPrice));
     }
 
+    // TODO @jason:这里要有空格哈;String name) {
     default PayWalletRechargePackageDO selectByName(String name){
         return selectOne(PayWalletRechargePackageDO::getName, name);
     }
-}
+
+}

+ 1 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferServiceImpl.java

@@ -218,6 +218,7 @@ public class PayTransferServiceImpl implements PayTransferService {
         PayChannelEnum payChannel = PayChannelEnum.getByCode(channelCode);
         switch (transferType) {
             case ALIPAY_BALANCE: {
+                // TODO @jason:可以抽到 PayChannelEnum 里,isAlipay? 类似这种哈
                 if (!payChannel.getCode().startsWith("alipay")) {
                     throw exception(PAY_TRANSFER_TYPE_AND_CHANNEL_NOT_MATCH);
                 }

+ 2 - 0
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargePackageServiceImpl.java

@@ -48,6 +48,7 @@ public class PayWalletRechargePackageServiceImpl implements PayWalletRechargePac
     public Long createWalletRechargePackage(WalletRechargePackageCreateReqVO createReqVO) {
         // 校验套餐名是否唯一
         validateRechargePackageNameUnique(null, createReqVO.getName());
+
         // 插入
         PayWalletRechargePackageDO walletRechargePackage = WalletRechargePackageConvert.INSTANCE.convert(createReqVO);
         walletRechargePackageMapper.insert(walletRechargePackage);
@@ -61,6 +62,7 @@ public class PayWalletRechargePackageServiceImpl implements PayWalletRechargePac
         validateWalletRechargePackageExists(updateReqVO.getId());
         // 校验套餐名是否唯一
         validateRechargePackageNameUnique(updateReqVO.getId(), updateReqVO.getName());
+
         // 更新
         PayWalletRechargePackageDO updateObj = WalletRechargePackageConvert.INSTANCE.convert(updateReqVO);
         walletRechargePackageMapper.updateById(updateObj);