package com.doumee.api.cloud; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemPositionBiz; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.constants.OperaType; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.system.dto.QuerySystemUserDTO; import com.doumee.dao.system.model.SystemPosition; import com.doumee.dao.system.vo.SystemPositionListVO; import com.doumee.dao.system.vo.SystemUserListVO; import com.doumee.service.system.SystemPositionService; import com.doumee.service.system.SystemUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; /** * 岗位接口 * @author Eva.Caesar Liu * @date 2023/03/21 14:49 */ @Api(tags = "岗位") @RestController @RequestMapping("/cloudService/system/position") public class SystemPositionController extends BaseController { @Autowired private SystemPositionService systemPositionService; @Autowired private SystemPositionBiz systemPositionBiz; @Autowired private SystemUserService systemUserService; @PreventRepeat @ApiOperation("新建") @PostMapping("/create") @RequiresPermissions("system:position:create") public ApiResponse create(@RequestHeader(Constants.HEADER_USER_TOKEN) String token, @Validated(OperaType.Create.class) @RequestBody SystemPosition systemPosition) { return ApiResponse.success(systemPositionBiz.create(systemPosition)); } @ApiOperation("删除") @GetMapping("/delete/{id}") @RequiresPermissions("system:position:delete") public ApiResponse deleteById(@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@PathVariable Integer id) { systemPositionBiz.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除") @GetMapping("/delete/batch") @RequiresPermissions("system:position:delete") public ApiResponse deleteByIdInBatch(@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } systemPositionBiz.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("修改") @PostMapping("/updateById") @RequiresPermissions("system:position:update") public ApiResponse updateById(@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@Validated(OperaType.Update.class) @RequestBody SystemPosition systemPosition) { systemPositionBiz.updateById(systemPosition); return ApiResponse.success(null); } @ApiOperation("查询岗位树列表") @PostMapping("/tree") @RequiresPermissions("system:position:query") public ApiResponse> findTree (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(systemPositionBiz.findTree()); } @ApiOperation("查询岗位列表") @PostMapping("/all") @RequiresPermissions("system:position:query") public ApiResponse> findList (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { SystemPosition systemPosition = new SystemPosition(); systemPosition.setDeleted(Boolean.FALSE); return ApiResponse.success(systemPositionService.findList(systemPosition)); } @Trace(exclude = true) @ApiOperation("查询岗位人员") @PostMapping("/users") @RequiresPermissions("system:position:queryUsers") public ApiResponse> findPage (@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@RequestBody PageWrap pageWrap) { return ApiResponse.success(systemUserService.findPage(pageWrap)); } }