ソースを参照

Merge branch 'master' into test

李进 1 年間 前
コミット
0d64c73262

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

@@ -565,6 +565,16 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         return R.ok();
     }
 
+    @Override
+    @ApiOperation("激活数量统计")
+    public R<Integer> activationCount(DeviceInfoDto.ActivationCount activationCount) {
+        LambdaQueryWrapper<DeviceInfo> lambdaQueryWrapper = new LambdaQueryWrapper<DeviceInfo>()
+                .eq(DeviceInfo::getMercId, activationCount.getMercId())
+                .between(DeviceInfo::getActiveTime, activationCount.getBeginTime(), activationCount.getEndTime());
+        long count = count(lambdaQueryWrapper);
+        return R.ok((int) count);
+    }
+
     @Override
     @ApiOperation("更新商户线路")
     public R updateLine(@RequestBody @Validated DeviceInfoDto.UpdateLine updateLine) {

+ 16 - 32
device-api-service/src/main/java/com/xy/service/MqttUserServiceImpl.java

@@ -1,16 +1,18 @@
 package com.xy.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.annotation.LogOperate;
 import com.xy.device.EnumEnvParams;
 import com.xy.dto.MqttUserDto;
+import com.xy.entity.DeviceInfo;
 import com.xy.entity.MqttUser;
 import com.xy.entity.SysDictRedis;
 import com.xy.enums.LogEnum;
 import com.xy.mapper.MqttUserMapper;
-import com.xy.utils.*;
+import com.xy.utils.Emptys;
+import com.xy.utils.R;
+import com.xy.utils.SysDictUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -20,12 +22,9 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import java.util.List;
 import java.util.Map;
 
 import static com.xy.utils.Beans.copy;
-import static com.xy.utils.PlusBeans.toIPage;
-import static com.xy.utils.PlusBeans.toPageBean;
 
 
 /**
@@ -42,41 +41,26 @@ import static com.xy.utils.PlusBeans.toPageBean;
 @Api(tags = "mqtt认证")
 public class MqttUserServiceImpl extends ServiceImpl<MqttUserMapper, MqttUser> implements MqttUserService {
 
+    private DeviceInfoServiceImpl deviceInfoService;
+
     @PostMapping("obj")
     @ApiOperation("对象查询")
     @LogOperate(logType = LogEnum.LogType.V2, optType = LogEnum.OptType.V3, logContent = "mqtt认证查询")
-    public R<MqttUserDto.Vo> obj(@RequestBody MqttUserDto.Obj obj) {
-        log.info("mqtt认证查询,sn:{}", obj.getSn());
-        MqttUserDto.SelectList selectList = copy(MqttUserDto.SelectList.class, obj);
-        List<MqttUserDto.Vo> list = list(selectList).getData();
-        if (!Emptys.check(list)) {
+    public R<MqttUserDto.ObjVo> obj(@RequestBody MqttUserDto.Obj obj) {
+        MqttUser mqttUser = getOne(new LambdaQueryWrapper<MqttUser>().eq(MqttUser::getSn, obj.getSn()));
+        if (!Emptys.check(mqttUser)) {
             return R.ok().setLogMsg("结果=false,sn=" + obj.getSn());
         }
-        MqttUserDto.Vo mqttUser = list.get(0);
+        DeviceInfo deviceInfo = deviceInfoService.getById(mqttUser.getDeviceId());
         Map<String, SysDictRedis> map = SysDictUtils.get(EnumEnvParams.Code.CODE.getCode());
         SysDictRedis mqttUrl = map.get(EnumEnvParams.MQTT_URL.getCode());
         SysDictRedis serverUrl = map.get(EnumEnvParams.SERVER_URL.getCode());
-        mqttUser.setServerTime(System.currentTimeMillis())
-                .setIpAddress(mqttUrl.getValue())
-                .setServerUrl(serverUrl.getValue());
-        return R.ok(mqttUser).setLogMsg("结果=true,sn=" + obj.getSn());
-    }
-
-    @PostMapping("list")
-    @ApiOperation("集合查询")
-    public R<List<MqttUserDto.Vo>> list(@RequestBody MqttUserDto.SelectList selectList) {
-        LambdaQueryWrapper<MqttUser> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, MqttUser.class).build();
-        List<MqttUser> list = list(lambdaQueryWrapper);
-        return R.ok(copy(MqttUserDto.Vo.class, list));
-    }
-
-    @PostMapping("page")
-    @ApiOperation("分页查询")
-    public R<PageBean<MqttUserDto.Vo>> page(@RequestBody MqttUserDto.Page page) {
-        PageBean pageBean = page.getPage();
-        LambdaQueryWrapper<MqttUser> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, MqttUser.class).build();
-        IPage<MqttUser> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
-        return R.ok(toPageBean(MqttUserDto.Vo.class, iPage));
+        MqttUserDto.ObjVo objVo = copy(MqttUserDto.ObjVo.class, mqttUser)
+                .setAlgorithmId(deviceInfo.getAlgorithmId());
+        objVo.setServerTime(System.currentTimeMillis());
+        objVo.setIpAddress(mqttUrl.getValue());
+        objVo.setServerUrl(serverUrl.getValue());
+        return R.ok(objVo).setLogMsg("结果=true,sn=" + obj.getSn());
     }
 
     @PostMapping("save")

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

@@ -348,6 +348,23 @@ public class DeviceInfoDto {
         private DeviceRegisterDto.Vo deviceRegister;
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class ActivationCount {
+
+        @NotNull(message = "mercId不能为空")
+        @ApiModelProperty("商户id")
+        private Long mercId;
+
+        @ApiModelProperty("开始时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime beginTime;
+
+        @ApiModelProperty("结束时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime endTime;
+    }
+
     @Data
     @Accessors(chain = true)
     public static class PageSingle extends Vo {

+ 8 - 0
device-api/src/main/java/com/xy/dto/MqttUserDto.java

@@ -89,4 +89,12 @@ public class MqttUserDto {
         private String serverUrl;
 
     }
+
+    @Data
+    @Accessors(chain = true)
+    public static class ObjVo extends Vo {
+
+        @ApiModelProperty("算法id")
+        private Long algorithmId;
+    }
 }

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

@@ -206,4 +206,13 @@ public interface DeviceInfoService {
 
     @PostMapping("updateBatch")
     R updateBatch(@RequestBody List<DeviceInfoDto.Update> updates);
+
+    /**
+     * 激活数量统计
+     *
+     * @param activationCount
+     * @return
+     */
+    @PostMapping("activationCount")
+    R<Integer> activationCount(@RequestBody @Validated DeviceInfoDto.ActivationCount activationCount);
 }