From 68419fe9ac273ca07cd6f178809a9a57065e7bee Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 6 May 2025 10:35:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=81=E6=B3=A2=E9=93=B6=E8=A1=8C?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/HardOrderTotalController.java | 12 +++--- .../constant/pay/ThirdPayVoStatusEnum.java | 1 + .../pjcloud/thirdparty/vo/pay/PayBaseVo.java | 20 +++++++++ .../thirdparty/vo/pay/PayGetWalletInfoVo.java | 2 +- .../thirdparty/vo/pay/PayWalletInfoVo.java | 23 ++++++++++ .../controller/pay/ThirdPayApiController.java | 13 ++++-- .../service/ThirdPayApiService.java | 6 +-- .../impl/pay/ThirdPayApiServiceImpl.java | 42 +++++++++++++++---- .../admin/api/feign/RemoteUserService.java | 7 ++++ .../admin/controller/SysUserController.java | 17 ++++++-- .../wallet/api/feign/RemoteWalletService.java | 4 ++ .../controller/WalletManageController.java | 8 +++- .../WalletTransactionController.java | 1 + .../wallet/service/WalletManageService.java | 5 +++ .../service/impl/WalletManageServiceImpl.java | 21 +++++++++- 15 files changed, 155 insertions(+), 27 deletions(-) create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayBaseVo.java create mode 100644 pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayWalletInfoVo.java diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java index b98c69b1..b38aac8d 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderTotalController.java @@ -149,10 +149,10 @@ public class HardOrderTotalController { } @Operation(summary = "设备交易记录导出", description = "设备交易记录导出") - @GetMapping("/export-sb") + @PostMapping("/export-sb") @SysLog("设备交易记录导出") @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_sb')") - public void exportSb(HttpServletResponse response, HardOrderDto dto) throws IOException { + public void exportSb(HttpServletResponse response, @RequestBody HardOrderDto dto) throws IOException { dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); List list = hardOrderTotalService.listSb(dto); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/设备交易金额汇总.xlsx")).build()) { @@ -223,10 +223,10 @@ public class HardOrderTotalController { @Operation(summary = "商户交易记录导出", description = "商户交易记录导出") - @GetMapping("/export-cs") + @PostMapping("/export-cs") @SysLog("商户交易记录导出") @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_cs')") - public void exportTk(HttpServletResponse response, HardOrderDto dto) throws IOException { + public void exportTk(HttpServletResponse response, @RequestBody HardOrderDto dto) throws IOException { dto.setOrderStatusCodes(HardOrderStatusEnum.getPaySuccessCodes()); // 查询商户和下面的子商户 List mchDtoIds = new ArrayList<>(); @@ -308,10 +308,10 @@ public class HardOrderTotalController { } @Operation(summary = "支付方式交易记录", description = "支付方式交易记录") - @GetMapping("/export-payType") + @PostMapping("/export-payType") @SysLog("支付方式交易记录") @PreAuthorize("@pms.hasPermission('hard_hardTotal_export_payType')") - public void exportPayType(HttpServletResponse response, HardOrderDto dto) throws IOException { + public void exportPayType(HttpServletResponse response, @RequestBody HardOrderDto dto) throws IOException { List list = hardOrderTotalService.listPayType(dto); try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(ResourceUtil.getStream("file/支付方式交易汇总.xlsx")).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/constant/pay/ThirdPayVoStatusEnum.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/constant/pay/ThirdPayVoStatusEnum.java index 2b66394c..ea1440ec 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/constant/pay/ThirdPayVoStatusEnum.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/constant/pay/ThirdPayVoStatusEnum.java @@ -15,6 +15,7 @@ public enum ThirdPayVoStatusEnum { SUCCESS(200, "成功"), SIGN_ERROR(400, "签名验证失败"), + PARAMS_ERROR(500, "参数错误"), USER_EXIST(501, "用户不存在"), ORDER_EXIST(502, "订单不存在"), BALANCE_NOT_ENOUGH(505, "用户余额不足"), diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayBaseVo.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayBaseVo.java new file mode 100644 index 00000000..22ba74d2 --- /dev/null +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayBaseVo.java @@ -0,0 +1,20 @@ +package com.bsd.pjcloud.thirdparty.vo.pay; + +import com.bsd.pjcloud.thirdparty.constant.pay.ThirdPayVoStatusEnum; +import lombok.Data; + +@Data +public class PayBaseVo { + + private Integer code; + + private String message; + + private T data; + + public void set(ThirdPayVoStatusEnum type) { + code = type.getType(); + message = type.getDescription(); + } + +} diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayGetWalletInfoVo.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayGetWalletInfoVo.java index 1b8126cc..07e8d1bd 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayGetWalletInfoVo.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayGetWalletInfoVo.java @@ -13,7 +13,7 @@ public class PayGetWalletInfoVo { /** * 用户真实姓名 */ - private String username; + private String name; /** * 用户余额(分) diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayWalletInfoVo.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayWalletInfoVo.java new file mode 100644 index 00000000..6cad81f6 --- /dev/null +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/vo/pay/PayWalletInfoVo.java @@ -0,0 +1,23 @@ +package com.bsd.pjcloud.thirdparty.vo.pay; + +import lombok.Data; + +@Data +public class PayWalletInfoVo { + + /** + * sm4加密后的手机号 + */ + private String signPhone; + + /** + * 用户真实姓名 + */ + private String name; + + /** + * 用户余额(分) + */ + private Integer balance; + +} diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/pay/ThirdPayApiController.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/pay/ThirdPayApiController.java index 4970873c..70d4a190 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/pay/ThirdPayApiController.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/pay/ThirdPayApiController.java @@ -2,9 +2,12 @@ package com.bsd.pjcloud.thirdparty.controller.pay; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.security.annotation.Inner; import com.bsd.pjcloud.thirdparty.dto.pay.PayGetWalletInfoDto; import com.bsd.pjcloud.thirdparty.service.ThirdPayApiService; import com.bsd.pjcloud.thirdparty.service.ThirdPayLogService; +import com.bsd.pjcloud.thirdparty.vo.pay.PayBaseVo; +import com.bsd.pjcloud.thirdparty.vo.pay.PayWalletInfoVo; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; @@ -28,12 +31,16 @@ public class ThirdPayApiController { private final ThirdPayApiService thirdPayApiService; + @Inner(value = false) @Operation(summary = "通过手机号查询用户钱包信息", description = "通过手机号查询用户钱包信息") - @GetMapping("/user-wallet") - public R getWalletInfo(HttpEntity httpEntity, @RequestHeader Map headers) { + @PostMapping("/user-wallet") + public PayBaseVo getWalletInfo(HttpEntity httpEntity, @RequestHeader Map headers) { String body = httpEntity.getBody(); - return R.ok(thirdPayApiService.getWalletInfo(body, headers)); + return thirdPayApiService.getWalletInfo(body, headers); } + + + } diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/ThirdPayApiService.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/ThirdPayApiService.java index 0054b89e..66e02703 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/ThirdPayApiService.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/ThirdPayApiService.java @@ -4,9 +4,7 @@ package com.bsd.pjcloud.thirdparty.service; import com.bsd.pjcloud.thirdparty.dto.pay.PayDto; import com.bsd.pjcloud.thirdparty.dto.pay.PayGetWalletInfoDto; import com.bsd.pjcloud.thirdparty.dto.pay.RefundDto; -import com.bsd.pjcloud.thirdparty.vo.pay.PayGetWalletInfoVo; -import com.bsd.pjcloud.thirdparty.vo.pay.PayVo; -import com.bsd.pjcloud.thirdparty.vo.pay.RefundVo; +import com.bsd.pjcloud.thirdparty.vo.pay.*; import java.util.Map; @@ -25,5 +23,5 @@ public interface ThirdPayApiService { /** * 根据加密的手机号查询用户钱包信息 */ - PayGetWalletInfoVo getWalletInfo(String json, Map headers); + PayBaseVo getWalletInfo(String json, Map headers); } diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java index 0832e229..9839c3d6 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/pay/ThirdPayApiServiceImpl.java @@ -2,7 +2,9 @@ package com.bsd.pjcloud.thirdparty.service.impl.pay; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; +import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.thirdparty.constant.pay.ThirdPayApiBizTypeEnum; +import com.bsd.pjcloud.thirdparty.constant.pay.ThirdPayVoStatusEnum; import com.bsd.pjcloud.thirdparty.dto.pay.PayDto; import com.bsd.pjcloud.thirdparty.dto.pay.PayGetWalletInfoDto; import com.bsd.pjcloud.thirdparty.dto.pay.RefundDto; @@ -12,9 +14,10 @@ import com.bsd.pjcloud.thirdparty.service.ThirdKeyManageService; import com.bsd.pjcloud.thirdparty.service.ThirdPayApiService; import com.bsd.pjcloud.thirdparty.service.ThirdPayLogService; import com.bsd.pjcloud.thirdparty.utils.lb.tool.LbRetailSignUtils; -import com.bsd.pjcloud.thirdparty.vo.pay.PayGetWalletInfoVo; -import com.bsd.pjcloud.thirdparty.vo.pay.PayVo; -import com.bsd.pjcloud.thirdparty.vo.pay.RefundVo; +import com.bsd.pjcloud.thirdparty.vo.pay.*; +import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; +import com.bsd.pjcloud.wallet.api.feign.RemoteWalletService; +import com.bsd.pjcloud.wallet.api.vo.WalletManageVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -37,6 +40,8 @@ public class ThirdPayApiServiceImpl implements ThirdPayApiService { private final ThirdKeyManageService keyManageService; private final ThirdPayLogService payLogService; + private final RemoteWalletService remoteWalletService; + /** * 扣款 */ @@ -83,17 +88,38 @@ public class ThirdPayApiServiceImpl implements ThirdPayApiService { * 根据加密的手机号查询用户钱包信息 */ @Override - public PayGetWalletInfoVo getWalletInfo(String json, Map headers) { + public PayBaseVo getWalletInfo(String json, Map headers) { + PayBaseVo baseVo = new PayBaseVo(); ThirdKeyManageEntity keySetting = keyManageService.checkSignAndReturnConfig(json, headers); if (ObjectUtil.isEmpty(keySetting)) { - - return null; + baseVo.set(ThirdPayVoStatusEnum.SIGN_ERROR); + return baseVo; } PayGetWalletInfoDto dto = JSONUtil.toBean(json, PayGetWalletInfoDto.class); + if (ObjectUtil.isEmpty(dto)) { + baseVo.set(ThirdPayVoStatusEnum.PARAMS_ERROR); + return baseVo; + } // 手机号解密 String phone = LbRetailSignUtils.sm4Decrypt(dto.getSignPhone(), keySetting.getFieldKey()); - - return null; + if (ObjectUtil.isEmpty(phone)) { + baseVo.set(ThirdPayVoStatusEnum.PARAMS_ERROR); + baseVo.setMessage("手机号解迷失败"); + return baseVo; + } + WalletManageVo userWallet = remoteWalletService.getWalletByUserPhone(phone, WalletTypeEnum.EAT).getData(); + if (ObjectUtil.isEmpty(userWallet)) { + baseVo.set(ThirdPayVoStatusEnum.USER_EXIST); + return baseVo; + } + PayGetWalletInfoVo result = new PayGetWalletInfoVo(); + result.setSignPhone(dto.getSignPhone()); + result.setBalance(userWallet.getBalance()); + result.setName(userWallet.getUsername()); + // 返回成功的参数 + baseVo.set(ThirdPayVoStatusEnum.SUCCESS); + baseVo.setData(result); + return baseVo; } } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java index 083605aa..1c3e0ba0 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java @@ -54,6 +54,13 @@ public interface RemoteUserService { @GetMapping("/user/info/{username}") R info(@PathVariable("username") String username); + /** + * 根据手机号查询用户 + */ + @NoToken + @GetMapping("/user/inner/phone") + R getInnerByPhone(@RequestParam String phone); + /** * 通过用户id查询用户、角色信息 */ diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java index 188b16c7..852f2a37 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java @@ -121,6 +121,16 @@ public class SysUserController { return R.ok(userService.findUserInfo(user)); } + /** + * 根据手机号查询用户 + */ + @GetMapping("/user/inner/phone") + R getInnerByPhone(@RequestParam String phone) { + SysUser user = userService.getOne(Wrappers.query().lambda().eq(SysUser::getPhone, phone)); + if (user == null) return R.failed(MsgUtils.getMessage(ErrorCodes.SYS_USER_USERINFO_EMPTY, phone)); + return R.ok(userService.findUserInfo(user)); + } + @GetMapping("/get-by-user-id") public R getByUserId(@RequestParam Long userId) { SysUser user = userService.getOne(Wrappers.query().lambda().eq(SysUser::getUserId, userId)); @@ -361,14 +371,15 @@ public class SysUserController { /** * 根据部门id查询用户列表 + * * @param deptId * @return */ // @Inner @GetMapping("/getUserIdListByDeptId") - public R> getUserIdListByDeptId(@RequestParam("deptId")Long deptId, - @RequestParam(value = "name",required = false) String name) { - return R.ok(userService.listUserIdByDeptId(deptId,name)); + public R> getUserIdListByDeptId(@RequestParam("deptId") Long deptId, + @RequestParam(value = "name", required = false) String name) { + return R.ok(userService.listUserIdByDeptId(deptId, name)); } /** 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 7a1510fb..e99f9c11 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 @@ -32,6 +32,10 @@ public interface RemoteWalletService { @GetMapping("/wallet-manage/get-wallet-by-id") R getWalletById(@RequestParam Long walletId); + @NoToken + @GetMapping("/wallet-manage/get-wallet-by-phone") + R getWalletByUserPhone(@RequestParam String phone, @RequestParam WalletTypeEnum walletTypeCode); + @NoToken @GetMapping("/wallet-manage/get-wallet-by-card-number") R getWalletByCardNumber(@RequestParam String cardNumber); 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 07637f83..551e5035 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 @@ -89,12 +89,18 @@ public class WalletManageController { @Inner @GetMapping("/get-wallet-by-id") - public R getWalletById(@RequestParam Long walletId) { + public R getWalletById(@RequestParam Long walletId) { WalletManageVo wallet = walletManageMapper.join(walletId); if (ObjectUtil.isEmpty(wallet)) return R.failed("用户钱包不存在"); return R.ok(wallet); } + @Inner + @GetMapping("/get-wallet-by-phone") + public R getWalletByUserPhone(@RequestParam String phone, @RequestParam WalletTypeEnum walletTypeCode) { + return R.ok(walletManageService.getWalletByPhone(phone, walletTypeCode)); + } + @Inner @GetMapping("/get-wallet-by-card-number") public R getWalletByCardNumber(@RequestParam String cardNumber) { 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 418c53ba..c3bed915 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 @@ -173,6 +173,7 @@ public class WalletTransactionController { @PreAuthorize("@pms.hasPermission('wallet_walletTransaction_export')") public void exportCz(HttpServletResponse response, @RequestBody WalletTransactionDto dto) { dto.setBizTypes(WalletBizEnum.getTopUpCodes()); + dto.setType(WalletTransactionDto.TYPE_INCOME); List list = walletTransactionService.scopeList(dto, DataScope.of()); walletTransactionService.exportByTemplate(response, dto, "file/个人充值明细.xlsx", list); } 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 64b29d7d..11a6bbfe 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 @@ -52,6 +52,11 @@ public interface WalletManageService extends IService { */ WalletManageEntity getWallet(@NotNull Long walletId); + /** + * 根据手机号获取钱包 + */ + WalletManageVo getWalletByPhone(String phone, WalletTypeEnum walletTypeCode); + /** * 根据用户id删除用户钱包 */ 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 0693f610..f34ff94f 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 @@ -1,5 +1,6 @@ package com.bsd.pjcloud.wallet.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.io.resource.ResourceUtil; @@ -56,7 +57,6 @@ import org.springframework.validation.annotation.Validated; import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; -import java.time.LocalDate; import java.util.*; /** @@ -181,6 +181,25 @@ public class WalletManageServiceImpl extends ServiceImpl userIds) { if (ObjectUtil.isEmpty(userIds)) return false;