From 3ec572e2cb7adf7d33d2018b24c003d9ef18906a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 12 十一月 2024 13:32:51 +0800 Subject: [PATCH] 代码提交 --- xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java | 43 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 39 insertions(+), 4 deletions(-) diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java index b8f3b23..74a927a 100644 --- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java +++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWithdrawController.java @@ -6,14 +6,17 @@ import com.alibaba.nacos.common.utils.UuidUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xinquan.common.core.constant.CacheConstants; import com.xinquan.common.core.domain.R; import com.xinquan.common.core.utils.WebUtils; import com.xinquan.common.core.utils.page.CollUtils; import com.xinquan.common.core.utils.page.PageDTO; import com.xinquan.common.log.enums.BusinessType; +import com.xinquan.common.redis.service.RedisService; import com.xinquan.common.security.service.TokenService; import com.xinquan.course.api.domain.Course; import com.xinquan.order.api.domain.Order; +import com.xinquan.system.api.domain.AppUserWalletRecord; import com.xinquan.user.api.domain.dto.OrderListDTO; import com.xinquan.system.api.domain.AppUser; import com.xinquan.system.api.domain.AppUserBank; @@ -22,6 +25,7 @@ import com.xinquan.user.domain.export.WithdrawExport; import com.xinquan.user.service.AppUserBankService; import com.xinquan.user.service.AppUserService; +import com.xinquan.user.service.AppUserWalletRecordService; import com.xinquan.user.service.AppUserWithdrawService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -63,9 +67,13 @@ private AppUserBankService appUserBankService; @Autowired private TokenService tokenService; + @Resource + private AppUserWalletRecordService appUserWalletRecordService; + @Autowired + private RedisService redisService; @PostMapping("/withdrawList") - @ApiOperation(value = "提现列表-分页", tags = {"管理后台=提现管理"}) + @ApiOperation(value = "提现列表-分页", tags = {"管理后台-提现管理"}) public R<PageDTO<AppUserWithdraw>> withdrawList(@RequestBody OrderListDTO courseDTO) { LambdaQueryWrapper<AppUserWithdraw> wrapper = new LambdaQueryWrapper<>(); if (StringUtils.hasLength(courseDTO.getBuyContent())){ @@ -75,11 +83,15 @@ List<Long> collect = appUserService.lambdaQuery().like(AppUser::getCellPhone, courseDTO.getUserNameOrPhone()) .list().stream().map(AppUser::getId) .collect(Collectors.toList()); + List<Long> collect1 = appUserService.lambdaQuery().like(AppUser::getNickname, courseDTO.getUserNameOrPhone()) + .list().stream().map(AppUser::getId) + .collect(Collectors.toList()); + collect.addAll(collect1); if (collect.isEmpty())collect.add(-1L); wrapper.in(AppUserWithdraw::getAppUserId,collect); } if (courseDTO.getPaymentStatus()!=null && courseDTO.getPaymentStatus()==1){ - wrapper.eq(AppUserWithdraw::getId,0); + wrapper.eq(AppUserWithdraw::getWithdrawStatus,0); }else if (courseDTO.getPaymentStatus()!=null &&(courseDTO.getPaymentStatus()==2 || courseDTO.getPaymentStatus()==3)){ List<Integer> integers = new ArrayList<>(); integers.add(1); @@ -90,8 +102,8 @@ String startTime =null; String endTime =null; String[] split = courseDTO.getTime().split(" - "); - startTime = split[0]+"00:00:00"; - endTime = split[1]+"23:59:59"; + startTime = split[0]+" 00:00:00"; + endTime = split[1]+" 23:59:59"; wrapper.between(AppUserWithdraw::getWithdrawTime,startTime,endTime); } Page<AppUserWithdraw> list = withdrawService.page(new Page<>(courseDTO.getPageCurr(), courseDTO.getPageSize()), wrapper); @@ -249,6 +261,12 @@ return R.tokenError("登录失效"); } Long userId = loginUser.getUserid(); + AppUser byId = appUserService.getById(userId); + if (byId.getBalance().compareTo(new BigDecimal(money))<0){ + return R.fail("提现金额不能超过钱包余额"); + } + byId.setBalance(byId.getBalance().subtract(new BigDecimal(money))); + appUserService.updateById(byId); BigDecimal bigDecimal = new BigDecimal(money); AppUserWithdraw appUserWithdraw = new AppUserWithdraw(); appUserWithdraw.setAppUserId(userId); @@ -262,6 +280,15 @@ appUserWithdraw.setWithdrawTime(LocalDateTime.now()); appUserWithdraw.setCreateTime(LocalDateTime.now()); withdrawService.save(appUserWithdraw); + // 先扣去余额 + AppUserWalletRecord appUserWalletRecord = new AppUserWalletRecord(); + appUserWalletRecord.setAppUserId(userId); + appUserWalletRecord.setChangeType(2); + appUserWalletRecord.setReason("提现"); + appUserWalletRecord.setOrderId(appUserWithdraw.getId()); + appUserWalletRecord.setAmount(new BigDecimal(money)); + appUserWalletRecordService.save(appUserWalletRecord); + return R.ok(); } @PostMapping("/addBank") @@ -274,6 +301,14 @@ Long userId = loginUser.getUserid(); appUserWithdraw.setAppUserId(userId); +// Boolean flag = redisService.hasKey(CacheConstants.ADD_CARD_PHONE_CODE_PREFIX + appUserWithdraw.getCellPhone()); +// if(!flag){ +// return R.fail("验证码已失效,请重新获取"); +// } +// String code = redisService.getCacheObject(CacheConstants.ADD_CARD_PHONE_CODE_PREFIX + appUserWithdraw.getCellPhone()); +// if (!appUserWithdraw.getCode().equals(code)) { +// return R.fail("验证码不正确"); +// } appUserBankService.save(appUserWithdraw); return R.ok(); } -- Gitblit v1.7.1