package com.ydtech.modules.order.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ydtech.constants.enums.dict.FeeAuditAuditstatus; import com.ydtech.core.page.HttpResult; import com.ydtech.exception.SystemException; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.fnc.entity.InsFeeAudit; import com.ydtech.modules.fnc.service.InsFeeAuditService; import com.ydtech.modules.ins.model.vo.QuoteRespVo; import com.ydtech.modules.order.components.InsOrdersComponents; import com.ydtech.modules.order.entity.vo.*; import com.ydtech.modules.order.service.InsAreaCompanyExternalPolicyService; import com.ydtech.modules.order.service.InsAreaCompanyService; import com.ydtech.modules.order.service.InsTaskImagesService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import static com.ydtech.modules.base.model.vo.PageVo.buildPageRequest; @Api(tags = "外部订单 api") @RestController @RequestMapping("/api/externalOrder") @RequiredArgsConstructor public class ExternalOrderController { @Autowired private InsAreaCompanyService insAreaCompanyService; @Autowired private InsOrdersComponents insOrdersComponents; @Autowired private InsAreaCompanyExternalPolicyService insAreaCompanyExternalPolicyService; @Autowired private InsTaskImagesService insTaskImagesService; @Autowired private InsFeeAuditService insFeeAuditService; @PostMapping("/saveSubOrder") @ApiOperation("保存子订单") public HttpResult saveSubOrder(@RequestBody BaseQuoteVo quoteVo) { BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId(),quoteVo.getKinds()); boolean result = this.insAreaCompanyService.saveSubOrder(quoteInfo, quoteVo); String successMsg=""; String errorMsg =""; if(quoteVo.getStageFlag()==1){ successMsg="添加订单成功"; errorMsg="添加订单失败"; }else { successMsg="暂存订单成功"; errorMsg="暂存订单失败"; } return result ? HttpResult.ok(successMsg) : HttpResult.error(errorMsg); } @PostMapping("/updateExternalOrder") @ApiOperation("更新外部订单") public HttpResult updateSubOrder(@RequestBody InsOrdersEditingVo insOrdersEditingVo){ // BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId()); if(insOrdersEditingVo.getOrderExternalStatus()==1){ InsFeeAudit feeAuditByInsOrderNo = insFeeAuditService.getFeeAuditByInsOrderNo(insOrdersEditingVo.getInsAreaCompanyList().get(0).getId()); if(feeAuditByInsOrderNo.getAuditstatus().equals(FeeAuditAuditstatus.UNREVICEWED.getCode())) { throw new SystemException("请勿重复修改"); } } boolean result = this.insAreaCompanyService.updateOrderAndSubOrder(insOrdersEditingVo); String successMsg=""; String errorMsg =""; if(insOrdersEditingVo.getStageFlag()==1){ successMsg="订单修改成功,重新提交审核!"; errorMsg="订单修改失败"; }else { successMsg="暂存订单成功"; errorMsg="暂存订单失败"; } return result ? HttpResult.ok(successMsg) : HttpResult.error(errorMsg); } /** * 获取证件信息 * @param quoteNo 报价号 * @return */ @PostMapping("/getCertificateInfo") @ApiOperation("获取证件信息") public HttpResult getCertificateInfo(String quoteNo){ return insTaskImagesService.findByQuoteNo(quoteNo); } @GetMapping("/getPolicyPrint") @ApiOperation("获取保单信息") public HttpResult getPolicyPrint(@RequestParam String subOrderNo) { return HttpResult.ok(this.insAreaCompanyExternalPolicyService.getPolicyByCompanyId(subOrderNo)); } /** * 驳回分页列表 */ @PostMapping("/rejectPage") @ApiOperation("驳回分页列表") public HttpResult getRejectPage(@RequestBody RejectPageQueryVo rejectPageQueryVo){ Page page = buildPageRequest(rejectPageQueryVo.getPageDto()); return HttpResult.ok(insAreaCompanyService.getRejectOrder(page, BaseController.getUser().getId(),rejectPageQueryVo)); } /** * 暂存分页列表 */ @PostMapping("/stagePage") @ApiOperation("暂存分页列表") public HttpResult getStagePage(@RequestBody RejectPageQueryVo rejectPageQueryVo){ Page page = buildPageRequest(rejectPageQueryVo.getPageDto()); return HttpResult.ok(insAreaCompanyService.getStageOrder(page, BaseController.getUser().getId(),rejectPageQueryVo)); } /** * 外部审核通过分页列表 */ @PostMapping("/orderCheckPage") @ApiOperation("外部审核通过分页列表") public HttpResult orderCheckPage(@RequestBody RejectPageQueryVo rejectPageQueryVo){ Page page = buildPageRequest(rejectPageQueryVo.getPageDto()); return HttpResult.ok(insAreaCompanyService.orderCheckPage(page, BaseController.getUser().getId(),rejectPageQueryVo)); } /** * @version * @author: hxl * @Date: 2024/9/18 11:17 * @Description:外部駁回刪除 */ @GetMapping("/orderDelete") @ApiOperation("外部駁回刪除") public HttpResult orderDelete(String id){ if(StringUtils.isBlank(id)){ throw new SystemException("订单号不能为空!!"); } try{ insAreaCompanyService.updateDeleteFalg(id); }catch(Exception e){ return HttpResult.ok("操作失败"); } return HttpResult.ok("操作成功"); } /** * 驳回分页列表 */ @PostMapping("/getAllRejectOrders") @ApiOperation("驳回分页列表") public HttpResult getAllRejectOrders(@RequestBody RejectPageQueryVo rejectPageQueryVo){ Page page = buildPageRequest(rejectPageQueryVo.getPageDto()); return HttpResult.ok(insAreaCompanyService.getAllRejectOrders(page, rejectPageQueryVo)); } }