package cn.cslg.pas.controller; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.AddProjectPersonDTO; import cn.cslg.pas.common.dto.QueryProjectPersonDTO; import cn.cslg.pas.common.dto.business.AvoidDesignInsertDTO; import cn.cslg.pas.common.dto.business.GetFeatureSplitDTO; import cn.cslg.pas.common.model.cronModel.Records; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.vo.business.AvoidDesignWholeVO; import cn.cslg.pas.exception.ConditionException; import cn.cslg.pas.exception.UnLoginException; import cn.cslg.pas.exception.XiaoShiException; import cn.cslg.pas.service.business.AssoProjectPersonService; import cn.cslg.pas.service.business.AvoidDesignService; import cn.cslg.pas.service.business.AvoidDesignWholeService; import cn.cslg.pas.service.business.ProjectService; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 项目分享管理 * * @Author xiexiang * @Date 2023/12/5 */ @Slf4j @RequestMapping(Constants.API_XiaoSHI + "/patentShare") @RestController public class ProjectShareController { @Autowired private AssoProjectPersonService assoProjectPersonService; @Autowired private ProjectService projectService; @Operation(summary = "新增项目分享") @PostMapping("/addProjectShare") public Response addProjectShare(@RequestBody AddProjectPersonDTO addProjectPersonDTO) throws Exception { if (addProjectPersonDTO == null) { return Response.error("入参为null"); } Records records =new Records(); try { List ids = assoProjectPersonService.addProjectShare(addProjectPersonDTO); records.setData(ids); } catch (Exception e) { return Response.error(e.getMessage()); } return Response.success(records); } @Operation(summary = "删除分享记录") @PostMapping("/removeProjectShare") public Response removeProjectShare(@RequestBody List ids) throws Exception { Records records = new Records(); try { List reIds = assoProjectPersonService.removeProjectShare(ids); records.setData(reIds); } catch (Exception e) { return Response.error(e.getMessage()); } return Response.success(records); } @Operation(summary = "查询分享记录") @PostMapping("/queryProjectShare") public Response queryProjectShare(@RequestBody QueryProjectPersonDTO queryProjectPersonDTO) throws Exception { Records records = new Records(); try { records = assoProjectPersonService.queryProjectShare(queryProjectPersonDTO); } catch (Exception e) { return Response.error(e.getMessage()); } return Response.success(records); } @Operation(summary = "查询人员在项目里的角色") @PostMapping("/getProjectPermissions") public Response getProjectPermissions(@RequestBody List projectIds) throws Exception { Records records = new Records(); try { Map> map= projectService.getProjectPermissions(projectIds); records.setData(map); } catch (Exception e) { return Response.error(e.getMessage()); } return Response.success(records); } }