You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
4.8 KiB

package com.gxwebsoft.tower.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.tower.service.TowerFallService;
import com.gxwebsoft.tower.entity.TowerFall;
import com.gxwebsoft.tower.param.TowerFallParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
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;
/**
* 防坠器管理控制器
*
* @author 科技小王子
* @since 2023-06-05 22:40:55
*/
@Api(tags = "防坠器管理管理")
@RestController
@RequestMapping("/api/tower/tower-fall")
public class TowerFallController extends BaseController {
@Resource
private TowerFallService towerFallService;
@PreAuthorize("hasAuthority('tower:towerFall:list')")
@OperationLog
@ApiOperation("分页查询防坠器管理")
@GetMapping("/page")
public ApiResult<PageResult<TowerFall>> page(TowerFallParam param) {
PageParam<TowerFall, TowerFallParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
// return success(towerFallService.page(page, page.getWrapper()));
// 使用关联查询
return success(towerFallService.pageRel(param));
}
@PreAuthorize("hasAuthority('tower:towerFall:list')")
@OperationLog
@ApiOperation("查询全部防坠器管理")
@GetMapping()
public ApiResult<List<TowerFall>> list(TowerFallParam param) {
PageParam<TowerFall, TowerFallParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
// return success(towerFallService.list(page.getOrderWrapper()));
// 使用关联查询
return success(towerFallService.listRel(param));
}
@PreAuthorize("hasAuthority('tower:towerFall:list')")
@OperationLog
@ApiOperation("根据id查询防坠器管理")
@GetMapping("/{id}")
public ApiResult<TowerFall> get(@PathVariable("id") Integer id) {
return success(towerFallService.getById(id));
// 使用关联查询
//return success(towerFallService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('tower:towerFall:save')")
@OperationLog
@ApiOperation("添加防坠器管理")
@PostMapping()
public ApiResult<?> save(@RequestBody TowerFall towerFall) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
towerFall.setUserId(loginUser.getUserId());
}
if (towerFallService.save(towerFall)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('tower:towerFall:update')")
@OperationLog
@ApiOperation("修改防坠器管理")
@PutMapping()
public ApiResult<?> update(@RequestBody TowerFall towerFall) {
if (towerFallService.updateById(towerFall)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('tower:towerFall:remove')")
@OperationLog
@ApiOperation("删除防坠器管理")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (towerFallService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('tower:towerFall:save')")
@OperationLog
@ApiOperation("批量添加防坠器管理")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<TowerFall> list) {
if (towerFallService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('tower:towerFall:update')")
@OperationLog
@ApiOperation("批量修改防坠器管理")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<TowerFall> batchParam) {
if (batchParam.update(towerFallService, "id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('tower:towerFall:remove')")
@OperationLog
@ApiOperation("批量删除防坠器管理")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (towerFallService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}