|
@@ -3,13 +3,15 @@ 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.config.SpringConfigs;
|
|
|
import com.xy.dto.MqttUserDto;
|
|
|
import com.xy.entity.MqttUser;
|
|
|
+import com.xy.entity.SysDictRedis;
|
|
|
import com.xy.mapper.MqttUserMapper;
|
|
|
-import com.xy.utils.Emptys;
|
|
|
-import com.xy.utils.MybatisPlusQuery;
|
|
|
-import com.xy.utils.PageBean;
|
|
|
-import com.xy.utils.R;
|
|
|
+import com.xy.service.factory.TaskCmdServiceImpl;
|
|
|
+import com.xy.utils.*;
|
|
|
+import com.xy.utils.enums.DictEnum;
|
|
|
+import com.xy.utils.enums.DictSonEnum;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -19,6 +21,7 @@ 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;
|
|
@@ -38,15 +41,32 @@ import static com.xy.utils.PlusBeans.toPageBean;
|
|
|
@Api(tags = "mqtt认证")
|
|
|
public class MqttUserServiceImpl extends ServiceImpl<MqttUserMapper, MqttUser> implements MqttUserService {
|
|
|
|
|
|
+ private RedisService<String> redisService;
|
|
|
+
|
|
|
+ private SpringConfigs springConfigs;
|
|
|
+
|
|
|
@PostMapping("obj")
|
|
|
@ApiOperation("对象查询")
|
|
|
public R<MqttUserDto.Vo> obj(@RequestBody MqttUserDto.Vo vo) {
|
|
|
MqttUserDto.SelectList selectList = copy(MqttUserDto.SelectList.class, vo);
|
|
|
List<MqttUserDto.Vo> list = list(selectList).getData();
|
|
|
- if (Emptys.check(list)) {
|
|
|
- return R.ok(list.get(0).setServerTime(System.currentTimeMillis()));
|
|
|
+ if (!Emptys.check(list)) {
|
|
|
+ return R.ok();
|
|
|
}
|
|
|
- return R.ok();
|
|
|
+ MqttUserDto.Vo mqttUser = list.get(0);
|
|
|
+ String env = redisService.get(String.format(TaskCmdServiceImpl.deviceEnvKey, mqttUser.getDeviceId()));
|
|
|
+ if (!Emptys.check(env)) {
|
|
|
+ String uat = SysDictUtils.get(DictEnum.ENV.getKey(), DictSonEnum.ENV_UAT.getKey()).getValue();
|
|
|
+ SpringConfigs.Profiles profiles = springConfigs.getProfiles();
|
|
|
+ env = profiles == null || profiles.getActive() == null ? uat : profiles.getActive();
|
|
|
+ }
|
|
|
+ Map<String, SysDictRedis> map = SysDictUtils.get(DictEnum.ENV_PARAMS.getKey());
|
|
|
+ SysDictRedis mqttUrl = map.get(env + "_mqtt_url");
|
|
|
+ SysDictRedis serverUrl = map.get(env + "_server_url");
|
|
|
+ mqttUser.setServerTime(System.currentTimeMillis())
|
|
|
+ .setIpAddress(mqttUrl.getValue())
|
|
|
+ .setServerUrl(serverUrl.getValue());
|
|
|
+ return R.ok(mqttUser);
|
|
|
}
|
|
|
|
|
|
@PostMapping("list")
|