Pu Zhibing
2025-03-28 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
@@ -7,6 +7,7 @@
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.UserInfo;
import com.stylefeng.guns.modular.system.model.Withdrawal;
import com.stylefeng.guns.modular.system.service.IBalanceUsageRecordService;
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.service.IWithdrawalService;
import com.stylefeng.guns.modular.system.util.ResultUtil;
@@ -33,6 +34,9 @@
    @Autowired
    private IDriverService driverService;
    @Resource
    private IBalanceUsageRecordService balanceUsageRecordService;
@@ -43,7 +47,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil withdrawal(Double money, Integer uid, Integer type, String remark, Integer language) throws Exception {
    public synchronized ResultUtil withdrawal(Double money, Integer uid, Integer type, String remark, Integer language) throws Exception {
        if(money.compareTo(0D) <= 0){
            return ResultUtil.error(language == 1 ? "提现金额必须大于0" : language == 2 ? "Withdrawal amount must be greater than zero." : "Le montant du retrait doit être supérieur à zéro.");
        }
@@ -107,12 +111,13 @@
            driver.setLaveActivityMoney(v);
            v = new BigDecimal(driver.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
            driver.setBalance(v);
            balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 1, money, 6);
        }
        if(type == 2){
            double v = new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
            driver.setLaveBusinessMoney(v);
            balanceUsageRecordService.saveBalanceUsageRecord(driver.getId(), 2, money, 6);
        }
        this.insert(withdrawal);
        driverService.updateById(driver);
        return ResultUtil.success();
    }
@@ -127,9 +132,9 @@
     * @throws Exception
     */
    @Override
    public List<Map<String, Object>> queryWithdrawal(Integer language, Integer uid, Integer type, Integer pageNum, Integer size) throws Exception {
    public List<Map<String, Object>> queryWithdrawal(Integer language, Integer uid, Integer type, Integer state, Integer pageNum, Integer size) throws Exception {
        pageNum = (pageNum - 1) * size;
        List<Map<String, Object>> list = withdrawalMapper.queryWithdrawal(uid, 2, type, pageNum, size);
        List<Map<String, Object>> list = withdrawalMapper.queryWithdrawal(uid, 2, type, state, pageNum, size);
        for (Map<String, Object> map : list) {
            if(null != map.get("insertTime")){
                String insertTime = map.get("insertTime").toString();
@@ -269,4 +274,15 @@
        }
        return ResultUtil.success();
    }
    /**
     * 获取提现总额
     * @param uid
     * @return
     * @throws Exception
     */
    @Override
    public Double queryWithdrawalSum(Integer uid, Integer type) throws Exception {
        return this.baseMapper.queryWithdrawalSum(uid, 2, type);
    }
}