添加空气质量信息~

master
Administrator 2 years ago
parent 8c438b57f6
commit 4a1bcc3f53

@ -41,6 +41,12 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- JSR303规范依赖-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
</dependencies>
</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());
}
}

@ -2,14 +2,18 @@ package com.mashibing.controller;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import com.mashibing.service.AirService;
import com.mashibing.util.R;
import com.mashibing.vo.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -57,4 +61,37 @@ public class AirController {
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();
}
}

@ -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,6 +1,7 @@
package com.mashibing.mapper;
import com.mashibing.entity.Air;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -13,4 +14,8 @@ public interface AirMapper {
// 查询空气质量的SQL扔Mapper里
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);
}

@ -2,6 +2,7 @@ package com.mashibing.service;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import java.util.List;
@ -24,4 +25,10 @@ public interface AirService {
* @return
*/
PageInfo findAirByDistrictIdAndPage(Integer page, Integer size, Integer districtId);
/**
*
* @param airAddForm
*/
void add(AirAddForm airAddForm);
}

@ -4,11 +4,14 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.Air;
import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import com.mashibing.mapper.AirMapper;
import com.mashibing.mapper.DistrictMapper;
import com.mashibing.service.AirService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ -43,4 +46,21 @@ public class AirServiceImpl implements AirService {
//4、返回
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("【添加空气质量】 添加失败!!");
}
}
}

@ -27,4 +27,10 @@ public class R {
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;
import com.mashibing.entity.Air;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@ -26,4 +29,17 @@ class AirMapperTest {
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);
}
}

@ -3,12 +3,15 @@ package com.mashibing.service;
import com.github.pagehelper.PageInfo;
import com.mashibing.entity.District;
import com.mashibing.form.AirAddForm;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
@RunWith(SpringRunner.class)
@ -33,4 +36,15 @@ public class AirServiceTest {
}
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);
}
}
Loading…
Cancel
Save