huliguo
2025-06-06 2474cec7f04390c196c0f7c753d4b70f1d53fcac
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -16,6 +17,7 @@
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.mapper.ShopWithdrawMapper;
import com.ruoyi.other.service.ShopBalanceStatementService;
import com.ruoyi.other.service.ShopService;
import com.ruoyi.other.service.ShopWithdrawService;
@@ -30,6 +32,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -37,6 +40,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -69,6 +73,8 @@
    @Resource
    private SysUserClient sysUserClient;
    @Autowired
    private ShopWithdrawMapper shopWithdrawMapper;
    @GetMapping("/getShopById")
@@ -119,22 +125,25 @@
                                           @ApiParam("手机号") String phone,
                                           @ApiParam("审核状态(0=待审核,1=审核通过,2=审核失败)")Integer auditStatus) {
        //模糊查询手机号
        List<Long> collect=null;
        List<Integer> shopIds=new ArrayList<>();
        if (StringUtils.isNotEmpty(phone)) {
            List<AppUser> data = appUserClient.getAppUserByPhoneNoFilter(phone).getData();
            collect = data.stream().map(AppUser::getId).collect(Collectors.toList());
            if (CollectionUtils.isEmpty(collect)) {
            QueryWrapper<Shop> queryWrapper=new QueryWrapper<>();
            queryWrapper.like(StringUtils.isNotEmpty(phone),"phone", phone);
           shopIds=shopService.list(queryWrapper).stream().map(Shop::getId).collect(Collectors.toList());
            if (CollectionUtils.isEmpty(shopIds)) {
                return R.ok(new PageInfo<>());
            }
        }
        if (shopId!=null && !shopIds.contains(shopId)){
            shopIds.add(shopId);
        }
        Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>()
                        .eq(shopId!=null,ShopWithdraw::getShopId,shopId)
                        .eq(auditStatus!=null,ShopWithdraw::getAuditStatus,auditStatus)
                        .in(collect!=null,ShopWithdraw::getCreateUserId,collect)
                        .orderByDesc(ShopWithdraw::getCreateTime)
                );
        PageInfo<ShopWithdraw> page=new PageInfo<>(pageNum,pageSize);
        List<ShopWithdraw> list =shopWithdrawMapper.page(page,shopIds,auditStatus);
        list.forEach(x->{
            x.setIdStr(x.getId().toString());
        });
        page.setRecords(list);
        return R.ok(page);
    }
@@ -195,6 +204,7 @@
    }
    private void baseWithdrawalApplication(BigDecimal money, Long userId, Integer shopId) {
        money=money.setScale(2, BigDecimal.ROUND_HALF_DOWN);
        Shop shop = shopService.getById(shopId);
        if (money.compareTo(BigDecimal.ZERO)==0){
            throw new ServiceException("提现金额必须大于零");
@@ -260,7 +270,7 @@
        BigDecimal money = shopWithdraw1.getMoney();
        if(1 == shopWithdraw.getAuditStatus()){
            //通过
            //先检查账户余额是否充足
            // 先检查账户余额是否充足  todo 商户编号
            AccountBalanceQueryResult accountBalanceQueryResult = TransferUtil.accountBalanceQuery();
            if(null == accountBalanceQueryResult){
                return R.fail("查询账户余额出错");