package com.doumee.api.business; import com.doumee.api.BaseController; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.dao.business.model.ProjectScore; import com.doumee.service.business.ProjectScoreService; import com.taobao.api.Constants; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.models.auth.In; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import com.doumee.core.utils.Constants.*; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; /** * @author 江蹄蹄 * @date 2023/05/29 10:50 */ @Api(tags = "项目角色评分设置表") @RestController @RequestMapping("/business/projectScore") public class ProjectScoreController extends BaseController { @Autowired private ProjectScoreService projectScoreService; @PreventRepeat @ApiOperation("新建") @PostMapping("/create") @RequiresPermissions("business:projectscore:create") public ApiResponse create(@RequestBody ProjectScore projectScore) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); projectScore.setCreator(loginUserInfo.getId()); projectScore.setEditor(loginUserInfo.getId()); return ApiResponse.success(projectScoreService.create(projectScore)); } @ApiOperation("根据ID删除") @GetMapping("/delete/{id}") @RequiresPermissions("business:projectscore:delete") public ApiResponse deleteById(@PathVariable Integer id) { projectScoreService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除") @GetMapping("/delete/batch") @RequiresPermissions("business:projectscore:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } projectScoreService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("根据项目id修改") @PostMapping("/updateById") @RequiresPermissions("business:projectscore:update") public ApiResponse updateById(@RequestBody ProjectScore projectScore) { LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); projectScore.setEditDate(new Date()); projectScore.setEditor(principal.getId()); projectScoreService.updateById(projectScore); return ApiResponse.success(null); } @ApiOperation("分页查询") @PostMapping("/page") @RequiresPermissions("business:projectscore:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { return ApiResponse.success(projectScoreService.findPage(pageWrap)); } @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("business:projectscore:exportExcel") public void exportExcel (@RequestBody PageWrap pageWrap, HttpServletResponse response) { ExcelExporter.build(ProjectScore.class).export(projectScoreService.findPage(pageWrap).getRecords(), "项目角色评分设置表", response); } @ApiOperation("根据ID查询") @GetMapping("/{id}") @RequiresPermissions("business:projectscore:query") public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(projectScoreService.findById(id)); } /** * 条件查询 * * @param projectId 实体对象 * @return List */ @ApiOperation("根据项目id查询项目评分配置") @GetMapping("/findList") @RequiresPermissions("business:projectscore:query") public ApiResponse> findList(@RequestParam Integer projectId){ ProjectScore projectScore = new ProjectScore(); projectScore.setProjectId(projectId); return ApiResponse.success(projectScoreService.findList(projectScore)); } @ApiOperation("根据项目id 用户角色查询项目评分配置信息") @GetMapping("/findByProjectId") @RequiresPermissions("business:projectscore:query") public ApiResponse findByProjectId(@RequestParam Integer projectId){ ProjectScore projectScore = new ProjectScore(); projectScore.setProjectId(projectId); LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); // Integer projectScoreRoleType = ProjectScoreType.getProjectScoreRoleType(principal.getType()); // if (Objects.isNull(projectScoreRoleType)){ // return ApiResponse.success(null); // }else { // projectScore.setRoleType(projectScoreRoleType); // } return ApiResponse.success(projectScoreService.findList(projectScore)); } }