| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.account.api.feignClient.AppUserClient; |
| | | import com.ruoyi.account.api.model.AppUser; |
| | | import com.ruoyi.account.api.model.BalanceChangeRecord; |
| | | import com.ruoyi.account.api.model.WithdrawalRequests; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.other.api.domain.Shop; |
| | | import com.ruoyi.other.api.domain.ShopBalanceStatement; |
| | | import com.ruoyi.other.api.domain.ShopWithdraw; |
| | | import com.ruoyi.other.dto.ShopBalanceDto; |
| | | import com.ruoyi.other.service.ShopBalanceStatementService; |
| | | import com.ruoyi.other.service.ShopService; |
| | | import com.ruoyi.other.service.ShopWithdrawService; |
| | |
| | | @GetMapping("/shop/with") |
| | | @ApiOperation(value = "提现申请", notes = "提现申请列表", tags = {"门店后台"}) |
| | | public R shopwith(@RequestParam BigDecimal money){ |
| | | Long userid = tokenService.getLoginUser().getUserid(); |
| | | SysUser sysUser = sysUserClient.getSysUser(userid).getData(); |
| | | Integer objectId = sysUser.getObjectId(); |
| | | Shop shop = shopService.getById(objectId); |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData(); |
| | | baseWithdrawalApplication(money, sysUser.getUserId(), sysUser.getObjectId()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 小程序端提现申请 |
| | | */ |
| | | @ApiOperation(value = "提现申请", notes = "提现申请", tags = {"小程序-个人中心-门店管理-门店钱包"}) |
| | | @GetMapping("/withdrawalApplication") |
| | | @ResponseBody |
| | | public R withdrawalApplication(@RequestParam BigDecimal money, @RequestParam Integer shopId) { |
| | | LoginUser loginUser = tokenService.getLoginUserApplet(); |
| | | baseWithdrawalApplication(money, loginUser.getUserid(), shopId); |
| | | return R.ok(); |
| | | } |
| | | |
| | | private void baseWithdrawalApplication(BigDecimal money, Long userId, Integer shopId) { |
| | | Shop shop = shopService.getById(shopId); |
| | | if (money.compareTo(BigDecimal.ZERO)==0){ |
| | | return R.fail("提现金额必须大于零"); |
| | | throw new ServiceException("提现金额必须大于零"); |
| | | } |
| | | if (money.compareTo(shop.getCanWithdrawMoney())>0){ |
| | | return R.fail("提现金额不能大于可提现金额"); |
| | | throw new ServiceException("提现金额不能大于可提现金额"); |
| | | } |
| | | if(StringUtils.isEmpty(shop.getReceiverAccountNoEnc())){ |
| | | return R.fail("请完善账户信息后再申请提现!"); |
| | | throw new ServiceException("请完善账户信息后再申请提现!"); |
| | | } |
| | | ShopWithdraw shopWithdraw = new ShopWithdraw(); |
| | | shopWithdraw.setShopId(objectId); |
| | | shopWithdraw.setShopId(shopId); |
| | | shopWithdraw.setMoney(money); |
| | | shopWithdraw.setAuditStatus(0); |
| | | shopWithdraw.setStatus(1); |
| | |
| | | shopBalanceStatement.setHistoricalBalance(balance); |
| | | shopBalanceStatement.setVariableAmount(money); |
| | | shopBalanceStatement.setBalance(shop.getBalance()); |
| | | shopBalanceStatement.setCreateUserId(sysUser.getUserId()); |
| | | shopBalanceStatement.setCreateUserId(userId); |
| | | shopBalanceStatement.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatement.setObjectId(shopWithdraw.getId()); |
| | | shopBalanceStatementService.save(shopBalanceStatement); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 审核 |
| | | */ |