5 次代码提交 ed167972bd ... 15685a7924

作者 SHA1 备注 提交日期
  tanbin 15685a7924 检查设备是否开启重力配置 1 月之前
  tanbin 84131cb43a 自营商户商品同步功能 1 月之前
  lijin 9f6933cb61 独立部署设备注册bug修复 2 月之前
  lijin b6a4093af1 支付宝刷脸柜管理费 2 月之前
  lijin 016865d8c4 商家平台设备优化 2 月之前

+ 13 - 1
device-api-service/src/main/java/com/xy/job/DeviceChargingJob.java

@@ -10,6 +10,7 @@ import com.xy.collections.list.JArrayList;
 import com.xy.collections.map.JHashMap;
 import com.xy.collections.map.JMap;
 import com.xy.device.EnumDeviceCharging;
+import com.xy.dto.DeviceChangeStatusDTO;
 import com.xy.dto.MercArrearageConfigDto;
 import com.xy.dto.MercMsgInfoDto;
 import com.xy.dto.be.MercDto;
@@ -17,6 +18,7 @@ import com.xy.entity.DeviceCharging;
 import com.xy.entity.DeviceInfo;
 import com.xy.enums.MsgConfigId;
 import com.xy.mapper.DeviceChargingMapper;
+import com.xy.service.AlipayDeviceService;
 import com.xy.service.DeviceInfoServiceImpl;
 import com.xy.service.MercArrearageConfigService;
 import com.xy.service.MercMsgInfoService;
@@ -51,6 +53,8 @@ public class DeviceChargingJob {
 
     private MercFeignService mercFeignService;
 
+    private AlipayDeviceService alipayDeviceService;
+
     /**
      * 管理费设备停机
      *
@@ -93,7 +97,7 @@ public class DeviceChargingJob {
                     MercArrearageConfigDto.Vo mercArrearageConfig = mercArrearageConfigJMaps.get(deviceInfo.getMercId());
                     if (Emptys.check(mercArrearageConfig)) {
                         DeviceCharging deviceCharging = deviceChargingsJMaps.get(deviceInfo.getDeviceId());
-                        String newTime = DataTime.getStringAround(0, 0, (~(mercArrearageConfig.getArrearageDay() - 1)), 0, 0, 0, DataTime.toString(now));
+                        String newTime = DataTime.getStringAround(0, 0, (-mercArrearageConfig.getArrearageDay()), 0, 0, 0, DataTime.toString(now));
                         //过期时间 > (当前时间 - 配置天)
                         if (DataTime.stringContrast(DataTime.toString(deviceCharging.getTimeout()), newTime) > 0) {
                             return;
@@ -104,6 +108,14 @@ public class DeviceChargingJob {
                             .setFreezeStatus(2)
                             .setUpdateTime(now)
                     );
+                    //支付宝刷脸柜停机
+                    if (deviceInfo.getDeviceType() == 5) {
+                        alipayDeviceService.changeStatus(new DeviceChangeStatusDTO()
+                                .setTerminalId(String.valueOf(deviceInfo.getDeviceId()))
+                                .setOperatorId("1")
+                                .setStatus(2)
+                        );
+                    }
                 });
                 if (Emptys.check(updateDeviceInfos)) {
                     deviceInfoService.updateBatchById(updateDeviceInfos);

+ 1 - 2
device-api-service/src/main/java/com/xy/service/DeviceAnnualFeeServiceImpl.java

@@ -340,9 +340,8 @@ public class DeviceAnnualFeeServiceImpl extends ServiceImpl<DeviceAnnualFeeMappe
                                     mqttService.senCommand(Collections.singletonList(commandMqtt));
                                 }
                             })
-                            .error(e -> log.error("", e))
-                            .end()
             );
+            execute.end();
         };
         Map<Long, JSONObject> jsonObjects = getJsonObjects.run();
         sendPost.run(jsonObjects);

+ 6 - 0
device-api-service/src/main/java/com/xy/service/DeviceChargingServiceImpl.java

@@ -382,6 +382,12 @@ public class DeviceChargingServiceImpl extends ServiceImpl<DeviceChargingMapper,
                             .setBoardSn(deviceSysinfo.getDeviceSn())
                             .setDeviceName(StrUtil.isNotEmpty(deviceInfo.getDeviceName()) ? deviceInfo.getDeviceName() : String.valueOf(deviceInfo.getDeviceId()));
                     ailiActive.add(new Tuple.Tuple2<>(bindDeviceDTO, bindActiveDTO));
+                    //运营状态运营
+                    alipayDeviceService.changeStatus(new DeviceChangeStatusDTO()
+                            .setTerminalId(String.valueOf(deviceInfo.getDeviceId()))
+                            .setOperatorId("1")
+                            .setStatus(1)
+                    );
                 }
             }
             updateDeviceCharging.add(deviceCharging);

+ 11 - 1
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -99,7 +99,7 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
      * 聚邻社顶级商户
      */
     public static final String JLS_MERC_CODE = "10168";
-    private final CloudWalkApiService cloudWalkApiService;
+     private final CloudWalkApiService cloudWalkApiService;
     private final AlgorithmService algorithmService;
     private final CountApiService countApiService;
     private final TyApiService tyApiService;
@@ -1189,6 +1189,7 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         QueryWrapper<DeviceInfo> queryWrapper = new MybatisPlusQuery().eqWrapper(vo == null ? new DeviceInfoDto.Vo() : vo, DeviceInfo.class).buildQW();
 //        List<Long> placeLineIds = dto.getPlaceLineIds();
         List<Long> deviceIds = dto.getDeviceIds();
+        List<Long> mercIds = dto.getMercIds();
         List<String> columnList = dto.getColumnList();
 //        if (CollUtil.isNotEmpty(placeLineIds)) {
 //            queryWrapper.in(LambdaUtils.getUnderlineCaseName(DeviceInfo::getPlaceLineId), placeLineIds);
@@ -1207,6 +1208,9 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         if (CollUtil.isNotEmpty(deviceIds)) {
             queryWrapper.in(LambdaUtils.getUnderlineCaseName(DeviceInfo::getDeviceId), deviceIds);
         }
+        if (CollUtil.isNotEmpty(mercIds)) {
+            queryWrapper.in(LambdaUtils.getUnderlineCaseName(DeviceInfo::getMercId), mercIds);
+        }
         return R.ok(copy(DeviceInfoDto.Vo.class, list(queryWrapper)));
     }
 
