فهرست منبع

Merge remote-tracking branch 'origin/master'

李进 1 سال پیش
والد
کامیت
19fb4ac048

+ 10 - 0
device-api-cloud/src/main/java/com/xy/feign/DeviceConfigFeign.java

@@ -0,0 +1,10 @@
+package com.xy.feign;
+
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import com.xy.service.DeviceConfigService;
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface DeviceConfigFeign extends DeviceConfigService {
+}

+ 13 - 2
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceController.java

@@ -80,6 +80,9 @@ public class MercMiniDeviceController {
 
     private final DeviceConfigServiceImpl deviceConfigService;
 
+    private final DeviceTempSetServiceImpl deviceTempSetService;
+
+
     @ApiOperation("设备列表带卡包数")
     @PostMapping("algorithmChargingDevice")
     public R<PageBean<DeviceInfoDto.AlgorithmChargingVo>> algorithmChargingDevice(@RequestBody @Validated DeviceInfoDto.AlgorithmCharging algorithmCharging) {
@@ -158,6 +161,13 @@ public class MercMiniDeviceController {
 
                 Integer deviceStateL = deviceStatus.getLockStateL();
                 Integer deviceStateR = deviceStatus.getLockStateR();
+                Boolean isUseBattery = deviceStatus.getIsUseBattery();
+                if (BooleanUtil.isTrue(isUseBattery)) {
+                    //使用电池。即断电状态
+                    vo.setSysPower(2);
+                } else {
+                    vo.setSysPower(1);
+                }
                 vo.setDeviceStateL(deviceStateL);
                 vo.setDeviceStateR(deviceStateR);
                 DeviceLockState deviceLockStateL = DeviceLockState.getEnumByCode(deviceStateL);
@@ -182,8 +192,9 @@ public class MercMiniDeviceController {
                     vo.setDeviceStatus(deviceStatus);
                 }
             }
-
-
+            //工作温度设置
+            DeviceTempSetDto.Vo lastTempset = R.feignCheckData(deviceTempSetService.getLastOne(new DeviceTempSetDto.GetLastOneDto().setDeviceId(vo.getDeviceId())));
+            vo.setJobTempSetValue(lastTempset == null ? null : lastTempset.getTempValue());
         }
 
         DeviceConfig deviceConfig = deviceConfigService.getById(obj.getDeviceId());

+ 17 - 7
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceDataController.java

@@ -6,6 +6,7 @@ import com.xy.dto.DeviceDataDayDto;
 import com.xy.dto.be.MercDto;
 import com.xy.service.DeviceDataDayService;
 import com.xy.service.be.MercService;
+import com.xy.utils.Emptys;
 import com.xy.utils.MercAuthUtils;
 import com.xy.utils.PageBean;
 import com.xy.utils.R;
@@ -38,10 +39,15 @@ public class MercMiniDeviceDataController {
     @ApiOperation("设备销售数据统计分页")
     public R<PageBean<DeviceDataDayDto.SumPageVo>> sumPage(@RequestBody @Valid DeviceDataDayDto.SumPageDto dto) {
         dto.setMercId(MercAuthUtils.getMercId());
-        if (CollUtil.isEmpty(getMercDeviceIds())) {
-            return R.ok(new PageBean<>());
+        if (Emptys.check(dto.getDeviceId())) {
+            dto.setMercDeviceIds(CollUtil.newArrayList(dto.getDeviceId()));
+        }else{
+            List<Long> mercDeviceIds = getMercDeviceIds();
+            if (CollUtil.isEmpty(mercDeviceIds)) {
+                return R.ok(new PageBean<>());
+            }
+            dto.setMercDeviceIds(mercDeviceIds);
         }
-        dto.setMercDeviceIds(getMercDeviceIds());
         return R.ok(deviceDataDayService.sumPage(dto).getData());
     }
 
@@ -49,11 +55,15 @@ public class MercMiniDeviceDataController {
     @ApiOperation("设备销售数据统计总计")
     public R<DeviceDataDayDto.SumCountVo> sumCount(@RequestBody @Valid DeviceDataDayDto.SumCountDto dto) {
         dto.setMercId(MercAuthUtils.getMercId());
-        List<Long> mercDeviceIds = getMercDeviceIds();
-        if (CollUtil.isEmpty(mercDeviceIds)) {
-            return R.ok(new DeviceDataDayDto.SumCountVo());
+        if (Emptys.check(dto.getDeviceId())) {
+            dto.setMercDeviceIds(CollUtil.newArrayList(dto.getDeviceId()));
+        }else{
+            List<Long> mercDeviceIds = getMercDeviceIds();
+            if (CollUtil.isEmpty(mercDeviceIds)) {
+                return R.ok(new DeviceDataDayDto.SumCountVo());
+            }
+            dto.setMercDeviceIds(mercDeviceIds);
         }
-        dto.setMercDeviceIds(mercDeviceIds);
         return R.ok(deviceDataDayService.sumCount(dto).getData());
     }
 

+ 9 - 3
device-api-service/src/main/java/com/xy/entity/DeviceConfig.java

@@ -1,8 +1,5 @@
 package com.xy.entity;
 
-import java.time.LocalDateTime;
-import java.io.Serializable;
-
 import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -10,6 +7,9 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
 /**
  * <p>
  * 设备配置表
@@ -42,5 +42,11 @@ public class DeviceConfig implements Serializable {
     @ApiModelProperty(value = "更新时间")
     private LocalDateTime updateTime;
 
+    @ApiModelProperty(value = "缺货率预警值")
+    private Integer stockOutRate;
+
+    @ApiModelProperty(value = "缺货种类预警值")
+    private Integer stockOutGoodsNum;
+
 
 }

+ 2 - 0
device-api-service/src/main/java/com/xy/mapper/DeviceInfoMapper.java

@@ -37,4 +37,6 @@ public interface DeviceInfoMapper extends BaseMapper<DeviceInfo> {
     List<DeviceInfoDto.MercHomeCountVO> merHomeCountList(@Param("query") DeviceInfoDto.MercHomeQueryDTO queryDTO);
 
     List<DeviceInfoDto.NetStateCount> netStateCount(@Param("mercIdList") List<Long> mercIdList);
+
+    List<DeviceInfoDto.PlaceDeviceNumVo> placeDeviceNum(@Param("dto") DeviceInfoDto.PlaceDeviceNumDto dto);
 }

+ 6 - 4
device-api-service/src/main/java/com/xy/service/DeviceConfigServiceImpl.java

@@ -33,11 +33,11 @@ import java.util.Map;
  */
 @Service
 @AllArgsConstructor
-@Api(tags = "设备温度告警设置")
+@Api(tags = "设备配置表")
 public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, DeviceConfig> implements DeviceConfigService {
 
     @PostMapping("update")
-    @ApiOperation("设备温度告警阈值设置")
+    @ApiOperation("修改")
     public R update(@RequestBody @Validated DeviceConfigDto.Update update) {
         DeviceConfig deviceConfigInfo = getById(update.getDeviceId());
         LocalDateTime now = LocalDateTime.now();
@@ -51,7 +51,7 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
     }
 
     @PostMapping("batchUpdate")
-    @ApiOperation("设备温度告警阈值批量设置")
+    @ApiOperation("批量更新")
     public R batchUpdate(@RequestBody @Validated DeviceConfigDto.BatchUpdate batchUpdate) {
         List<Long> deviceIds = batchUpdate.getDeviceIds();
         List<DeviceConfig> deviceConfigs = this.listByIds(deviceIds);
@@ -59,6 +59,8 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
             deviceConfigs.forEach(d -> {
                 d.setTempMin(batchUpdate.getTempMin());
                 d.setTempMax(batchUpdate.getTempMax());
+                d.setStockOutGoodsNum(batchUpdate.getStockOutGoodsNum());
+                d.setStockOutRate(batchUpdate.getStockOutRate());
                 d.setUpdateTime(LocalDateTime.now());
             });
             this.saveOrUpdateBatch(deviceConfigs);
@@ -66,7 +68,7 @@ public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, Dev
         return R.ok();
     }
 
-    @PostMapping("obj")
+    @Override
     @ApiOperation("对象查询")
     public R<DeviceConfigDto.Vo> obj(@RequestBody @Validated DeviceConfigDto.Obj obj) {
         DeviceConfig deviceConfig = getById(obj.getDeviceId());

+ 7 - 0
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -105,6 +105,13 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
 
     private final DeviceAlgorithmChargingServiceImpl deviceAlgorithmChargingService;
 
+
+    @ApiOperation("点位设备数量查询")
+    @Override
+    public R<List<DeviceInfoDto.PlaceDeviceNumVo>> placeDeviceNum(@RequestBody @Validated DeviceInfoDto.PlaceDeviceNumDto dto){
+        return R.ok(baseMapper.placeDeviceNum(dto));
+    }
+
     @ApiOperation("设备列表带卡包数")
     @PostMapping("algorithmChargingDevice")
     public R<PageBean<DeviceInfoDto.AlgorithmChargingVo>> algorithmChargingDevice(@RequestBody @Validated DeviceInfoDto.AlgorithmCharging algorithmCharging) {

+ 16 - 0
device-api-service/src/main/resources/mapper/DeviceInfoMapper.xml

@@ -362,4 +362,20 @@
         </where>
         GROUP BY d.merc_id,s.net_state
     </select>
+    <select id="placeDeviceNum" resultType="com.xy.dto.DeviceInfoDto$PlaceDeviceNumVo">
+        SELECT place_id,count(*) as num
+        FROM device_info
+        <where>
+            <if test="dto.placeId != null">
+                AND place_id = #{dto.placeId}
+            </if>
+            <if test="dto.placeIdList != null and dto.placeIdList.size() > 0">
+                AND place_id IN
+                <foreach collection="dto.placeIdList" item="placeId" index="index" open="(" close=")" separator=",">
+                    #{placeId}
+                </foreach>
+            </if>
+        </where>
+        GROUP BY place_id
+    </select>
 </mapper>

+ 17 - 4
device-api/src/main/java/com/xy/dto/DeviceConfigDto.java

@@ -28,14 +28,18 @@ public class DeviceConfigDto {
         @ApiModelProperty(value = "设备id")
         private Long deviceId;
 
-        @NotNull(message = "最大温度告警值不能为空")
         @ApiModelProperty(value = "最大温度告警值")
         private Integer tempMax;
 
-        @NotNull(message = "最小温度告警值不能为空")
         @ApiModelProperty(value = "最小温度告警值")
         private Integer tempMin;
 
+        @ApiModelProperty(value = "缺货率预警值")
+        private Integer stockOutRate;
+
+        @ApiModelProperty(value = "缺货种类预警值")
+        private Integer stockOutGoodsNum;
+
     }
 
     @Data
@@ -46,14 +50,18 @@ public class DeviceConfigDto {
         @ApiModelProperty(value = "设备id")
         private List<Long> deviceIds;
 
-        @NotNull(message = "最大温度告警值不能为空")
         @ApiModelProperty(value = "最大温度告警值")
         private Integer tempMax;
 
-        @NotNull(message = "最小温度告警值不能为空")
         @ApiModelProperty(value = "最小温度告警值")
         private Integer tempMin;
 
+        @ApiModelProperty(value = "缺货率预警值")
+        private Integer stockOutRate;
+
+        @ApiModelProperty(value = "缺货种类预警值")
+        private Integer stockOutGoodsNum;
+
     }
 
     @Data
@@ -87,6 +95,11 @@ public class DeviceConfigDto {
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         private LocalDateTime updateTime;
 
+        @ApiModelProperty(value = "缺货率预警值")
+        private Integer stockOutRate;
+
+        @ApiModelProperty(value = "缺货种类预警值")
+        private Integer stockOutGoodsNum;
     }
 
 }

+ 23 - 0
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -298,6 +298,9 @@ public class DeviceInfoDto {
     @Accessors(chain = true)
     public static class Vo {
 
+        @ApiModelProperty("通电状态")
+        private Integer sysPower;
+
         @ApiModelProperty("左门锁机状态名称")
         private String deviceStateLName;
 
@@ -1025,4 +1028,24 @@ public class DeviceInfoDto {
         private List<Long> deviceId;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class PlaceDeviceNumDto {
+        @ApiModelProperty("点位id")
+        private Long placeId;
+
+        @ApiModelProperty("点位ID列表")
+        private List<Long> placeIdList;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class PlaceDeviceNumVo {
+        @ApiModelProperty("点位id")
+        private Long placeId;
+
+        @ApiModelProperty("数量")
+        private Integer num;
+    }
+
 }

+ 7 - 1
device-api/src/main/java/com/xy/service/DeviceConfigService.java

@@ -1,6 +1,11 @@
 package com.xy.service;
 
 import com.xy.annotate.RestMappingController;
+import com.xy.dto.DeviceConfigDto;
+import com.xy.utils.R;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * <p>
@@ -12,5 +17,6 @@ import com.xy.annotate.RestMappingController;
  */
 @RestMappingController("/device-config")
 public interface DeviceConfigService {
-
+    @PostMapping("obj")
+    R<DeviceConfigDto.Vo> obj(@RequestBody @Validated DeviceConfigDto.Obj obj);
 }

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

@@ -174,4 +174,12 @@ public interface DeviceInfoService {
     @PostMapping("getDeviceSysinfo")
     R<DeviceSysinfoDto.Vo> getDeviceSysinfo(@RequestBody @Validated DeviceSysinfoDto.DeviceSysInfo dto);
 
+    /**
+     * 点位设备数量查询
+     *
+     * @param dto
+     * @return
+     */
+    @PostMapping("placeDeviceNum")
+    R<List<DeviceInfoDto.PlaceDeviceNumVo>> placeDeviceNum(@RequestBody @Validated DeviceInfoDto.PlaceDeviceNumDto dto);
 }