| | |
| | | |
| | | @Resource |
| | | private SysUserClient sysUserClient; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @GetMapping("/getShopById") |
| | | @ApiOperation("通过门店id获取账户信息回填") |
| | | public R<Shop> getShopById(Integer id) { |
| | | return R.ok(shopService.getById(id)); |
| | | } |
| | | |
| | | /** |
| | | * 提现申请列表 |
| | |
| | | return R.ok(Page.of(pageNum, pageSize)); |
| | | } |
| | | Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>() |
| | | .in(collect1.size() > 0, ShopWithdraw::getShopId, collect1)); |
| | | .in(collect1.size() > 0, ShopWithdraw::getShopId, collect1) |
| | | .orderByDesc(ShopWithdraw::getCreateTime)); |
| | | List<ShopWithdraw> records = page.getRecords(); |
| | | List<Integer> collect = records.stream().map(ShopWithdraw::getShopId).collect(Collectors.toList()); |
| | | List<Shop> shops = null; |
| | |
| | | public R<IPage<ShopWithdraw>> shoplist(@ApiParam("页码") @RequestParam Integer pageNum, |
| | | @ApiParam("每一页数据大小") Integer pageSize, |
| | | ShopWithdraw shopWithdraw) { |
| | | Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData(); |
| | | Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>() |
| | | .eq(ShopWithdraw::getShopId,objectId) |
| | | .eq(sysUser!=null,ShopWithdraw::getShopId,sysUser.getObjectId()) |
| | | .eq(shopWithdraw.getAuditStatus()!=null,ShopWithdraw::getAuditStatus,shopWithdraw.getAuditStatus()) |
| | | .orderByDesc(ShopWithdraw::getCreateTime) |
| | | ); |
| | |
| | | @GetMapping("/shop/info") |
| | | @ApiOperation(value = "提现申请列表上方数据", notes = "提现申请列表", tags = {"门店后台"}) |
| | | public R<Shop> shopCommissionStatisticsinfo(){ |
| | | Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); |
| | | Shop byId = shopService.getById(objectId); |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData(); |
| | | Shop byId = shopService.getById(sysUser.getObjectId()); |
| | | List<ShopWithdraw> list = shopWithdrawService.lambdaQuery().eq(ShopWithdraw::getShopId, sysUser.getObjectId()) |
| | | .eq(ShopWithdraw::getAuditStatus, 0).list(); |
| | | if (!list.isEmpty()){ |
| | | BigDecimal bigDecimal = list.stream().map(ShopWithdraw::getMoney).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); |
| | | byId.setWithdrawAuditMoney(bigDecimal); |
| | | }else { |
| | | byId.setWithdrawAuditMoney(BigDecimal.ZERO); |
| | | } |
| | | byId.setWithdrawMoney(byId.getWithdrawMoney().subtract(byId.getWithdrawAuditMoney())); |
| | | return R.ok(byId); |
| | | } |
| | | |
| | |
| | | SysUser sysUser = sysUserClient.getSysUser(userid).getData(); |
| | | Integer objectId = sysUser.getObjectId(); |
| | | Shop shop = shopService.getById(objectId); |
| | | if (money.compareTo(BigDecimal.ZERO)==0){ |
| | | return R.fail("提现金额必须大于零"); |
| | | } |
| | | if (money.compareTo(shop.getCanWithdrawMoney())>0){ |
| | | return R.fail("提现金额不能大于可提现金额"); |
| | | } |
| | |
| | | @ApiOperation("审核") |
| | | public R<Void> audit(@RequestBody ShopWithdraw shopWithdraw) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | |
| | | ShopWithdraw shopWithdraw1 = shopWithdrawService.getById(shopWithdraw.getId()); |
| | | if(0 != shopWithdraw1.getAuditStatus()){ |
| | | return R.fail("不能重复审核"); |
| | |
| | | singlePay.setReceiverAccountNoEnc(shop.getReceiverAccountNoEnc()); |
| | | singlePay.setReceiverNameEnc(shop.getReceiverNameEnc()); |
| | | singlePay.setReceiverAccountType(shop.getReceiverAccountType()); |
| | | singlePay.setReceiverBankChannelNo(shop.getReceiverBankChannelNo()); |
| | | singlePay.setPaidAmount(shopWithdraw1.getMoney().doubleValue()); |
| | | singlePay.setPaidDesc("账户余额提现"); |
| | | singlePay.setPaidUse("208"); |
| | |
| | | @PostMapping("/withdrawalCallback") |
| | | public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){ |
| | | Integer status = singlePayCallbackResult.getStatus(); |
| | | String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); |
| | | ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); |
| | | if(203 == status || 205 == status){ |
| | | String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); |
| | | ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); |
| | | if(1 == shopWithdraw.getStatus()){ |
| | | shopWithdraw.setStatus(2); |
| | | shopWithdraw.setArrivalTime(LocalDateTime.now()); |
| | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("statusCode", 2001); |
| | | return jsonObject; |
| | | }else{ |
| | | //回退金额和添加变动明细 |
| | | Shop shop = shopService.getById(shopWithdraw.getShopId()); |
| | | BigDecimal balance = shop.getBalance(); |
| | | BigDecimal canWithdrawMoney = shop.getCanWithdrawMoney(); |
| | | BigDecimal withdrawMoney = shop.getWithdrawMoney(); |
| | | shop.setBalance(balance.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); |
| | | shop.setCanWithdrawMoney(canWithdrawMoney.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); |
| | | shop.setWithdrawMoney(withdrawMoney.subtract(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN)); |
| | | shopService.updateById(shop); |
| | | //添加门店变动明细 |
| | | ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement(); |
| | | shopBalanceStatement.setShopId(shop.getId()); |
| | | shopBalanceStatement.setType(4); |
| | | shopBalanceStatement.setHistoricalBalance(balance); |
| | | shopBalanceStatement.setVariableAmount(shopWithdraw.getMoney()); |
| | | shopBalanceStatement.setBalance(shop.getBalance()); |
| | | shopBalanceStatement.setCreateUserId(shopWithdraw.getAuditUserId()); |
| | | shopBalanceStatement.setCreateTime(LocalDateTime.now()); |
| | | shopBalanceStatement.setObjectId(shopWithdraw.getId()); |
| | | shopBalanceStatementService.save(shopBalanceStatement); |
| | | shopWithdraw.setStatus(3); |
| | | shopWithdraw.setRemark(singlePayCallbackResult.getErrorCodeDesc()); |
| | | shopWithdrawService.updateById(shopWithdraw); |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("statusCode", 2001); |
| | | return jsonObject; |
| | | } |
| | | return new JSONObject(); |
| | | } |
| | | } |
| | | |