PingAnOrderApiController.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358
  1. package com.ydtech.modules.order.controller;
  2. import com.ydtech.aop.request.RequestSingleParam;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.modules.ins.model.vo.QuoteRespVo;
  5. import com.ydtech.modules.order.aop.AuditVerification;
  6. import com.ydtech.modules.order.aop.QuoteVerification;
  7. import com.ydtech.modules.order.components.InsOrdersComponents;
  8. import com.ydtech.modules.order.entity.api.pingan.request.*;
  9. import com.ydtech.modules.order.entity.api.pingan.response.UnAutoProductDetailResponse;
  10. import com.ydtech.modules.order.entity.api.zijin.request.SubmitVerifyRequest;
  11. import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
  12. import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
  13. import com.ydtech.modules.order.entity.vo.InsDrivingIntentionInsuranceVo;
  14. import com.ydtech.modules.order.entity.vo.SpecialAuditVo;
  15. import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo;
  16. import com.ydtech.modules.order.entity.vo.pingan.InsDrivingIntentionInsuranceSonVo;
  17. import com.ydtech.modules.order.entity.vo.pingan.PingAnQuoteVo;
  18. import com.ydtech.modules.order.entity.vo.pingan.RenewalConfirmVo;
  19. import com.ydtech.modules.order.entity.vo.pingan.StorefrontQueryVo;
  20. import com.ydtech.modules.order.service.PingAnOrderApiService;
  21. import io.swagger.annotations.Api;
  22. import io.swagger.annotations.ApiOperation;
  23. import lombok.RequiredArgsConstructor;
  24. import lombok.extern.slf4j.Slf4j;
  25. import org.springframework.web.bind.annotation.*;
  26. import java.util.List;
  27. import java.util.Map;
  28. @Api(tags = "平安财险 API ")
  29. @Slf4j
  30. @RestController
  31. @RequestMapping("/order/pingAnApi")
  32. @RequiredArgsConstructor
  33. public class PingAnOrderApiController {
  34. private final PingAnOrderApiService pingAnOrderApiService;
  35. private final InsOrdersComponents insOrdersComponents;
  36. /**
  37. * @version
  38. * @author: hxl
  39. * @Date: 2024/7/23 18:46
  40. * @Description: 测试通过
  41. */
  42. @QuoteVerification("报价授权")
  43. @PostMapping("/quote")
  44. @ApiOperation("1报价-标的查询-车型查询-车辆确认-报价")
  45. public HttpResult<QuoteRespVo> quote(@RequestBody PingAnQuoteVo<InsDrivingIntentionInsuranceSonVo> quoteVo) throws Exception {
  46. BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId());
  47. return this.pingAnOrderApiService.quote(quoteInfo, quoteVo);
  48. }
  49. /**
  50. * @version
  51. * @author: hxl
  52. * @Date: 2024/7/23 18:46
  53. * @Description: 测试通过
  54. */
  55. @PostMapping("/productQuery")
  56. @ApiOperation("1报价-获取财意险险种套餐列表")
  57. public HttpResult<Map<String,Object>> productQuery(@RequestBody ProductDetailsRequest productDetailsRequest) throws Exception {
  58. return this.pingAnOrderApiService.productQuery(productDetailsRequest);
  59. }
  60. /**
  61. * @version
  62. * @author: hxl
  63. * @Date: 2024/7/23 18:46
  64. * @Description: 测试通过
  65. */
  66. @PostMapping("/productDetailsQuery")
  67. @ApiOperation("1报价-获取财意险险种套餐责任信息")
  68. public HttpResult<List<UnAutoProductDetailResponse.UnAutoProductDetailsDTO>> productDetailsQuery(@RequestBody ProductDetailsQueryVo productDetailsQueryVo) throws Exception {
  69. return this.pingAnOrderApiService.productDetailsQuery(productDetailsQueryVo);
  70. }
  71. /**
  72. * @version
  73. * @author: hxl
  74. * @Date: 2024/7/23 18:46
  75. * @Description: 可以上传文件
  76. */
  77. @PostMapping(value = "/submitImage")
  78. @ApiOperation(value = "2核保-提交影像信息")
  79. public HttpResult<Object> submitImage(@RequestSingleParam(value = "companyId") String companyId) throws Exception {
  80. return this.pingAnOrderApiService.submitImage(companyId);
  81. }
  82. /**
  83. * @version
  84. * @author: hxl
  85. * @Date: 2024/7/23 18:46
  86. * @Description: 测试通过
  87. */
  88. @AuditVerification("核保")
  89. @PostMapping(value = "/audit")
  90. @ApiOperation(value = "2核保-提交核保")
  91. public HttpResult<Object> audit(@RequestBody SpecialAuditVo<SubmitVerifyRequest.EngageListDTO> specialAudit) throws Exception {
  92. return this.pingAnOrderApiService.audit(specialAudit);
  93. }
  94. /**
  95. * @version
  96. * @author: hxl
  97. * @Date: 2024/7/23 18:46
  98. * @Description: 2核保-核保状态查询
  99. */
  100. @PostMapping("/auditStatusQuery")
  101. @ApiOperation(value = "2核保-核保状态查询")
  102. public HttpResult<Object> auditStatusQuery(String companyId) throws Exception {
  103. return this.pingAnOrderApiService.auditStatusQuery(companyId);
  104. }
  105. /**
  106. * @version
  107. * @author: hxl
  108. * @Date: 2024/7/23 18:46
  109. * @Description: 测试通过
  110. */
  111. @GetMapping("/signEleApply")
  112. @ApiOperation(value = "3投保单签署署(缴费前必须调用移动端电子投保单签署)")
  113. public HttpResult<Object> signEleApply(String companyId) throws Exception {
  114. return this.pingAnOrderApiService.signEleApply(companyId);
  115. }
  116. /**
  117. * @version
  118. * @author: hxl
  119. * @Date: 2024/7/23 18:46
  120. * @Description: 测试通过
  121. */
  122. @GetMapping("/getApplyVerifyCodeAndRecoverApplyVerifyCode")
  123. @ApiOperation(value = "4短信发送")
  124. public HttpResult<Object> getApplyVerifyCodeAnd(String companyId) throws Exception {
  125. return this.pingAnOrderApiService.getApplyVerifyCode(companyId);
  126. }
  127. /**
  128. * @version
  129. * @author: hxl
  130. * @Date: 2024/7/23 18:46
  131. * @Description: 测试通过
  132. */
  133. @PostMapping("/recoverApplyVerifyCode")
  134. @ApiOperation(value = "5短信回收阅读状态")
  135. public HttpResult<Object> recoverApplyVerifyCode(String companyId,String msgCode) throws Exception {
  136. return this.pingAnOrderApiService.recoverApplyVerifyCode(companyId,msgCode);
  137. }
  138. /**
  139. * @version
  140. * @author: hxl
  141. * @Date: 2024/7/23 18:46
  142. * @Description: 测试通过
  143. */
  144. @PostMapping("/createNotice")
  145. @ApiOperation(value = "6获取支付通知单号-生成支付链接")
  146. public HttpResult<Object> createNotice(String companyId) throws Exception {
  147. return this.pingAnOrderApiService.createNotice(companyId);
  148. }
  149. /**
  150. * @version
  151. * @author: hxl
  152. * @Date: 2024/7/23 18:46
  153. * @Description: 无法测试
  154. */
  155. @PostMapping("/payReturn")
  156. @ApiOperation(value = "7支付回调-更新承保状态")
  157. public HttpResult<Object> payReturn(PayReturnRequest payReturnRequest) throws Exception {
  158. return this.pingAnOrderApiService.payReturn(payReturnRequest);
  159. }
  160. /**
  161. * @version
  162. * @author: hxl
  163. * @Date: 2024/7/23 18:46
  164. * @Description: 查看电子保单
  165. */
  166. @PostMapping("/getPolicyPrint")
  167. @ApiOperation(value = "8电子保单查看")
  168. public HttpResult<CrawlerPolicyPrintVo> getPolicyPrint(String companyId) throws Exception {
  169. return this.pingAnOrderApiService.getPolicyPrint(companyId);
  170. }
  171. @PostMapping("/getOrderDetail")
  172. @ApiOperation(value = "9订单状态查询")
  173. public HttpResult<Object> getOrderDetail(String companyId) throws Exception {
  174. return this.pingAnOrderApiService.getDocumentStatusList(companyId);
  175. }
  176. /**
  177. * @version
  178. * @author: hxl
  179. * @Date: 2024/7/23 18:46
  180. * @Description: 未跑通
  181. * @ todo
  182. */
  183. @PostMapping("/renewalConfirm")
  184. @ApiOperation("10续保")
  185. public HttpResult<Object> renewalConfirm(@RequestBody RenewalConfirmVo renewalConfirmVo) throws Exception {
  186. return this.pingAnOrderApiService.renewalConfirm(renewalConfirmVo);
  187. }
  188. /**
  189. * @version
  190. * @author: hxl
  191. * @Date: 2024/7/23 18:46
  192. * @Description: 测试通过
  193. */
  194. @PostMapping("/repealDocument")
  195. @ApiOperation("11撤销单证")
  196. public HttpResult<Object> repealDocument(String companyId,String documentType) throws Exception {
  197. return this.pingAnOrderApiService.repealDocument(companyId,documentType);
  198. }
  199. //========================================以下接口暂未使用后期可能使用=======================================
  200. /**
  201. /**
  202. * @version
  203. * @author: hxl
  204. * @Date: 2024/7/23 9:33
  205. * @Description: 查询事后未上传资料清单
  206. * todo
  207. */
  208. @PostMapping("/querySupplementMaterial")
  209. @ApiOperation(value = "查询事后未上传资料清单")
  210. public HttpResult<Object> querySupplementMaterial(String companyId) throws Exception {
  211. return this.pingAnOrderApiService.querySupplementMaterial(companyId);
  212. }
  213. /**
  214. * @version
  215. * @author: hxl
  216. * @Date: 2024/7/23 9:33
  217. * @Description: 获取核保时门店自取信息 未测试
  218. * @ todo
  219. */
  220. @PostMapping("/getStorefrontList")
  221. @ApiOperation(value = "获取核保时门店自取信息 2 ")
  222. public HttpResult<Object> getStorefrontList(StorefrontQueryVo storefrontQueryVo) throws Exception {
  223. return this.pingAnOrderApiService.getStorefrontList(storefrontQueryVo);
  224. }
  225. /**
  226. * @version
  227. * @author: hxl
  228. * @Date: 2024/7/23 18:46
  229. * @Description: 测试通过
  230. */
  231. @PostMapping("/queryServiceContract")
  232. @ApiOperation("服务类特约检索")
  233. public HttpResult<Object> queryServiceContract(@RequestSingleParam(value = "companyId") String companyId) throws Exception {
  234. return this.pingAnOrderApiService.queryServiceContract(companyId);
  235. }
  236. /**
  237. * @version
  238. * @author: hxl
  239. * @Date: 2024/7/22 18:51
  240. * @Description: 好车主支付 和二微码支付一样 暂不使用
  241. */
  242. @PostMapping("/viewToPay")
  243. @ApiOperation(value = "获取支付通知单号")
  244. public HttpResult<Object> viewToPay(String companyId) throws Exception {
  245. return this.pingAnOrderApiService.viewToPay(companyId);
  246. }
  247. /**
  248. * @version
  249. * @author: hxl
  250. * @Date: 2024/7/23 9:33
  251. * @Description: 全国短信验证 暂时没用
  252. */
  253. @PostMapping("/sendApplyPolicy")
  254. @ApiOperation(value = "全国短信验证")
  255. public HttpResult<Object> sendApplyPolicy(String companyId,String moblePhone) throws Exception {
  256. return this.pingAnOrderApiService.sendApplyPolicy(companyId,moblePhone);
  257. }
  258. /**
  259. * @version
  260. * @author: hxl
  261. * @Date: 2024/7/23 14:03
  262. * @Description: 平安新CPC收银台 7.10 暂时没用
  263. */
  264. @PostMapping("/chexianStandardPrePayment")
  265. @ApiOperation(value = "平安新CPC收银台 7.10")
  266. public HttpResult<Object> chexianStandardPrePayment(ChexianStandardPrePaymentRequest chexianStandardPrePaymentRequest) throws Exception {
  267. return this.pingAnOrderApiService.chexianStandardPrePayment(chexianStandardPrePaymentRequest);
  268. }
  269. /**
  270. * @version
  271. * @author: hxl
  272. * @Date: 2024/7/23 14:03
  273. * @Description: 身份验证 暂时没用
  274. */
  275. @PostMapping("/beiJingIdAcquisition")
  276. @ApiOperation(value = "身份验证")
  277. public HttpResult<Object> beiJingIdAcquisition(String companyId) throws Exception {
  278. return this.pingAnOrderApiService.beiJingIdAcquisition(companyId);
  279. }
  280. /**
  281. * @version
  282. * @author: hxl
  283. * @Date: 2024/7/23 14:03
  284. * @Description: 支付实名认证建议在noticeDo接口进行 暂时没用
  285. */
  286. @PostMapping("/noticeAuth")
  287. @ApiOperation(value = "支付实名认证建议在noticeDo接口进行 73")
  288. public HttpResult<Object> noticeAuth(NoticeAuthRequest noticeAuthRequest) throws Exception {
  289. return this.pingAnOrderApiService.noticeAuth(noticeAuthRequest);
  290. }
  291. /**
  292. * @version
  293. * @author: hxl
  294. * @Date: 2024/7/23 14:03
  295. * @Description: 支付之前查询通知单内容 74 暂时没用
  296. */
  297. @PostMapping("/getNoticeInfo")
  298. @ApiOperation(value = "支付之前查询通知单内容 74")
  299. public HttpResult<Object> getNoticeInfo(GetNoticeInfoRequest getNoticeInfoRequest) throws Exception {
  300. return this.pingAnOrderApiService.getNoticeInfo(getNoticeInfoRequest);
  301. }
  302. /**
  303. * @version
  304. * @author: hxl
  305. * @Date: 2024/7/23 14:03
  306. * @Description: 支付到账通知平安 75 暂时没用
  307. */
  308. @PostMapping("/noticeDone")
  309. @ApiOperation(value = "支付到账通知平安 75")
  310. public HttpResult<Object> noticeDone(NoticeDoneRequest noticeDoneRequest) throws Exception {
  311. return this.pingAnOrderApiService.noticeDone(noticeDoneRequest);
  312. }
  313. /**
  314. * @version
  315. * @author: hxl
  316. * @Date: 2024/7/23 14:03
  317. * @Description: 身份验证 暂时没用
  318. */
  319. @PostMapping("/getWechatAuthInfo")
  320. @ApiOperation(value = "获取微信缴费实名认证结果 79")
  321. public HttpResult<Object> getWechatAuthInfo(GetWechatAuthInfoRequest getWechatAuthInfoRequest) throws Exception {
  322. return this.pingAnOrderApiService.getWechatAuthInfo(getWechatAuthInfoRequest);
  323. }
  324. /**
  325. * @version
  326. * @author: hxl
  327. * @Date: 2024/7/23 18:46
  328. * @Description: 上海车辆使用
  329. */
  330. @PostMapping("/getDmvehicleInfo")
  331. @ApiOperation("获取交管车辆验证码")
  332. public HttpResult<Object> getDmvehicleInfo(@RequestBody PingAnQuoteVo<List<InsDrivingIntentionInsuranceVo>> quoteVo, BaseQuoteInfoVo quoteInfo) throws Exception {
  333. return this.pingAnOrderApiService.getDmvehicleInfo(quoteVo,quoteInfo);
  334. }
  335. }