diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java index 54bb24d..1358c84 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/app/AppVerifyController.java @@ -922,11 +922,13 @@ public class AppVerifyController extends BaseController logger.info("【获取运营商信息】获取到areaId:【{}】", areaId); SysDept sysDept = wxPayService.getDeptObjByAreaId(areaId); - BigDecimal todayOrderAmount = getTodayOrderAmount(sysDept); - // 更新 sysDept 的余额字段 - if (sysDept.getBalance() != null) { - sysDept.setSettlementAmount(todayOrderAmount); - sysDept.setWithdrawableAmount(sysDept.getBalance().subtract(todayOrderAmount)); + if(ObjectUtil.isNotNull(sysDept)){ + BigDecimal todayOrderAmount = getTodayOrderAmount(sysDept); + // 更新 sysDept 的余额字段 + if (sysDept.getBalance() != null) { + sysDept.setSettlementAmount(todayOrderAmount); + sysDept.setWithdrawableAmount(sysDept.getBalance().subtract(todayOrderAmount)); + } } return success(sysDept); } diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtHardwareVersionController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtHardwareVersionController.java index ccd56eb..1a12645 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtHardwareVersionController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtHardwareVersionController.java @@ -46,6 +46,17 @@ public class EtHardwareVersionController extends BaseController return getDataTable(list); } + /** + * 查询硬件版本列表 + */ + @PreAuthorize("@ss.hasPermi('system:hardwareVersion:list')") + @GetMapping("/list/exclude") + public AjaxResult listExclude(EtHardwareVersion etHardwareVersion) + { + List list = etHardwareVersionService.selectEtHardwareVersionListExclude(etHardwareVersion); + return success(list); + } + /** * 导出硬件版本列表 */ diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtOrderController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtOrderController.java index 79fa16c..62662fc 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtOrderController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/EtOrderController.java @@ -1,41 +1,29 @@ package com.ruoyi.web.controller.system; -import java.math.BigDecimal; -import java.util.Comparator; -import java.util.List; -import java.util.Optional; -import javax.servlet.http.HttpServletResponse; - import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson2.JSON; -import com.ruoyi.common.constant.ServiceConstants; -import com.ruoyi.common.core.domain.entity.AsUser; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.domain.EtOperatingArea; -import com.ruoyi.system.domain.vo.RechargeVo; -import com.ruoyi.system.service.IAsUserService; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.constant.ServiceConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.system.domain.EtOrder; -import com.ruoyi.system.service.IEtOrderService; -import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.domain.entity.AsUser; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.domain.EtOrder; +import com.ruoyi.system.domain.vo.RechargeVo; +import com.ruoyi.system.service.IAsUserService; +import com.ruoyi.system.service.IEtOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.util.List; /** * 订单Controller diff --git a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java index 4fbc12f..0f4f35c 100644 --- a/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java +++ b/electripper-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java @@ -105,15 +105,17 @@ public class SysDeptController extends BaseController AjaxResult ajax = AjaxResult.success(); deptService.checkDeptDataScope(deptId); SysDept sysDept = deptService.selectDeptById(deptId); - BigDecimal todayOrderAmount = getTodayOrderAmount(deptId); + if(ObjectUtil.isNotNull(sysDept)){ + BigDecimal todayOrderAmount = getTodayOrderAmount(deptId); - if(todayOrderAmount.compareTo(sysDept.getBalance()) > 0){ - todayOrderAmount = sysDept.getBalance(); - } - // 更新 sysDept 的余额字段 - if (sysDept.getBalance() != null) { - sysDept.setSettlementAmount(todayOrderAmount); - sysDept.setWithdrawableAmount(sysDept.getBalance().subtract(todayOrderAmount)); + if(todayOrderAmount.compareTo(sysDept.getBalance()) > 0){ + todayOrderAmount = sysDept.getBalance(); + } + // 更新 sysDept 的余额字段 + if (sysDept.getBalance() != null) { + sysDept.setSettlementAmount(todayOrderAmount); + sysDept.setWithdrawableAmount(sysDept.getBalance().subtract(todayOrderAmount)); + } } ajax.put(AjaxResult.DATA_TAG,sysDept); @@ -260,10 +262,12 @@ public class SysDeptController extends BaseController } AjaxResult ajax = AjaxResult.success(); SysDept sysDept = deptService.selectDeptById(deptId); - BigDecimal todayOrderAmount = getTodayOrderAmount(deptId);//获取今日金额 - // 更新 sysDept 的余额字段 - if (sysDept.getBalance() != null) { - sysDept.setBalance(sysDept.getBalance().subtract(todayOrderAmount)); + if(ObjectUtil.isNotNull(sysDept)){ + BigDecimal todayOrderAmount = getTodayOrderAmount(deptId);//获取今日金额 + // 更新 sysDept 的余额字段 + if (sysDept.getBalance() != null) { + sysDept.setBalance(sysDept.getBalance().subtract(todayOrderAmount)); + } } ajax.put(AjaxResult.DATA_TAG, sysDept); return ajax; diff --git a/electripper-system/src/main/java/com/ruoyi/system/domain/vo/RechargeVo.java b/electripper-system/src/main/java/com/ruoyi/system/domain/vo/RechargeVo.java index 889813b..82df5e1 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/domain/vo/RechargeVo.java +++ b/electripper-system/src/main/java/com/ruoyi/system/domain/vo/RechargeVo.java @@ -57,4 +57,8 @@ public class RechargeVo { @Excel(name = "是否已退款") private Boolean isRefunded; + /** 是否押金抵扣:0-否;1-是 */ + @Excel(name = "是否押金抵扣") + private String depositDeduction; + } diff --git a/electripper-system/src/main/java/com/ruoyi/system/mapper/EtHardwareVersionMapper.java b/electripper-system/src/main/java/com/ruoyi/system/mapper/EtHardwareVersionMapper.java index 6b5d83c..724dd54 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/mapper/EtHardwareVersionMapper.java +++ b/electripper-system/src/main/java/com/ruoyi/system/mapper/EtHardwareVersionMapper.java @@ -27,6 +27,14 @@ public interface EtHardwareVersionMapper */ public List selectEtHardwareVersionList(EtHardwareVersion etHardwareVersion); + /** + * 查询硬件版本列表(排除父节点) + * + * @param etHardwareVersion 硬件版本 + * @return 硬件版本集合 + */ + public List selectEtHardwareVersionListExclude(EtHardwareVersion etHardwareVersion); + /** * 新增硬件版本 * diff --git a/electripper-system/src/main/java/com/ruoyi/system/mapper/EtOrderMapper.java b/electripper-system/src/main/java/com/ruoyi/system/mapper/EtOrderMapper.java index 174b420..d31de3a 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/mapper/EtOrderMapper.java +++ b/electripper-system/src/main/java/com/ruoyi/system/mapper/EtOrderMapper.java @@ -45,6 +45,14 @@ public interface EtOrderMapper */ public List selectEtOrderList(EtOrder etOrder); + /** + * 查询订单列表(不带路由) + * + * @param etOrder 订单 + * @return 订单集合 + */ + public List selectEtOrderListNoRoute(EtOrder etOrder); + /** * 新增订单 * @@ -312,4 +320,9 @@ public interface EtOrderMapper * 7天前未支付的订单 */ List selectToBePaidEtOrderList(); + + /** + * 查询所有正在骑行中的订单 + */ + List getCurrentOrderList(); } diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/IEtHardwareVersionService.java b/electripper-system/src/main/java/com/ruoyi/system/service/IEtHardwareVersionService.java index 4052ac0..96d0ce9 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/IEtHardwareVersionService.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/IEtHardwareVersionService.java @@ -5,15 +5,15 @@ import com.ruoyi.system.domain.EtHardwareVersion; /** * 硬件版本Service接口 - * + * * @author qiuzhenzhao * @date 2024-07-22 */ -public interface IEtHardwareVersionService +public interface IEtHardwareVersionService { /** * 查询硬件版本 - * + * * @param id 硬件版本主键 * @return 硬件版本 */ @@ -21,15 +21,24 @@ public interface IEtHardwareVersionService /** * 查询硬件版本列表 - * + * * @param etHardwareVersion 硬件版本 * @return 硬件版本集合 */ public List selectEtHardwareVersionList(EtHardwareVersion etHardwareVersion); + /** + * 查询硬件版本列表(排除父节点) + * + * @param etHardwareVersion 硬件版本 + * @return 硬件版本集合 + */ + public List selectEtHardwareVersionListExclude(EtHardwareVersion etHardwareVersion); + + /** * 新增硬件版本 - * + * * @param etHardwareVersion 硬件版本 * @return 结果 */ @@ -37,7 +46,7 @@ public interface IEtHardwareVersionService /** * 修改硬件版本 - * + * * @param etHardwareVersion 硬件版本 * @return 结果 */ @@ -45,7 +54,7 @@ public interface IEtHardwareVersionService /** * 批量删除硬件版本 - * + * * @param ids 需要删除的硬件版本主键集合 * @return 结果 */ @@ -53,7 +62,7 @@ public interface IEtHardwareVersionService /** * 删除硬件版本信息 - * + * * @param id 硬件版本主键 * @return 结果 */ diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/IEtOrderService.java b/electripper-system/src/main/java/com/ruoyi/system/service/IEtOrderService.java index 524d331..180072b 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/IEtOrderService.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/IEtOrderService.java @@ -185,6 +185,11 @@ public interface IEtOrderService */ EtOrder getCurrentOrder(String sn); + /** + * 查询所有正在骑行中的订单 + */ + List getCurrentOrderList(); + // /** // * 判断当前是否有正在骑行中的订单 // */ diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtHardwareVersionServiceImpl.java b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtHardwareVersionServiceImpl.java index e822845..7872361 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtHardwareVersionServiceImpl.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtHardwareVersionServiceImpl.java @@ -1,15 +1,15 @@ package com.ruoyi.system.service.impl; -import java.util.List; +import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.system.mapper.AsDeviceMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.system.mapper.EtHardwareVersionMapper; import com.ruoyi.system.domain.EtHardwareVersion; +import com.ruoyi.system.mapper.AsDeviceMapper; +import com.ruoyi.system.mapper.EtHardwareVersionMapper; import com.ruoyi.system.service.IEtHardwareVersionService; +import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** * 硬件版本Service业务层处理 @@ -86,6 +86,18 @@ public class EtHardwareVersionServiceImpl implements IEtHardwareVersionService return etHardwareVersions; } + /** + * 查询硬件版本列表(排除父节点) + * + * @param etHardwareVersion 硬件版本 + * @return 硬件版本 + */ + @Override + public List selectEtHardwareVersionListExclude(EtHardwareVersion etHardwareVersion) { + List etHardwareVersions = etHardwareVersionMapper.selectEtHardwareVersionListExclude(etHardwareVersion); + return etHardwareVersions; + } + /** * 新增硬件版本 * @@ -95,6 +107,12 @@ public class EtHardwareVersionServiceImpl implements IEtHardwareVersionService @Override public int insertEtHardwareVersion(EtHardwareVersion etHardwareVersion) { + if(ObjectUtil.isNull(etHardwareVersion.getParentId()) || etHardwareVersion.getParentId() == 0){ + etHardwareVersion.setAncestors("0"); + }else{ + EtHardwareVersion info = etHardwareVersionMapper.selectEtHardwareVersionById(etHardwareVersion.getParentId()); + etHardwareVersion.setAncestors(info.getAncestors() + "," + etHardwareVersion.getParentId()); + } etHardwareVersion.setCreateTime(DateUtils.getNowDate()); return etHardwareVersionMapper.insertEtHardwareVersion(etHardwareVersion); } diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java index 8580256..f555076 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java @@ -307,13 +307,14 @@ public class EtOrderServiceImpl implements IEtOrderService if(StrUtil.isBlank(status) || "1".equals(status)){ etOrder.setPaid(ServiceConstants.ORDER_PAY_STATUS_PAID); etOrder.setStatus(ServiceConstants.ORDER_STATUS_ORDER_END); - List etOrders = etOrderMapper.selectEtOrderList(etOrder); + List etOrders = etOrderMapper.selectEtOrderListNoRoute(etOrder); etOrders.forEach(etOrder1 -> { RechargeVo rechargeVo = new RechargeVo(); BeanUtils.copyProperties(etOrder1,rechargeVo); rechargeVo.setRechargeStatus(ServiceConstants.RECHARGE_STATUS_SUCCESS); rechargeVo.setRechargeType(ServiceConstants.ORDER_TYPE_DEPOSIT); rechargeVo.setTotalFee(etOrder1.getPayFee()); + rechargeVo.setDepositDeduction(etOrder1.getDepositDeduction()); List etRefunds = etRefundMapper.selectEtRefundByOrderNo(etOrder1.getOrderNo()); if(ObjectUtil.isNull(etRefunds) || etRefunds.size() == 0){ rechargeVo.setIsRefunded(false); @@ -332,7 +333,7 @@ public class EtOrderServiceImpl implements IEtOrderService PageUtils.startPage(); List etRefunds = etRefundMapper.selectEtRefundList(refund); etRefunds.forEach(etRefund -> { - AsUser asUser = asUserService.selectUserById(etRefund.getUserId()); + AsUser asUser = asUserMapper.selectUserById(etRefund.getUserId()); RechargeVo rechargeVo = new RechargeVo(); BeanUtils.copyProperties(etRefund,rechargeVo); rechargeVo.setOutTradeNo(etRefund.getRefundNo()); @@ -370,6 +371,17 @@ public class EtOrderServiceImpl implements IEtOrderService return null; } + /** + * 查询所有正在骑行中的订单 + * @return + */ + @Override + public List getCurrentOrderList() { + List etOrders = etOrderMapper.getCurrentOrderList(); + return etOrders; + } + + // /** // * 获取当前正在骑行中的订单数量 // * @param sn @@ -670,11 +682,13 @@ public class EtOrderServiceImpl implements IEtOrderService Refund refund = wxPayService.refund(depositOrder, "还车审核通过后退押金",residualDeposit,IdUtils.getOrderNo("ref")); /** 3.记录退款表 创建退款对象*/ depositOrder.setReason("还车审核通过后退押金"); - EtRefund refund1= createRefund(depositOrder, residualDeposit, null, null, null, null, refund.getOutRefundNo(),ServiceConstants.REFUND_TYPE_DEPOSIT); - int i = etRefundService.insertEtRefund(refund1); - if(i == 0){ - log.info("【还车审核通过】保存退款对象失败"); - throw new ServiceException("【还车审核通过】,保存退款对象失败"); + if(deductionAmount.compareTo(BigDecimal.ZERO) > 0){ + EtRefund refund1= createRefund(depositOrder, residualDeposit, null, null, null, null, refund.getOutRefundNo(),ServiceConstants.REFUND_TYPE_DEPOSIT); + int i = etRefundService.insertEtRefund(refund1); + if(i == 0){ + log.info("【还车审核通过】保存退款对象失败"); + throw new ServiceException("【还车审核通过】,保存退款对象失败"); + } } /** 4.更新用户余额*/ AsUser asUser = asUserService.selectUserById(depositOrder.getUserId()); @@ -688,7 +702,7 @@ public class EtOrderServiceImpl implements IEtOrderService throw new ServiceException("【还车审核通过】,更新用户信息失败"); } } - if(deductionAmount.compareTo(BigDecimal.ZERO) > 0){//抵扣金额大于0时,增加车损收入 + if(deductionAmount.compareTo(BigDecimal.ZERO) >= 0){//抵扣金额大于0时,增加车损收入 /** 押金抵扣后生成资金流水记录 */ etOrder.setPayFee(deductionAmount); callbackService.capitalFlowRecords(etOrder,ServiceConstants.FLOW_TYPE_INCOME,ServiceConstants.ORDER_TYPE_VEHICLE_DAMAGE,ServiceConstants.OWNER_TYPE_OPERATOR,null,ServiceConstants.PAY_TYPE_YJ); diff --git a/electripper-system/src/main/java/com/ruoyi/system/task/EtTask.java b/electripper-system/src/main/java/com/ruoyi/system/task/EtTask.java index 7d27e38..15a0418 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/task/EtTask.java +++ b/electripper-system/src/main/java/com/ruoyi/system/task/EtTask.java @@ -3,6 +3,7 @@ package com.ruoyi.system.task; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.ServiceConstants; import com.ruoyi.common.core.domain.entity.AsUser; @@ -15,7 +16,6 @@ import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.system.domain.*; import com.ruoyi.system.mapper.*; import com.ruoyi.system.service.*; -import com.wechat.pay.java.service.payments.model.Transaction; import com.wechat.pay.java.service.refund.model.Refund; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -86,6 +86,9 @@ public class EtTask { @Resource private EtLocationLogMapper etLocationLogMapper; + @Autowired + private IAsDeviceService deviceService; + /** @@ -373,7 +376,7 @@ public class EtTask { } /** - * 开始骑行未结束的订单,10秒算一次距离 + * 开始骑行未结束的订单,1分钟算一次距离 * cron: 0 5 0 * * ? */ public void computeDistance(){ @@ -383,7 +386,9 @@ public class EtTask { order.setStatus(ServiceConstants.ORDER_STATUS_RIDING); List orders = etOrderService.selectEtOrderList(order); for(EtOrder etOrder:orders){ - String tripRouteStr = etOrder.getTripRouteStr(); + String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.getNowDate()); + String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, etOrder.getUnlockTime()); + String tripRouteStr = deviceService.trajectory(etOrder.getSn(), startTime, endTime); if(StrUtil.isNotBlank(tripRouteStr)){ double[][] doubles = GeoUtils.parseJsonTrack(tripRouteStr); double v = GeoUtils.calculateTotalDistance(doubles); @@ -408,6 +413,52 @@ public class EtTask { etLocationLogMapper.deleteLocationLogByCreateTime(); } + + /** + * 车辆与订单状态同步 + * 1. 如果有正在骑行中的订单,车辆的状态是待骑行的,改成临时锁车,不发命令 + * 2. 如果车辆状态是骑行中或临时锁车,查询订单没有订单,则修改车辆状态为待骑行 + * + */ + public void stausSynchronization(){ + log.info("-------------------【定时任务】车辆与订单状态同步-------------------"); + // 当前有骑行中的订单 + List orders = etOrderService.getCurrentOrderList(); + for (EtOrder order:orders) { + AsDevice device = asDeviceMapper.selectAsDeviceBySn(order.getSn()); + if(ObjectUtil.isNotNull(device) && device.getStatus().equals(ServiceConstants.VEHICLE_STATUS_NORMAL)){ + AsDevice device1 = new AsDevice(); + device1.setSn(device.getSn()); + device1.setStatus(ServiceConstants.VEHICLE_STATUS_TEMPORARILY_LOCK); + device1.setLockStatus(ServiceConstants.LOCK_STATUS_CLOSE); + int i = asDeviceMapper.updateAsDeviceBySn(device1); + if(i>0){ + log.info("【定时任务】车辆状态修改为临时锁车:【sn="+device.getSn()+"】"); + } + } + } + + // 2. 如果车辆状态是骑行中或临时锁车,查询当前没有订单,则修改车辆状态为待骑行 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("status", "3","4"); // 设备状态正常 + // 查询所有设备 + List allDevices = asDeviceMapper.selectList(wrapper); + for(AsDevice device:allDevices){ + if(ObjectUtil.isNotNull(etOrderService.getCurrentOrder(device.getSn()))){ + continue; + }else{ + AsDevice device1 = new AsDevice(); + device1.setSn(device.getSn()); + device1.setStatus(ServiceConstants.VEHICLE_STATUS_NORMAL); + device1.setLockStatus(ServiceConstants.LOCK_STATUS_CLOSE); + int i = asDeviceMapper.updateAsDeviceBySn(device1); + if(i>0){ + log.info("【定时任务】车辆状态修改为待骑行:【sn="+device.getSn()+"】"); + } + } + } + } + // 写一个定时,如果车辆是骑行中,没有现在骑行中的订单,则关闭车辆 /** * 自动押金抵扣 @@ -427,37 +478,6 @@ public class EtTask { updateOrderPaid(order); }else{ etOrderService.deduction(order); -// if(StrUtil.isNotBlank(order.getOutTradeNo())){ -// String outTradeNo = order.getOutTradeNo(); -// log.info("【自动押金抵扣】订单【{}】,有outTradeNo = 【{}】", order.getOrderNo(),outTradeNo); -// // 如果原来有outtradeno,去查询一次,查询是否支付过 -// Transaction transaction = wxPayService.queryOrderByOutTradeNo(outTradeNo); -// if(Transaction.TradeStateEnum.SUCCESS.equals(transaction.getTradeState())) { -// // 订单已支付 -// order.setPaid(ServiceConstants.ORDER_PAY_STATUS_PAID); -// order.setPayTime(DateUtils.getNowDate()); -// order.setStatus(ServiceConstants.ORDER_STATUS_ORDER_END); -// order.setPayType(ServiceConstants.PAY_TYPE_WX); -// order.setMark("主动查询-骑行支付"); -// int updateEtOrder = etOrderMapper.updateEtOrder(order); -// if (updateEtOrder == 0) { -// throw new ServiceException("押金抵扣失败,更新骑行订单失败"); -// } -// }else{ -// updateOrderPaid(order); -// } -// }else{ -// // 3. 查询用户是否还有未退款的押金,如果有,则进行押金抵扣,如果没有,则结束订单 -// List yjOrders = etRefundService.checkUserDeposit(order.getUserId()); -// if(ObjectUtil.isNotNull(yjOrders) && yjOrders.size()>0){ -// // 取出最后一个订单对象 -// yjOrders.sort(Comparator.comparing(EtOrder::getCreateTime)); // 按create_time升序排序 -// EtOrder lastOrder = yjOrders.get(yjOrders.size() - 1); // 获取最后一个订单对象 -// etOrderService.deduction(); -// }else{ -// updateOrderPaid(order); -// } -// } } } } diff --git a/electripper-system/src/main/resources/mapper/system/EtCapitalFlowMapper.xml b/electripper-system/src/main/resources/mapper/system/EtCapitalFlowMapper.xml index 0e8dcdb..17825e4 100644 --- a/electripper-system/src/main/resources/mapper/system/EtCapitalFlowMapper.xml +++ b/electripper-system/src/main/resources/mapper/system/EtCapitalFlowMapper.xml @@ -24,10 +24,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select flow_id, area_id, owner, owner_id, owner_type, order_no, out_trade_no, type, bus_type, status, amount, handling_charge, platform_service_fee, operator_dividend, operator_balance, partner_dividend, pay_type, create_time from et_capital_flow + select flow_id, area_id, owner, owner_id, owner_type, order_no, out_trade_no, type, bus_type, status, amount, handling_charge, platform_service_fee, operator_dividend, operator_balance, partner_dividend, pay_type, create_time, model_id from et_capital_flow + + + + + +