| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- package com.ydtech.modules.ins.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ydtech.aop.request.MethodLogAnnotation;
- import com.ydtech.aop.request.RequestSingleParam;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.esm.dao.EsmInsAttachInsureDetailsMapper;
- import com.ydtech.modules.esm.dao.EsmInsAttachInsureMapper;
- import com.ydtech.modules.esm.model.EsmInsAttachInsure;
- import com.ydtech.modules.esm.model.EsmInsAttachInsureDetails;
- import com.ydtech.modules.esm.service.InsTaskImageService;
- import com.ydtech.modules.ins.model.ya.CarModel_Req;
- import com.ydtech.modules.ins.model.yc.CallBackRequest;
- import com.ydtech.modules.ins.service.InsAlltrustApiService;
- import com.ydtech.modules.order.components.InsOrdersComponents;
- import com.ydtech.modules.order.entity.vo.*;
- import com.ydtech.utils.Base64Utils;
- import com.ydtech.utils.StringUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.*;
- import javax.servlet.http.HttpServletRequest;
- import javax.validation.Valid;
- /**
- * @description: 永诚API方式对接 控制类
- * @author: lig
- * @date: 2023年02月07日 0007
- */
- @Api(tags = "永诚API方式对接")
- @RestController
- @RequestMapping("/api/yongCheng")
- public class InsAlltrustApiController {
- private static final Logger log = LoggerFactory.getLogger("alltrust");
- @Autowired
- InsAlltrustApiService insYongchengApiService;
- @Autowired
- InsOrdersComponents insOrdersComponents;
- @Autowired
- InsTaskImageService insTaskImageService;
- @Autowired
- EsmInsAttachInsureMapper esmInsAttachInsureMapper;
- @Autowired
- EsmInsAttachInsureDetailsMapper esmInsAttachInsureDetailsMapper;
- @ApiOperation(value = "车型查询")
- @PostMapping("/modelQuery")
- public HttpResult modelQueryAPI(@RequestBody CarModel_Req carModelReq) {
- return insYongchengApiService.modelsQueryApi(carModelReq);
- }
- @ApiOperation(value = "永诚API方式 - 报价")
- @PostMapping("/quote")
- @MethodLogAnnotation(title = "永诚API方式 - 报价")
- public HttpResult quoteApi(@RequestBody BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
- // BaseQuoteInfoVo quoteInfo = insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo());
- return insYongchengApiService.quoteApi(quoteVo);
- }
- @ApiOperation(value = "永诚API方式 - 核保")
- @PostMapping("/audit")
- @MethodLogAnnotation(title = "永诚API方式 - 核保")
- public HttpResult auditApi(@RequestSingleParam(value = "companyId") String companyId) {
- return insYongchengApiService.auditApi(companyId);
- }
- @ApiOperation(value = "永诚API方式 - 影像上传")
- @PostMapping(value = "/UploadImage")
- public HttpResult UploadImageApi(@RequestSingleParam(value = "companyId") String companyId) {
- return insYongchengApiService.UploadImageApi(companyId);
- }
- // @ApiOperation(value = "永诚API方式 - 获取支付链接")
- // @PostMapping("/getPayUrl")
- // public HttpResult getPayUrl(@RequestSingleParam(value = "companyId") String companyId) {
- // return insYongchengApiService.getPayUrlApi(companyId);
- // }
- @ApiOperation(value = "永诚API方式 - 补传回调及订单信息查询接口")
- @PostMapping("/callbackAnOrder")
- public HttpResult callbackAnOrder(@RequestSingleParam(value = "companyId") String companyId) {
- return insYongchengApiService.callbackAnOrder(companyId);
- }
- @ApiOperation(value = "永诚API方式 - 第三方回调通知(支付+承保)")
- @PostMapping(value = "/callBack")
- public HttpResult callBackApi(HttpServletRequest request) {
- //回调参数解签后示例报文:transNo=&type=1&result=0&message=&biz_policy_no=&ci_policy_no=&biz_policy_app_no=51928036020170000054&ci_policy_app_no=&status=9&remark=%3F%3F
- Enumeration pNames = request.getParameterNames();
- while (pNames.hasMoreElements()) {
- String name = (String) pNames.nextElement();
- log.info("永诚API方式 - 回调 - 参数:" + name);
- // String value = request.getParameter(name);
- // log.info("永诚API方式 - 回调 - 参数 值:" + value);
- if (StringUtils.isNotEmpty(name)) {
- String str222 = Base64Utils.getBase64Decode(name);
- log.info("永诚API方式 - 回调 - 参数 - 解析1次后:" + str222);
- String paramStr = Base64Utils.getBase64Decode(str222);
- log.info("永诚API方式 - 回调 - 参数 - 解析2次后:" + paramStr);
- String[] paramArr = paramStr.split("&");
- Map<String, String> reqMap = new HashMap<>();
- Arrays.stream(paramArr).forEach(a -> {
- String[] pArr = a.split("=");
- reqMap.put(pArr[0], pArr.length > 1 ? pArr[1] : "");
- });
- CallBackRequest cbr = new CallBackRequest();
- cbr.setTransNo(StringUtils.toString(reqMap.get("transNo")));
- cbr.setType(StringUtils.toString(reqMap.get("type")));
- cbr.setResult(StringUtils.toString(reqMap.get("result")));
- cbr.setBizPolicyNo(StringUtils.toString(reqMap.get("biz_policy_no")));
- cbr.setCiPolicyNo(StringUtils.toString(reqMap.get("ci_policy_no")));
- cbr.setMessage(StringUtils.toString(reqMap.get("message")));
- cbr.setBizPolicyAppNo(StringUtils.toString(reqMap.get("biz_policy_app_no")));
- cbr.setCiPolicyAppNo(StringUtils.toString(reqMap.get("ci_policy_app_no")));
- cbr.setStatus(StringUtils.toString(reqMap.get("status")));
- cbr.setRemark(StringUtils.toString(reqMap.get("remark")));
- cbr.setJqstatus(StringUtils.toString(reqMap.get("jqstatus")));
- cbr.setSystatus(StringUtils.toString(reqMap.get("systatus")));
- return insYongchengApiService.callBackApi(cbr);
- }
- }
- return HttpResult.error("失败");
- }
- /*
- 01-电子保单
- */
- @ApiOperation(value = "永诚API方式 -电子保单")
- @PostMapping("/getPolicyPrint")
- public HttpResult getPolicyPrintApi(@RequestBody PolicyPrintVo policyPrintVo) {
- // public HttpResult getPolicyPrintApi(String companyId,String type) {
- return insYongchengApiService.getPolicyPrintApi(policyPrintVo);
- }
- /**
- * 获得意外险列表
- */
- @ApiOperation(value = "永诚API方式 -意外险列表")
- @PostMapping("/gainAccidentList")
- public HttpResult<List<EsmInsAttachInsure>> gainAccidentList(@RequestBody @Valid AccidentalDrivingQueryVo accidentalDrivingVo) {
- LambdaQueryWrapper<EsmInsAttachInsure> lqw = new LambdaQueryWrapper<EsmInsAttachInsure>();
- lqw.eq(EsmInsAttachInsure::getCompanyId, accidentalDrivingVo.getCompanyCode());
- lqw.eq(accidentalDrivingVo.getSeatNum() > 0, EsmInsAttachInsure::getSeating, accidentalDrivingVo.getSeatNum());
- List<EsmInsAttachInsure> eiaiList = esmInsAttachInsureMapper.selectList(lqw);
- return HttpResult.ok(eiaiList);
- // return insYongchengApiService.gainAccidentList(accidentalDrivingVo);
- // return insYongchengApiService.gainAccidentList(companyId);
- }
- /**
- * 获得意外险列表 方案
- */
- @ApiOperation(value = "永诚API方式 -意外险列表 - 方案")
- @PostMapping("/gainAccidentSchemeList")
- @ApiImplicitParams({
- @ApiImplicitParam(name="accidentId",value="意外险ID",required=true,paramType="body")
- })
- public HttpResult<List<EsmInsAttachInsureDetails>> gainAccidentSchemeList(@RequestSingleParam(value = "accidentId") String accidentId) {
- LambdaQueryWrapper<EsmInsAttachInsureDetails> lqw = new LambdaQueryWrapper<EsmInsAttachInsureDetails>();
- lqw.eq(EsmInsAttachInsureDetails::getAttachInsureId, accidentId);
- List<EsmInsAttachInsureDetails> list = esmInsAttachInsureDetailsMapper.selectList(lqw);
- return HttpResult.ok(list);
- }
- /**
- * 同步驾意险
- */
- @ApiOperation(value = "永诚API方式 - 同步驾意险")
- @PostMapping("/syncAccidentInsure")
- public HttpResult syncAccidentInsure(@RequestBody @Valid AccidentalDrivingQueryVo accidentalDrivingVo) {
- return insYongchengApiService.syncAccidentInsure(accidentalDrivingVo);
- }
- /**
- * 获取地区 通过身份证地址
- */
- @ApiOperation(value = "永诚API方式 - 身份证地址获取地区")
- @PostMapping("/addressGainArea")
- public HttpResult syncAccidentInsure(String address) {
- Map<String, String> ownerMap = insYongchengApiService.gainRegionCode(address);
- return HttpResult.ok(ownerMap);
- }
- // /**
- // * 测试获取redis
- // * @
- // */
- // @ApiOperation(value = "测试获取redis")
- // @GetMapping("/testRedis")
- // public HttpResult testRedis() {
- // log.info("this is a info log");
- // log.warn("this is a warn log");
- // log.error("this is a error log");
- // log.debug("ddddddddddddddd");
- // return HttpResult.ok(RedisUtils.exists("aaa"));
- //
- // }
- }
|