diff --git a/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/pay/syb/service/SybPayService.java b/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/pay/syb/service/SybPayService.java index 298887b9..23eadaaf 100644 --- a/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/pay/syb/service/SybPayService.java +++ b/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/pay/syb/service/SybPayService.java @@ -3,6 +3,7 @@ package com.ruoyi.common.pay.syb.service; import com.alibaba.fastjson2.JSON; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.pay.syb.config.SybConfig; +import com.ruoyi.common.pay.syb.enums.SybTrxStatus; import com.ruoyi.common.pay.syb.util.SybUtil; import com.ruoyi.common.pay.wx.domain.Payable; import com.ruoyi.common.pay.wx.domain.RefundAble; @@ -58,9 +59,13 @@ public class SybPayService { ); if (result != null) { - String payInfo = result.get("payinfo"); - if (StringUtils.hasText(payInfo)) { - return JSON.parseObject(payInfo, PrepayWithRequestPaymentResponse.class); + if (SybTrxStatus.isSuccess(result)) { + String payInfo = result.get("payinfo"); + if (StringUtils.hasText(payInfo)) { + return JSON.parseObject(payInfo, PrepayWithRequestPaymentResponse.class); + } + } else { + throw new ServiceException(result.get("errmsg")); } } throw new ServiceException("支付数据为空"); diff --git a/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/domain/enums/config/ConfigKey.java b/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/domain/enums/config/ConfigKey.java index 6912caa2..033c7bda 100644 --- a/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/domain/enums/config/ConfigKey.java +++ b/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/domain/enums/config/ConfigKey.java @@ -20,7 +20,8 @@ public enum ConfigKey { DAILY_WITHDRAW_AMOUNT("daily.withdraw.amount", "单日单用户提现限额(元)"), DAILY_WITHDRAW_COUNT("daily.withdraw.count", "单日单用户提现次数(次)"), NOVERIFY_WITHDRAW_SINGLE("noverify.withdraw.single", "提现单笔免审核额度(元)"), - RECHARGE_MIN_SERVICE("recharge.min.service","充值最低服务费(元)"); + RECHARGE_MIN_SERVICE("recharge.min.service","充值最低服务费(元)"), + ORDER_AUTO_CLOSE_CD("order.auto.close.cd", "订单自动关闭冷却时间(分)"); private final String key; private final String msg; diff --git a/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java index 3f8c12f9..9b30a87c 100644 --- a/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java +++ b/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java @@ -103,8 +103,13 @@ public interface ISysConfigService */ boolean getBoolean(ConfigKey key); + /** + * 获取int类型配置 + */ + int getInt(ConfigKey key); List selectByIds(List configIds); int batchUpdateValue(List list); + } diff --git a/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index cb7dbdcc..e7462bf4 100644 --- a/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -10,6 +10,7 @@ import com.ruoyi.common.utils.ServiceUtil; import com.ruoyi.common.utils.collection.CollectionUtils; import com.ruoyi.system.domain.dto.SysConfigQuery; import com.ruoyi.system.domain.enums.config.ConfigKey; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.common.annotation.DataSource; @@ -31,6 +32,7 @@ import org.springframework.transaction.support.TransactionTemplate; * @author ruoyi */ @Service +@Slf4j public class SysConfigServiceImpl implements ISysConfigService { @Autowired @@ -244,6 +246,20 @@ public class SysConfigServiceImpl implements ISysConfigService return "true".equals(selectConfigByKey(key.getKey())); } + @Override + public int getInt(ConfigKey key) { + String s = selectConfigByKey(key.getKey()); + try { + if (StringUtils.hasText(s)) { + return Integer.parseInt(s); + } + return 0; + } catch (Exception e) { + log.warn("获取配置{}值失败:{}", key.getKey(), e.getMessage()); + return 0; + } + } + @Override public List selectByIds(List configIds) { if (CollectionUtils.isEmptyElement(configIds)) { diff --git a/smart-switch-service/src/main/java/com/ruoyi/iot/domain/IotDeviceInfo.java b/smart-switch-service/src/main/java/com/ruoyi/iot/domain/IotDeviceInfo.java index 3e503017..5397156d 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/iot/domain/IotDeviceInfo.java +++ b/smart-switch-service/src/main/java/com/ruoyi/iot/domain/IotDeviceInfo.java @@ -24,7 +24,7 @@ public class IotDeviceInfo { private Date at; // 时间 private BigDecimal v; // 电压 - private BigDecimal p; // 功率 + private BigDecimal p; // 功率(瓦) private BigDecimal a; // 电流 private BigDecimal w; // 总用电量(度) private String s; // 开关状态,0不通电,1闭合通电 diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/device/service/impl/DeviceServiceImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/device/service/impl/DeviceServiceImpl.java index ec724d23..e354d483 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/device/service/impl/DeviceServiceImpl.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/device/service/impl/DeviceServiceImpl.java @@ -30,6 +30,7 @@ import com.ruoyi.ss.deviceBindRecord.service.ISmDeviceBindRecordService; import com.ruoyi.ss.deviceSuit.service.DeviceSuitConverter; import com.ruoyi.ss.deviceSuit.service.DeviceSuitService; import com.ruoyi.ss.model.domain.SmModelVO; +import com.ruoyi.ss.model.domain.enums.ModelTag; import com.ruoyi.ss.model.service.ModelService; import com.ruoyi.ss.record.time.domain.enums.RecordTimeType; import com.ruoyi.ss.record.time.service.IRecordTimeService; @@ -735,17 +736,27 @@ public class DeviceServiceImpl implements DeviceService data.setTotalElectriQuantity(deviceInfo.getW()); data.setPowerStatus(deviceInfo.getS()); data.setRemainTime(deviceInfo.getTime()); - data.setWifi(deviceInfo.getWifi()); - data.setSurplusEle(deviceInfo.getM()); + + // 是否有WIFI + if (ModelTag.hasTag(device.getModelTags(), ModelTag.WIFI)) { + data.setWifi(deviceInfo.getWifi()); + } + + // 是否有电量 + if (ModelTag.hasTag(device.getModelTags(), ModelTag.ELE)) { + data.setSurplusEle(deviceInfo.getM()); + } else { + data.setSurplusEle(BigDecimal.ZERO); + } } // 判断设备是否正在使用 - // 时长优先级最高,若当前设备过期时间 > 当前时间,则正在使用 + // 设备过期时间 > 当前时间,则正在使用 boolean hasTime = device.getExpireTime().isAfter(now); // 若当前设备有电量,则正在使用 - boolean hasEle = device.getSurplusEle().compareTo(BigDecimal.ZERO) > 0; + boolean hasEle = data.getSurplusEle().compareTo(BigDecimal.ZERO) > 0; // 若开关开启,则正在使用 - boolean hasOpen = DevicePowerStatus.ON.getStatus().equals(device.getPowerStatus()); + boolean hasOpen = DevicePowerStatus.ON.getStatus().equals(data.getPowerStatus()); if (hasTime || hasEle || hasOpen) { data.setStatus(DeviceStatus.USING.getStatus()); } else { diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/model/domain/enums/ModelTag.java b/smart-switch-service/src/main/java/com/ruoyi/ss/model/domain/enums/ModelTag.java index 81267e1a..d0589b6f 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/model/domain/enums/ModelTag.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/model/domain/enums/ModelTag.java @@ -20,7 +20,8 @@ public enum ModelTag { BLUETOOTH("1", "蓝牙"), WIFI("2", "WIFI"), FOUR_G("3", "4G"), - GPS("4", "GPS"); + GPS("4", "GPS"), + ELE("5", "电量"); private final String tag; private final String msg; @@ -37,4 +38,13 @@ public enum ModelTag { public static boolean contains(List tags) { return new HashSet<>(Arrays.stream(ModelTag.values()).map(ModelTag::getTag).collect(Collectors.toList())).containsAll(tags); } + + // 判断列表中是否包含目标标签 + public static boolean hasAllTag(List tags, ModelTag ...modelTags) { + return new HashSet<>(Arrays.stream(modelTags).map(ModelTag::getTag).collect(Collectors.toList())).containsAll(tags); + } + + public static boolean hasTag(List modelTags, ModelTag modelTag) { + return modelTags.contains(modelTag.getTag()); + } } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/domain/PayBillQuery.java b/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/domain/PayBillQuery.java index 84906b18..7b9e91e2 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/domain/PayBillQuery.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/domain/PayBillQuery.java @@ -28,4 +28,7 @@ public class PayBillQuery extends PayBill{ @ApiModelProperty("创建时间(结束)") private LocalDateTime endCreateTime; + + @ApiModelProperty("支付订单ID列表") + private List payIds; } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/mapper/PayBillMapper.xml b/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/mapper/PayBillMapper.xml index bb74d2dc..f4f20180 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/mapper/PayBillMapper.xml +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/payBill/mapper/PayBillMapper.xml @@ -43,6 +43,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{item} + + and spb.pay_id in + + #{item} + +