package com.ruoyi.other.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; 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.ShopWithdraw; import com.ruoyi.other.dto.ShopBalanceDto; import com.ruoyi.other.service.ShopService; import com.ruoyi.other.service.ShopWithdrawService; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; /** *

* 前端控制器 *

* * @author luodangjia * @since 2024-11-20 */ @RestController @RequestMapping("/shop-withdraw") @Api(tags = {"管理后台-门店管理-提现管理"}) public class ShopWithdrawController { @Resource private ShopWithdrawService shopWithdrawService; @Resource private ShopService shopService; @Resource private TokenService tokenService; /** * 提现申请列表 */ @GetMapping("/list") @ApiOperation("提现申请列表") public R> list(@ApiParam("页码") @RequestParam Integer pageNum, @ApiParam("每一页数据大小") Integer pageSize, ShopWithdraw shopWithdraw) { Page page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper() .like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), ShopWithdraw::getShopName, shopWithdraw.getShopName())); page.getRecords().forEach(item-> item.setShopName(shopService.getById(item.getShopId()).getName())); return R.ok(page); } @GetMapping("/shop/list") @ApiOperation(value = "提现申请列表", notes = "提现申请列表", tags = {"门店后台"}) public R> shoplist(@ApiParam("页码") @RequestParam Integer pageNum, @ApiParam("每一页数据大小") Integer pageSize, ShopWithdraw shopWithdraw) { Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); Page page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper() .eq(ShopWithdraw::getShopId,objectId) .eq(shopWithdraw.getAuditStatus()!=null,ShopWithdraw::getAuditStatus,shopWithdraw.getAuditStatus()) .orderByDesc(ShopWithdraw::getCreateTime) ); return R.ok(page); } @GetMapping("/shop/info") @ApiOperation(value = "提现申请列表上方数据", notes = "提现申请列表", tags = {"门店后台"}) public R shopCommissionStatisticsinfo(){ Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); Shop byId = shopService.getById(objectId); return R.ok(byId); } @GetMapping("/shop/with") @ApiOperation(value = "提现申请", notes = "提现申请列表", tags = {"门店后台"}) public R shopwith(@RequestParam BigDecimal money){ Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); Shop byId = shopService.getById(objectId); if (money.compareTo(byId.getCanWithdrawMoney())>0){ return R.fail("提现金额不能大于可提现金额"); } ShopWithdraw shopWithdraw = new ShopWithdraw(); shopWithdraw.setShopId(objectId); shopWithdraw.setMoney(money); shopWithdraw.setAuditStatus(0); shopWithdraw.setStatus(1); shopWithdrawService.save(shopWithdraw); return R.ok(byId); } /** * 审核 */ @PostMapping("/audit") @ApiOperation("审核") public R audit(@RequestBody ShopWithdraw shopWithdraw) { LoginUser loginUser = tokenService.getLoginUser(); ShopWithdraw shopWithdraw1 = shopWithdrawService.getById(shopWithdraw.getId()); shopWithdraw1.setAuditStatus(shopWithdraw.getAuditStatus()); shopWithdraw1.setAuditUserId(loginUser.getUserid()); shopWithdraw1.setAuditTime(LocalDateTime.now()); shopWithdraw1.setAuditMsg(shopWithdraw.getAuditMsg()); shopWithdrawService.updateById(shopWithdraw1); return R.ok(); } }