DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -5,10 +5,7 @@ import com.stylefeng.guns.modular.system.dao.DriverWorkMapper; import com.stylefeng.guns.modular.system.dao.TUseMoneyMapper; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.IDriverService; import com.stylefeng.guns.modular.system.service.IOrderCancelService; import com.stylefeng.guns.modular.system.service.IOrderService; import com.stylefeng.guns.modular.system.service.IReassignService; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ChinaMobileUtil; import com.stylefeng.guns.modular.system.util.PushUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; @@ -45,6 +42,8 @@ @Autowired private IDriverService driverService; @Autowired private ICompanyService companyService; @Autowired private IReassignService reassignService; @@ -224,8 +223,6 @@ } @Autowired private TUseMoneyMapper useMoneyMapper; @Resource private DriverWorkMapper driverWorkMapper; @Autowired @@ -302,9 +299,9 @@ } // 抢单的时候 判断司机当前余额是否足够支付一笔软件使用费 Driver driver = driverService.selectById(uid); List<TUseMoney> tUseMoney = useMoneyMapper.selectList(null); if (tUseMoney.get(0).getMoney() > driver.getBalance()) { // List<TUseMoney> tUseMoney = useMoneyMapper.selectList(null); Company company = companyService.selectById(driver.getCompanyId()); if (company.getDriverRestriction() > driver.getBalance()) { // 将这个司机下线 driver.setState(1); driverService.updateById(driver); DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/TWithdrawalController.java
@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.modular.system.model.Company; import com.stylefeng.guns.modular.system.model.Driver; import com.stylefeng.guns.modular.system.model.LoginLog; import com.stylefeng.guns.modular.system.model.TWithdrawal; import com.stylefeng.guns.modular.system.service.ICarService; import com.stylefeng.guns.modular.system.service.ICompanyService; import com.stylefeng.guns.modular.system.service.IDriverService; import com.stylefeng.guns.modular.system.service.ITWithdrawalService; import com.stylefeng.guns.modular.system.util.ResultUtil; @@ -37,6 +40,8 @@ private IDriverService driverService; @Autowired private ITWithdrawalService withdrawalService; @Autowired private ICompanyService companyService; /** * 司机提现 * @return @@ -102,18 +107,46 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil queryList(Integer pageNum,Integer size,HttpServletRequest request){ public ResultUtil queryList(HttpServletRequest request){ try { Integer uid = driverService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } // Page<TWithdrawal> page = new PageFactory<TWithdrawal>().defaultPage(); // List<Map<String, Object>> result = withdrawalService.queryList(page, uid); // page.setRecords((List<TWithdrawal>) new LogWarpper(result).warp()); // return super.packForBT(page); List<TWithdrawal> list = withdrawalService.selectList(new EntityWrapper<TWithdrawal>().eq("driverId", uid)); return ResultUtil.success(list); Page<TWithdrawal> page = new PageFactory<TWithdrawal>().defaultPage(); List<TWithdrawal> result = withdrawalService.queryList(page, uid); page.setRecords(result); return ResultUtil.success(super.packForBT(page)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 查询司机余额是否够接单 * @return */ @ResponseBody @PostMapping("/driverCanTakeOrder") @ApiOperation(value = "查询司机余额是否够接单,返回值 1=可接单 0=不可接单,余额不足", tags = {"司机端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil driverCanTakeOrder(HttpServletRequest request){ try { Integer uid = driverService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } Driver driver = driverService.selectById(uid); Company company = companyService.selectById(driver.getCompanyId()); BigDecimal driverRestriction = company.getDriverRestriction(); if(driverRestriction.compareTo(new BigDecimal(driver.getBalance())) > 0){ return ResultUtil.success(0); }else { return ResultUtil.success(1); } }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ZiOnController.java
@@ -49,6 +49,8 @@ @Autowired private IDriverService driverService; @Autowired private ICompanyService companyService; @Autowired private IOrderTaxiService orderTaxiService; @@ -326,8 +328,9 @@ return ResultUtil.tokenErr(); } Driver driver = driverService.selectById(uid); List<TUseMoney> tUseMoney = useMoneyMapper.selectList(null); if (tUseMoney.get(0).getMoney() > driver.getBalance()) { // List<TUseMoney> tUseMoney = useMoneyMapper.selectList(null); Company company = companyService.selectById(driver.getCompanyId()); if (company.getDriverRestriction() > driver.getBalance()) { pushUtil.expireWork(uid,2); return new ResultUtil(-1, "您的余额不足,请及时充值!"); } DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TWithdrawalMapper.java
@@ -1,6 +1,7 @@ package com.stylefeng.guns.modular.system.dao; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.modular.system.model.Car; import com.stylefeng.guns.modular.system.model.TWithdrawal; import org.apache.ibatis.annotations.Param; @@ -10,4 +11,11 @@ public interface TWithdrawalMapper extends BaseMapper<TWithdrawal> { /** * 提现记录 * @param page * @param uid * @return */ List<TWithdrawal> queryList(@Param("page") Page<TWithdrawal> page, @Param("uid")Integer uid); } DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TWithdrawalMapper.xml
New file @@ -0,0 +1,29 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.stylefeng.guns.modular.system.dao.TWithdrawalMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TWithdrawal"> <id column="id" property="id"/> <result column="driverId" property="driverId"/> <result column="receivePaymentName" property="receivePaymentName"/> <result column="receivePaymentAccount" property="receivePaymentAccount"/> <result column="withdrawalType" property="withdrawalType"/> <result column="withdrawalMoney" property="withdrawalMoney"/> <result column="withdrawalTime" property="withdrawalTime"/> <result column="status" property="status"/> <result column="openBank" property="openBank"/> <result column="remark" property="remark"/> <result column="receiptVoucher" property="receiptVoucher"/> </resultMap> <select id="queryList" resultType="com.stylefeng.guns.modular.system.model.TWithdrawal"> select id,driverId,receivePaymentName,receivePaymentAccount,withdrawalType,withdrawalMoney,withdrawalTime,status,openBank,remark,receiptVoucher from t_withdrawal <where> <if test="uid!=null"> and driverId=#{uid} </if> </where> </select> </mapper> DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; import java.math.BigDecimal; import java.util.Date; /** @@ -253,6 +254,45 @@ */ @TableField("insertTime") private Date insertTime; /** * 司机接单限制 */ @TableField("driverRestriction") private Double driverRestriction; /** * 固定费用 */ @TableField("fixedDeduction") private Double fixedDeduction; /** * 线上下单扣除 */ @TableField("percentageDeduction") private Double percentageDeduction; public Double getFixedDeduction() { return fixedDeduction; } public void setFixedDeduction(Double fixedDeduction) { this.fixedDeduction = fixedDeduction; } public Double getPercentageDeduction() { return percentageDeduction; } public void setPercentageDeduction(Double percentageDeduction) { this.percentageDeduction = percentageDeduction; } public Double getDriverRestriction() { return driverRestriction; } public void setDriverRestriction(Double driverRestriction) { this.driverRestriction = driverRestriction; } public Integer getId() { return id; DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TransactionDetails.java
@@ -63,6 +63,19 @@ */ @TableField("orderId") private Integer orderId; /** * 下单方式 1=语音下单 2=一键下单 3=后台添加订单 4=普通订单 */ @TableField("placeOrderWay") private Integer placeOrderWay; public Integer getPlaceOrderWay() { return placeOrderWay; } public void setPlaceOrderWay(Integer placeOrderWay) { this.placeOrderWay = placeOrderWay; } public Integer getId() { return id; DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITWithdrawalService.java
@@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.IService; import com.stylefeng.guns.modular.system.model.Car; import com.stylefeng.guns.modular.system.model.TWithdrawal; @@ -26,10 +27,9 @@ /** * 查询提现记录 * @param pageNum * @param size * @param page * @param uid * @return */ // List<TWithdrawal> queryList(Integer pageNum, Integer size, Integer uid); List<TWithdrawal> queryList(Page<TWithdrawal> page, Integer uid); } DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -125,6 +125,8 @@ @Autowired private IOrderLogisticsService orderLogisticsService; @Autowired private ICompanyService companyService; @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; @@ -605,8 +607,9 @@ return ResultUtil.error("该车辆正在服务中,请更换其他车辆"); } } List<TUseMoney> tUseMoney = useMoneyMapper.selectList(null); if (tUseMoney.get(0).getMoney()>driver.getBalance()){ // List<TUseMoney> tUseMoney = useMoneyMapper.selectList(null); Company company = companyService.selectById(driver.getCompanyId()); if (company.getDriverRestriction()>driver.getBalance()){ pushUtil.expireWork(uid,2); return new ResultUtil(-1,"您的余额不足,请及时充值!"); } DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TWithdrawalServiceImpl.java
@@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.system.service.impl; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.modular.system.dao.*; import com.stylefeng.guns.modular.system.model.*; @@ -34,4 +35,9 @@ tWithdrawal.setOpenBank(openBank); this.insert(tWithdrawal); } @Override public List<TWithdrawal> queryList(Page<TWithdrawal> page, Integer uid) { return this.baseMapper.queryList(page,uid); } } DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -34,6 +34,8 @@ @Autowired private IDriverService driverService; @Autowired private ICompanyService companyService; @Autowired private IUserRedPacketRecordService userRedPacketRecordService; @@ -196,10 +198,11 @@ // String track = gdFalconUtil.createTrack(s); // orderTaxi.setTrackId(track); if (orderTaxi.getAudioLinkUrl()!=null){ List<TUseMoney> money = useMoneyMapper.selectList(null); // List<TUseMoney> money = useMoneyMapper.selectList(null); Company company = companyService.selectById(driver.getCompanyId()); orderTaxi.setState(9); driver.setState(2); driver.setBalance(driver.getBalance() - money.get(0).getMoney()); driver.setBalance(driver.getBalance() - company.getFixedDeduction()); driverService.updateById(driver); Car car = carService.selectById(driver.getCarId()); @@ -439,15 +442,23 @@ orderTaxi.setState(6); orderTaxi.setEndServiceTime(new Date()); List<TUseMoney> money = useMoneyMapper.selectList(null); // List<TUseMoney> money = useMoneyMapper.selectList(null); Driver driver = driverService.selectById(orderTaxi.getDriverId()); driver.setBalance(driver.getBalance() - money.get(0).getMoney()); // 新增扣除使用费记录 Company company = companyService.selectById(driver.getCompanyId()); TransactionDetails transactionDetails = new TransactionDetails(); if(orderTaxi.getOrderSource() == 2 || orderTaxi.getOrderSource() == 3){ double v = company.getPercentageDeduction() / 100; v = v * orderTaxi.getOrderMoney(); driver.setBalance(driver.getBalance() - v); transactionDetails.setMoney(v); }else { driver.setBalance(driver.getBalance() - company.getFixedDeduction()); transactionDetails.setMoney(company.getFixedDeduction()); } // 新增扣除使用费记录 transactionDetails.setUserId(driver.getId()); transactionDetails.setInsertTime(new Date()); transactionDetails.setRemark("软件使用费"); transactionDetails.setMoney(money.get(0).getMoney()); transactionDetails.setState(2); transactionDetails.setType(1); transactionDetails.setUserType(2);