package com.doumee.api.web; import com.doumee.config.Jwt.JwtTokenUtil; import com.doumee.config.annotation.LoginRequired; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.ApiResponse; import com.doumee.dao.business.model.Managers; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.Workorder; import com.doumee.dao.web.dto.CloseDTO; import com.doumee.dao.web.dto.PassOnDTO; import com.doumee.dao.web.dto.UpdEmailDTO; import com.doumee.dao.web.vo.WorkOrderDataVO; import com.doumee.service.business.ManagersService; import com.doumee.service.business.MemberService; import com.doumee.service.business.WorkorderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.java.Log; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.web.bind.annotation.*; import org.springframework.web.server.ServerWebExchange; import javax.annotation.Resource; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/4/8 9:35 */ @RestController @Api(tags ="工单上报") @RequestMapping("/web/workOrder") public class WebWorkOrderController { @Resource private JwtTokenUtil jwtTokenUtil; @Resource private WorkorderService workorderService; @Resource private ManagersService managersService; @LoginRequired @ApiOperation("风险上报") @PostMapping("/create") public ApiResponse create (@RequestBody Workorder workorder, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); Member user = jwtTokenUtil.getUserInfoByToken(token); workorder.setMemberId(user.getId()); workorderService.create(workorder); return ApiResponse.success("操作成功"); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } @LoginRequired @ApiOperation("通知人查询") @PostMapping("/managersList") public ApiResponse> managersList (@RequestBody Managers model, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); return ApiResponse.success(managersService.findList(model)); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } @LoginRequired @ApiOperation("风险上报详情") @GetMapping("/detail") public ApiResponse detail (@RequestParam Integer id, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); return ApiResponse.success(workorderService.getDetail(id)); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } @LoginRequired @ApiOperation("工单关闭") @PostMapping("/closeWorkOrder") public ApiResponse closeWorkOrder(@RequestBody CloseDTO closeDTO, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); closeDTO.setMember(jwtTokenUtil.getUserInfoByToken(token)); workorderService.closeWorkOrder(closeDTO); return ApiResponse.success("操作成功"); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } @LoginRequired @ApiOperation("工单指派") @PostMapping("/passOn") public ApiResponse passOn(@RequestBody PassOnDTO passOnDTO, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); passOnDTO.setMember(jwtTokenUtil.getUserInfoByToken(token)); workorderService.passOn(passOnDTO); return ApiResponse.success("操作成功"); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } @LoginRequired @ApiOperation("工单催促") @GetMapping("/urge") public ApiResponse urge(@RequestParam Integer workorderId, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); workorderService.urge(workorderId,jwtTokenUtil.getUserInfoByToken(token)); return ApiResponse.success("操作成功"); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } @LoginRequired @ApiOperation("报表") @GetMapping("/getWorkOrderData") public ApiResponse> getWorkOrderData(@RequestParam Integer queryType, @RequestHeader(JwtTokenUtil.HEADER_KEY) String token, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); return ApiResponse.success(workorderService.getWorkOrderData(queryType)); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } }