package com.project.admin.controller.system; import com.project.common.annotation.Log; import com.project.common.annotation.RepeatSubmit; import com.project.common.core.domain.AjaxResult; import com.project.common.core.page.TableDataInfo; import com.project.common.enums.BusinessType; import com.project.common.utils.poi.ExcelUtil; import com.project.system.domain.SysRegion; import com.project.system.domain.bo.queryBo.RegionQueryBo; import com.project.system.domain.vo.RegionVO; import io.swagger.annotations.*; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.project.common.core.controller.BaseController; import com.project.system.service.ISysRegionService; import java.util.Arrays; import java.util.List; /** * 行政区划Controller * * @author manton * @date 2023-04-13 */ @Api(value = "行政区划控制器", tags = {"行政区划管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/system/region") public class SysRegionController extends BaseController { private final ISysRegionService regionService; @GetMapping("/regionCode") @ApiOperation(value = "区划编码") public AjaxResult regionCode(@RequestParam(defaultValue = "00") @ApiParam("父编码") String parentId) { String regionCode = regionService.regionCode(parentId); return AjaxResult.success(regionCode); } @GetMapping("/regionTree") @ApiOperation(value = "区划树") public AjaxResult regionTree(@RequestParam(defaultValue = "00") @ApiParam("父编码") String parentId, @ApiParam(value = "区划名") String title) { List voList = regionService.regionTree(parentId, title); return AjaxResult.success(voList); } @GetMapping("/list") @ApiOperation(value = "分页列表") public TableDataInfo list(RegionQueryBo dto) { startPage(); List list = regionService.queryList(dto); return getDataTable(list); } @ApiOperation("导出行政区划列表") @Log(title = "行政区划", businessType = BusinessType.EXPORT) @GetMapping("/export") @RepeatSubmit public AjaxResult export(RegionQueryBo dto) { List list = regionService.queryList(dto); ExcelUtil util = new ExcelUtil(SysRegion.class); return util.exportExcel(list, "行政区划"); } @ApiOperation("获取行政区划详细信息") @GetMapping("/{code}") public AjaxResult getInfo(@PathVariable("code" ) String code) { return AjaxResult.success(regionService.getById(code)); } @ApiOperation("新增行政区划") //@PreAuthorize("@ss.hasPermi('system:region:add')") @Log(title = "行政区划", businessType = BusinessType.INSERT) @PostMapping("/add") @RepeatSubmit public AjaxResult add(@RequestBody SysRegion region) { return toAjax(regionService.addRegion(region) ? 1 : 0); } @ApiOperation("修改行政区划") //@PreAuthorize("@ss.hasPermi('system:region:edit')") @Log(title = "行政区划", businessType = BusinessType.UPDATE) @PostMapping("/update") @RepeatSubmit public AjaxResult update(@RequestBody SysRegion region) { return toAjax(regionService.updRegion(region) ? 1 : 0); } @ApiOperation("删除行政区划") //@PreAuthorize("@ss.hasPermi('system:region:remove')") @Log(title = "行政区划" , businessType = BusinessType.DELETE) @DeleteMapping("/{codes}") @RepeatSubmit public AjaxResult remove(@PathVariable String[] codes) { return toAjax(regionService.deleteByIds(Arrays.asList(codes)) ? 1 : 0); } }