| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- package com.ydtech.modules.ins.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ydtech.aop.request.RequestSingleParam;
- import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.exception.SystemException;
- 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.service.InsAlltrustApiService;
- import com.ydtech.modules.order.components.InsOrdersComponents;
- import com.ydtech.modules.order.entity.InsAreaCompany;
- import com.ydtech.modules.order.entity.vo.AccidentalDrivingQueryVo;
- import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
- import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
- import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
- import com.ydtech.modules.order.service.InsAreaCompanyService;
- import io.swagger.annotations.*;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.validation.Valid;
- import java.time.LocalDate;
- import java.util.List;
- import java.util.Map;
- /**
- * @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;
- @Autowired
- InsAreaCompanyService insAreaCompanyService;
- @ApiResponses({
- @ApiResponse(code = 500, message = "出现异常"),
- @ApiResponse(code = 101, message = "转保单"),
- @ApiResponse(code = 200, message = "请求成功")
- })
- @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(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);
- // if (StringUtils.isNotEmpty(name)) {
- // CallBackRequest cbr = CallBackRequest.buildCallBackParam(name);
- // 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);
- if (null == ownerMap) {
- throw new SystemException("地区获取失败,请检查参数是否正确。");
- }
- return HttpResult.ok(ownerMap);
- }
- // /**
- // * 手动补传回调
- // */
- // @ApiOperation(value = "永诚API方式 - 同步保司订单状态")
- // @GetMapping("/syncInsOrderStatus")
- // public HttpResult syncInsOrderStatus() {
- // insYongchengApiService.callbackAnOrder();
- // return HttpResult.ok("");
- // }
- @GetMapping(value = "/orderStatusBySuborderId/{suborderId}")
- @ApiOperation(value = "永诚API方式 - 手动刷新订单状态 通过子订单ID")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "suborderId", value = "子订单ID", required = true, dataType = "String")
- })
- public HttpResult orderStatusBySuborderId(@PathVariable String suborderId) {
- return insYongchengApiService.callbackAnOrder(suborderId);
- }
- @GetMapping(value = "/updatePay/{suborderId}")
- @ApiOperation(value = "永诚API方式 - 刷新支付链接 通过子订单ID")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "suborderId", value = "子订单ID", required = true, dataType = "String")
- })
- public HttpResult updatePay(@PathVariable String suborderId) {
- LambdaQueryWrapper<InsAreaCompany> lqw = new LambdaQueryWrapper<>();
- lqw.eq(InsAreaCompany::getOrderstatus, InsOrderStatusEnum.WAIT_PAY.getCode());
- lqw.gt(InsAreaCompany::getAudittime, LocalDate.now().minusDays(1));
- List<InsAreaCompany> list = insAreaCompanyService.list(lqw);
- list.stream().forEach(a ->{
- insYongchengApiService.getPayUrlApi(a);
- });
- return HttpResult.ok("更新成功");
- }
- }
|