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