package com.gunshi.project.hsz.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; import com.gunshi.core.session.entity.SessionUser; import com.gunshi.project.hsz.common.model.StStbprpB; import com.gunshi.project.hsz.common.validate.markers.Update; import com.gunshi.project.hsz.entity.so.TermiteSurveyPageSo; import com.gunshi.project.hsz.entity.so.WarningRulePageSo; import com.gunshi.project.hsz.model.TermiteSurvey; import com.gunshi.project.hsz.model.WarningRule; import com.gunshi.project.hsz.model.WarningRuleInfo; import com.gunshi.project.hsz.model.WaterAlarm; import com.gunshi.project.hsz.service.HisWaterDataService; import com.gunshi.project.hsz.service.StStbprpBService; import com.gunshi.project.hsz.service.WarningRuleInfoService; import com.gunshi.project.hsz.service.WarningRuleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; import org.hibernate.validator.constraints.NotEmpty; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.Serializable; import java.time.Year; import java.util.List; @Tag(name = "预警规则") @RestController @RequestMapping(value="/warningRule") public class WarningRuleController extends AbstractCommonFileController { @Autowired private WarningRuleService warningRuleService; @Operation(summary = "分页") @PostMapping("/page") public R> page(@RequestBody @Validated WarningRulePageSo page) { return R.ok(warningRuleService.pageQuery(page)); } @Operation(summary = "新增") @PostMapping("/insert") public R insert(@RequestBody @Validated WarningRule dto, HttpServletRequest request) { SessionUser sessionUser = checkLogin(request); if(sessionUser == null){ throw new IllegalArgumentException("未登录"); } Long userId = sessionUser.getUserId(); dto.setCreateName(userId.toString()); return R.ok(warningRuleService.saveData(dto)); } @Operation(summary = "修改") @PostMapping("/update") public R update(@Validated(Update.class) @RequestBody WarningRule dto) { boolean result = warningRuleService.updateData(dto); return R.ok(result ? dto : null); } @Operation(summary = "删除") @GetMapping("/del/{id}") public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { boolean b = warningRuleService.deleteById(id); return R.ok(b); } @Autowired private WarningRuleInfoService warningRuleInfoService; @Operation(summary = "预警信息分页") @PostMapping("/info/page") public R> infoPage(@RequestBody @Validated WarningRulePageSo page) { return R.ok(warningRuleInfoService.pageQuery(page)); } //获取水位站测点 @Operation(summary = "获取水位站测点") @GetMapping("/getRsvrStcd") public R> gerRsvrOrRiverStcd(){ return R.ok(stStbprpBService.getRsvrStations()); } //获取降雨量测点 @Autowired private StStbprpBService stStbprpBService; @Operation(summary = "获取降雨量测点") @GetMapping("/getRainStcd") public R> gerRainStcd(){ return R.ok(stStbprpBService.getPptnStations()); } @Autowired private HisWaterDataService hisWaterDataService; @Operation(summary = "获取年份") @GetMapping("/getYear") public R> getYear(){ return R.ok(hisWaterDataService.getYearList()); } @Override public String getGroupId() { return "warningRule"; } }