InsOrders.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. package com.ydtech.modules.order.entity;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.annotation.IdType;
  4. import com.baomidou.mybatisplus.annotation.TableField;
  5. import com.baomidou.mybatisplus.annotation.TableId;
  6. import com.baomidou.mybatisplus.annotation.TableName;
  7. import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
  8. import com.fasterxml.jackson.annotation.JsonFormat;
  9. import com.ydtech.modules.order.entity.po.InsOrdersCarInfo;
  10. import com.ydtech.modules.order.entity.po.InsOrdersCarUserInfo;
  11. import com.ydtech.modules.order.entity.bo.InsOrdersBo;
  12. import com.ydtech.modules.order.entity.po.InsOrdersKind;
  13. import com.ydtech.modules.order.entity.po.InsOrdersRisk;
  14. import lombok.*;
  15. import java.io.Serializable;
  16. import java.time.LocalDateTime;
  17. import java.util.List;
  18. /**
  19. * 保险订单表
  20. *
  21. * @TableName ins_orders
  22. */
  23. @EqualsAndHashCode
  24. @ToString
  25. @TableName(value = "ins_orders", autoResultMap = true)
  26. @Data
  27. @AllArgsConstructor
  28. @NoArgsConstructor
  29. public class InsOrders implements Serializable {
  30. /**
  31. * 订单号
  32. */
  33. @TableId(value = "orderno", type = IdType.AUTO)
  34. private String orderno;
  35. /**
  36. * 报价单号
  37. */
  38. @TableField(value = "quoteno")
  39. private String quoteno;
  40. /**
  41. * 承保 保险公司编号
  42. */
  43. @TableField(value = "company_id")
  44. private String companyId;
  45. /**
  46. * 承保 保险名称
  47. */
  48. @TableField(value = "ins_company")
  49. private String insCompany;
  50. /**
  51. * 报价状态
  52. */
  53. @TableField(value = "orderstatus")
  54. private String orderstatus;
  55. /**
  56. * 用户id
  57. */
  58. @TableField(value = "userid")
  59. private String userid;
  60. /**
  61. * 代客录单时操作员ID
  62. */
  63. @TableField(value = "operatorid")
  64. private String operatorid;
  65. /**
  66. * 用户名称
  67. */
  68. @TableField(value = "username")
  69. private String username;
  70. /**
  71. * 代理团队id
  72. */
  73. @TableField(value = "deptid")
  74. private String deptid;
  75. /**
  76. * 代理团队名称
  77. */
  78. @TableField(value = "deptname")
  79. private String deptname;
  80. /**
  81. * 协议id
  82. */
  83. @TableField(value = "agreeid")
  84. private String agreeid;
  85. /**
  86. * 产品id
  87. */
  88. @TableField(value = "productid")
  89. private String productid;
  90. /**
  91. * 产品名称
  92. */
  93. @TableField(value = "product")
  94. private String product;
  95. /**
  96. * 创建时间
  97. */
  98. @TableField(value = "createtime")
  99. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  100. private LocalDateTime createtime;
  101. /**
  102. * 车架号 VIN码
  103. */
  104. @TableField(value = "frameno")
  105. private String frameno;
  106. /**
  107. * 车牌号
  108. */
  109. @TableField(value = "licenseno")
  110. private String licenseno;
  111. /**
  112. * 投保人姓名
  113. */
  114. @TableField(value = "insuredname")
  115. private String insuredname;
  116. /**
  117. * 交强险开始时间
  118. */
  119. @TableField(value = "jqstartdate")
  120. private String jqstartdate;
  121. /**
  122. * 交强险结束时间
  123. */
  124. @TableField(value = "jqenddate")
  125. private String jqenddate;
  126. /**
  127. * 商业险开始时间
  128. */
  129. @TableField(value = "systartdate")
  130. private String systartdate;
  131. /**
  132. * 商业险结束时间
  133. */
  134. @TableField(value = "syenddate")
  135. private String syenddate;
  136. /**
  137. * 车主id
  138. */
  139. @TableField(value = "owner_id")
  140. // @TableField(exist = false)
  141. private String ownerId;
  142. /**
  143. *投保人 id
  144. */
  145. @TableField(value = "apply_id")
  146. // @TableField(exist = false)
  147. private String applyId;
  148. /**
  149. * 被保人id
  150. */
  151. @TableField(value = "insure_id")
  152. // @TableField(exist = false)
  153. private String insureId;
  154. @TableField(value = "vehicle_and_vessel_tax", typeHandler = FastjsonTypeHandler.class)
  155. private JSONObject vehicleAndVesselTax;
  156. /**
  157. * 车辆信息id
  158. */
  159. @TableField(value = "car_info_id")
  160. // @TableField(exist = false)
  161. private String carInfoId;
  162. @TableField(exist = false)
  163. private InsOrdersCarInfo carinfo;
  164. @TableField(exist = false)
  165. private InsOrdersCarUserInfo applyinfo;
  166. @TableField(exist = false)
  167. private InsOrdersCarUserInfo ownerinfo;
  168. @TableField(exist = false)
  169. private InsOrdersCarUserInfo insureinfo;
  170. @TableField(exist = false)
  171. private List<InsOrdersRisk> risk;
  172. @TableField(exist = false)
  173. private List<InsOrdersKind> king;
  174. // @TableField(value = "carinfo", typeHandler = FastjsonTypeHandler.class)
  175. // private JSONObject carinfo;
  176. // @TableField(value = "ownerinfo", typeHandler = FastjsonTypeHandler.class)
  177. // private JSONObject ownerinfo;
  178. // @TableField(value = "applyinfo", typeHandler = FastjsonTypeHandler.class)
  179. // private JSONObject applyinfo;
  180. // @TableField(value = "insureinfo", typeHandler = FastjsonTypeHandler.class)
  181. // private JSONObject insureinfo;
  182. // @TableField(value = "risk", typeHandler = FastjsonTypeHandler.class)
  183. // private JSONArray risk;
  184. // @TableField(value = "king", typeHandler = FastjsonTypeHandler.class)
  185. // private JSONArray king;
  186. @TableField(exist = false)
  187. private List<InsAreaCompany> insAreaCompanyList; //子级集合
  188. @TableField(exist = false)
  189. private static final long serialVersionUID = 1L;
  190. public InsOrders(InsOrdersBo insOrdersBo) {
  191. this.orderno = insOrdersBo.getOrderno();
  192. this.quoteno = insOrdersBo.getQuoteno();
  193. this.companyId = insOrdersBo.getCompanyId();
  194. this.insCompany = insOrdersBo.getInsCompany();
  195. this.orderstatus = insOrdersBo.getOrderstatus();
  196. this.userid = insOrdersBo.getUserid();
  197. this.operatorid = insOrdersBo.getOperatorid();
  198. this.username = insOrdersBo.getUsername();
  199. this.deptid = insOrdersBo.getDeptid();
  200. this.deptname = insOrdersBo.getDeptname();
  201. this.agreeid = insOrdersBo.getAgreeid();
  202. this.productid = insOrdersBo.getProductid();
  203. this.product = insOrdersBo.getProduct();
  204. this.createtime = insOrdersBo.getCreatetime();
  205. this.frameno = insOrdersBo.getFrameno();
  206. this.licenseno = insOrdersBo.getLicenseno();
  207. this.insuredname = insOrdersBo.getInsuredname();
  208. this.jqstartdate = insOrdersBo.getJqstartdate();
  209. this.jqenddate = insOrdersBo.getJqenddate();
  210. this.systartdate = insOrdersBo.getSystartdate();
  211. this.syenddate = insOrdersBo.getSyenddate();
  212. }
  213. public void setCarUserInfo(InsOrders insOrders, List<InsOrdersCarUserInfo> carUserInfoList) {
  214. carUserInfoList.forEach(carUserInfo -> {
  215. if (carUserInfo.getId().equals(insOrders.getApplyId())) {
  216. this.setApplyinfo(carUserInfo);
  217. }
  218. if(carUserInfo.getId().equals(insOrders.getOwnerId())){
  219. this.setOwnerinfo(carUserInfo);
  220. }
  221. if(carUserInfo.getId().equals(insOrders.getInsureId())){
  222. this.setInsureinfo(carUserInfo);
  223. }
  224. });
  225. }
  226. }