From f1ba329891967bca6d083a9d5722683a9fa2080b Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 22 九月 2025 09:17:10 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/ZhaoYangChuXing --- DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 157 insertions(+), 0 deletions(-) diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java new file mode 100644 index 0000000..967a7b8 --- /dev/null +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverAlipayServiceImpl.java @@ -0,0 +1,157 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.core.util.DateUtil; +import com.stylefeng.guns.modular.system.dao.DriverAlipayMapper; +import com.stylefeng.guns.modular.system.dao.DriverMapper; +import com.stylefeng.guns.modular.system.dao.WithdrawalMapper; +import com.stylefeng.guns.modular.system.model.Driver; +import com.stylefeng.guns.modular.system.model.DriverAlipay; +import com.stylefeng.guns.modular.system.model.Withdrawal; +import com.stylefeng.guns.modular.system.service.IDriverAlipayService; +import com.stylefeng.guns.modular.system.util.ResultUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + + +@Service +public class DriverAlipayServiceImpl extends ServiceImpl<DriverAlipayMapper, DriverAlipay> implements IDriverAlipayService { + + @Autowired + private DriverAlipayMapper driverAlipayMapper; + @Autowired + private DriverMapper driverMapper; + @Autowired + private WithdrawalMapper withdrawalMapper; + + @Override + public ResultUtil saveAlipay(String userName, String account, Integer driverId) { + DriverAlipay query = driverAlipayMapper.query(driverId, account); + if(null != query){ + return ResultUtil.error("支付宝账号已存在"); + } + DriverAlipay driverAlipay = new DriverAlipay(); + driverAlipay.setUserName(userName); + driverAlipay.setAccount(account); + driverAlipay.setDriverId(driverId); + driverAlipay.setCreateTime(new Date()); + this.insert(driverAlipay); + return ResultUtil.success(); + } + + @Override + public ResultUtil updateAlipay(Integer id, String userName, String account, Integer driverId) { + DriverAlipay query = driverAlipayMapper.query(driverId, account); + if(null != query && !id.equals(query.getId())){ + return ResultUtil.error("支付宝账号已存在"); + } + DriverAlipay driverAlipay = query; + driverAlipay.setUserName(userName); + driverAlipay.setAccount(account); + driverAlipay.setDriverId(driverId); + this.updateById(driverAlipay); + return ResultUtil.success(); + } + + @Override + public ResultUtil delAlipay(Integer id, Integer driverId) { + DriverAlipay driverAlipay = this.selectById(id); + if(driverAlipay.getDriverId().compareTo(driverId) != 0){ + return ResultUtil.error("你无权删除此账号"); + } + this.deleteById(id); + return ResultUtil.success(); + } + + @Override + public List<DriverAlipay> queryAlipay(Integer pageNum, Integer size, Integer driverId) { + pageNum = (pageNum - 1) * size; + return driverAlipayMapper.queryAlipay(pageNum, size, driverId); + } + + @Override + public ResultUtil aliWithdrawal(Double money, Integer id, Integer uid, Integer type) { + if(money.compareTo(0D) <= 0){ + return ResultUtil.error("提现金额必须大于0"); + } + Driver driver = driverMapper.selectById(uid); + Integer withdrawalRule = driverMapper.getWithdrawalRule(); + if(withdrawalRule==null){ + return ResultUtil.error("暂未设置提现时间,请联系平台"); + } + String week =withdrawalRule==1?"星期一": + withdrawalRule==2?"星期二": + withdrawalRule==3?"星期三": + withdrawalRule==4?"星期四": + withdrawalRule==5?"星期五": + withdrawalRule==6?"星期六":"星期日"; + String weeks = DateUtil.getAfterDayWeek("0"); + if(!weeks.equals(week)){ + return ResultUtil.error(" 每周"+(withdrawalRule==1?"一": + withdrawalRule==2?"二": + withdrawalRule==3?"三": + withdrawalRule==4?"四": + withdrawalRule==5?"五": + withdrawalRule==6?"六":"日")+"统一申请提现,平台统一处理。"); + } + if(null == type){ + type = 1; + } + + Withdrawal withdrawal = new Withdrawal(); + if(type == 1){ + if(null == driver.getLaveActivityMoney()){ + return ResultUtil.error("账户没有余额,不能提现"); + } + if(driver.getLaveActivityMoney().compareTo(money) < 0){ + return ResultUtil.error("提现金额必须小于账户余额"); + } + withdrawal.setBalance(driver.getLaveActivityMoney()); + } + if(type == 2){ + if(null == driver.getLaveBusinessMoney()){ + return ResultUtil.error("账户没有余额,不能提现"); + } + + Double money1 = driverMapper.getThisWeekMoney(uid); + Double laveBusinessMoney =driver.getLaveBusinessMoney()-(money1==null?0d:money1); + if(laveBusinessMoney.compareTo(money) < 0){ + return ResultUtil.error("提现金额必须小于账户余额"); + } + withdrawal.setBalance(driver.getLaveBusinessMoney()-(money1==null?0d:money1)); + } + DriverAlipay driverAlipay = this.selectById(id); + if(null == driverAlipay){ + return ResultUtil.error("请选择提现账号"); + } + withdrawal.setCode(driverAlipay.getAccount()); + withdrawal.setFlag(1); + withdrawal.setInsertTime(new Date()); + withdrawal.setMoney(money); + withdrawal.setName(driverAlipay.getUserName()); + withdrawal.setState(1); + withdrawal.setUserId(uid); + withdrawal.setUserType(2); + withdrawal.setBankName("支付宝"); + withdrawal.setType(type); + withdrawal.setWithdrawalType(1);//线上 + + if(type == 1){ + double v = new BigDecimal(driver.getLaveActivityMoney()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + driver.setLaveActivityMoney(v); + v = new BigDecimal(driver.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + driver.setBalance(v); + } + if(type == 2){ + double v = new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + driver.setLaveBusinessMoney(v); + } + withdrawalMapper.insert(withdrawal); + driverMapper.updateById(driver); + return ResultUtil.success(); + } +} -- Gitblit v1.7.1