package com.zzg.web.controller.system; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zzg.common.core.controller.BaseController; import com.zzg.common.core.domain.AjaxResult; import com.zzg.common.utils.SecurityUtils; import com.zzg.system.domain.SysCity; import com.zzg.system.service.system.ISysCityService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; @RestController @Api(tags = "镇村组数据") @RequestMapping("/system/city") public class SysCityController extends BaseController { @Resource ISysCityService sysCityService; private static Integer DEFAULT_LEVEl = 1; @PostMapping("/add") @ApiOperation("新增数据") @PreAuthorize("@ss.hasPermi('system:city:add')") public AjaxResult add(@RequestBody SysCity sysCity) { if (sysCity.getId() != null) { SysCity group = sysCityService.getById(sysCity.getId()); if (group.getState().equals(1)) { return AjaxResult.error("撤销/合并的数据不能修改!"); } sysCityService.updateById(sysCity); } else { SysCity group = sysCityService.getOne(new LambdaQueryWrapper() .eq(sysCity.getPid() != null && !sysCity.getPid().isEmpty(), SysCity::getPid, sysCity.getPid()) .eq(SysCity::getName, sysCity.getName())); if (group != null) { return AjaxResult.error("当前级别下" + sysCity.getName() + "已存在!"); } //设置级别 if (sysCity.getPid() != null && !sysCity.getPid().equals("")) { group = sysCityService.getOne(new LambdaQueryWrapper() .eq(SysCity::getId, sysCity.getPid())); sysCity.setLevel(group.getLevel() + 1); } else { sysCity.setLevel(DEFAULT_LEVEl); } sysCity.setCreateName(SecurityUtils.getUsername()); } sysCityService.saveOrUpdate(sysCity); return AjaxResult.success(sysCity); } @GetMapping("/getListTree") @ApiOperation("树形列表") @PreAuthorize("@ss.hasPermi('system:city:getListTree')") public AjaxResult getListTree() { return AjaxResult.success(sysCityService.getListTree()); } /** * 通过ID向上查询整个镇村组名称 * * @param id * @return */ @GetMapping("/getUpwardById/{id}") @ApiOperation("通过ID向上查询整个镇村组名称") public AjaxResult getUpwardById(@PathVariable("id") String id) { return AjaxResult.success(sysCityService.getUpwardById(id)); } /** * 获取所有乡镇 * * @return */ @GetMapping("/getTowns") @ApiOperation("获取所有乡镇") // @PreAuthorize("@ss.hasPermi('system:city:getTowns')") public AjaxResult getTowns() { List list; try { list = sysCityService.getTowns(); } catch (Exception e) { return AjaxResult.error(e.getMessage()); } return AjaxResult.success(list); } /** * 原始表 * * @param pid * @return */ @GetMapping("/getNextTree/{pid}") @ApiOperation("通过上级ID获取下面的树形") @PreAuthorize("@ss.hasPermi('system:city:getNextTree')") public AjaxResult getNextTree(@PathVariable("pid") String pid) { return AjaxResult.success(sysCityService.getNextTree(pid)); } }