| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package com.ydtech.modules.order.controller;
- import com.ydtech.aop.request.RequestSingleParam;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.ins.model.guoren.CarModelResp;
- import com.ydtech.modules.ins.model.vo.CarInfoVo;
- import com.ydtech.modules.order.aop.AuditVerification;
- import com.ydtech.modules.order.aop.QuoteVerification;
- import com.ydtech.modules.order.entity.api.guoren.constants.GoodsClassifyList;
- import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
- import com.ydtech.modules.order.entity.vo.guoren.GuoRenQuoteVo;
- import com.ydtech.modules.order.entity.vo.guoren.GuoRenSpecialAgreement;
- import com.ydtech.modules.order.entity.vo.guoren.NonAutoInsuranceList;
- import com.ydtech.modules.order.entity.vo.guoren.NonAutoInsuranceQueryVo;
- import com.ydtech.modules.order.service.GuorenOrderApiService;
- import com.ydtech.utils.StringUtils;
- import io.swagger.annotations.*;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- /**
- * 国任财险 API对接
- *
- * @author: lig
- * @date: 2023-08-14
- */
- @Api(tags = "国任财险 API")
- @RestController
- @RequestMapping("/api/guoRen")
- public class GuoRenOrderApiController {
- private final GuorenOrderApiService guorenOrderApiService;
- public GuoRenOrderApiController(GuorenOrderApiService guorenOrderApiService) {
- this.guorenOrderApiService = guorenOrderApiService;
- }
- @ApiOperation(value = "通过渠道编码获取基本信息", notes = "获取出单所需的基本信息")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "thirdCode", value = "渠道编码", required = true, dataType = "String"),
- })
- @GetMapping("/channelInfo/{thirdCode}")
- public HttpResult channelInfo(@PathVariable String thirdCode) {
- return guorenOrderApiService.gainChannelInfo(thirdCode);
- }
- @ApiOperation(value = "车型查询", notes = "只需要vin码、发动机号、注册日期例:20120512")
- @PostMapping("/modelQuery")
- public HttpResult<CarModelResp> modelQueryAPI(@RequestBody CarInfoVo carInfo) {
- return guorenOrderApiService.modelsQueryApi(carInfo);
- }
- @ApiResponses({
- @ApiResponse(code = 500, message = "出现异常"),
- @ApiResponse(code = 101, message = "转保单"),
- @ApiResponse(code = 200, message = "请求成功")
- })
- @QuoteVerification("报价授权")
- @ApiOperation(value = "报价")
- @PostMapping("/quote")
- public HttpResult quoteApi(@RequestBody GuoRenQuoteVo quoteVo) {
- return guorenOrderApiService.quoteApi(quoteVo);
- }
- @ApiOperation(value = "影像上传")
- @PostMapping(value = "/uploadImage")
- public HttpResult uploadImage(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.uploadImageApi(companyId);
- // return HttpResult.ok("ok");
- }
- @ApiOperation(value = "支付")
- @PostMapping(value = "/pay")
- public HttpResult pay(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.pay(companyId);
- }
- @AuditVerification("核保")
- @ApiOperation(value = "核保")
- @PostMapping("/audit")
- public HttpResult auditApi(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.auditApi(companyId);
- }
- @PostMapping(value = "/queryClauseData")
- @ApiOperation(value = "特约查询")
- public HttpResult<List<GuoRenSpecialAgreement>> queryClauseData(@RequestSingleParam(value = "agreementId") String agreementId) {
- return this.guorenOrderApiService.queryClauseData(agreementId);
- }
- @ApiOperation(value = "更新订单信息")
- @PostMapping("/updateOrderInfo")
- public HttpResult updateOrderInfoByIns(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.insOrderInfo(companyId);
- }
- @ApiOperation(value = "回调通知")
- @PostMapping(value = "/callBack")
- public HttpResult callBackApi(HttpServletRequest request) {
- return guorenOrderApiService.callBackApi(request);
- }
- @ApiOperation(value = "电子保单")
- @PostMapping("/policyPrint")
- public HttpResult<String> getPolicyPrintApi(@RequestBody PolicyPrintVo policyPrintVo) {
- return guorenOrderApiService.getPolicyPrintApi(policyPrintVo);
- }
- @ApiOperation(value = "获取非车险列表")
- @PostMapping("/syncNonAutoIns")
- public HttpResult<Object> syncNonAutoIns(@RequestBody NonAutoInsuranceQueryVo nonAutoInsuranceQueryVo) {
- if (StringUtils.isEmpty(nonAutoInsuranceQueryVo.getGoodsCode())) {
- return HttpResult.ok(GoodsClassifyList.buildGoodsClassifyDto());
- }
- List<NonAutoInsuranceList> nonAutoInsuranceLists = guorenOrderApiService.gainNonAutoInsList(nonAutoInsuranceQueryVo);
- return HttpResult.ok(nonAutoInsuranceLists);
- }
- }
|