@@ -2073,6 +2077,12 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         return R.ok(copy);
     }
 
+    @ApiOperation("检查设备是否开启重力配置")
+    @Override
+    public R<Boolean> checkWeightOpen(DevicePartDto.CheckWeightOpenDTO dto) {
+        return R.ok(devicePartService.checkWeightOpen(dto));
+    }
+
     @PostMapping("nfcActive")
     @ApiOperation("nfc设备激活")
     public R<Boolean> nfcActive(@RequestBody @Validated ActiveDeviceDTO dto) {

+ 14 - 1
device-api-service/src/main/java/com/xy/service/DevicePartServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.BooleanUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yitter.idgen.YitIdHelper;
 import com.xy.dto.DevicePartDto;
@@ -49,6 +50,18 @@ public class DevicePartServiceImpl extends ServiceImpl<DevicePartMapper, DeviceP
         return R.ok(copy(DevicePartDto.Vo.class, list));
     }
 
+    /**
+     * 检查重力配置是否开启
+     * @param dto
+     * @return
+     */
+    public boolean checkWeightOpen(DevicePartDto.CheckWeightOpenDTO dto) {
+        DevicePart devicePart = getOne(Wrappers.lambdaQuery(DevicePart.class).eq(DevicePart::getCode, "es").eq(DevicePart::getDeviceId, dto.getDeviceId()));
+        String value = devicePart.getValue();
+        JSONObject jsonObject = JSONUtil.parseObj(value);
+        return  BooleanUtil.isTrue(jsonObject.getBool("is"));
+    }
+
     @ApiOperation("添加或修改")
     @PostMapping("saveOrUpdate")
     public R saveOrUpdate(@RequestBody List<DevicePartDto.SaveOrUpdate> saveOrUpdates) {
@@ -91,4 +104,4 @@ public class DevicePartServiceImpl extends ServiceImpl<DevicePartMapper, DeviceP
         });
         return R.ok();
     }
-}
+}

+ 3 - 1
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -430,8 +430,10 @@ public class DeviceInfoDto {
 //        @ApiModelProperty("线路id多个")
 //        private List<Long> placeLineIds;
 
-        @ApiModelProperty("id")
+        @ApiModelProperty("设备ID")
         private List<Long> deviceIds;
+        @ApiModelProperty("商户ID")
+        private List<Long> mercIds;
 
 
         @ApiModelProperty("指定字段查询")

+ 7 - 1
device-api/src/main/java/com/xy/dto/DevicePartDto.java

@@ -24,7 +24,13 @@ public class DevicePartDto {
     public static class SelectList extends Vo {
 
     }
-
+    @Data
+    @Accessors(chain = true)
+    public static class CheckWeightOpenDTO {
+        @NotNull(message = "deviceId不能为空")
+        @ApiModelProperty(value = "设备id", required = true)
+        private Long deviceId;
+    }
     @Data
     @Accessors(chain = true)
     public static class SaveOrUpdate extends Vo {

+ 9 - 0
device-api/src/main/java/com/xy/service/DeviceInfoService.java

@@ -3,6 +3,7 @@ package com.xy.service;
 import com.xy.annotate.RestMappingController;
 import com.xy.dto.DeviceDataDto;
 import com.xy.dto.DeviceInfoDto;
+import com.xy.dto.DevicePartDto;
 import com.xy.dto.DeviceSysinfoDto;
 import com.xy.utils.PageBean;
 import com.xy.utils.R;
@@ -248,4 +249,12 @@ public interface DeviceInfoService {
      */
     @PostMapping("mercNormalList")
     R<List<DeviceInfoDto.MercNormalListVo>> mercNormalList(@RequestBody @Validated DeviceInfoDto.MercNormalListDto dto);
+
+    /**
+     * 检查设备是否开启重力配置
+     * @param dto
+     * @return
+     */
+    @PostMapping("checkWeightOpen")
+     R<Boolean> checkWeightOpen(@RequestBody  @Validated DevicePartDto.CheckWeightOpenDTO dto) ;
 }