package com.fall.smarthouse.service.impl;
import com.fall.smarthouse.constant.ElectricType;
import com.fall.smarthouse.constant.LightState;
import com.fall.smarthouse.constant.SwitchState;
import com.fall.smarthouse.mapper.ElectricMapper;
import com.fall.smarthouse.model.ElectricAppliance;
import com.fall.smarthouse.model.ReturnHistory;
import com.fall.smarthouse.model.SqlHistory;
import com.fall.smarthouse.service.IElectricApplianceService;
import com.fall.smarthouse.util.DateConverter;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
/**
* @author FAll
* @date 2022/12/2 17:21
*/
@Service
public class ElectricApplianceServiceImpl implements IElectricApplianceService {
private static HashMap<String, Integer> electricApplianceMap = new HashMap<>();
@Autowired
ElectricMapper electricMapper;
@Override
public ElectricAppliance getAllElectricAppliance() {
return electricMapper.getAppliance();
}
@Override
public ElectricAppliance getLight() {
return electricMapper.getLight();
}
@Override
public ElectricAppliance getSwitch() {
return electricMapper.getSwitch();
}
@Override
public ElectricAppliance getCurtain() {
return electricMapper.getCurtain();
}
@Override
public ElectricAppliance getWarnLight() {
return electricMapper.getWarnLight();
}
@Override
public Boolean setLightBedA(ElectricAppliance electricAppliance) {
Integer lightBedA = electricAppliance.getLightBedA();
Integer lightBedAState = checkLightIntegerLegal(lightBedA);
electricAppliance.setLightBedA(lightBedAState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setLightBedB(ElectricAppliance electricAppliance) {
Integer lightBedB = electricAppliance.getLightBedB();
Integer lightBedBState = checkLightIntegerLegal(lightBedB);
electricAppliance.setLightBedB(lightBedBState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setLightLivingRoom(ElectricAppliance electricAppliance) {
Integer lightLivingRoom = electricAppliance.getLightLivingRoom();
Integer lightLivingRoomState = checkLightIntegerLegal(lightLivingRoom);
electricAppliance.setLightLivingRoom(lightLivingRoomState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setLightBathroom(ElectricAppliance electricAppliance) {
Integer lightBathRoom = electricAppliance.getLightBathroom();
Integer lightBathRoomState = checkLightIntegerLegal(lightBathRoom);
electricAppliance.setLightBathroom(lightBathRoomState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setAppliance(ElectricAppliance electricAppliance) {
//记录电器情况的Map为空则记录初始电器情况
if (electricApplianceMap.isEmpty()) {
ElectricAppliance appliance = electricMapper.getAppliance();
electricApplianceMap.put("lightBedA", appliance.getLightBedA());
electricApplianceMap.put("lightBedB", appliance.getLightBedB());
electricApplianceMap.put("lightLivingRoom", appliance.getLightLivingRoom());
electricApplianceMap.put("lightBathroom", appliance.getLightBathroom());
electricApplianceMap.put("switchA", appliance.getSwitchA());
electricApplianceMap.put("switchB", appliance.getSwitchB());
electricApplianceMap.put("switchC", appliance.getSwitchC());
electricApplianceMap.put("curtainA", appliance.getCurtainA());
electricApplianceMap.put("curtainB", appliance.getCurtainB());
}
// 将对象非法属性合法化
ElectricAppliance updateElectric = new ElectricAppliance();
// 灯光
updateElectric.setLightBedA(checkLightIntegerLegal(electricAppliance.getLightBedA()));
updateElectric.setLightBedB(checkLightIntegerLegal(electricAppliance.getLightBedB()));
updateElectric.setLightLivingRoom(checkLightIntegerLegal(electricAppliance.getLightLivingRoom()));
updateElectric.setLightBathroom(checkLightIntegerLegal(electricAppliance.getLightBathroom()));
// 窗帘
updateElectric.setCurtainA(checkSwitchIntegerLegal(electricAppliance.getCurtainA()));
updateElectric.setCurtainB(checkSwitchIntegerLegal(electricAppliance.getCurtainB()));
// 开关
updateElectric.setSwitchA(checkSwitchIntegerLegal(electricAppliance.getSwitchA()));
updateElectric.setSwitchB(checkSwitchIntegerLegal(electricAppliance.getSwitchB()));
updateElectric.setSwitchC(checkSwitchIntegerLegal(electricAppliance.getSwitchC()));
// 警报
updateElectric.setWarnLight(checkSwitchIntegerLegal(electricAppliance.getWarnLight()));
Integer integer = electricMapper.updateElectricAppliance(updateElectric);
return integer > 0;
}
@Override
public Boolean setSwitchA(ElectricAppliance electricAppliance) {
Integer switchA = electricAppliance.getSwitchA();
Integer switchAState = checkSwitchIntegerLegal(switchA);
electricAppliance.setSwitchA(switchAState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setSwitchB(ElectricAppliance electricAppliance) {
Integer switchB = electricAppliance.getSwitchB();
Integer switchBState = checkSwitchIntegerLegal(switchB);
electricAppliance.setSwitchB(switchBState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setSwitchC(ElectricAppliance electricAppliance) {
Integer switchC = electricAppliance.getSwitchC();
Integer switchCState = checkSwitchIntegerLegal(switchC);
electricAppliance.setSwitchC(switchCState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setCurtainA(ElectricAppliance electricAppliance) {
Integer curtainA = electricAppliance.getCurtainA();
Integer curtainAState = checkSwitchIntegerLegal(curtainA);
electricAppliance.setCurtainA(curtainAState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setCurtainB(ElectricAppliance electricAppliance) {
Integer curtainB = electricAppliance.getCurtainB();
Integer curtainBState = checkSwitchIntegerLegal(curtainB);
electricAppliance.setCurtainB(curtainBState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean setWarnLight(ElectricAppliance electricAppliance) {
Integer warnLight = electricAppliance.getWarnLight();
Integer warnLightState = checkSwitchIntegerLegal(warnLight);
electricAppliance.setWarnLight(warnLightState);
Integer affectRows = electricMapper.updateElectricAppliance(electricAppliance);
return affectRows != 0;
}
@Override
public Boolean homeMode() {
ElectricAppliance homeMode = new ElectricAppliance();
没有合适的资源?快使用搜索试试~ 我知道了~
基于SpringBoot+mybatis+Vue+node.js开发的智能家居前端和后端系统源码+项目说明(毕设项目).zip
共94个文件
java:34个
vue:21个
ts:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 103 浏览量
2023-01-03
21:54:51
上传
评论 7
收藏 871KB ZIP 举报
温馨提示
基于SpringBoot+mybatis+Vue+node.js开发的智能家居前端和后端系统源码+项目说明(毕设项目).zip 【项目介绍】 前端: HTML CSS Less JavaScript TypeScript Vue3 Vite vue-router Pinia Axios 后端: Java8 Spring5 SpringMVC SpringBoot2 Validation (JSR303) Mysql Mybatis Druid Swagger 虚拟传感器端: Node.js TypeScript Axios Cron 【备注】 主要针对计算机相关专业的正在做毕设的学生和需要项目实战的Java学习者。 也可作为课程设计、期末大作业。包含:项目源码、项目说明等,该项目可以直接作为毕设、课程设计使用。 也可以用来学习参考借鉴!
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计基于SpringBoot+mybatis+Vue+node.js开发的智能家居系统完整源码(前端+后端)+项目说明.zip (94个子文件)
.vscode
settings.json 155B
项目说明.md 325B
backend
pom.xml 4KB
src
test
java
com
fall
smarthouse
BackendApplicationTests.java 8KB
main
resources
application.yml 2KB
java
com
fall
smarthouse
constant
MenuID.java 471B
SwitchState.java 298B
RiskIndex.java 367B
ElectricType.java 316B
LightState.java 297B
mapper
AbnormalMapper.java 1KB
UserMapper.java 1KB
UserMapper.xml 233B
AbnormalMapper.xml 2KB
SensorMapper.java 2KB
SensorMapper.xml 7KB
ElectricMapper.xml 4KB
ElectricMapper.java 1KB
BackendApplication.java 520B
controller
ElectricApplianceController.java 10KB
SmartController.java 2KB
SensorController.java 11KB
service
IElectricApplianceService.java 4KB
IUserService.java 1KB
exception
GlobalExceptionHandler.java 5KB
impl
SensorServiceImpl.java 13KB
UserServiceImpl.java 4KB
ElectricApplianceServiceImpl.java 18KB
ISensorService.java 5KB
model
Sensor.java 636B
Abnormal.java 353B
ElectricAppliance.java 628B
ReturnHistory.java 401B
SqlHistory.java 405B
User.java 318B
util
DateConverter.java 2KB
JWTUtil.java 4KB
config
WebConfig.java 3KB
scheduled
WarnSchedule.java 3KB
bean
MenuItem.java 417B
ResBean.java 1KB
interceptor
SmartInterceptor.java 2KB
sensor
app.js 1KB
package.json 98B
package-lock.json 44KB
sensors.js 1KB
frontend
components.d.ts 3KB
.vscode
extensions.json 39B
tsconfig.node.json 184B
auto-imports.d.ts 69B
src
components.d.ts 658B
main.ts 523B
App.vue 202B
store
aside.ts 439B
index.ts 156B
assets
style
global.css 240B
img
login.jpg 723KB
api
sensor
types.ts 1KB
index.ts 4KB
aside
types.ts 154B
index.ts 295B
login
types.ts 62B
index.ts 649B
Electric
types.ts 841B
index.ts 2KB
utils
request.ts 2KB
components
Chart.vue 842B
DoubleDatePicker.vue 2KB
sensor
AbnormalCertainData.vue 5KB
QueryCertainData.vue 4KB
QueryAbnormalData.vue 3KB
Aside.vue 3KB
Breadcrumb.vue 677B
Header.vue 1KB
Selector.vue 1KB
DatePicker.vue 507B
router
index.ts 4KB
vite-env.d.ts 186B
views
SecurityCtrl
Smog.vue 3KB
Gas.vue 3KB
Guard.vue 2KB
Shake.vue 3KB
ElectricCtrl
CurtainCtrl.vue 5KB
LightCtrl.vue 4KB
SwitchCtrl.vue 5KB
Login.vue 4KB
Home.vue 2KB
HomePage.vue 325B
package.json 703B
public
vite.svg 7KB
package-lock.json 186KB
vite.config.ts 452B
index.html 795B
tsconfig.json 526B
共 94 条
- 1
资源评论
- 宇荥2024-01-16资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
- 华为OD面试指南2023-11-07支持这个资源,内容详细,主要是能解决当下的问题,感谢大佬分享~Make程序设计2024-01-09你有用就好
- xyzno392023-04-27资源有很好的参考价值,总算找到了自己需要的资源啦。Make程序设计2023-10-31感谢支持和认可,加油,互相学习~~
Make程序设计
- 粉丝: 6149
- 资源: 3569
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功