skyline vor 5 Monaten
Ursprung
Commit
583af69e78

+ 2 - 0
car-wash-service/src/main/java/com/kym/service/DeviceConfigService.java

@@ -25,4 +25,6 @@ public interface DeviceConfigService extends MyBaseService<DeviceConfig> {
     Object readDeviceConfig(String shortId);
 
     PageBean<DeviceConfig> list(DeviceConfigQueryParams params);
+
+    void pushNewDeviceConfig(Long deviceConfigId);
 }

+ 4 - 5
car-wash-service/src/main/java/com/kym/service/awoara/event/handle/OrderCloseEventHandler.java

@@ -190,7 +190,7 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
      */
     @Transactional
     protected void doLocalSplit(WashOrder washOrder) {
-        log.info("订单:{},执行本店分账", washOrder.getOrderId());
+        log.info("订单:{},执行本店分账", washOrder.getOrderId());
         int amount = washOrder.getAmount();
         BigDecimal platformRate = BigDecimal.valueOf(0.1);
         BigDecimal consumeRate = BigDecimal.valueOf(0.3);
@@ -281,14 +281,13 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
      */
     @Transactional
     protected void doCrossSplit(WashOrder washOrder, String userStationId) {
-        log.info("订单:{},执行跨店分账", washOrder.getOrderId());
+        log.info("订单:{},执行跨店分账", washOrder.getOrderId());
         int amount = washOrder.getAmount();
         BigDecimal platformRate = BigDecimal.valueOf(0.1);
         BigDecimal crossRate = BigDecimal.valueOf(0.7);
 
         // 平台技术服务费10%
-        var platformAmount = amount * platformRate.intValueExact();
-        ;
+        var platformAmount = BigDecimal.valueOf(amount).multiply(platformRate).intValueExact();
 
         // 解冻金额 = 订单金额
         var unfreezeAmount = amount;
@@ -297,7 +296,7 @@ public class OrderCloseEventHandler implements AwoaraEventHandler<OrderInfoObjec
         var localAmount = (int) (unfreezeAmount * 0.3) - platformAmount;
 
         // 当前消费站点分账收入(订单金额的70%,不承担平台手续费)
-        var crossAmount = amount * crossRate.intValueExact();
+        var crossAmount = BigDecimal.valueOf(amount).multiply(crossRate).intValueExact();
 
         // t_split_record 0.平台服务费收入 1.消费站点收入 2.归属站点解冻 3.归属站点收入 4.归属站点支出(给消费站点结算)
         var splitRecord0 = new SplitRecord()

+ 9 - 0
car-wash-service/src/main/java/com/kym/service/impl/DeviceConfigServiceImpl.java

@@ -73,5 +73,14 @@ public class DeviceConfigServiceImpl extends MyBaseServiceImpl<DeviceConfigMappe
         return new PageBean<>(res);
     }
 
+    @Override
+    public void pushNewDeviceConfig(Long deviceConfigId){
+        var deviceConfig = getById(deviceConfigId);
+        CommUtil.asserts(CommUtil.isNotEmptyAndNull(deviceConfig), "设备参数不存在");
+        // 查询该配置下绑定的设备
+        var deviceList = washDeviceService.lambdaQuery().eq(WashDevice::getDeviceConfigId,deviceConfigId).list();
+        deviceList.forEach(device -> awoaraService.writeConfig(device.getProductKey(), device.getDeviceName(), deviceConfig));
+    }
+
 
 }

+ 3 - 0
car-wash-service/src/main/java/com/kym/service/impl/StationFeeRateServiceImpl.java

@@ -25,6 +25,9 @@ public class StationFeeRateServiceImpl extends MyBaseServiceImpl<StationFeeRateM
     @Transactional
     @Override
     public void bind(StationFeeRate stationFeeRate) {
+        // 校验stationId不为空
+        CommUtil.asserts(CommUtil.isNotEmptyAndNull(stationFeeRate.getStationId()), "站点ID不能为空");
+
         // 查询站点的绑定数据,将历史数据置为无效,插入新的数据
         lambdaUpdate()
                 .eq(StationFeeRate::getStationId, stationFeeRate.getStationId())

+ 0 - 1
car-wash-service/src/main/java/com/kym/service/impl/WashDeviceServiceImpl.java

@@ -152,7 +152,6 @@ public class WashDeviceServiceImpl extends MyBaseServiceImpl<WashDeviceMapper, W
 
     @Override
     public void add(WashDevice device) {
-        CommUtil.assertsNonNulls(List.of(device.getDeviceName(), device.getStationId(), device.getProductKey()), "参数异常");
         Long count = lambdaQuery()
                 .eq(WashDevice::getStationId, device.getStationId())
                 .eq(WashDevice::getDeviceName, device.getDeviceName())