package cn.cslg.pas.controller; import cn.cslg.pas.common.auth.checkAuth; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.business.EventDTO; import cn.cslg.pas.common.dto.business.ReportProjectDTO; import cn.cslg.pas.common.dto.business.UpdateEventDTO; import cn.cslg.pas.common.dto.business.UpdateReportProjectDTO; import cn.cslg.pas.common.dto.invalidDTO.UpdateIfSecondInvalidDTO; import cn.cslg.pas.common.model.cronModel.Records; import cn.cslg.pas.common.model.request.StringGroupRequest; import cn.cslg.pas.common.model.request.StringRequest; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.exception.ConditionException; import cn.cslg.pas.exception.UnLoginException; import cn.cslg.pas.exception.XiaoShiException; import cn.cslg.pas.factorys.businessFactory.Business; import cn.cslg.pas.factorys.businessFactory.BusinessFactory; import cn.cslg.pas.service.business.ReportProjectService; import com.alibaba.fastjson.JSONObject; 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 org.springframework.web.multipart.MultipartFile; import java.util.List; /** * @author 李仁杰 * @date 2023/11/1 */ @Slf4j @RequestMapping(Constants.API_XiaoSHI + "/reportProject") @RestController public class ReportProjectController { @Autowired private BusinessFactory businessFactory; @Autowired private ReportProjectService reportProjectService; @Operation(summary = "查询报告") @PostMapping("/queryReportProject") // @checkAuth(FunId = "xiaoshi/report") public Response queryPatentProject(@RequestBody StringRequest stringRequest) throws Exception { Business business = businessFactory.getClass("reportProjectService"); Records records = (Records) business.queryMessage(stringRequest); return Response.success(records); } @Operation(summary = "添加报告") @PostMapping("/addReportProject") // @checkAuth(FunId = "xiaoshi/report") public Response addReportProject(@RequestBody ReportProjectDTO reportProjectDTO) throws Exception { if (reportProjectDTO != null) { Business business = businessFactory.getClass("reportProjectService"); Integer id = null; try { id = (Integer) business.addMessage(reportProjectDTO); } catch (Exception e) { if (e instanceof XiaoShiException) { return Response.error(e.getMessage()); } else if (e instanceof UnLoginException) { return Response.unLogin(e.getMessage()); } else if (e instanceof ConditionException) { return Response.conditionError(e.getMessage()); } } return Response.success(id); } else { return Response.error("网络异常"); } } @Operation(summary = "更新报告") @PostMapping("/updateReportProject") // @checkAuth(FunId = "xiaoshi/report") public Response updatePatentProject(@RequestBody UpdateReportProjectDTO updateReportProjectDTO) throws Exception { if (updateReportProjectDTO != null) { Business business = businessFactory.getClass("reportProjectService"); Integer id = (Integer) business.updateMessage(updateReportProjectDTO); return Response.success(id); } else { return Response.error("网络异常"); } } @Operation(summary = "删除报告") @PostMapping("/deleteReportProject") // @checkAuth(FunId = "xiaoshi/report") public String deletePatentProject(@RequestBody List ids) throws Exception { Business business = businessFactory.getClass("reportProjectService"); business.deleteMessage(ids); return Response.success(); } @Operation(summary = "分组报告") @PostMapping("/groupReportProject") // @checkAuth(FunId = "xiaoshi/report") public Response groupPatentProject(@RequestBody StringGroupRequest stringGroupRequest) throws Exception { Business business = businessFactory.getClass("reportProjectService"); Records records = (Records) business.getGroup(stringGroupRequest, "reportProject"); return Response.success(records); } @Operation(summary = "更新是否第二次无效") @PostMapping("/updateIfSecondInvalid") // @checkAuth(FunId = "xiaoshi/report") public Response updateIfSecondInvalid(@RequestBody UpdateIfSecondInvalidDTO updateIfSecondInvalidDTO) throws Exception { try { reportProjectService.updateIfSecondInvalid(updateIfSecondInvalidDTO); } catch (Exception e) { return Response.error(e.getMessage()); } return Response.success("更新成功"); } }