Compare commits

...

3 Commits

Author SHA1 Message Date
Administrator f6029619c3 删除空气质量信息~
2 years ago
Administrator 42eabba1e3 修改空气质量信息~
2 years ago
Administrator 4a1bcc3f53 添加空气质量信息~
2 years ago

@ -41,6 +41,12 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
</dependency> </dependency>
<!-- JSR303规范依赖-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

@ -0,0 +1,20 @@
package com.mashibing;
import com.mashibing.util.R;
import com.mashibing.vo.ResultVO;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* @author zjw
* @description
*/
@RestControllerAdvice
public class AirExceptionHandler {
@ExceptionHandler(Exception.class)
public ResultVO ex(Exception ex){
return R.error(-1,ex.getMessage());
}
}

@ -1,15 +1,18 @@
package com.mashibing.controller; package com.mashibing.controller;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.mashibing.entity.Air;
import com.mashibing.entity.District; import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import com.mashibing.service.AirService; import com.mashibing.service.AirService;
import com.mashibing.util.R; import com.mashibing.util.R;
import com.mashibing.vo.ResultVO; import com.mashibing.vo.ResultVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import javax.websocket.server.PathParam;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -57,4 +60,116 @@ public class AirController {
return R.ok(pageInfo.getTotal(),pageInfo.getList()); return R.ok(pageInfo.getTotal(),pageInfo.getList());
} }
/**
* #
* # &
* POST http://localhost:8080/air/add
*
* # AirAddForm
* districtId = Integer
* monitorTime = yyyy-MM-dd
* pm10 = Integer
* pm25 = Integer
* monitoringStation = String
*
* #
* 1
* 2
* 3
*/
@PostMapping("/air/add")
public ResultVO airAdd(@Valid AirAddForm airAddForm, BindingResult result){
// 1、查看参数是否合法
if (result.hasErrors()) {
// 有参数不满足要求
String message = result.getFieldError().getDefaultMessage();
// 返回参数不合法信息
return R.error(400,message);
}
//2、调用Service层添加数据
airService.add(airAddForm);
//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
* 3id
*
* #
*
* {
* "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();
}
/**
* #
* # &
* DELETE http://localhost:8080/air/delete/{id}
*
* #
* id
*
* #
* 1
* 2id
*
* #
*
* {
* "code": 0,
* "msg": ""
* }
*
* {
* "code": ,
* "msg": "错误信息"
* }
*/
@DeleteMapping("/air/delete/{id}")
public ResultVO airDelete(@PathVariable Integer id){
//1、调用service删除
airService.deleteById(id);
//2、响应数据
return R.ok();
}
} }

@ -18,6 +18,7 @@ public class Air {
private Integer districtId; private Integer districtId;
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date monitorTime; private Date monitorTime;
private Integer pm10; private Integer pm10;

@ -0,0 +1,70 @@
package com.mashibing.form;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @author zjw
* @description
*/
public class AirAddForm {
@NotNull(message = "检测区域为必选项,岂能为空!")
private Integer districtId;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@NotNull(message = "检测时间为必选项,岂能为空!")
private Date monitorTime;
@NotNull(message = "pm10为必选项岂能为空")
private Integer pm10;
@NotNull(message = "pm25为必选项岂能为空")
private Integer pm25;
@NotBlank(message = "检测站为必选项,岂能为空!")
private String monitoringStation;
public Integer getDistrictId() {
return districtId;
}
public void setDistrictId(Integer districtId) {
this.districtId = districtId;
}
public Date getMonitorTime() {
return monitorTime;
}
public void setMonitorTime(Date monitorTime) {
this.monitorTime = monitorTime;
}
public Integer getPm10() {
return pm10;
}
public void setPm10(Integer pm10) {
this.pm10 = pm10;
}
public Integer getPm25() {
return pm25;
}
public void setPm25(Integer pm25) {
this.pm25 = pm25;
}
public String getMonitoringStation() {
return monitoringStation;
}
public void setMonitoringStation(String monitoringStation) {
this.monitoringStation = monitoringStation;
}
}

@ -1,7 +1,10 @@
package com.mashibing.mapper; package com.mashibing.mapper;
import com.mashibing.entity.Air; import com.mashibing.entity.Air;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@ -13,4 +16,15 @@ public interface AirMapper {
// 查询空气质量的SQL扔Mapper里 // 查询空气质量的SQL扔Mapper里
List<Air> findBydDistrictId(@Param("districtId") Integer districtId); List<Air> findBydDistrictId(@Param("districtId") Integer districtId);
// 添加数据
@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);
@Delete("delete from air where id = #{id}")
int deleteById(@Param("id") Integer id);
} }

