PremiumResp.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. package com.ydtech.modules.ins.model.guoRen;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import com.fasterxml.jackson.annotation.JsonProperty;
  4. import lombok.Data;
  5. import lombok.NoArgsConstructor;
  6. import net.minidev.json.annotate.JsonIgnore;
  7. import java.util.List;
  8. /**
  9. * 保费计算 返回
  10. */
  11. @NoArgsConstructor
  12. @Data
  13. public class PremiumResp {
  14. @JSONField(name = "resultCode")
  15. private Integer resultCode;
  16. @JSONField(name = "resultMsg")
  17. private String resultMsg;
  18. @JSONField(name = "data")
  19. private DataDTO data;
  20. @NoArgsConstructor
  21. @Data
  22. public static class DataDTO {
  23. @JsonIgnore
  24. private String ciStartDate;
  25. @JsonIgnore
  26. private String ciEndDate;
  27. @JsonIgnore
  28. private String biStartDate;
  29. @JsonIgnore
  30. private String biEndDate;
  31. @JSONField(name = "itemVOList")
  32. private List<ItemVOListDTO> itemVOList;
  33. @JSONField(name = "carShipTaxRespVO")
  34. private CarShipTaxRespVODTO carShipTaxRespVO;
  35. @JSONField(name = "sumPremiumBI")
  36. private Double sumPremiumBI;
  37. @JSONField(name = "sumPremiumCI")
  38. private Double sumPremiumCI;
  39. @JSONField(name = "sumPayTax")
  40. private Integer sumPayTax;
  41. @JSONField(name = "biPrptenages")
  42. private List<BiPrptenagesDTO> biPrptenages;
  43. @JSONField(name = "ciPrptenages")
  44. private List<CiPrptenagesDTO> ciPrptenages;
  45. @JSONField(name = "comlossCondition")
  46. private String comlossCondition;
  47. @JSONField(name = "signDiscount")
  48. private String signDiscount;
  49. @JSONField(name = "sumTopRate")
  50. private String sumTopRate;
  51. @JSONField(name = "sumLowerRate")
  52. private String sumLowerRate;
  53. @JSONField(name = "selfAdjustRate")
  54. private Double selfAdjustRate;
  55. @JSONField(name = "selfChannelRate")
  56. private Integer selfChannelRate;
  57. @JSONField(name = "noclaimRate")
  58. private Integer noclaimRate;
  59. @JSONField(name = "addonRate")
  60. private Integer addonRate;
  61. @JSONField(name = "autoPriceOutputXOMRespVo")
  62. private AutoPriceOutputXOMRespVoDTO autoPriceOutputXOMRespVo;
  63. @JSONField(name = "biClaimTimes")
  64. private Integer biClaimTimes;
  65. @JSONField(name = "biClaimAmount")
  66. private Integer biClaimAmount;
  67. @JSONField(name = "ciClaimTimes")
  68. private Integer ciClaimTimes;
  69. @JSONField(name = "ciClaimAmount")
  70. private Integer ciClaimAmount;
  71. @JSONField(name = "lastYearEndDate")
  72. private Object lastYearEndDate;
  73. @JSONField(name = "prpTChargingPostDataList")
  74. private List<?> prpTChargingPostDataList;
  75. @JSONField(name = "ciLossCondition")
  76. private Integer ciLossCondition;
  77. @JSONField(name = "lossFeeSum")
  78. private Integer lossFeeSum;
  79. @JSONField(name = "birate")
  80. private BirateDTO birate;
  81. @JSONField(name = "cicheckCode")
  82. private String cicheckCode;
  83. @JSONField(name = "cidemandNo")
  84. private Object cidemandNo;
  85. @JSONField(name = "ciprofit")
  86. private Integer ciprofit;
  87. @JSONField(name = "cirate")
  88. private CirateDTO cirate;
  89. @JSONField(name = "uuid")
  90. private String uuid;
  91. @JSONField(name = "bicheckCode")
  92. private String bicheckCode;
  93. @JSONField(name = "bidemandNo")
  94. private Object bidemandNo;
  95. @JSONField(name = "bireCoverMsg")
  96. private Object bireCoverMsg;
  97. @JSONField(name = "biprofit")
  98. private Integer biprofit;
  99. @JSONField(name = "prpTenGearAllocationFeeList")
  100. private List<?> prpTenGearAllocationFeeList;
  101. @JSONField(name = "ciInsureDemandPay")
  102. private List<CIInsureDemandPayVo> ciInsureDemandPay;
  103. @NoArgsConstructor
  104. @Data
  105. public static class CIInsureDemandPayVo {
  106. @JSONField(name = "DemandNo")
  107. private String DemandNo;
  108. @JSONField(name = "SerialNo")
  109. private String SerialNo;
  110. @JSONField(name = "payCompany")
  111. private String payCompany;
  112. @JSONField(name = "PolicyNo")
  113. private String PolicyNo;
  114. @JSONField(name = "KindCode")
  115. private String KindCode;
  116. @JSONField(name = "PayType")
  117. private String PayType;
  118. @JSONField(name = "PersonPayType")
  119. private String PersonPayType;
  120. @JSONField(name = "compensateNo")
  121. private String compensateNo;
  122. @JSONField(name = "lossTime")
  123. private String lossTime;
  124. @JSONField(name = "lossFee")
  125. private String lossFee;
  126. @JSONField(name = "Remark")
  127. private String Remark;
  128. @JSONField(name = "Flag")
  129. private String Flag;
  130. @JSONField(name = "endCaseTime")
  131. private String endCaseTime;
  132. @JSONField(name = "AccidentDeathFlag")
  133. private String AccidentDeathFlag;
  134. @JSONField(name = "OptionType")
  135. private String OptionType;
  136. @JSONField(name = "totalAmount")
  137. private String totalAmount;
  138. @JSONField(name = "claimNotificationNo")
  139. private String claimNotificationNo;
  140. @JSONField(name = "claimRegistrationNo")
  141. private String claimRegistrationNo;
  142. @JSONField(name = "caseID")
  143. private String caseID;
  144. @JSONField(name = "effectiveDate")
  145. private String effectiveDate;
  146. @JSONField(name = "expireDate")
  147. private String expireDate;
  148. @JSONField(name = "InsurerArea")
  149. private String InsurerArea;
  150. }
  151. @NoArgsConstructor
  152. @Data
  153. public static class CarShipTaxRespVODTO {
  154. @JSONField(name = "riskCode")
  155. private String riskCode;
  156. @JSONField(name = "taxRelifFlag")
  157. private String taxRelifFlag;
  158. @JSONField(name = "taxActual")
  159. private Integer taxActual;
  160. @JSONField(name = "sumPayTax")
  161. private Integer sumPayTax;
  162. }
  163. @NoArgsConstructor
  164. @Data
  165. public static class AutoPriceOutputXOMRespVoDTO {
  166. @JSONField(name = "entireRecommenDiscount")
  167. private String entireRecommenDiscount;
  168. @JSONField(name = "entireUWritingDiscount")
  169. private String entireUWritingDiscount;
  170. @JSONField(name = "entireInitialDiscount")
  171. private String entireInitialDiscount;
  172. @JSONField(name = "comCostPrem")
  173. private String comCostPrem;
  174. @JSONField(name = "ctpCostPrem")
  175. private String ctpCostPrem;
  176. @JSONField(name = "billCTPELR")
  177. private String billCTPELR;
  178. @JSONField(name = "billCOMELR")
  179. private String billCOMELR;
  180. @JSONField(name = "billELR")
  181. private String billELR;
  182. @JSONField(name = "sunlightScore")
  183. private String sunlightScore;
  184. @JSONField(name = "comSunlightScore")
  185. private Object comSunlightScore;
  186. @JSONField(name = "ctpSunlightScore")
  187. private Object ctpSunlightScore;
  188. @JSONField(name = "reasonCde")
  189. private Object reasonCde;
  190. @JSONField(name = "ruleType")
  191. private Object ruleType;
  192. @JSONField(name = "uwDiscFloor")
  193. private Object uwDiscFloor;
  194. @JSONField(name = "businessCode")
  195. private String businessCode;
  196. @JSONField(name = "strComCostPrem2")
  197. private String strComCostPrem2;
  198. @JSONField(name = "strCtpCostPrem2")
  199. private String strCtpCostPrem2;
  200. @JSONField(name = "strBillCTPELR2")
  201. private String strBillCTPELR2;
  202. @JSONField(name = "strBillCOMELR2")
  203. private String strBillCOMELR2;
  204. @JSONField(name = "strBillELR2")
  205. private String strBillELR2;
  206. @JSONField(name = "strUwRel")
  207. private String strUwRel;
  208. @JSONField(name = "strUwRelVersion")
  209. private String strUwRelVersion;
  210. @JSONField(name = "strTargetLR")
  211. private String strTargetLR;
  212. @JSONField(name = "uwELRrel2BC")
  213. private Object uwELRrel2BC;
  214. @JSONField(name = "strUwELRrel")
  215. private String strUwELRrel;
  216. @JSONField(name = "strUwELR")
  217. private String strUwELR;
  218. @JSONField(name = "recommenDiscountScore")
  219. private String recommenDiscountScore;
  220. }
  221. @NoArgsConstructor
  222. @Data
  223. public static class BirateDTO {
  224. @JSONField(name = "proposalno")
  225. private String proposalno;
  226. @JSONField(name = "riskcode")
  227. private String riskcode;
  228. @JSONField(name = "classcode")
  229. private String classcode;
  230. @JSONField(name = "coefficient1")
  231. private Integer coefficient1;
  232. @JSONField(name = "coefficient2")
  233. private Integer coefficient2;
  234. @JSONField(name = "coefficient3")
  235. private Integer coefficient3;
  236. @JSONField(name = "coefficient4")
  237. private Integer coefficient4;
  238. @JSONField(name = "coefficient5")
  239. private Integer coefficient5;
  240. @JSONField(name = "coefficient6")
  241. private Integer coefficient6;
  242. @JSONField(name = "coefficient7")
  243. private Integer coefficient7;
  244. @JSONField(name = "coefficient8")
  245. private Integer coefficient8;
  246. @JSONField(name = "coefficient9")
  247. private Integer coefficient9;
  248. @JSONField(name = "coefficient10")
  249. private Integer coefficient10;
  250. @JSONField(name = "coefficient11")
  251. private Integer coefficient11;
  252. @JSONField(name = "remark")
  253. private String remark;
  254. @JSONField(name = "flag")
  255. private String flag;
  256. @JSONField(name = "businesscategory")
  257. private String businesscategory;
  258. @JSONField(name = "attribute1")
  259. private String attribute1;
  260. @JSONField(name = "attribute2")
  261. private String attribute2;
  262. @JSONField(name = "attribute3")
  263. private String attribute3;
  264. @JSONField(name = "attribute4")
  265. private String attribute4;
  266. @JSONField(name = "attribute5")
  267. private String attribute5;
  268. @JSONField(name = "costratio")
  269. private Object costratio;
  270. @JSONField(name = "chargedecimal")
  271. private Object chargedecimal;
  272. @JSONField(name = "billcomtransfeerate")
  273. private Integer billcomtransfeerate;
  274. @JSONField(name = "billcomallowance")
  275. private Integer billcomallowance;
  276. @JSONField(name = "billcomacquisitionfeerate")
  277. private Integer billcomacquisitionfeerate;
  278. @JSONField(name = "billcomotherfeerate")
  279. private Integer billcomotherfeerate;
  280. @JSONField(name = "totalcost")
  281. private Integer totalcost;
  282. @JSONField(name = "accruedexpenses")
  283. private String accruedexpenses;
  284. @JSONField(name = "managelimit")
  285. private String managelimit;
  286. @JSONField(name = "controllimit")
  287. private String controllimit;
  288. @JSONField(name = "mutualback")
  289. private String mutualback;
  290. @JSONField(name = "limitflag")
  291. private String limitflag;
  292. @JSONField(name = "autoFeeType")
  293. private Object autoFeeType;
  294. @JSONField(name = "isteamflag")
  295. private Object isteamflag;
  296. @JSONField(name = "tempLateID")
  297. private String tempLateID;
  298. @JSONField(name = "tempLateName")
  299. private String tempLateName;
  300. @JSONField(name = "chargenumber")
  301. private String chargenumber;
  302. @JSONField(name = "billcomeGroup")
  303. private String billcomeGroup;
  304. @JSONField(name = "ryblogo")
  305. private String ryblogo;
  306. @JSONField(name = "respAttrExt1")
  307. private String respAttrExt1;
  308. @JSONField(name = "respAttrExt2")
  309. private String respAttrExt2;
  310. @JSONField(name = "respOnlineExt1")
  311. private String respOnlineExt1;
  312. @JSONField(name = "respOnlineExt2")
  313. private String respOnlineExt2;
  314. @JSONField(name = "respOnlineExt3")
  315. private String respOnlineExt3;
  316. @JSONField(name = "respOnlineExt4")
  317. private String respOnlineExt4;
  318. }
  319. @NoArgsConstructor
  320. @Data
  321. public static class CirateDTO {
  322. @JSONField(name = "proposalno")
  323. private String proposalno;
  324. @JSONField(name = "riskcode")
  325. private String riskcode;
  326. @JSONField(name = "classcode")
  327. private String classcode;
  328. @JSONField(name = "coefficient1")
  329. private Integer coefficient1;
  330. @JSONField(name = "coefficient2")
  331. private Integer coefficient2;
  332. @JSONField(name = "coefficient3")
  333. private Integer coefficient3;
  334. @JSONField(name = "coefficient4")
  335. private Integer coefficient4;
  336. @JSONField(name = "coefficient5")
  337. private Integer coefficient5;
  338. @JSONField(name = "coefficient6")
  339. private Integer coefficient6;
  340. @JSONField(name = "coefficient7")
  341. private Integer coefficient7;
  342. @JSONField(name = "coefficient8")
  343. private Integer coefficient8;
  344. @JSONField(name = "coefficient9")
  345. private Integer coefficient9;
  346. @JSONField(name = "coefficient10")
  347. private Integer coefficient10;
  348. @JSONField(name = "coefficient11")
  349. private Integer coefficient11;
  350. @JSONField(name = "remark")
  351. private String remark;
  352. @JSONField(name = "flag")
  353. private String flag;
  354. @JSONField(name = "businesscategory")
  355. private String businesscategory;
  356. @JSONField(name = "attribute1")
  357. private String attribute1;
  358. @JSONField(name = "attribute2")
  359. private String attribute2;
  360. @JSONField(name = "attribute3")
  361. private String attribute3;
  362. @JSONField(name = "attribute4")
  363. private String attribute4;
  364. @JSONField(name = "attribute5")
  365. private String attribute5;
  366. @JSONField(name = "costratio")
  367. private Object costratio;
  368. @JSONField(name = "chargedecimal")
  369. private Object chargedecimal;
  370. @JSONField(name = "billcomtransfeerate")
  371. private Integer billcomtransfeerate;
  372. @JSONField(name = "billcomallowance")
  373. private Integer billcomallowance;
  374. @JSONField(name = "billcomacquisitionfeerate")
  375. private Integer billcomacquisitionfeerate;
  376. @JSONField(name = "billcomotherfeerate")
  377. private Integer billcomotherfeerate;
  378. @JSONField(name = "totalcost")
  379. private Integer totalcost;
  380. @JSONField(name = "accruedexpenses")
  381. private String accruedexpenses;
  382. @JSONField(name = "managelimit")
  383. private String managelimit;
  384. @JSONField(name = "controllimit")
  385. private String controllimit;
  386. @JSONField(name = "mutualback")
  387. private String mutualback;
  388. @JSONField(name = "limitflag")
  389. private String limitflag;
  390. @JSONField(name = "autoFeeType")
  391. private Object autoFeeType;
  392. @JSONField(name = "isteamflag")
  393. private Object isteamflag;
  394. @JSONField(name = "tempLateID")
  395. private String tempLateID;
  396. @JSONField(name = "tempLateName")
  397. private String tempLateName;
  398. @JSONField(name = "chargenumber")
  399. private String chargenumber;
  400. @JSONField(name = "billcomeGroup")
  401. private String billcomeGroup;
  402. @JSONField(name = "ryblogo")
  403. private String ryblogo;
  404. @JSONField(name = "respAttrExt1")
  405. private String respAttrExt1;
  406. @JSONField(name = "respAttrExt2")
  407. private String respAttrExt2;
  408. @JSONField(name = "respOnlineExt1")
  409. private String respOnlineExt1;
  410. @JSONField(name = "respOnlineExt2")
  411. private String respOnlineExt2;
  412. @JSONField(name = "respOnlineExt3")
  413. private String respOnlineExt3;
  414. @JSONField(name = "respOnlineExt4")
  415. private String respOnlineExt4;
  416. }
  417. @NoArgsConstructor
  418. @Data
  419. public static class ItemVOListDTO {
  420. @JSONField(name = "proposalNo")
  421. private String proposalNo;
  422. @JSONField(name = "riskCode")
  423. private String riskCode;
  424. @JSONField(name = "itemKindNo")
  425. private Integer itemKindNo;
  426. @JSONField(name = "familyNo")
  427. private Object familyNo;
  428. @JSONField(name = "familyName")
  429. private String familyName;
  430. @JSONField(name = "rationType")
  431. private String rationType;
  432. @JSONField(name = "kindCode")
  433. private String kindCode;
  434. @JSONField(name = "kindName")
  435. private String kindName;
  436. @JSONField(name = "itemNo")
  437. private Integer itemNo;
  438. @JSONField(name = "itemCode")
  439. private String itemCode;
  440. @JSONField(name = "itemDetailName")
  441. private String itemDetailName;
  442. @JSONField(name = "modeCode")
  443. private String modeCode;
  444. @JSONField(name = "modeName")
  445. private String modeName;
  446. @JSONField(name = "startDate")
  447. private String startDate;
  448. @JSONField(name = "startHour")
  449. private Integer startHour;
  450. @JSONField(name = "endDate")
  451. private String endDate;
  452. @JSONField(name = "endHour")
  453. private Integer endHour;
  454. @JSONField(name = "model")
  455. private String model;
  456. @JSONField(name = "buyDate")
  457. private Object buyDate;
  458. @JSONField(name = "addressNo")
  459. private Object addressNo;
  460. @JSONField(name = "calculateFlag")
  461. private String calculateFlag;
  462. @JSONField(name = "currency")
  463. private String currency;
  464. @JSONField(name = "unitAmount")
  465. private Object unitAmount;
  466. @JSONField(name = "quantity")
  467. private Object quantity;
  468. @JSONField(name = "unit")
  469. private String unit;
  470. @JSONField(name = "value")
  471. private Object value;
  472. @JSONField(name = "amount")
  473. private Double amount;
  474. @JSONField(name = "ratePeriod")
  475. private Integer ratePeriod;
  476. @JSONField(name = "rate")
  477. private Integer rate;
  478. @JSONField(name = "shortRateFlag")
  479. private String shortRateFlag;
  480. @JSONField(name = "shortRate")
  481. private Integer shortRate;
  482. @JSONField(name = "basePremium")
  483. private Integer basePremium;
  484. @JSONField(name = "benchMarkPremium")
  485. private Double benchMarkPremium;
  486. @JSONField(name = "discount")
  487. private Integer discount;
  488. @JSONField(name = "adjustRate")
  489. private Double adjustRate;
  490. @JSONField(name = "premium")
  491. private Double premium;
  492. @JSONField(name = "deductibleRate")
  493. private Integer deductibleRate;
  494. @JSONField(name = "deductible")
  495. private Integer deductible;
  496. @JSONField(name = "flag")
  497. private String flag;
  498. @JSONField(name = "feeStart")
  499. private Object feeStart;
  500. @JSONField(name = "feeEnd")
  501. private Object feeEnd;
  502. @JSONField(name = "standardPremuim")
  503. private Double standardPremuim;
  504. @JSONField(name = "additionalCostRate")
  505. private Double additionalCostRate;
  506. @JSONField(name = "basePureRiskPremium")
  507. private Object basePureRiskPremium;
  508. @JSONField(name = "totalLossRate")
  509. private Double totalLossRate;
  510. @JSONField(name = "channelrate")
  511. private Integer channelrate;
  512. @JSONField(name = "noTaxPremium")
  513. private Double noTaxPremium;
  514. @JSONField(name = "taxRate")
  515. private Double taxRate;
  516. @JSONField(name = "taxFee")
  517. private Double taxFee;
  518. @JSONField(name = "taxFlag")
  519. private String taxFlag;
  520. @JSONField(name = "insurePlan")
  521. private String insurePlan;
  522. @JSONField(name = "itemKind_Flag5")
  523. private Object itemkindFlag5;
  524. @JSONField(name = "mainKindFlag")
  525. private Object mainKindFlag;
  526. @JSONField(name = "vipPremium")
  527. private Integer vipPremium;
  528. }
  529. @NoArgsConstructor
  530. @Data
  531. public static class BiPrptenagesDTO {
  532. @JSONField(name = "proposalNo")
  533. private Object proposalNo;
  534. @JSONField(name = "riskCode")
  535. private Object riskCode;
  536. @JSONField(name = "serialNo")
  537. private Integer serialNo;
  538. @JSONField(name = "lineNo")
  539. private Object lineNo;
  540. @JSONField(name = "clauseCode")
  541. private String clauseCode;
  542. @JSONField(name = "clauses")
  543. private String clauses;
  544. @JSONField(name = "titleFlag")
  545. private Object titleFlag;
  546. @JSONField(name = "clauseName")
  547. private Object clauseName;
  548. @JSONField(name = "clausesContext")
  549. private String clausesContext;
  550. @JSONField(name = "flag")
  551. private String flag;
  552. }
  553. @NoArgsConstructor
  554. @Data
  555. public static class CiPrptenagesDTO {
  556. @JSONField(name = "proposalNo")
  557. private Object proposalNo;
  558. @JSONField(name = "riskCode")
  559. private Object riskCode;
  560. @JSONField(name = "serialNo")
  561. private Integer serialNo;
  562. @JSONField(name = "lineNo")
  563. private Object lineNo;
  564. @JSONField(name = "clauseCode")
  565. private String clauseCode;
  566. @JSONField(name = "clauses")
  567. private String clauses;
  568. @JSONField(name = "titleFlag")
  569. private Object titleFlag;
  570. @JSONField(name = "clauseName")
  571. private Object clauseName;
  572. @JSONField(name = "clausesContext")
  573. private String clausesContext;
  574. @JSONField(name = "flag")
  575. private String flag;
  576. }
  577. }
  578. }