| | |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | 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.other.util.payment.model.SinglePayCallbackResult; |
| | | import com.ruoyi.other.util.payment.model.SinglePayResult; |
| | | import com.ruoyi.system.api.domain.SysUser; |
| | | import com.ruoyi.system.api.feignClient.SysUserClient; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Resource |
| | | private AppUserClient appUserClient; |
| | | |
| | | @Resource |
| | | private SysUserClient sysUserClient; |
| | | |
| | | |
| | | |
| | |
| | | public R<IPage<ShopWithdraw>> list(@ApiParam("页码") @RequestParam Integer pageNum, |
| | | @ApiParam("每一页数据大小") Integer pageSize, |
| | | ShopWithdraw shopWithdraw) { |
| | | |
| | | List<Shop> list = shopService.list(new LambdaUpdateWrapper<Shop>().like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), Shop::getName, shopWithdraw.getShopName()).eq(Shop::getDelFlag, 0)); |
| | | List<Integer> collect1 = list.stream().map(Shop::getId).collect(Collectors.toList()); |
| | | Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>() |
| | | .like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), ShopWithdraw::getShopName, shopWithdraw.getShopName())); |
| | | page.getRecords().forEach(item-> item.setShopName(shopService.getById(item.getShopId()).getName())); |
| | | .in(collect1.size() > 0, ShopWithdraw::getShopId, collect1)); |
| | | List<ShopWithdraw> records = page.getRecords(); |
| | | List<Integer> collect = records.stream().map(ShopWithdraw::getShopId).collect(Collectors.toList()); |
| | | List<Shop> shops = null; |
| | | if(collect.size() > 0){ |
| | | shops = shopService.listByIds(collect); |
| | | } |
| | | for(ShopWithdraw item : records){ |
| | | Optional<Shop> first = shops.stream().filter(s -> s.getId().equals(item.getId())).findFirst(); |
| | | if(first.isPresent()){ |
| | | item.setShopName(first.get().getName()); |
| | | } |
| | | } |
| | | return R.ok(page); |
| | | } |
| | | |
| | |
| | | @GetMapping("/shop/with") |
| | | @ApiOperation(value = "提现申请", notes = "提现申请列表", tags = {"门店后台"}) |
| | | public R shopwith(@RequestParam BigDecimal money){ |
| | | SysUser sysUser = tokenService.getLoginUser().getSysUser(); |
| | | Long userid = tokenService.getLoginUser().getUserid(); |
| | | SysUser sysUser = sysUserClient.getSysUser(userid).getData(); |
| | | Integer objectId = sysUser.getObjectId(); |
| | | Shop shop = shopService.getById(objectId); |
| | | if (money.compareTo(shop.getCanWithdrawMoney())>0){ |
| | |
| | | return R.fail("查询账户余额出错"); |
| | | } |
| | | Double useAbleSettAmount = accountBalanceQueryResult.getUseAbleSettAmount(); |
| | | if(useAbleSettAmount < shopWithdraw1.getMoney().doubleValue()){ |
| | | if(useAbleSettAmount < (shopWithdraw1.getMoney().doubleValue() + 1)){ |
| | | return R.fail("账户可用余额不足,请先补充账户余额"); |
| | | } |
| | | //银行卡转账 |
| | | SinglePay singlePay = new SinglePay(); |
| | | singlePay.setTradeMerchantNo(""); |
| | | singlePay.setTradeMerchantNo(TransferUtil.sysTradeMerchantNo); |
| | | singlePay.setMerchantOrderNo(shopWithdraw1.getId().toString()); |
| | | singlePay.setReceiverAccountNoEnc(shop.getReceiverAccountNoEnc()); |
| | | singlePay.setReceiverNameEnc(shop.getReceiverNameEnc()); |
| | |
| | | @PostMapping("/withdrawalCallback") |
| | | public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){ |
| | | Integer status = singlePayCallbackResult.getStatus(); |
| | | if(203 == status){ |
| | | if(203 == status || 205 == status){ |
| | | String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); |
| | | ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); |
| | | if(1 == shopWithdraw.getStatus()){ |