package com.gunshi.project.xyt.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.annotation.Get; import com.gunshi.core.annotation.Post; import com.gunshi.core.result.R; import com.gunshi.project.xyt.entity.basedata.*; import com.gunshi.project.xyt.model.*; import com.gunshi.project.xyt.service.*; import com.gunshi.project.xyt.so.StStchBSo; import com.gunshi.project.xyt.validate.markers.Update; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** * @author Sun Lejun * @version 1.0 * @date 2024/1/26 */ @RestController @Slf4j @Tag(name = "基础数据接口-controller", description = "基础数据接口") @Data @RequestMapping("/database/") public class BasicDataController { private final SysDictService sysDictService; private final StAdcdService stAdcdService; private final StCameraAreaService stCameraAreaService; private final StCameraService stCameraService; private final StStbprpService stStbprpService; // 测站采集项 private final StStchBService stStchBService; private final StMoncrService stMoncrService; //渗压设备 private final StSpgPztbService stSpgPztbService; //渗流设备 private final StSpgSpprmpService stSpgSpprmpService; @Post(path = "/dict/search/query", summary = "查询字典接口") public R> queryDictList(@Validated @RequestBody GeneralSearch search) { return R.ok(sysDictService.queryBySearch(search)); } @Get(path = "/dict/search/queryByPid", summary = "根据父ID查询字典接口 返回树结构") public R> queryDictList( @RequestParam(required = false, name="pid") @Parameter(in = ParameterIn.QUERY, name="pid",description = "根据父ID查询字典,如果不传则查询所有") Long pid ) { return R.ok(sysDictService.queryByPid(pid)); } @Post(path = "/dict/manage/insert", summary = "新增字典接口") public R insertDictParent(@Validated @RequestBody SysDictB sysDictB) { sysDictService.insert(sysDictB); return R.ok(true); } @Post(path = "/dict/manage/update", summary = "更新字典接口") public R updateDict(@Validated({Update.class}) @RequestBody SysDictB sysDictB) { sysDictService.updateById(sysDictB); return R.ok(true); } @Post(path = "/dict/search/check", summary = "检查字典编码和名称接口") public R checkDictCode(@RequestBody @Validated CheckStringSearch checkStringSearch) { try { String keyword = checkStringSearch.getKeyword(); SysDictB sysDictB = new SysDictB(); sysDictB.setDictNm(keyword); sysDictB.setDictCd(keyword); if (Objects.nonNull(checkStringSearch.getId())) { sysDictB.setId(checkStringSearch.getId()); } sysDictService.checkExistCodeAndName(sysDictB); } catch (IllegalArgumentException e) { return R.error(417, e.getMessage()); } return R.ok(); } @Post(path = "/adcd/search/query", summary = "查询行政区划列表接口") public R> queryAddvcdList(@Validated @RequestBody GeneralSearch search) { return R.ok(stAdcdService.queryBySearch(search)); } @Get(path = "/adcd/search/query", summary = "查询单个行政区划接口") public R queryAddvcdById( @RequestParam(name="adcd") @Parameter(in = ParameterIn.QUERY, name="adcd",description = "完整行政区划编码") String adcd ){ return R.ok(stAdcdService.queryByAddvcd(adcd)); } @Get(path = "/adcd/search/tree", summary = "查询行政区划树接口") public R> queryAddvcdTree( @RequestParam(required = false, name="adcd") @Parameter(in = ParameterIn.QUERY, name="adcd",description = "行政区划编码 为空查询全部,不为空查询下级树,比如4205查4205开头的所有返回树型结构") String adcd) { return R.ok(stAdcdService.queryTree(adcd)); } @Post(path = "/adcd/manage/insert", summary = "新增行政区划列表接口") public R insertAddvcd(@Validated @RequestBody StAddvcdD stAddvcdD) { stAdcdService.insert(stAddvcdD); return R.ok(true); } @Post(path = "/adcd/manage/update", summary = "更新行政区划列表接口") public R updateAddvcd(@Validated @RequestBody StAddvcdD stAddvcdD) { stAdcdService.updateById(stAddvcdD); return R.ok(true); } @Post(path = "/camera/area/search/list", summary = "查询视频区域列表接口") public R> queryCameraAreaList(@Validated @RequestBody GeneralSearch search) { return R.ok(stCameraAreaService.queryListBySearch(search)); } @Post(path = "/camera/area/search/tree", summary = "查询视频区域树接口") public R> queryCameraAreaTree() { return R.ok(stCameraAreaService.queryTree()); } @Post(path = "/camera/area/manage/insert", summary = "新增视频区域接口") public R insertCameraArea(@Validated @RequestBody StCameraAreaB stCameraAreaB) { stCameraAreaService.insert(stCameraAreaB); return R.ok(true); } @Post(path = "/camera/area/manage/update", summary = "更新视频区域接口") public R updateCameraArea(@Validated({Update.class}) @RequestBody StCameraAreaB stCameraAreaB) { stCameraAreaService.update(stCameraAreaB); return R.ok(true); } @Post(path = "/camera/area/search/check", summary = "检查视频区域名称是否存在接口") public R checkCameraAreaName(@RequestBody @Validated CheckStringSearch checkStringSearch) { try { stCameraAreaService.checkAreaName(checkStringSearch); } catch (IllegalArgumentException e) { return R.error(417, e.getMessage()); } return R.ok(); } @Post(path = "/camera/search/query", summary = "查询视频列表接口") public R> queryCameraList(@Validated @RequestBody StCameraSearch search) { return R.ok(stCameraService.queryBySearch(search)); } @Post(path = "/camera/manage/insert", summary = "新增视频接口") public R insertCamera(@Validated @RequestBody StCameraB obj) { stCameraService.insert(obj); return R.ok(true); } @Post(path = "/camera/manage/update", summary = "更新视频接口") public R updateCamera(@Validated({Update.class}) @RequestBody StCameraB obj) { stCameraService.update(obj); return R.ok(true); } @Post(path = "/stcd/search/query", summary = "测站列表查询接口-结果集带分页信息") public R> queryStcdList(@Validated @RequestBody StcdSearch search) { return R.ok(stStbprpService.queryBySearch(search)); } @Get(path = "/stcd/search/query", summary = "单个测站查询接口") public R queryStcdById( @RequestParam(name="stcd") @Parameter(in = ParameterIn.QUERY, name="stcd",description = "测站编码") String stcd ) { return R.ok(stStbprpService.queryByStcd(stcd)); } @Post(path = "/stcd/search/querySelect", summary = "测站列表查询接口-下拉菜单查询使用,不带分页信息") public R> queryStcdSelect(@Validated @RequestBody StcdSearch search) { return R.ok(stStbprpService.queryListBySearch(search)); } @Post(path = "/stcd/search/check", summary = "检查测站编码是否存在接口") public R checkStcdExist(@RequestBody @Validated CheckStringSearch checkStringSearch) { try { stStbprpService.checkExist(checkStringSearch); } catch (IllegalArgumentException e) { return R.error(417, e.getMessage()); } return R.ok(); } @Post(path = "/stcd/manage/insert", summary = "新增测站接口") public R insertStcd(@Validated @RequestBody StStbprpB obj) { return stStbprpService.insert(obj); } @Post(path = "/stcd/manage/update", summary = "更新测站接口") public R updateStcd(@Validated @RequestBody StStbprpB obj) { return stStbprpService.update(obj); } @Get(path = "/stcd/manage/delete/{stcd}", summary = "删除测站接口") public R deleteStcd(@Schema(description="测站编码") @PathVariable("stcd") String stcd) { return stStbprpService.delete(stcd); } @Post(path ="/stch/manage/insert", summary = "测站采集项新增") public R insertStch(@RequestBody @Validated StStchB stStchB) { return R.ok(stStchBService.insert(stStchB)); } @Get(path ="/stch/manage/del/{id}", summary = "测站采集项删除") public R delStch(@Schema(description="测站采集项id") @PathVariable("id") Integer id) { return R.ok(stStchBService.removeById(id)); } @Post(path ="/stch/manage/update", summary = "测站采集项修改") public R updateStch(@RequestBody @Validated(Update.class) StStchB bean) { return R.ok(stStchBService.update(bean)); } @Post(path = "/stch/manage/page", summary = "测站采集项分页查询") public R> PageStch(@RequestBody StStchBSo findDto) { return R.ok(stStchBService.page(findDto)); } @Post(path = "/monct/manage/insert", summary = "新增监测断面接口") public R insertMonCr(@Validated @RequestBody StMoncrB obj) { stMoncrService.insert(obj); return R.ok(true); } @Post(path = "/monct/manage/check", summary = "检查监测断面编码是否存在接口") public R checkMonCrCode(@Validated @RequestBody CheckStringSearch obj) { stMoncrService.checkCode(obj); return R.ok(true); } @Post(path = "/monct/manage/update", summary = "更新监测断面接口") public R updateMonCr(@Validated @RequestBody StMoncrB obj) { stMoncrService.update(obj); return R.ok(true); } @Get(path = "/monct/manage/delete/{crId}", summary = "删除监测断面接口") public R deleteMonCr(@Validated @RequestBody Long crId) { stMoncrService.delete(crId); return R.ok(true); } @Post(path = "/monct/search/query", summary = "查询监测断面列表接口") public R> queryMonCrList(@Validated @RequestBody GeneralSearch search) { return R.ok(stMoncrService.queryBySearch(search)); } //渗压设备 @Post(path = "/pztb/search/query", summary = "查询渗压设备列表接口") public R> queryStSpgPztbList(@Validated @RequestBody GeneralSearch search) { return R.ok(stSpgPztbService.queryBySearch(search)); } @Post(path = "/pztb/search/check", summary = "检查渗压设备编码是否存在接口") public R checkStSpgPztbList(@Validated @RequestBody CheckStringSearch search) { try { stSpgPztbService.checkCode(search); } catch (IllegalArgumentException e) { return R.error(417, e.getMessage()); } return R.ok(); } @Post(path = "/pztb/manage/insert", summary = "新增渗压设备接口") public R insertStSpgPztb(@Validated @RequestBody StSpgPztb obj) { stSpgPztbService.insert(obj); return R.ok(true); } @Post(path = "/pztb/manage/update", summary = "更新渗压设备接口") public R updateStSpgPztb(@Validated(Update.class) @RequestBody StSpgPztb obj) { stSpgPztbService.update(obj); return R.ok(true); } @Post(path = "/pztb/manage/delete/{id}",summary = "删除渗压设备接口") public R deleteStSpgPztb(@Schema(description = "渗压设备ID") @PathVariable("id")String id){ stSpgPztbService.delete(id); return R.ok(true); } //渗流 @Post(path = "/spprmp/search/query", summary = "查询渗流设备列表接口") public R> queryStSpgSpprmpList(@Validated @RequestBody GeneralSearch search) { return R.ok(stSpgSpprmpService.queryBySearch(search)); } @Post(path = "/spprmp/search/check", summary = "检查渗流设备编码是否存在接口") public R checkStSpgSpprmp(@Validated @RequestBody CheckStringSearch search) { try { stSpgSpprmpService.checkCode(search); } catch (IllegalArgumentException e) { return R.error(417, e.getMessage()); } return R.ok(); } @Post(path = "/spprmp/manage/insert", summary = "新增渗流设备接口") public R insertStSpgSpprmp(@Validated @RequestBody StSpgSpprmp obj) { stSpgSpprmpService.insert(obj); return R.ok(true); } @Post(path = "/spprmp/manage/update", summary = "更新渗流设备接口") public R updateStSpgSpprmp(@Validated(Update.class) @RequestBody StSpgSpprmp obj) { stSpgSpprmpService.update(obj); return R.ok(true); } @Get(path = "/spprmp/manage/delete/{id}",summary = "删除渗流设备接口") public R deleteStSpgSpprmp(@Schema(description = "渗流设备ID") @PathVariable("id") String id){ stSpgSpprmpService.delete(id); return R.ok(true); } }