@ -1,7 +1,9 @@
package com.mashibing.service; package com.mashibing.service;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.mashibing.entity.Air;
import com.mashibing.entity.District; import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import java.util.List; import java.util.List;
@ -24,4 +26,22 @@ public interface AirService {
* @return * @return
*/ */
PageInfo findAirByDistrictIdAndPage(Integer page, Integer size, Integer districtId); PageInfo findAirByDistrictIdAndPage(Integer page, Integer size, Integer districtId);
/**
*
* @param airAddForm
*/
void add(AirAddForm airAddForm);
/**
*
* @param air
*/
void updateById(Air air);
/**
*
* @param id
*/
void deleteById(Integer id);
} }

@ -4,11 +4,14 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.mashibing.entity.Air; import com.mashibing.entity.Air;
import com.mashibing.entity.District; import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import com.mashibing.mapper.AirMapper; import com.mashibing.mapper.AirMapper;
import com.mashibing.mapper.DistrictMapper; import com.mashibing.mapper.DistrictMapper;
import com.mashibing.service.AirService; import com.mashibing.service.AirService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
@ -43,4 +46,45 @@ public class AirServiceImpl implements AirService {
//4、返回 //4、返回
return pageInfo; return pageInfo;
} }
@Override
@Transactional
public void add(AirAddForm airAddForm) {
//1、封装数据
Air air = new Air();
BeanUtils.copyProperties(airAddForm, air);
//2、添加数据
int count = airMapper.insert(air);
//3、判断count
if (count != 1) {
System.out.println("【添加空气质量】 添加失败!!");
throw new RuntimeException("【添加空气质量】 添加失败!!");
}
}
@Override
@Transactional
public void updateById(Air air) {
//1、修改数据
int count = airMapper.updateById(air);
//2、不成功扔异常
if (count != 1) {
System.out.println("【修改空气质量】 修改失败!!");
throw new RuntimeException("【修改空气质量】 修改失败!!");
}
}
@Override
@Transactional
public void deleteById(Integer id) {
// 删除
int count = airMapper.deleteById(id);
// 判断
if (count != 1) {
System.out.println("【删除空气质量】 删除失败!!");
throw new RuntimeException("【删除空气质量】 删除失败!!");
}
}
} }

@ -27,4 +27,10 @@ public class R {
return vo; return vo;
} }
public static ResultVO error(Integer code, String message) {
ResultVO vo = new ResultVO();
vo.setCode(code);
vo.setMsg(message);
return vo;
}
} }

@ -1,12 +1,15 @@
package com.mashibing.mapper; package com.mashibing.mapper;
import com.mashibing.entity.Air; import com.mashibing.entity.Air;
import org.junit.Assert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List; import java.util.List;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
@ -26,4 +29,34 @@ class AirMapperTest {
System.out.println(air); System.out.println(air);
} }
} }
@Test
@Transactional
public void insert(){
Air air = new Air();
air.setDistrictId(1);
air.setMonitorTime(new Date());
air.setPm10(10);
air.setPm25(25);
air.setMonitoringStation("长沙监测站!!!");
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);
}
@Test
public void deleteById(){
airMapper.deleteById(71);
}
} }

@ -2,13 +2,17 @@ package com.mashibing.service;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.mashibing.entity.Air;
import com.mashibing.entity.District; import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List; import java.util.List;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@ -33,4 +37,32 @@ public class AirServiceTest {
} }
System.out.println(pageInfo.getTotal()); System.out.println(pageInfo.getTotal());
} }
@Test
public void add(){
AirAddForm air = new AirAddForm();
air.setDistrictId(1);
air.setMonitorTime(new Date());
air.setPm10(10);
air.setPm25(25);
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);
}
@Test
public void deleteById(){
airService.deleteById(70);
}
} }
Loading…
Cancel
Save