From 0f1802049c92bb5024bec7d03f8311da11826554 Mon Sep 17 00:00:00 2001
From: 18650502300 <18650502300@163.com>
Date: Wed, 6 Nov 2024 16:59:37 +0800
Subject: [PATCH] =?UTF-8?q?=E8=81=94=E8=B0=83=20=E8=AE=BE=E5=A4=87?=
=?UTF-8?q?=E5=BD=95=E5=85=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/AsProfileController.java | 43 ++++++++-
.../src/main/resources/application.yml | 2 +
.../common/core/domain/entity/AsUser.java | 11 +++
.../com/ruoyi/common/enums/BusinessType.java | 6 +-
.../common/utils/onenet/CreateDeviceVo.java | 11 +++
AutoSprout-ui/src/views/user/user/index.vue | 38 ++++++--
.../com/ruoyi/device/app/AppController.java | 48 +++++++++-
.../device/controller/AsDeviceController.java | 7 +-
.../ruoyi/device/domain/AsDeviceQuery.java | 10 ++
.../ruoyi/device/mapper/AsDeviceMapper.java | 3 +-
.../device/service/IAsDeviceService.java | 15 ++-
.../service/impl/AsDeviceServiceImpl.java | 96 ++++++++++++++-----
.../service/impl/AsModelServiceImpl.java | 7 +-
.../service/impl/AsUserServiceImpl.java | 5 +-
.../mapper/device/AsDeviceMapper.xml | 10 +-
.../resources/mapper/user/AsUserMapper.xml | 10 +-
16 files changed, 273 insertions(+), 49 deletions(-)
create mode 100644 AutoSprout-common/src/main/java/com/ruoyi/common/utils/onenet/CreateDeviceVo.java
create mode 100644 AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceQuery.java
diff --git a/AutoSprout-admin/src/main/java/com/ruoyi/web/controller/system/AsProfileController.java b/AutoSprout-admin/src/main/java/com/ruoyi/web/controller/system/AsProfileController.java
index bb94629..2f51c0c 100644
--- a/AutoSprout-admin/src/main/java/com/ruoyi/web/controller/system/AsProfileController.java
+++ b/AutoSprout-admin/src/main/java/com/ruoyi/web/controller/system/AsProfileController.java
@@ -8,10 +8,16 @@ import com.ruoyi.common.core.domain.entity.AsUser;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
+import com.ruoyi.device.domain.AsDevice;
+import com.ruoyi.device.domain.AsModel;
+import com.ruoyi.device.service.IAsDeviceService;
+import com.ruoyi.device.service.IAsModelService;
import com.ruoyi.device.service.IAsUserService;
import com.ruoyi.framework.web.service.SysLoginService;
import com.ruoyi.framework.web.service.TokenService;
@@ -38,6 +44,12 @@ public class AsProfileController extends BaseController
@Resource
private TokenService tokenService;
+ @Autowired
+ private IAsModelService asModelService;
+
+ @Resource
+ private IAsDeviceService asDeviceService;
+
/**
* 个人信息
*/
@@ -46,7 +58,8 @@ public class AsProfileController extends BaseController
{
LoginUser loginUser = getLoginUser();
AsUser user = loginUser.getAsUser();
- AjaxResult ajax = AjaxResult.success(user);
+ AsUser asUser = asUserService.selectUserById(user.getUserId());
+ AjaxResult ajax = AjaxResult.success(asUser);
return ajax;
}
@@ -130,4 +143,32 @@ public class AsProfileController extends BaseController
}
return error("上传图片异常,请联系管理员");
}
+
+ /**
+ * 设备录入
+ */
+ @Log(title = "设备录入", businessType = BusinessType.BAND)
+ @PostMapping("/band")
+ public AjaxResult bandSn(String mac,Long modelId)
+ {
+ logger.info("sn和mac号绑定:mac="+mac+"】,【modelId="+modelId+"】");
+ if(StringUtils.isEmpty(mac)){
+ throw new ServiceException("设备mac不能为空");
+ }
+ if(modelId == null){
+ throw new ServiceException("设备型号不能为空");
+ }
+ AsDevice asDevice = new AsDevice();
+ asDevice.setMac(mac);
+ asDevice.setModelId(modelId);
+ AsModel asModel = asModelService.selectAsModelByModelId(modelId);
+ if (asModel == null) {
+ throw new ServiceException("设备型号不存在");
+ }
+ asDevice.setModel(asModel.getModel());
+ asDevice.setModelName(asModel.getModelName());
+ asDevice.setDeviceName("丁丁浇花器");
+ asDevice.setCreateTime(DateUtils.getNowDate());
+ return toAjax(asDeviceService.bandSn(asDevice));
+ }
}
diff --git a/AutoSprout-admin/src/main/resources/application.yml b/AutoSprout-admin/src/main/resources/application.yml
index d24db6f..5dff169 100644
--- a/AutoSprout-admin/src/main/resources/application.yml
+++ b/AutoSprout-admin/src/main/resources/application.yml
@@ -31,6 +31,8 @@ watering:
daysToExpire: 100
# 推送消息token
token: tVpNdGKrAFHfKZNgpIWQfZukrcYHNfFM
+ # 创建设备地址
+ deviceUrl: https://iot-api.heclouds.com/device
# 百度植物识别
baidu:
tokenUrl: https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials
diff --git a/AutoSprout-common/src/main/java/com/ruoyi/common/core/domain/entity/AsUser.java b/AutoSprout-common/src/main/java/com/ruoyi/common/core/domain/entity/AsUser.java
index 811f54d..9b2b52b 100644
--- a/AutoSprout-common/src/main/java/com/ruoyi/common/core/domain/entity/AsUser.java
+++ b/AutoSprout-common/src/main/java/com/ruoyi/common/core/domain/entity/AsUser.java
@@ -84,6 +84,17 @@ public class AsUser extends BaseEntity
/** 微信openid */
private String wxopenid;
+ /** 用户类型 */
+ private String userType;
+
+ public String getUserType() {
+ return userType;
+ }
+
+ public void setUserType(String userType) {
+ this.userType = userType;
+ }
+
public String getWxopenid() {
return wxopenid;
}
diff --git a/AutoSprout-common/src/main/java/com/ruoyi/common/enums/BusinessType.java b/AutoSprout-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
index 9425e2f..eb3a187 100644
--- a/AutoSprout-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
+++ b/AutoSprout-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
@@ -60,5 +60,9 @@ public enum BusinessType
/**
* 意见反馈
*/
- FEEDBACK
+ FEEDBACK,
+ /**
+ * 绑定
+ */
+ BAND,
}
diff --git a/AutoSprout-common/src/main/java/com/ruoyi/common/utils/onenet/CreateDeviceVo.java b/AutoSprout-common/src/main/java/com/ruoyi/common/utils/onenet/CreateDeviceVo.java
new file mode 100644
index 0000000..55f0824
--- /dev/null
+++ b/AutoSprout-common/src/main/java/com/ruoyi/common/utils/onenet/CreateDeviceVo.java
@@ -0,0 +1,11 @@
+package com.ruoyi.common.utils.onenet;
+
+import lombok.Data;
+
+@Data
+public class CreateDeviceVo {
+
+ private String device_name;
+
+ private String product_id;
+}
diff --git a/AutoSprout-ui/src/views/user/user/index.vue b/AutoSprout-ui/src/views/user/user/index.vue
index d1e3683..39afc9e 100644
--- a/AutoSprout-ui/src/views/user/user/index.vue
+++ b/AutoSprout-ui/src/views/user/user/index.vue
@@ -117,12 +117,17 @@
-
+
{{ parseTime(scope.row.createTime) }}
-
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
@@ -290,7 +309,7 @@ import { getToken } from "@/utils/auth";
export default {
name: "User",
- dicts: ['sys_normal_disable', 'sys_user_sex'],
+ dicts: ['sys_normal_disable', 'sys_user_sex','as_role'],
data() {
return {
// 遮罩层
@@ -351,10 +370,11 @@ export default {
{ key: 0, label: `用户编号`, visible: true },
{ key: 1, label: `用户名称`, visible: true },
{ key: 2, label: `用户昵称`, visible: true },
- { key: 3, label: `手机号码`, visible: true },
- { key: 4, label: `状态`, visible: true },
- { key: 5, label: `创建时间`, visible: true },
- { key: 6, label: `绑定设备数`, visible: true }
+ { key: 3, label: `注册号码`, visible: true },
+ { key: 4, label: `注册时间`, visible: true },
+ { key: 5, label: `用户类型`, visible: true },
+ { key: 6, label: `状态`, visible: true },
+ { key: 7, label: `绑定设备数`, visible: true }
],
// 表单校验
rules: {
@@ -381,6 +401,7 @@ export default {
}
],
phonenumber: [
+ { required: true, message: "手机号码不能为空", trigger: "blur" },
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
@@ -445,6 +466,7 @@ export default {
sex: undefined,
status: "0",
remark: undefined,
+ userType: "01",
postIds: [],
roleIds: []
};
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java
index 7b3bad5..34f1c06 100644
--- a/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java
@@ -12,6 +12,7 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.baidu.GetToken;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.ip.IpUtils;
+import com.ruoyi.common.utils.onenet.Token;
import com.ruoyi.device.domain.*;
import com.ruoyi.device.domain.vo.IdentifyRes;
import com.ruoyi.device.service.*;
@@ -23,13 +24,14 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;
-import static sun.audio.AudioDevice.device;
-
/**
* 用户信息
*
@@ -455,6 +457,29 @@ public class AppController extends BaseController
return AjaxResult.success(asDevices);
}
+ /**
+ * 所有型号列表
+ */
+ @GetMapping("/getAllModelList")
+ public AjaxResult getAllModelList()
+ {
+ logger.info("【所有型号列表】参数-----");
+ List asModels = asModelService.selectAsModelList(new AsModel());
+ return AjaxResult.success(asModels);
+ }
+
+ /**
+ * 获取已录入设备列表
+ */
+ @GetMapping("/getExistMac/{macs}")
+ public AjaxResult getExistMac(@PathVariable List macs)
+ {
+ logger.info("【获取已录入设备列表】参数-----macs=【{}】",macs);
+ List devices = asDeviceService.getExistMac(macs);
+ return AjaxResult.success(devices);
+ }
+
+
/**
* 客服电话
*/
@@ -478,5 +503,24 @@ public class AppController extends BaseController
return toAjax(asFeedbackService.insertAsFeedback(asFeedback));
}
+ /**
+ * 获取onenet token
+ */
+ @GetMapping("/getToken")
+ public AjaxResult getToken()
+ {
+ logger.info("获取onenet token-----");
+ AjaxResult success = AjaxResult.success();
+ try {
+ return success(Token.getToken());
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ } catch (NoSuchAlgorithmException e) {
+ throw new RuntimeException(e);
+ } catch (InvalidKeyException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
}
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsDeviceController.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsDeviceController.java
index a813411..78d2873 100644
--- a/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsDeviceController.java
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsDeviceController.java
@@ -4,6 +4,7 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSON;
+import com.ruoyi.device.domain.AsDeviceQuery;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -25,7 +26,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
/**
* 设备列表Controller
- *
+ *
* @author 邱贞招
* @date 2023-11-11
*/
@@ -41,7 +42,7 @@ public class AsDeviceController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('device:device:list')")
@GetMapping("/list")
- public TableDataInfo list(AsDevice asDevice)
+ public TableDataInfo list(AsDeviceQuery asDevice)
{
startPage();
List list = asDeviceService.selectAsDeviceList(asDevice);
@@ -54,7 +55,7 @@ public class AsDeviceController extends BaseController
@PreAuthorize("@ss.hasPermi('device:device:export')")
@Log(title = "设备列表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
- public void export(HttpServletResponse response, AsDevice asDevice)
+ public void export(HttpServletResponse response, AsDeviceQuery asDevice)
{
List list = asDeviceService.selectAsDeviceList(asDevice);
ExcelUtil util = new ExcelUtil(AsDevice.class);
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceQuery.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceQuery.java
new file mode 100644
index 0000000..085c026
--- /dev/null
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsDeviceQuery.java
@@ -0,0 +1,10 @@
+package com.ruoyi.device.domain;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AsDeviceQuery extends AsDevice{
+ private List macList;
+}
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java
index 7671896..6b328d9 100644
--- a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceMapper.java
@@ -4,6 +4,7 @@ import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.device.domain.AsDevice;
+import com.ruoyi.device.domain.AsDeviceQuery;
import com.ruoyi.system.domain.SysStudent;
/**
@@ -36,7 +37,7 @@ public interface AsDeviceMapper extends BaseMapper
* @param asDevice 设备列表
* @return 设备列表集合
*/
- public List selectAsDeviceList(AsDevice asDevice);
+ public List selectAsDeviceList(AsDeviceQuery asDevice);
/**
* 新增设备列表
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceService.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceService.java
index 4f63374..26918f0 100644
--- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceService.java
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceService.java
@@ -4,6 +4,7 @@ import java.util.List;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.device.domain.AsDevice;
+import com.ruoyi.device.domain.AsDeviceQuery;
import com.ruoyi.device.domain.vo.WeatherResponse;
/**
@@ -36,7 +37,7 @@ public interface IAsDeviceService
* @param asDevice 设备列表
* @return 设备列表集合
*/
- public List selectAsDeviceList(AsDevice asDevice);
+ public List selectAsDeviceList(AsDeviceQuery asDevice);
/**
* 新增设备列表
@@ -116,10 +117,20 @@ public interface IAsDeviceService
*/
int toggleDevice(Long userId, Long deviceId);
-
+ /**
+ * 获取天气信息
+ */
WeatherResponse getWeather(String ipAddr);
+ /**
+ * 获取已录入设备列表
+ */
+ List getExistMac(List mac);
+ /**
+ * sn和mac号绑定
+ */
+ int bandSn(AsDevice asDevice);
// /**
// * 构建命令
// *
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java
index 36a0a9e..f91c58b 100644
--- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceServiceImpl.java
@@ -11,6 +11,7 @@ import com.ruoyi.common.core.domain.onenet.*;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.http.HttpUtils;
+import com.ruoyi.common.utils.onenet.CreateDeviceVo;
import com.ruoyi.common.utils.onenet.IotUtil;
import com.ruoyi.common.utils.onenet.Token;
import com.ruoyi.common.utils.pinyin.PinyinUtils;
@@ -37,6 +38,7 @@ import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -101,6 +103,9 @@ public class AsDeviceServiceImpl extends ServiceImpl i
@Value(value = "${watering.daysToExpire}")
private Long daysToExpire;
+ @Value(value = "${watering.deviceUrl}")
+ private String deviceUrl;
+
/**
* 查询设备详情
@@ -227,29 +232,29 @@ public class AsDeviceServiceImpl extends ServiceImpl i
*/
@Override
@SneakyThrows
- public List selectAsDeviceList(AsDevice asDevice)
+ public List selectAsDeviceList(AsDeviceQuery asDevice)
{
// 设备列表的图片是取型号的图片
List asDevices = asDeviceMapper.selectAsDeviceList(asDevice);
- for(AsDevice asDevice1 : asDevices){
- AsModel model = modelMapper.selectAsModelByModelId(asDevice1.getModelId());
- String picture = model.getPicture();
- asDevice1.setPicture(picture);
- // 查询onenet设备在线状态
- String sendUrl = iotUrl+ IotConstants.ADDS_COMMAND;
- String deviceName = asDevice1.getMac();//mac地址就是产品名称
- String param = "device_name=" + deviceName + "&product_id=" + productId +"&timeout=" + timeout;
- sendUrl = sendUrl + "?"+param;
- String token = Token.getToken();
- String result = HttpUtils.sendPostWithToken(sendUrl, "111", token);
- JSONObject paramsObj = JSON.parseObject(result);
- String code = paramsObj.getString("code");
- if (!HttpStatus.IOT_SUCCESS.equals(code)) {
- asDevice1.setOnlineStatus("不在线");
- }else{
- asDevice1.setOnlineStatus("在线");
- }
- }
+// for(AsDevice asDevice1 : asDevices){
+// AsModel model = modelMapper.selectAsModelByModelId(asDevice1.getModelId());
+// String picture = model.getPicture();
+// asDevice1.setPicture(picture);
+// // 查询onenet设备在线状态
+// String sendUrl = iotUrl+ IotConstants.ADDS_COMMAND;
+// String deviceName = asDevice1.getMac();//mac地址就是产品名称
+// String param = "device_name=" + deviceName + "&product_id=" + productId +"&timeout=" + timeout;
+// sendUrl = sendUrl + "?"+param;
+// String token = Token.getToken();
+// String result = HttpUtils.sendPostWithToken(sendUrl, "111", token);
+// JSONObject paramsObj = JSON.parseObject(result);
+// String code = paramsObj.getString("code");
+// if (!HttpStatus.IOT_SUCCESS.equals(code)) {
+// asDevice1.setOnlineStatus("不在线");
+// }else{
+// asDevice1.setOnlineStatus("在线");
+// }
+// }
return asDevices;
}
@@ -492,7 +497,9 @@ public class AsDeviceServiceImpl extends ServiceImpl i
int i = asDeviceMapper.updateAsDevice(device);
//解绑成功后,该用户如果有其他的设备则随便找一个默认的
if(i>0){
- List asDevices = asDeviceMapper.selectAsDeviceList(AsDevice.builder().userId(device2.getUserId()).build());
+ AsDeviceQuery asDeviceQuery = new AsDeviceQuery();
+ asDeviceQuery.setUserId(device2.getUserId());
+ List asDevices = asDeviceMapper.selectAsDeviceList(asDeviceQuery);
if(asDevices.size()>0){
AsDevice device1 = asDevices.get(0);
device1.setIsDefault("1");
@@ -536,7 +543,10 @@ public class AsDeviceServiceImpl extends ServiceImpl i
@Override
public int toggleDevice(Long userId,Long deviceId) {
asDeviceMapper.updateAsDevice(AsDevice.builder().deviceId(deviceId).isDefault("1").build());
- List asDevices = asDeviceMapper.selectAsDeviceList(AsDevice.builder().userId(userId).isDefault("1").build());
+ AsDeviceQuery asDeviceQuery = new AsDeviceQuery();
+ asDeviceQuery.setUserId(userId);
+ asDeviceQuery.setIsDefault("1");
+ List asDevices = asDeviceMapper.selectAsDeviceList(asDeviceQuery);
if(ObjectUtils.isNotEmpty(asDevices) && asDevices.size()>0){
for(AsDevice device:asDevices){
if(device.getDeviceId()!=deviceId){
@@ -584,4 +594,46 @@ public class AsDeviceServiceImpl extends ServiceImpl i
logger.info("转换成weatherResponse对象:【{}】",JSON.toJSONString(weatherResponse));
return weatherResponse;
}
+
+ /**
+ * 获取已录入设备列表
+ */
+ @Override
+ public List getExistMac(List macs) {
+ AsDeviceQuery asDeviceQuery = new AsDeviceQuery();
+ asDeviceQuery.setMacList(macs);
+ return asDeviceMapper.selectAsDeviceList(asDeviceQuery);
+ }
+
+ /**
+ * sn和mac号绑定
+ * 注册onenet设备
+ */
+ @SneakyThrows
+ @Override
+ public int bandSn(AsDevice asDevice) {
+ AsDevice device = asDeviceMapper.selectAsDeviceByMac(asDevice.getMac());
+ if(ObjectUtils.isNotEmpty(device)){
+ throw new ServiceException("该MAC号已经存在");
+ }else{
+ // 调用onenet接口
+ CreateDeviceVo createDeviceVo = new CreateDeviceVo();
+ createDeviceVo.setDevice_name(asDevice.getMac());
+ createDeviceVo.setProduct_id(productId);
+ String result = HttpUtils.sendPostWithToken(deviceUrl+"/create",JSON.toJSONString(createDeviceVo), Token.getToken());
+ logger.info("【sn和mac号绑定】===>IOT请求调用结果:【{}】",result);
+ JSONObject paramsObj = JSON.parseObject(result);
+ String code = paramsObj.getString("code");
+ //记录命令
+ if (!HttpStatus.IOT_SUCCESS.equals(code))
+ {
+ throw new ServiceException(code+"-----"+ paramsObj.getString("msg"));
+ }
+ int insert = asDeviceMapper.insert(asDevice);
+ if(insert==0){
+ throw new ServiceException("录入失败,插入数据失败!");
+ }
+ }
+ return 1;
+ }
}
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java
index 194b874..fdd7f9c 100644
--- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java
@@ -11,16 +11,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.device.domain.AsDevice;
-import com.ruoyi.device.domain.AsDeviceClassify;
-import com.ruoyi.device.domain.AsDeviceVersion;
+import com.ruoyi.device.domain.*;
import com.ruoyi.device.mapper.AsDeviceClassifyMapper;
import com.ruoyi.device.mapper.AsDeviceMapper;
import com.ruoyi.device.mapper.AsDeviceVersionMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.device.mapper.AsModelMapper;
-import com.ruoyi.device.domain.AsModel;
import com.ruoyi.device.service.IAsModelService;
import javax.annotation.Resource;
@@ -136,7 +133,7 @@ public class AsModelServiceImpl extends ServiceImpl impl
String classifyName = deviceClassify.getClassifyName();
asModel.setClassifyName(classifyName);
int i = asModelMapper.updateAsModel(asModel);
- AsDevice device = new AsDevice();
+ AsDeviceQuery device = new AsDeviceQuery();
device.setModelId(asModel.getModelId());
List asDevices = deviceMapper.selectAsDeviceList(device);
for(AsDevice device1: asDevices){
diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsUserServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsUserServiceImpl.java
index 780265f..92160d5 100644
--- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsUserServiceImpl.java
+++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsUserServiceImpl.java
@@ -18,6 +18,7 @@ import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.onenet.Token;
import com.ruoyi.device.domain.AsDevice;
import com.ruoyi.common.core.domain.entity.AsUser;
+import com.ruoyi.device.domain.AsDeviceQuery;
import com.ruoyi.device.domain.AsWateringRecord;
import com.ruoyi.device.mapper.AsDeviceMapper;
import com.ruoyi.device.mapper.AsUserMapper;
@@ -439,7 +440,9 @@ public class AsUserServiceImpl implements IAsUserService
@SneakyThrows
@Override
public List selectDeviceInfoByUser(Long userId,String isDefault) {
- AsDevice asDevice = AsDevice.builder().userId(userId).isDefault(isDefault).build();
+ AsDeviceQuery asDevice = new AsDeviceQuery();
+ asDevice.setUserId(userId);
+ asDevice.setIsDefault(isDefault);
List asDevices = asDeviceMapper.selectAsDeviceList(asDevice);
// 查询onenet设备在线状态
// String sendUrl = iotUrl+ IotConstants.ADDS_COMMAND;
diff --git a/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceMapper.xml b/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceMapper.xml
index 42147fc..b390524 100644
--- a/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceMapper.xml
+++ b/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceMapper.xml
@@ -43,7 +43,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- select device_id, picture, device_name, classify_id, classify_name, model_id, model, mac, activation_time, online_status, user_id, user_name, nick_name, regular_watering, soil_moisture_open, soil_moisture_close, water_intensity, pulse_mode, pulse_mode_param, screen_rest_time, version, version_id, create_by, create_time, update_by, update_time, remark, regular_watering_json, soil_moisture, water_intensity_switch,is_network,is_default,mode_str,bluetooth_id,bluetooth_name from as_device
+ select device_id, picture, device_name, classify_id, classify_name, model_id, model, mac, activation_time, online_status,
+ user_id, user_name, nick_name, regular_watering, soil_moisture_open, soil_moisture_close, water_intensity, pulse_mode,
+ pulse_mode_param, screen_rest_time, version, version_id, create_by, create_time, update_by, update_time, remark, regular_watering_json, soil_moisture, water_intensity_switch,is_network,is_default,mode_str,bluetooth_id,bluetooth_name from as_device
diff --git a/AutoSprout-watering/src/main/resources/mapper/user/AsUserMapper.xml b/AutoSprout-watering/src/main/resources/mapper/user/AsUserMapper.xml
index b147cd1..4fbad16 100644
--- a/AutoSprout-watering/src/main/resources/mapper/user/AsUserMapper.xml
+++ b/AutoSprout-watering/src/main/resources/mapper/user/AsUserMapper.xml
@@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -27,12 +28,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- select u.user_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber,u.birthday, u.password, u.pay_password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark
+ select u.user_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber,u.birthday, u.password, u.user_type,
+ u.pay_password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark
from as_user u