From 3cd1434341d2dd68ac72c02bf028ed8e1dfe0d71 Mon Sep 17 00:00:00 2001 From: 648540858 <18010473990@163.com> Date: 星期四, 05 八月 2021 07:25:12 +0800 Subject: [PATCH] 添加用户操作 修正报警清理接口 --- src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java | 9 +++ sql/mysql.sql | 5 + src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java | 20 ++++-- src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java | 26 +++++--- src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java | 23 +++++++ src/main/java/com/genersoft/iot/vmp/service/IUserService.java | 10 +++ src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java | 4 src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java | 61 ++++++++++++++++++++ src/main/java/com/genersoft/iot/vmp/service/IDeviceAlarmService.java | 2 9 files changed, 139 insertions(+), 21 deletions(-) diff --git a/sql/mysql.sql b/sql/mysql.sql index d5a84c3..e654e98 100644 --- a/sql/mysql.sql +++ b/sql/mysql.sql @@ -215,8 +215,9 @@ username varchar(255) not null, password varchar(255) not null, roleId int not null, - create_time varchar(50) not null + create_time varchar(50) not null, + update_time varchar(50) not null ); -insert into user (username, password, roleId, create_time) values ('admin', '21232f297a57a5a743894a0e4a801fc3', '0', '2021-04-13 14:14:57'); +insert into user (username, password, roleId, create_time, update_time) values ('admin', '21232f297a57a5a743894a0e4a801fc3', '0', '2021-04-13 14:14:57', '2021-04-13 14:14:57'); diff --git a/src/main/java/com/genersoft/iot/vmp/service/IDeviceAlarmService.java b/src/main/java/com/genersoft/iot/vmp/service/IDeviceAlarmService.java index 5e3f681..51e53d2 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/IDeviceAlarmService.java +++ b/src/main/java/com/genersoft/iot/vmp/service/IDeviceAlarmService.java @@ -38,6 +38,6 @@ * @param deviceIdList 鍒跺畾闇�瑕佹竻鐞嗙殑璁惧id * @param time 涓嶅啓鏃堕棿鍒欐竻绌烘墍鏈夋椂闂寸殑 */ - void clearAlarmBeforeTime(Integer id, List<String> deviceIdList, String time); + int clearAlarmBeforeTime(Integer id, List<String> deviceIdList, String time); } diff --git a/src/main/java/com/genersoft/iot/vmp/service/IUserService.java b/src/main/java/com/genersoft/iot/vmp/service/IUserService.java index cb6b6b7..112af35 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/IUserService.java +++ b/src/main/java/com/genersoft/iot/vmp/service/IUserService.java @@ -2,6 +2,8 @@ import com.genersoft.iot.vmp.storager.dao.dto.User; +import java.util.List; + public interface IUserService { User getUser(String username, String password); @@ -9,4 +11,12 @@ boolean changePassword(int id, String password); User getUserByUsername(String username); + + void addUser(User user); + + void deleteUser(int id); + + List<User> getAllUsers(); + + void updateUsers(User user); } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java index 0567b55..ead291c 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java @@ -31,7 +31,7 @@ } @Override - public void clearAlarmBeforeTime(Integer id, List<String> deviceIdList, String time) { - deviceAlarmMapper.clearAlarmBeforeTime(id, deviceIdList, time); + public int clearAlarmBeforeTime(Integer id, List<String> deviceIdList, String time) { + return deviceAlarmMapper.clearAlarmBeforeTime(id, deviceIdList, time); } } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java index 2539f5b..e10fc79 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/UserServiceImpl.java @@ -6,6 +6,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class UserServiceImpl implements IUserService { @@ -29,4 +31,25 @@ public User getUserByUsername(String username) { return userMapper.getUserByUsername(username); } + + @Override + public void addUser(User user) { + userMapper.add(user); + } + @Override + public void deleteUser(int id) { + userMapper.delete(id); + } + + @Override + public List<User> getAllUsers() { + return userMapper.selectAll(); + } + + @Override + public void updateUsers(User user) { + userMapper.update(user); + } + + } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java index 6ecc828..e217632 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/UserMapper.java @@ -4,23 +4,28 @@ import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; +import java.util.List; + @Mapper @Repository public interface UserMapper { - @Insert("INSERT INTO user (username, password, roleId, create_time) VALUES" + - "('${username}', '${password}', '${roleId}', datetime('now','localtime'))") + @Insert("INSERT INTO user (username, password, roleId, create_time, update_time) VALUES" + + "('${username}', '${password}', '${roleId}', '${createTime}', '${updateTime}')") int add(User user); - @Update("UPDATE user " + - "SET username=#{username}, " + - "password=#{password}, " + - "roleId=#{roleId} " + - "WHERE id=#{id}") + @Update(value = {" <script>" + + "UPDATE user " + + "SET update_time='${updateTime}' " + + "<if test=\"roleId != null\">, roleId='${roleId}'</if>" + + "<if test=\"password != null\">, password='${password}'</if>" + + "<if test=\"username != null\">, username='${username}'</if>" + + "WHERE id=#{id}" + + " </script>"}) int update(User user); - @Delete("DELETE FROM user WHERE app=#{app} AND id=#{id}") - int delete(User user); + @Delete("DELETE FROM user WHERE id=#{id}") + int delete(int id); @Select("select * FROM user WHERE username=#{username} AND password=#{password}") User select(String username, String password); @@ -30,4 +35,7 @@ @Select("select * FROM user WHERE username=#{username}") User getUserByUsername(String username); + + @Select("select * FROM user") + List<User> selectAll(); } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java index 697df04..b4a0289 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/dto/User.java @@ -6,6 +6,7 @@ private String username; private String password; private String createTime; + private String updateTime; private int roleId; public int getId() { @@ -47,4 +48,12 @@ public void setRoleId(int roleId) { this.roleId = roleId; } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java index b1b62b1..434bbd4 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java @@ -60,7 +60,8 @@ @ApiImplicitParam(name="endTime", value = "鏌ヨ鍐呭" ,dataTypeClass = String.class), }) public ResponseEntity<PageInfo<DeviceAlarm>> getAll( - int page, int count, + @RequestParam int page, + @RequestParam int count, @RequestParam(required = false) String deviceId, @RequestParam(required = false) String alarmPriority, @RequestParam(required = false) String alarmMethod, @@ -76,8 +77,8 @@ try { - format.parse(startTime); - format.parse(endTime); + if (startTime != null) format.parse(startTime); + if (endTime != null) format.parse(endTime); } catch (ParseException e) { return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST); } @@ -96,7 +97,7 @@ * @param time 缁撴潫鏃堕棿(杩欎釜鏃堕棿涔嬪墠鐨勬姤璀︿細琚垹闄�) * @return */ - @ApiOperation("鍒嗛〉鏌ヨ鎶ヨ") + @ApiOperation("鍒犻櫎鎶ヨ") @DeleteMapping("/delete") @ApiImplicitParams({ @ApiImplicitParam(name="id", value = "ID", required = false ,dataTypeClass = Integer.class), @@ -118,12 +119,17 @@ } catch (ParseException e) { return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST); } - String[] deviceIdArray = deviceIds.split(","); - List<String> deviceIdList = Arrays.asList(deviceIdArray); - deviceAlarmService.clearAlarmBeforeTime(id, deviceIdList, time); + List<String> deviceIdList = null; + if (deviceIds != null) { + String[] deviceIdArray = deviceIds.split(","); + deviceIdList = Arrays.asList(deviceIdArray); + } + + int count = deviceAlarmService.clearAlarmBeforeTime(id, deviceIdList, time); WVPResult wvpResult = new WVPResult(); wvpResult.setCode(0); wvpResult.setMsg("success"); + wvpResult.setData(count); return new ResponseEntity<WVPResult<String>>(wvpResult, HttpStatus.OK); } diff --git a/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java b/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java new file mode 100644 index 0000000..eea7f04 --- /dev/null +++ b/src/test/java/com/genersoft/iot/vmp/service/impl/UserServiceImplTest.java @@ -0,0 +1,61 @@ +package com.genersoft.iot.vmp.service.impl; + +import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm; +import com.genersoft.iot.vmp.service.IDeviceAlarmService; +import com.genersoft.iot.vmp.service.IUserService; +import com.genersoft.iot.vmp.storager.dao.dto.User; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Date; + + +@SpringBootTest +@RunWith(SpringRunner.class) +class UserServiceImplTest { + + @Resource + private IUserService userService; + + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + @org.junit.jupiter.api.Test + void getAllUser() { + System.out.println(userService.getAllUsers().size()); + } + + + @org.junit.jupiter.api.Test + void add() { + for (int i = 0; i < 10; i++) { + User user = new User(); + user.setUsername("admin_" + i); + user.setPassword("admin_password_" + i); + user.setRoleId((int)(Math.random()*4 + 1)); + user.setCreateTime(format.format(System.currentTimeMillis())); + user.setUpdateTime(format.format(System.currentTimeMillis())); + userService.addUser(user); + } + } + + @org.junit.jupiter.api.Test + void delete() { + userService.deleteUser(1002); + } + + @org.junit.jupiter.api.Test + void update() { + User user = new User(); + user.setId(1003); + user.setUsername("update" ); + user.setPassword("update"); + user.setRoleId((int)(Math.random()*4 + 1)); + user.setUpdateTime(format.format(System.currentTimeMillis())); + userService.updateUsers(user); + } + + +} \ No newline at end of file -- Gitblit v1.8.0