package com.estate.expert.admin.controller.admin;
|
|
import com.estate.expert.admin.domain.business.client.clientparam.ClientParam;
|
import com.estate.expert.admin.domain.common.request.BatchReq;
|
import com.estate.expert.admin.domain.common.request.ProjectPageRequest;
|
import com.estate.expert.admin.domain.project.ProjectDto;
|
import com.estate.expert.admin.domain.user.User;
|
import com.estate.expert.admin.service.ClientParamService;
|
import com.estate.expert.admin.service.ProjectService;
|
import com.estate.expert.common.domain.Session;
|
import com.estate.expert.common.rpc.Result;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
|
@Api(tags = "管理后台/项目管理")
|
@Slf4j
|
@CrossOrigin
|
@RestController
|
@RequestMapping("/admin/project")
|
@Validated
|
public class ProjectController {
|
|
@Resource
|
private ProjectService projectService;
|
|
@Resource
|
private ClientParamService clientParamService;
|
|
|
@ApiOperation("项目列表")
|
@PostMapping("/list")
|
public Result list(@Validated @RequestBody ProjectPageRequest request) {
|
return Result.success(projectService.list(request.getKeyword(), request.getProjectTypes(), request.getClientIds(), request.getPageReq()));
|
}
|
|
@ApiOperation("添加项目")
|
@PostMapping("/add")
|
public Result add(Session session, @Validated @RequestBody ProjectDto projectDto) {
|
projectService.add((User)session.getUser(), projectDto);
|
return Result.success();
|
}
|
|
@ApiOperation("添加项目")
|
@PostMapping("/add_res")
|
public Result addRes(Session session, @Validated @RequestBody ProjectDto projectDto) {
|
var project = projectService.add((User)session.getUser(), projectDto);
|
return Result.success(projectService.toDto(project));
|
}
|
|
@ApiOperation("编辑项目")
|
@PostMapping("/edit")
|
public Result edit(@Validated @RequestBody ProjectDto projectDto) {
|
projectService.edit(projectDto);
|
return Result.success();
|
}
|
|
@ApiOperation("项目详情")
|
@GetMapping("/detail")
|
public Result detail(@RequestParam(value = "id") Integer id) {
|
return Result.success(projectService.toDto(projectService.get(id)));
|
}
|
|
@ApiOperation("删除项目")
|
@PostMapping("/batch/del")
|
public Result batchDel(@RequestBody BatchReq request) {
|
projectService.deleteAllById(request.getIds());
|
return Result.success();
|
}
|
|
@ApiOperation("项目设置权限")
|
@PostMapping("/setPermission")
|
public Result setPermission(@RequestParam Integer projectId,String permission) {
|
clientParamService.setPermission(projectId,permission);
|
return Result.success();
|
}
|
|
|
|
// @PostMapping("/import")
|
// public Result importProject(Session session, @RequestBody ImportProjectRequest request) throws IOException {
|
// List<Project> projects = excelService.importProjectExcel(request.getFile());
|
// projectService.addEntities((User)session.getUser(), projects);
|
// return Result.success();
|
// }
|
// @IgnoreAuth
|
// @GetMapping("/export")
|
// @ResponseBody
|
// public void exportProject(@RequestParam(value = "keyword", required = false) String keyword,
|
// @RequestParam(value = "projectTypes", required = false) String projectTypes,
|
// @RequestParam(value = "client", required = false) Integer client,
|
// HttpServletResponse response) throws IOException {
|
// excelService.exportProjectExcel(keyword, projectTypes, client, response);
|
// }
|
|
}
|