From e59d2141bc8f9bee8b569deaa54158b3759c431e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 29 八月 2025 10:42:40 +0800 Subject: [PATCH] bug修改 --- ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java | 12 ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/report/driverIncomeData.html | 2 UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml | 2 UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAppOpenInfoService.java | 16 + DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 36 +++ UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 3 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Withdrawal.java | 12 + DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java | 10 + ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java | 13 + UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java | 22 ++ DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 23 + UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/AppOpenInfoMapper.java | 16 + DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java | 13 ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/appOpenInfo/appOpenInfo.js | 2 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java | 3 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TransactionDetails.java | 12 + ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java | 13 + UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java | 10 + DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java | 23 ++ ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/ReportController.java | 88 ++++++++ UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppOpenInfoServiceImpl.java | 20 ++ ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubTransactionDetails.java | 13 + ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/report/tDriverIncomeTable.js | 27 ++ UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 56 +++-- DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java | 14 + DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java | 29 ++ UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 3 UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AppOpenInfo.java | 72 +++++++ DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java | 12 + UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java | 12 + 30 files changed, 538 insertions(+), 51 deletions(-) diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index e25f596..1476c81 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -301,6 +301,11 @@ }*/ switch (state){ case 3://出发前往预约点 + // 判断是否有其他未完成的单子 + List<OrderPrivateCar> orderPrivateCars = orderPrivateCarMapper.queryByState(orderPrivateCar.getUserId(), 1, 1, 3,4, 5,6); + if(!CollectionUtils.isEmpty(orderPrivateCars)){ + return ResultUtil.error("有未完成的服务订单"); + } orderPrivateCar.setState(3); orderPrivateCar.setSetOutTime(new Date()); systemNoticeService.addSystemNotice(1, "司机已出发,请耐心等待", orderPrivateCar.getUserId()); @@ -471,6 +476,9 @@ @Override public ResultUtil confirmFees(Integer orderId, Integer type, Double parkingFee, Double crossingFee) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(orderId); + if(Objects.nonNull(orderPrivateCar.getPriceAuditState()) && orderPrivateCar.getPriceAuditState() == 1){ + return ResultUtil.error("待平台审核中"); + } if(orderPrivateCar.getState() != 5){ return ResultUtil.error("异常操作,请刷新订单"); } @@ -529,7 +537,7 @@ if(orderNumber<=0){//判断是否是首单 //判断是否免单 UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId()); - if(userInfo.getFreeMoney().doubleValue()>0d){ + if(Objects.nonNull(userInfo.getFreeMoney()) && userInfo.getFreeMoney().doubleValue()>0d){ if(orderPrivateCar.getOrderMoney()<=userInfo.getFreeMoney().doubleValue()){ orderPrivateCar.setState(8); orderPrivateCar.setIsFree(2); @@ -548,12 +556,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(),driver.getBalance()); }else{ orderPrivateCar.setState(7); orderPrivateCar.setOrderMoney(orderPrivateCar.getOrderMoney()-userInfo.getFreeMoney().doubleValue()); @@ -614,12 +622,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance()); }else { orderPrivateCar.setState(7); } @@ -633,9 +641,9 @@ if(BigDecimal.valueOf(orderPrivateCar.getOrderMoney()).subtract(new BigDecimal(orderPrivateCar.getEstimatedPrice())).abs().doubleValue() > 3){ orderPrivateCar.setIsException(1); } - if(orderPrivateCar.getIsException() == 1){ - orderPrivateCar.setState(13); - } +// if(orderPrivateCar.getIsException() == 1){ +// orderPrivateCar.setState(13); +// } this.updateById(orderPrivateCar); @@ -1003,5 +1011,8 @@ orderPrivateCar.setPriceAuditState(1); orderPrivateCar.setState(6); this.updateById(orderPrivateCar); + // 推送新的价格给用户 + pushUtil.pushOrderMoney(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, updatePrice, 0); + pushUtil.pushOrderMoney(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, updatePrice, 0); } } diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java index 28f37f9..e36e4cc 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java @@ -53,7 +53,19 @@ */ @TableField("insertTime") private Date insertTime; + /** + * 司机余额 + */ + @TableField("driverBalance") + private Double driverBalance; + public Double getDriverBalance() { + return driverBalance; + } + + public void setDriverBalance(Double driverBalance) { + this.driverBalance = driverBalance; + } public Integer getId() { return id; } diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TransactionDetails.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TransactionDetails.java index b6ecd17..5dc6a0b 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TransactionDetails.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TransactionDetails.java @@ -63,7 +63,19 @@ */ @TableField("orderId") private Integer orderId; + /** + * 司机余额 + */ + @TableField("driverBalance") + private Double driverBalance; + public Double getDriverBalance() { + return driverBalance; + } + + public void setDriverBalance(Double driverBalance) { + this.driverBalance = driverBalance; + } public Integer getId() { return id; } diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Withdrawal.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Withdrawal.java index 80d44af..6fdb17f 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Withdrawal.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Withdrawal.java @@ -96,7 +96,19 @@ */ @TableField("bankName") private String bankName ; + /** + * 司机余额 + */ + @TableField("driverBalance") + private Double driverBalance; + public Double getDriverBalance() { + return driverBalance; + } + + public void setDriverBalance(Double driverBalance) { + this.driverBalance = driverBalance; + } public String getBankName() { return bankName; diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java index 7e41e53..d6807a1 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java @@ -20,6 +20,16 @@ * @throws Exception */ void saveData(Integer userType, Integer objectId, Integer type, Integer incomeId, Integer orderType, Double money) throws Exception; + /** + * 添加数据 + * @param userType + * @param objectId + * @param type + * @param incomeId + * @param money + * @throws Exception + */ + void saveDriverData(Integer userType, Integer objectId, Integer type, Integer incomeId, Integer orderType, Double money, Double driverBalance) throws Exception; /** diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java index 0b1ca59..691dc69 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.java @@ -20,4 +20,18 @@ */ void saveData(Integer userId, String remark, Double money, Integer state, Integer type, Integer userType, Integer orderType, Integer orderId) throws Exception; + /** + * 添加数据 + * @param userId 对象id + * @param remark 备注 + * @param money 金额 + * @param state 状态(1=添加,2=减少) + * @param type 类型(1=金额,2=积分) + * @param userType 用户类型(1=用户,2=司机) + * @param orderType 订单类型(1=专车,2=快车,3=城际,4=小件物流,5=余额充值,6=余额提现) + * @param orderId + * @throws Exception + */ + void saveDriverData(Integer userId, String remark, Double money, Integer state, + Integer type, Integer userType, Integer orderType, Integer orderId,Double driverBalance) throws Exception; } diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java index 93f8296..eaa555f 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java @@ -44,7 +44,28 @@ this.insert(income); } - + /** + * 添加数据 + * @param userType + * @param objectId + * @param type + * @param incomeId + * @param money + * @throws Exception + */ + @Override + public void saveDriverData(Integer userType, Integer objectId, Integer type, Integer incomeId, Integer orderType, Double money,Double driverBalance) throws Exception { + Income income = new Income(); + income.setUserType(userType); + income.setObjectId(objectId); + income.setType(type); + income.setIncomeId(incomeId); + income.setOrderType(orderType); + income.setMoney(money); + income.setInsertTime(new Date()); + income.setDriverBalance(driverBalance); + this.insert(income); + } /** * 获取列表数据 * @param userType diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java index 651e9bd..4627723 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java @@ -190,7 +190,7 @@ driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); //添加交易明细 - transactionDetailsService.saveData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId()); + transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(), driver.getBalance()); //修改改派通知状态 @@ -345,8 +345,6 @@ query.setState(2); query.setPayTime(new Date()); reassignMapper.updateById(query); - //添加交易明细 - transactionDetailsService.saveData(uid, "司机改派支付", aDouble, 2, 1, 2, 3, Integer.valueOf(id)); } Double balance = driver.getBalance(); if(null == balance || balance < totalMoney){ @@ -354,7 +352,10 @@ } driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(totalMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); - + for(String id : split){ + //添加交易明细 + transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, 3, Integer.valueOf(id),driver.getBalance()); + } //修改改派通知状态 for(String id : split){ @@ -417,7 +418,7 @@ PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(key), 3, type, 1); if(null != query){ //添加交易明细 - transactionDetailsService.saveData(reassigns.get(0).getOriginalDriverId(), "司机改派支付", reassigns.get(0).getMoney(), 2, 1, 2, 3, Integer.valueOf(key)); + transactionDetailsService.saveDriverData(reassigns.get(0).getOriginalDriverId(), "司机改派支付", reassigns.get(0).getMoney(), 2, 1, 2, 3, Integer.valueOf(key),driver.getBalance()); for(Reassign reassign : reassigns){ reassign.setState(2); reassign.setPayOrder(order_id); @@ -461,7 +462,7 @@ PaymentRecord query = paymentRecordService.query(1, null, null, reassign.getOrderId(), reassign.getOrderType(), type, 1); if(null != query){ //添加交易明细 - transactionDetailsService.saveData(reassign.getOriginalDriverId(), "司机改派支付", reassign.getMoney(), 2, 1, 2, reassign.getOrderType(), reassign.getOrderId()); + transactionDetailsService.saveDriverData(reassign.getOriginalDriverId(), "司机改派支付", reassign.getMoney(), 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(),driver.getBalance()); reassign.setState(2); reassign.setPayOrder(order_id); reassign.setPayTime(new Date()); diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java index f56b731..5fb8c3b 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.java @@ -41,4 +41,33 @@ transactionDetails.setUserType(userType); this.insert(transactionDetails); } + /** + * 添加数据 + * @param userId 对象id + * @param remark 备注 + * @param money 金额 + * @param state 状态(1=添加,2=减少) + * @param type 类型(1=金额,2=积分) + * @param userType 用户类型(1=用户,2=司机) + * @param orderType 订单类型(1=专车,2=快车,3=城际,4=小件物流) + * @param orderId + * @throws Exception + */ + @Override + public void saveDriverData(Integer userId, String remark, Double money, Integer state, Integer type, Integer userType, + Integer orderType, Integer orderId, Double driverBalance) throws Exception { + + TransactionDetails transactionDetails = new TransactionDetails(); + transactionDetails.setInsertTime(new Date()); + transactionDetails.setMoney(money); + transactionDetails.setOrderId(orderId); + transactionDetails.setOrderType(orderType); + transactionDetails.setRemark(remark); + transactionDetails.setState(state); + transactionDetails.setType(type); + transactionDetails.setUserId(userId); + transactionDetails.setUserType(userType); + transactionDetails.setDriverBalance(driverBalance); + this.insert(transactionDetails); + } } diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java index 0f4be11..10b9554 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java @@ -129,8 +129,9 @@ double v = new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); driver.setLaveBusinessMoney(v); } - this.insert(withdrawal); driverService.updateById(driver); + withdrawal.setDriverBalance(driver.getBalance()); + this.insert(withdrawal); return ResultUtil.success(); } diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java index 9263e89..b2b0352 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java @@ -106,7 +106,43 @@ log.error(jsonObject1.getString("msg")); } } + /** + * 推送订单修改价 + * @param type 1=用户,2=司机 + * @param uid 对象id + * @param orderId 订单id + * @param orderType 订单类型(1=专车,2=快车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=公务用车) + * @param orderMoney 金额 + */ + public void pushOrderMoney(Integer type, Integer uid, Integer orderId, Integer orderType, BigDecimal orderMoney, Integer time){ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("code", 200); + jsonObject.put("msg", "SUCCESS"); + jsonObject.put("method", "ORDER_MONEY"); + Map<String, Object> map = new HashMap<>(); + map.put("orderId", orderId); + map.put("orderType", orderType); + map.put("orderMoney", orderMoney); + map.put("time", time); + jsonObject.put("data", map); + //调用推送 + HttpHeaders headers = new HttpHeaders(); + // 以表单的方式提交 + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + //将请求头部和参数合成一个请求 + MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); + params.add("msg", jsonObject.toJSONString()); + params.add("id", String.valueOf(uid)); + params.add("type", String.valueOf(type)); + HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); + String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class); +// String s = internalRestTemplate.postForObject("http://message-push/netty/sendMsgToClient",requestEntity , String.class); + JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); + if(jsonObject1.getIntValue("code") != 200){ + log.error(jsonObject1.getString("msg")); + } + } /** * 改派完成后推送用户端提醒 diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java index bf91ce1..42ae3b5 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java @@ -209,7 +209,7 @@ temp.put("amount",income.getMoney()); temp.put("withType","订单号"); // todo 新增收入明细时 需要存储当前账户余额 - temp.put("balance",0); + temp.put("balance",income.getDriverBalance()); res.add(temp); } } @@ -245,7 +245,7 @@ temp.put("amount",income.getMoney()); temp.put("withType","订单号"); // todo 新增收入明细时 需要存储当前账户余额 - temp.put("balance",0); + temp.put("balance",income.getDriverBalance()); res.add(temp); } } @@ -270,7 +270,7 @@ temp.put("amount",details.getMoney()); temp.put("withType","交易流水号"); // todo 新增收入明细时 需要存储当前账户余额 - temp.put("balance",0); + temp.put("balance",details.getDriverBalance()); res.add(temp); } } @@ -295,7 +295,7 @@ temp.put("amount",details.getMoney()); temp.put("withType","交易流水号"); // todo 新增收入明细时 需要存储当前账户余额 - temp.put("balance",0); + temp.put("balance",details.getDriverBalance()); res.add(temp); } } @@ -320,7 +320,7 @@ temp.put("amount",details.getMoney()); temp.put("withType","无"); // todo 新增收入明细时 需要存储当前账户余额 - temp.put("balance",0); + temp.put("balance",details.getDriverBalance()); res.add(temp); } } @@ -346,7 +346,7 @@ temp.put("amount",details.getMoney()); temp.put("withType","无"); // todo 新增收入明细时 需要存储当前账户余额 - temp.put("balance",0); + temp.put("balance",details.getDriverBalance()); res.add(temp); } } diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/ReportController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/ReportController.java index f11c269..a947fd2 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/ReportController.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/ReportController.java @@ -27,10 +27,7 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -481,13 +478,13 @@ incomeEntityWrapper.eq("type",2); incomeEntityWrapper.isNotNull("money"); if (start!=null){ + start = start + " 00:00:00"; + end = end + " 23:59:59"; incomeEntityWrapper.ge("insertTime", start); incomeEntityWrapper.le("insertTime", end); } - List<Income> incomes = incomeService.selectList( - incomeEntityWrapper - ); + List<Income> incomes = incomeService.selectList(incomeEntityWrapper); EntityWrapper<TOrderPrivateCar> driverEntityWrapper = new EntityWrapper<>(); driverEntityWrapper.isNotNull("driverId"); if (start!=null){ @@ -529,6 +526,83 @@ return ResultUtil.runErr(); } } + /** + * 司机收益统计 + * @author yxh + * @date 2021/4/2 17:35 + * @return java.lang.Object + */ + @ResponseBody + @RequestMapping(value = "/queryDriverIncomeDataSum", method = RequestMethod.POST) + public Object queryDriverIncomeDataSum(String driverName, String time, Integer companyId){ + try { + String start = null; + String end = null; + if(ToolUtil.isNotEmpty(time)){ + start = time.split(" - ")[0]; + end = time.split(" - ")[1]; + } + List<Map<String, Object>> maps = driverService.queryDriverIncomeDataNoPage( driverName, start, end, companyId); + EntityWrapper<Income> incomeEntityWrapper = new EntityWrapper<>(); + incomeEntityWrapper.eq("type",2); + incomeEntityWrapper.isNotNull("money"); + if (start!=null){ + start = start + " 00:00:00"; + end = end + " 23:59:59"; + incomeEntityWrapper.ge("insertTime", start); + incomeEntityWrapper.le("insertTime", end); + } + + List<Income> incomes = incomeService.selectList(incomeEntityWrapper); + EntityWrapper<TOrderPrivateCar> driverEntityWrapper = new EntityWrapper<>(); + driverEntityWrapper.isNotNull("driverId"); + if (start!=null){ + driverEntityWrapper.ge("insertTime", start); + driverEntityWrapper.le("insertTime", end); + } + List<TOrderPrivateCar> tOrderPrivateCars = orderPrivateCarService.selectList(driverEntityWrapper); + + for (Map<String, Object> map : maps) { + Double driverMoney = 0.0; + Double platformMoney = 0.0; + + // 司机跑单收入 + List<Income> driver = incomes.stream().filter(e -> e.getUserType().equals(2) + &&map.get("id").toString().equals(e.getObjectId().toString())).collect(Collectors.toList()); + for (Income income : driver) { + driverMoney+=income.getMoney(); + } + String driverId = map.get("id").toString(); + // 查询司机订单 + List<Integer> orderIds = tOrderPrivateCars.stream().filter(e -> e.getDriverId().equals(Integer.parseInt(driverId))) + .map(TOrderPrivateCar::getId).collect(Collectors.toList()); + // 平台收入 + List<Income> platform = incomes.stream().filter(e -> e.getUserType().equals(1) + && orderIds.contains(e.getObjectId())).collect(Collectors.toList()); + for (Income income : platform) { + platformMoney+=income.getMoney(); + } + // driverMoney保留两位小数 + driverMoney = new BigDecimal(driverMoney).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + platformMoney = new BigDecimal(platformMoney).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + map.put("driverMoney", driverMoney); + map.put("platformMoney", platformMoney); + } + Map<String, Object> result = new HashMap<>(); + int totalOrderCount = maps.stream().mapToInt(e -> Integer.parseInt(e.get("privateCarTotalNum").toString())).sum(); + result.put("totalOrderCount", totalOrderCount); + double totalPayMoney = maps.stream().mapToDouble(e -> Double.parseDouble(e.get("payMoney").toString())).sum(); + result.put("totalPayMoney", totalPayMoney); + double totalIncome = maps.stream().mapToDouble(e -> Double.parseDouble(e.get("driverMoney").toString())).sum(); + result.put("totalIncome", totalIncome); + double totalPlatformMoney = maps.stream().mapToDouble(e -> Double.parseDouble(e.get("platformMoney").toString())).sum(); + result.put("totalPlatformMoney", totalPlatformMoney); + return result; + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } /** * 导出司机收益排行 diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java index cae5522..17ad0e3 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java @@ -53,6 +53,19 @@ */ @TableField("insertTime") private Date insertTime; + /** + * 司机余额 + */ + @TableField("driverBalance") + private Double driverBalance; + + public Double getDriverBalance() { + return driverBalance; + } + + public void setDriverBalance(Double driverBalance) { + this.driverBalance = driverBalance; + } public Integer getId() { return id; diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubTransactionDetails.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubTransactionDetails.java index e04f67c..8d59fe2 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubTransactionDetails.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubTransactionDetails.java @@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.system.model; +import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.enums.IdType; import java.math.BigDecimal; import java.util.Date; @@ -62,7 +63,19 @@ * 订单id */ private Integer orderId; + /** + * 司机余额 + */ + @TableField("driverBalance") + private Double driverBalance; + public Double getDriverBalance() { + return driverBalance; + } + + public void setDriverBalance(Double driverBalance) { + this.driverBalance = driverBalance; + } public Integer getId() { return id; diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java index 171614f..7cbe4f1 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java @@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.system.model; +import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.enums.IdType; import java.math.BigDecimal; import java.util.Date; @@ -79,7 +80,19 @@ */ private Integer withdrawalType; + /** + * 司机余额 + */ + @TableField("driverBalance") + private Double driverBalance; + public Double getDriverBalance() { + return driverBalance; + } + + public void setDriverBalance(Double driverBalance) { + this.driverBalance = driverBalance; + } public Integer getId() { return id; } diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/report/driverIncomeData.html b/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/report/driverIncomeData.html index a0b2837..b7deb21 100644 --- a/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/report/driverIncomeData.html +++ b/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/report/driverIncomeData.html @@ -30,6 +30,8 @@ </div> </div> <div class="hidden-xs" id="TDriverIncomeTableToolbar" role="group"> + <label>总计订单数:<span id="totalOrderCount"></span>;实付金额:<span id="totalPayMoney"></span>; + 司机收入:<span id="totalIncome"></span>;平台手续费:<span id="totalPlatformMoney"></span></label> </div> <#table id="TDriverIncomeTable"/> </div> diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/appOpenInfo/appOpenInfo.js b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/appOpenInfo/appOpenInfo.js index e586e31..0cf1471 100644 --- a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/appOpenInfo/appOpenInfo.js +++ b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/appOpenInfo/appOpenInfo.js @@ -22,6 +22,8 @@ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="司机端二维码" onfocus="TUser.tooltip()">司机端二维码</p>'] }else if(value==2){ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="紧急联系人" onfocus="TUser.tooltip()">紧急联系人</p>'] + }else if(value==3){ + btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="取消订单短信通知" onfocus="TUser.tooltip()">取消订单短信通知</p>'] } return btn; } diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/report/tDriverIncomeTable.js b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/report/tDriverIncomeTable.js index 5843696..2b85615 100644 --- a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/report/tDriverIncomeTable.js +++ b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/report/tDriverIncomeTable.js @@ -31,6 +31,19 @@ * 查询车辆品牌管理列表 */ DriverIncomelData.search = function () { + // 统计 + var ajax = new $ax(Feng.ctxPath + "/report/queryDriverIncomeDataSum", function (data) { + // 将金额设置进label文本 + $("#totalOrderCount").text(data.totalOrderCount); + $("#totalPayMoney").text(data.totalPayMoney); + $("#totalIncome").text(data.totalIncome); + $("#totalPlatformMoney").text(data.totalPlatformMoney); + }, function (data) { + }); + ajax.set("driverName",$("#driverName").val()); + ajax.set("time",$("#time").val()); + ajax.set("companyId",$("#company").val()); + ajax.start(); var queryData = {}; queryData['driverName'] = $("#driverName").val(); queryData['time'] = $("#time").val(); @@ -61,5 +74,19 @@ type: 1, time: rangeDate }) + console.log("统计统计统计统计统计统计统计") + // 统计 + var ajax = new $ax(Feng.ctxPath + "/report/queryDriverIncomeDataSum", function (data) { + // 将金额设置进label文本 + $("#totalOrderCount").text(data.totalOrderCount); + $("#totalPayMoney").text(data.totalPayMoney); + $("#totalIncome").text(data.totalIncome); + $("#totalPlatformMoney").text(data.totalPlatformMoney); + }, function (data) { + }); + ajax.set("driverName",$("#driverName").val()); + ajax.set("time",$("#time").val()); + ajax.set("companyId",$("#company").val()); + ajax.start(); DriverIncomelData.table = table.init(); }); diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index 86f17d4..2a88aa1 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -757,6 +757,9 @@ }) public ResultUtil<BaseWarpper> queryExpectedTime(Double slon, Double slat, Double elon, Double elat){ try { + ResultUtil<BaseWarpper> baseWarpperResultUtil = orderService.queryExpectedTime(slon, slat, elon, elat); + System.err.println(baseWarpperResultUtil); + System.err.println(baseWarpperResultUtil.getData()); return orderService.queryExpectedTime(slon, slat, elon, elat); }catch (Exception e){ e.printStackTrace(); diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 7631755..77e3a99 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -169,9 +169,8 @@ private IOpenCityService openCityService; @Autowired private IServerCarModelService serverCarModelService; -// @Autowired -// private ALiSendSms aLiSendSms; - + @Autowired + private IAppOpenInfoService appOpenInfoService; @Value("${filePath}") private String filePath; @@ -1122,13 +1121,13 @@ Company company = companyService.selectById(orderPrivateCar.getCompanyId()); Double taxi = company.getSpeMoney(); BigDecimal c =new BigDecimal(query.getMoney());//司机收入 - incomeService.saveData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); - + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(),driver.getBalance()); + this.deleteTask(id);//删除定时任务 // new Thread(new Runnable() { @@ -1221,10 +1220,26 @@ // 第三轮取消订单 orderPrivateCar.setState(10); orderPrivateCarMapper.updateById(orderPrivateCar); + pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); // 添加站内信 systemNoticeService.addSystemNotice(1, "当前区域未能及时为您匹配到合适车辆。为避免耽误您的行程,系统已自动取消订单,建议您稍后重新尝试。", orderPrivateCar.getUserId(), 1); - // TODO 0731 添加短信发送 - + // 查询是否开启短信通知 + AppOpenInfo appOpenInfo = appOpenInfoService.selectOne(new EntityWrapper<AppOpenInfo>() + .eq("type", 3)); + if(Objects.nonNull(appOpenInfo) && appOpenInfo.getIsOpen() == 1){ + // 添加短信发送 + //发送记录集合 + JSONArray records = new JSONArray(); + JSONObject record = new JSONObject(); + UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); + //手机号 + record.put("mobile", userInfo.getPhone()); + //替换变量 + JSONObject param = new JSONObject(); + record.put("tpContent", param); + records.add(record); + SMSUtil.sendSmsTp(380702L, records); + } } } } catch (Exception e) { @@ -1556,7 +1571,6 @@ if(Objects.nonNull(query1)){ userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 } - userInfoService.updateById(userInfo); //添加已收入明细 Company company = companyService.selectById(orderPrivateCar.getCompanyId()); Double speMoney = company.getSpeMoney(); @@ -1575,12 +1589,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance()); orderPrivateCar.setState(8); }else { if(orderPrivateCar.getOrderSource() == 2){ @@ -1592,13 +1606,14 @@ orderPrivateCar.setOrderMoney(orderMoney); orderPrivateCar.setPayMoney(orderMoney); } - new Thread(new Runnable() { - @Override - public void run() { - pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); - pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); - } - }).start(); +// new Thread(new Runnable() { +// @Override +// public void run() { +// pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); +// pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); +// } +// }).start(); + userInfoService.updateById(userInfo); systemNoticeService.addSystemNotice(1, "您已使用余额成功完成出行订单支付,谢谢使用!", uid, 1); if(orderPrivateCar.getState() == 1){ this.pushOrder(orderPrivateCar); @@ -1606,6 +1621,7 @@ }else { // 后付 orderPrivateCar.setPayMoney(orderMoney); + orderPrivateCar.setState(8); if(orderPrivateCar.getIsplatPay()==1){ //添加已收入明细 Company company = companyService.selectById(orderPrivateCar.getCompanyId()); @@ -1625,12 +1641,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance()); } @@ -1813,12 +1829,12 @@ Company company = companyService.selectById(orderPrivateCar.getCompanyId()); Double taxi = company.getSpeMoney(); BigDecimal c =new BigDecimal(query.getAmount());//司机收入 - incomeService.saveData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance()); this.deleteTask(orderPrivateCar.getId());//删除定时任务 // TODO: 2020/5/24 这里需要给司机和用户推送订单状态 @@ -1916,12 +1932,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance()); }else { if(orderPrivateCar.getOrderSource() == 2){ orderPrivateCar.setState(2); @@ -1954,12 +1970,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getBalance()); } } // TODO: 2020/5/24 这里需要给司机和用户推送订单状态 diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/AppOpenInfoMapper.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/AppOpenInfoMapper.java new file mode 100644 index 0000000..08ee480 --- /dev/null +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/AppOpenInfoMapper.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.stylefeng.guns.modular.system.model.AppOpenInfo; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2021-04-15 + */ +public interface AppOpenInfoMapper extends BaseMapper<AppOpenInfo> { + +} diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml index f94fd95..a8bb09a 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml @@ -354,7 +354,7 @@ a.headImgUrl as avatar, case when b.telX is null then a.phone else b.telX end as phone, c.carLicensePlate as carCode, - CONCAT(F.`name`, d.`name`, '.', c.carColor) as carName, + CONCAT(f.`name`, d.`name`, '.', c.carColor) as carName, (select sum(fraction) / count(id) from t_order_evaluate where driverId = a.id) as score, ( (select count(id) from t_order_private_car where state in (7, 8, 9) and driverId = a.id) + diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AppOpenInfo.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AppOpenInfo.java new file mode 100644 index 0000000..8a86dc7 --- /dev/null +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/AppOpenInfo.java @@ -0,0 +1,72 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; + +import java.io.Serializable; + +/** + * <p> + * + * </p> + * + * @author stylefeng + * @since 2021-04-15 + */ +@TableName("app_open_info") +public class AppOpenInfo extends Model<AppOpenInfo> { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 1=二维码 + */ + private Integer type; + /** + * 1=打开,2=关闭 + */ + private Integer isOpen; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getIsOpen() { + return isOpen; + } + + public void setIsOpen(Integer isOpen) { + this.isOpen = isOpen; + } + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "AppOpenInfo{" + + "id=" + id + + ", type=" + type + + ", isOpen=" + isOpen + + "}"; + } +} diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java index cae5522..f599c1a 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Income.java @@ -53,7 +53,19 @@ */ @TableField("insertTime") private Date insertTime; + /** + * 司机余额 + */ + @TableField("driverBalance") + private Double driverBalance; + public Double getDriverBalance() { + return driverBalance; + } + + public void setDriverBalance(Double driverBalance) { + this.driverBalance = driverBalance; + } public Integer getId() { return id; } diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAppOpenInfoService.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAppOpenInfoService.java new file mode 100644 index 0000000..d2b5cc1 --- /dev/null +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IAppOpenInfoService.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.service; + +import com.baomidou.mybatisplus.service.IService; +import com.stylefeng.guns.modular.system.model.AppOpenInfo; + +/** + * <p> + * 服务类 + * </p> + * + * @author stylefeng + * @since 2021-04-15 + */ +public interface IAppOpenInfoService extends IService<AppOpenInfo> { + +} diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java index e1a2fd3..7278f3a 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IIncomeService.java @@ -16,4 +16,14 @@ * @throws Exception */ void saveData(Integer userType, Integer objectId, Integer type, Integer incomeId, Integer orderType, Double money) throws Exception; + /** + * 添加数据 + * @param userType + * @param objectId + * @param type + * @param incomeId + * @param money + * @throws Exception + */ + void saveDriverData(Integer userType, Integer objectId, Integer type, Integer incomeId, Integer orderType, Double money, Double driverBalance) throws Exception; } diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppOpenInfoServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppOpenInfoServiceImpl.java new file mode 100644 index 0000000..9f90af2 --- /dev/null +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/AppOpenInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.modular.system.dao.AppOpenInfoMapper; +import com.stylefeng.guns.modular.system.model.AppOpenInfo; +import com.stylefeng.guns.modular.system.service.IAppOpenInfoService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 服务实现类 + * </p> + * + * @author stylefeng + * @since 2021-04-15 + */ +@Service +public class AppOpenInfoServiceImpl extends ServiceImpl<AppOpenInfoMapper, AppOpenInfo> implements IAppOpenInfoService { + +} diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java index c2337d0..4d6735b 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java @@ -85,9 +85,6 @@ List<Driver> drivers = driverMapper.queryIdleDriver_(type, serverCarModelId, companyId); List<Driver> list = new ArrayList<>(); for(Driver driver : drivers){ - if(driver.getId() == 2448){ - System.err.println("司机名称---"+driver.getName()); - } String value = redisUtil.getValue("DRIVER" + String.valueOf(driver.getId())); if(null != value){ /*Map<String, String> distance1 = gdMapElectricFenceUtil.getDistance(lon + "," + lat, value, 0);//计算距离 diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java index 2fa2538..e94e6ee 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java @@ -34,4 +34,26 @@ income.setInsertTime(new Date()); this.insert(income); } + /** + * 添加数据 + * @param userType + * @param objectId + * @param type + * @param incomeId + * @param money + * @throws Exception + */ + @Override + public void saveDriverData(Integer userType, Integer objectId, Integer type, Integer incomeId, Integer orderType, Double money,Double driverBalance) throws Exception { + Income income = new Income(); + income.setUserType(userType); + income.setObjectId(objectId); + income.setType(type); + income.setIncomeId(incomeId); + income.setOrderType(orderType); + income.setMoney(money); + income.setInsertTime(new Date()); + income.setDriverBalance(driverBalance); + this.insert(income); + } } -- Gitblit v1.7.1