From 42eabba1e317598cf3bb886e41c9a5fdff985885 Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 1 Dec 2023 21:05:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A9=BA=E6=B0=94=E8=B4=A8?= =?UTF-8?q?=E9=87=8F=E4=BF=A1=E6=81=AF~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mashibing/controller/AirController.java | 47 +++++++++++++++++++ src/main/java/com/mashibing/entity/Air.java | 1 + .../java/com/mashibing/mapper/AirMapper.java | 5 ++ .../com/mashibing/service/AirService.java | 7 +++ .../service/impl/AirServiceImpl.java | 11 +++++ .../com/mashibing/mapper/AirMapperTest.java | 12 +++++ .../com/mashibing/service/AirServiceTest.java | 13 +++++ 7 files changed, 96 insertions(+) diff --git a/src/main/java/com/mashibing/controller/AirController.java b/src/main/java/com/mashibing/controller/AirController.java index 0a2a911..f3a709c 100644 --- a/src/main/java/com/mashibing/controller/AirController.java +++ b/src/main/java/com/mashibing/controller/AirController.java @@ -1,6 +1,7 @@ package com.mashibing.controller; import com.github.pagehelper.PageInfo; +import com.mashibing.entity.Air; import com.mashibing.entity.District; import com.mashibing.form.AirAddForm; import com.mashibing.service.AirService; @@ -94,4 +95,50 @@ public class AirController { //3、添加成功 return R.ok(); } + + + /** + * # 修改空气质量信息 + * # 请求方式&路径 + * POST http://localhost:8080/air/update + * + * # 请求参数 + * id = Integer (必传项) + * districtId = Integer (非必传) + * monitorTime = yyyy-MM-dd (非必传) + * pm10 = Integer (非必传) + * pm25 = Integer (非必传) + * monitoringStation = String (非必传) + * + * # 业务流程 + * 1、接收参数 + * 2、做参数的非空校验 + * 3、修改指定id的数据 + * + * # 响应数据 + * 成功响应: + * { + * "code": 0, + * "msg": "" + * } + * 失败响应: + * { + * "code": 错误编码, + * "msg": "错误信息" + * } + */ + @PostMapping("/air/update") + public ResultVO airUpdate(Air air){ + // 1、做参数的非空校验 + Integer id = air.getId(); + if(id == null){ + return R.error(400,"参数不合法!"); + } + + //2、找Service修改数据 + airService.updateById(air); + + //3、返回 + return R.ok(); + } } diff --git a/src/main/java/com/mashibing/entity/Air.java b/src/main/java/com/mashibing/entity/Air.java index 0b73e1b..3e91ae0 100644 --- a/src/main/java/com/mashibing/entity/Air.java +++ b/src/main/java/com/mashibing/entity/Air.java @@ -18,6 +18,7 @@ public class Air { private Integer districtId; @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date monitorTime; private Integer pm10; diff --git a/src/main/java/com/mashibing/mapper/AirMapper.java b/src/main/java/com/mashibing/mapper/AirMapper.java index e186b48..321f1e7 100644 --- a/src/main/java/com/mashibing/mapper/AirMapper.java +++ b/src/main/java/com/mashibing/mapper/AirMapper.java @@ -3,6 +3,7 @@ package com.mashibing.mapper; import com.mashibing.entity.Air; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; import java.util.List; @@ -18,4 +19,8 @@ public interface AirMapper { // 添加数据 @Insert("insert into air (district_id,monitor_time,pm10,pm25,monitoring_station) values (#{districtId},#{monitorTime},#{pm10},#{pm25},#{monitoringStation})") int insert(Air air); + + // 修改数据 + @Update("update air set district_id = #{districtId},monitor_time = #{monitorTime},pm10 = #{pm10},pm25 = #{pm25},monitoring_station = #{monitoringStation} where id = #{id}") + int updateById(Air air); } diff --git a/src/main/java/com/mashibing/service/AirService.java b/src/main/java/com/mashibing/service/AirService.java index 7d22228..6509037 100644 --- a/src/main/java/com/mashibing/service/AirService.java +++ b/src/main/java/com/mashibing/service/AirService.java @@ -1,6 +1,7 @@ package com.mashibing.service; import com.github.pagehelper.PageInfo; +import com.mashibing.entity.Air; import com.mashibing.entity.District; import com.mashibing.form.AirAddForm; @@ -31,4 +32,10 @@ public interface AirService { * @param airAddForm */ void add(AirAddForm airAddForm); + + /** + * 修改空气质量信息 + * @param air + */ + void updateById(Air air); } diff --git a/src/main/java/com/mashibing/service/impl/AirServiceImpl.java b/src/main/java/com/mashibing/service/impl/AirServiceImpl.java index 8d76840..9813414 100644 --- a/src/main/java/com/mashibing/service/impl/AirServiceImpl.java +++ b/src/main/java/com/mashibing/service/impl/AirServiceImpl.java @@ -63,4 +63,15 @@ public class AirServiceImpl implements AirService { throw new RuntimeException("【添加空气质量】 添加失败!!"); } } + + @Override + public void updateById(Air air) { + //1、修改数据 + int count = airMapper.updateById(air); + //2、不成功,扔异常 + if (count != 1) { + System.out.println("【修改空气质量】 修改失败!!"); + throw new RuntimeException("【修改空气质量】 修改失败!!"); + } + } } diff --git a/src/test/java/com/mashibing/mapper/AirMapperTest.java b/src/test/java/com/mashibing/mapper/AirMapperTest.java index 84ac94a..7f03af9 100644 --- a/src/test/java/com/mashibing/mapper/AirMapperTest.java +++ b/src/test/java/com/mashibing/mapper/AirMapperTest.java @@ -42,4 +42,16 @@ class AirMapperTest { int count = airMapper.insert(air); Assert.assertEquals(1,count); } + + @Test + public void updateById(){ + Air air = new Air(); + air.setId(2); + air.setDistrictId(1); + air.setMonitorTime(new Date()); + air.setPm10(10); + air.setPm25(25); + air.setMonitoringStation("长沙监测站!!!!"); + airMapper.updateById(air); + } } \ No newline at end of file diff --git a/src/test/java/com/mashibing/service/AirServiceTest.java b/src/test/java/com/mashibing/service/AirServiceTest.java index 39ee2c8..5ba701f 100644 --- a/src/test/java/com/mashibing/service/AirServiceTest.java +++ b/src/test/java/com/mashibing/service/AirServiceTest.java @@ -2,6 +2,7 @@ package com.mashibing.service; import com.github.pagehelper.PageInfo; +import com.mashibing.entity.Air; import com.mashibing.entity.District; import com.mashibing.form.AirAddForm; import org.junit.Test; @@ -47,4 +48,16 @@ public class AirServiceTest { air.setMonitoringStation("长沙监测站!!!!!!!!"); airService.add(air); } + + @Test + public void updateById(){ + Air air = new Air(); + air.setId(2); + air.setDistrictId(1); + air.setMonitorTime(new Date()); + air.setPm10(10); + air.setPm25(25); + air.setMonitoringStation("北京监测站!!!!"); + airService.updateById(air); + } } \ No newline at end of file