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 @@ - + - + + + + - + + + + + + + + + + @@ -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