luofl
2025-03-06 2ed6444f45d227e2acc6de65c3e8b582440fb83a
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java
@@ -7,16 +7,13 @@
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;
@@ -148,21 +145,37 @@
    @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);
@@ -183,14 +196,14 @@
        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();
    }
    /**
     * 审核
     */