package com.matrix.system.shopXcx.api.action; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.SysVipInfoDao; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.BasePageQueryDto; import com.matrix.system.fenxiao.dao.ShopRevenueFlowDao; import com.matrix.system.fenxiao.entity.ShopRevenueFlow; import com.matrix.system.hive.service.CodeService; import com.matrix.system.shopXcx.api.dto.RevenueFlowDto; import com.matrix.system.shopXcx.api.dto.WithdrawalCashDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; /** * @author jyy * @date 2021-03-10 **/ @Api(tags = "提现接口类") @RestController @RequestMapping(value = "/wxapi/salesWithdrawal") public class WxSalesWithdrawalAction { @Autowired private RedisUserLoginUtils redisUserLoginUtils; @Autowired private SysVipInfoDao sysVipInfoDao; @Autowired private ShopRevenueFlowDao revenueFlowDao; @Autowired private ShopRevenueFlowDao shopRevenueFlowDao; @Autowired WeixinServiceUtil weixinServiceUtil; @Autowired CodeService codeService; @ApiOperation(value = "获取收支明细", notes = "") @PostMapping(value = "/getRevenueFlow") @ApiResponses({ @ApiResponse(code = 200, message = "ok", response = ShopRevenueFlow.class) }) AjaxResult getInvitationuserList(@RequestBody @Validated RevenueFlowDto revenueFlowDto) { SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); Page page=new Page<>(revenueFlowDto.getPageNum(),revenueFlowDto.getPageSize()); revenueFlowDto.setUserId(loginUser.getId()); IPage shopSalesmanApplyIPage = revenueFlowDao.selectRevenuFlowList(page, revenueFlowDto); AjaxResult result=AjaxResult.buildSuccessInstance(shopSalesmanApplyIPage.getRecords()); return result; } @ApiOperation(value = "提现", notes = "") @PostMapping(value = "/withdrawalCash") @ApiResponses({ @ApiResponse(code = 200, message = "ok", response = BasePageQueryDto.class) }) @Transactional AjaxResult withdrawalCash(@RequestBody @Validated WithdrawalCashDto withdrawalCashDto) { SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); loginUser=sysVipInfoDao.selectById(loginUser.getId()); if(withdrawalCashDto.getAmount()<1){ return AjaxResult.buildFailInstance("最小提现金额为1元"); }else if(withdrawalCashDto.getAmount()>20000){ return AjaxResult.buildFailInstance("最大提现金额为2万元"); }else{ if(loginUser.getWithdrawalCash()==null || loginUser.getWithdrawalCash()