package com.gunshi.project.xyt.controller; 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.AddvcdSearch; import com.gunshi.project.xyt.entity.basedata.CheckStringSearch; import com.gunshi.project.xyt.entity.basedata.GeneralSearch; import com.gunshi.project.xyt.entity.basedata.StAddvcdTreeVo; import com.gunshi.project.xyt.entity.basedata.StCameraAreaTreeVo; import com.gunshi.project.xyt.entity.basedata.StCameraAreaVo; import com.gunshi.project.xyt.entity.basedata.StCameraSearch; import com.gunshi.project.xyt.entity.basedata.StCameraVo; import com.gunshi.project.xyt.entity.basedata.SysDictVo; import com.gunshi.project.xyt.model.StAddvcdD; import com.gunshi.project.xyt.model.StCameraAreaB; import com.gunshi.project.xyt.model.StCameraB; import com.gunshi.project.xyt.model.SysDictB; import com.gunshi.project.xyt.service.StAdcdService; import com.gunshi.project.xyt.service.StCameraAreaService; import com.gunshi.project.xyt.service.StCameraService; import com.gunshi.project.xyt.service.SysDictService; import com.gunshi.project.xyt.validate.markers.Update; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; 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.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; 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; @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 AddvcdSearch search) { return R.ok(stAdcdService.queryBySearch(search)); } @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 = "检查视频区域名称是否存在接口") @Operation(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 = "查询视频列表接口") @Operation(summary = "查询视频列表接口") public R> queryCameraList(@Validated @RequestBody StCameraSearch search) { return R.ok(stCameraService.queryBySearch(search)); } @Post(path = "/camera/manage/insert", summary = "新增视频接口") @Operation(summary = "新增视频接口") public R insertCamera(@Validated @RequestBody StCameraB obj) { stCameraService.insert(obj); return R.ok(true); } @Post(path = "/camera/manage/update", summary = "更新视频接口") @Operation(summary = "更新视频接口") public R updateCamera(@Validated({Update.class}) @RequestBody StCameraB obj) { stCameraService.update(obj); return R.ok(true); } }