From f2c8e5b2d5c465bf961d569d6892e0c5a0433f81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Mon, 12 May 2025 10:16:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=86=E6=88=90=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/bst/bonus/domain/enums/BonusStatus.java | 5 +++-- .../java/com/ruoyi/bst/bonus/mapper/BonusMapper.xml | 8 +++----- .../java/com/ruoyi/bst/device/utils/DeviceUtil.java | 11 +++++------ .../bst/order/service/impl/OrderPayHandlerImpl.java | 5 +++++ 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/domain/enums/BonusStatus.java b/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/domain/enums/BonusStatus.java index 046690d..0fffd6a 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/domain/enums/BonusStatus.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/domain/enums/BonusStatus.java @@ -16,6 +16,7 @@ import lombok.Getter; public enum BonusStatus { INVALID("INVALID", "未出账"), + VALID("VALID", "已出账"), WAIT_DIVIDE("WAIT_DIVIDE", "待分成"), DIVIDEND("DIVIDEND", "已分成"); @@ -23,12 +24,12 @@ public enum BonusStatus { private final String msg; public static List valid() { - return CollectionUtils.map(BonusStatus::getStatus, WAIT_DIVIDE, DIVIDEND); + return CollectionUtils.map(BonusStatus::getStatus, VALID, WAIT_DIVIDE, DIVIDEND); } // 允许打款的分成状态 public static List canPay() { - return CollectionUtils.map(BonusStatus::getStatus, WAIT_DIVIDE); + return CollectionUtils.map(BonusStatus::getStatus, VALID, WAIT_DIVIDE); } } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/mapper/BonusMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/mapper/BonusMapper.xml index bb01ff5..b199ede 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/mapper/BonusMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/bonus/mapper/BonusMapper.xml @@ -271,15 +271,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update bst_bonus bb - set bb.status = 'WAIT_DIVIDE', - bb.wait_amount = bb.wait_amount + bb.invalid_amount, - bb.invalid_amount = 0 + set bb.status = 'VALID' where bb.bst_type = #{bstType} and bb.bst_id = #{bstId} and bb.status = 'INVALID' and - + update bst_bonus bb @@ -312,7 +310,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{item.id} and - and bb.status in ('INVALID', 'WAIT_DIVIDE') + and bb.status in ('INVALID', 'VALID', 'WAIT_DIVIDE') diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/utils/DeviceUtil.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/utils/DeviceUtil.java index 978b671..7839cb9 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/utils/DeviceUtil.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/utils/DeviceUtil.java @@ -25,16 +25,15 @@ public class DeviceUtil { } // 转换经纬度坐标系并赋值 - if (sys.getLon() != null && sys.getLat() != null) { + // 只有定位是正常的才认为是有获取到定位 + if (sys.getLon() != null && sys.getLat() != null + && !MathUtils.equals(sys.getLon(), BigDecimal.ZERO) + && !MathUtils.equals(sys.getLat(), BigDecimal.ZERO)) { List coordinates = GpsCoordinateUtils.coordinateConvert(sys.getLon(), sys.getLat()); if (coordinates != null && coordinates.size() >= 2) { device.setLongitude(coordinates.get(1)); device.setLatitude(coordinates.get(0)); - - // 只有定位是正常的才认为是有获取到定位 - if (!MathUtils.equals(device.getLongitude(), BigDecimal.ZERO) && !MathUtils.equals(device.getLatitude(), BigDecimal.ZERO)) { - device.setLastLocationTime(at); - } + device.setLastLocationTime(at); } } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderPayHandlerImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderPayHandlerImpl.java index 6c0938c..bb96242 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderPayHandlerImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderPayHandlerImpl.java @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.support.TransactionTemplate; +import com.ruoyi.bst.bonus.domain.enums.BonusBstType; import com.ruoyi.bst.bonus.service.BonusService; import com.ruoyi.bst.device.domain.enums.DeviceUnLockType; import com.ruoyi.bst.device.domain.vo.DeviceIotVO; @@ -75,6 +76,10 @@ public class OrderPayHandlerImpl implements PayHandler { int rows = orderMapper.updateByQuery(data, query); ServiceUtil.assertion(rows != 1, "更新ID为%s的订单失败", order.getId()); + // 分成出账 + boolean valid = bonusService.validByBst(BonusBstType.ORDER, order.getId()); + ServiceUtil.assertion(!valid, "ID为%s的订单分成出账失败", order.getId()); + // 开始使用订单设备 int start = orderDeviceService.start(orderDevice); ServiceUtil.assertion(start != 1, "开始使用ID为%s的订单设备失败", orderDevice.getId());