Update AreaController.java

cyj
pbvfus8to 8 months ago
parent 3a7a370525
commit 65fa627568

@ -27,38 +27,55 @@ import java.util.List;
import java.util.Objects;
/**
* AreaControllerArea
* ID
* @author lgh on 2018/10/26.
*/
@RestController
@RequestMapping("/admin/area")
public class AreaController {
// 自动注入AreaService用于调用与地区相关的业务逻辑方法
@Autowired
private AreaService areaService;
/**
*
*
* AreaPageParam
* AreaServicepageServerResponseEntity
* @param area
* @param page
* @return ServerResponseEntityIPage<Area>
*/
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('admin:area:page')")
public ServerResponseEntity<IPage<Area>> page(Area area,PageParam<Area> page) {
public ServerResponseEntity<IPage<Area>> page(Area area, PageParam<Area> page) {
IPage<Area> sysUserPage = areaService.page(page, new LambdaQueryWrapper<Area>());
return ServerResponseEntity.success(sysUserPage);
}
/**
*
*
* Area
* AreaServicelist使LambdaQueryWrapper
* ServerResponseEntity
* @param area
* @return ServerResponseEntityList<Area>
*/
@GetMapping("/list")
@PreAuthorize("@pms.hasPermission('admin:area:list')")
public ServerResponseEntity<List<Area>> list(Area area) {
List<Area> areas = areaService.list(new LambdaQueryWrapper<Area>()
.like(area.getAreaName() != null, Area::getAreaName, area.getAreaName()));
.like(area.getAreaName()!= null, Area::getAreaName, area.getAreaName()));
return ServerResponseEntity.success(areas);
}
/**
* id
* id
* AreaServicelistByPidID
* ServerResponseEntity
* @param pid ID
* @return ServerResponseEntityList<Area>
*/
@GetMapping("/listByPid")
public ServerResponseEntity<List<Area>> listByPid(Long pid) {
@ -67,7 +84,11 @@ public class AreaController {
}
/**
*
* ID
* IDAreaServicegetById
* ServerResponseEntity
* @param id ID
* @return ServerResponseEntityArea
*/
@GetMapping("/info/{id}")
@PreAuthorize("@pms.hasPermission('admin:area:info')")
@ -77,12 +98,17 @@ public class AreaController {
}
/**
*
*
* ID
* AreaServiceremoveAreaCacheByParentIdID
* AreaServicesaveServerResponseEntity
* @param area @Valid
* @return ServerResponseEntityVoid
*/
@PostMapping
@PreAuthorize("@pms.hasPermission('admin:area:save')")
public ServerResponseEntity<Void> save(@Valid @RequestBody Area area) {
if (area.getParentId() != null) {
if (area.getParentId()!= null) {
Area parentArea = areaService.getById(area.getParentId());
area.setLevel(parentArea.getLevel() + 1);
areaService.removeAreaCacheByParentId(area.getParentId());
@ -92,17 +118,23 @@ public class AreaController {
}
/**
*
*
* IDareaDb
*
* hasSameName
* AreaServiceupdateByIdIDServerResponseEntity
* @param area @Valid
* @return ServerResponseEntityVoid
*/
@PutMapping
@PreAuthorize("@pms.hasPermission('admin:area:update')")
public ServerResponseEntity<Void> update(@Valid @RequestBody Area area) {
Area areaDb = areaService.getById(area.getAreaId());
// 判断当前省市区级别如果是1级、2级则不能修改级别不能修改成别人的下级
if(Objects.equals(areaDb.getLevel(), AreaLevelEnum.FIRST_LEVEL.value()) && !Objects.equals(area.getLevel(),AreaLevelEnum.FIRST_LEVEL.value())){
if (Objects.equals(areaDb.getLevel(), AreaLevelEnum.FIRST_LEVEL.value()) &&!Objects.equals(area.getLevel(), AreaLevelEnum.FIRST_LEVEL.value())) {
throw new YamiShopBindException("不能改变一级行政地区的级别");
}
if(Objects.equals(areaDb.getLevel(),AreaLevelEnum.SECOND_LEVEL.value()) && !Objects.equals(area.getLevel(),AreaLevelEnum.SECOND_LEVEL.value())){
if (Objects.equals(areaDb.getLevel(), AreaLevelEnum.SECOND_LEVEL.value()) &&!Objects.equals(area.getLevel(), AreaLevelEnum.SECOND_LEVEL.value())) {
throw new YamiShopBindException("不能改变二级行政地区的级别");
}
hasSameName(area);
@ -112,7 +144,12 @@ public class AreaController {
}
/**
*
*
* IDAreaServicegetById
* AreaServiceremoveByIdID
* ServerResponseEntity
* @param id ID
* @return ServerResponseEntityVoid
*/
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('admin:area:delete')")
@ -123,14 +160,20 @@ public class AreaController {
return ServerResponseEntity.success();
}
/**
*
* LambdaQueryWrapperIDID
* AreaServicecount0
* @param area
*/
private void hasSameName(Area area) {
long count = areaService.count(new LambdaQueryWrapper<Area>()
.eq(Area::getParentId, area.getParentId())
.eq(Area::getAreaName, area.getAreaName())
.ne(Objects.nonNull(area.getAreaId()) && !Objects.equals(area.getAreaId(), 0L), Area::getAreaId, area.getAreaId())
.eq(Area::getParentId, area.getParentId())
.eq(Area::getAreaName, area.getAreaName())
.ne(Objects.nonNull(area.getAreaId()) &&!Objects.equals(area.getAreaId(), 0L), Area::getAreaId, area.getAreaId())
);
if (count > 0) {
throw new YamiShopBindException("该地区已存在");
}
}
}
}
Loading…
Cancel
Save