| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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())){ |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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") |
| | |
| | | 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(); |
| | | } |