package com.ydtech.modules.order.entity; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import com.fasterxml.jackson.annotation.JsonFormat; import com.ydtech.modules.order.entity.po.InsOrdersCarInfo; import com.ydtech.modules.order.entity.po.InsOrdersCarUserInfo; import com.ydtech.modules.order.entity.bo.InsOrdersBo; import com.ydtech.modules.order.entity.po.InsOrdersKind; import com.ydtech.modules.order.entity.po.InsOrdersRisk; import lombok.*; import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; /** * 保险订单表 * * @TableName ins_orders */ @EqualsAndHashCode @ToString @TableName(value = "ins_orders", autoResultMap = true) @Data @AllArgsConstructor @NoArgsConstructor public class InsOrders implements Serializable { /** * 订单号 */ @TableId(value = "orderno", type = IdType.AUTO) private String orderno; /** * 报价单号 */ @TableField(value = "quoteno") private String quoteno; /** * 承保 保险公司编号 */ @TableField(value = "company_id") private String companyId; /** * 承保 保险名称 */ @TableField(value = "ins_company") private String insCompany; /** * 报价状态 */ @TableField(value = "orderstatus") private String orderstatus; /** * 用户id */ @TableField(value = "userid") private String userid; /** * 代客录单时操作员ID */ @TableField(value = "operatorid") private String operatorid; /** * 用户名称 */ @TableField(value = "username") private String username; /** * 代理团队id */ @TableField(value = "deptid") private String deptid; /** * 代理团队名称 */ @TableField(value = "deptname") private String deptname; /** * 协议id */ @TableField(value = "agreeid") private String agreeid; /** * 产品id */ @TableField(value = "productid") private String productid; /** * 产品名称 */ @TableField(value = "product") private String product; /** * 创建时间 */ @TableField(value = "createtime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createtime; /** * 车架号 VIN码 */ @TableField(value = "frameno") private String frameno; /** * 车牌号 */ @TableField(value = "licenseno") private String licenseno; /** * 投保人姓名 */ @TableField(value = "insuredname") private String insuredname; /** * 交强险开始时间 */ @TableField(value = "jqstartdate") private String jqstartdate; /** * 交强险结束时间 */ @TableField(value = "jqenddate") private String jqenddate; /** * 商业险开始时间 */ @TableField(value = "systartdate") private String systartdate; /** * 商业险结束时间 */ @TableField(value = "syenddate") private String syenddate; /** * 车主id */ @TableField(value = "owner_id") // @TableField(exist = false) private String ownerId; /** *投保人 id */ @TableField(value = "apply_id") // @TableField(exist = false) private String applyId; /** * 被保人id */ @TableField(value = "insure_id") // @TableField(exist = false) private String insureId; @TableField(value = "vehicle_and_vessel_tax", typeHandler = FastjsonTypeHandler.class) private JSONObject vehicleAndVesselTax; /** * 车辆信息id */ @TableField(value = "car_info_id") // @TableField(exist = false) private String carInfoId; @TableField(exist = false) private InsOrdersCarInfo carinfo; @TableField(exist = false) private InsOrdersCarUserInfo applyinfo; @TableField(exist = false) private InsOrdersCarUserInfo ownerinfo; @TableField(exist = false) private InsOrdersCarUserInfo insureinfo; @TableField(exist = false) private List risk; @TableField(exist = false) private List king; // @TableField(value = "carinfo", typeHandler = FastjsonTypeHandler.class) // private JSONObject carinfo; // @TableField(value = "ownerinfo", typeHandler = FastjsonTypeHandler.class) // private JSONObject ownerinfo; // @TableField(value = "applyinfo", typeHandler = FastjsonTypeHandler.class) // private JSONObject applyinfo; // @TableField(value = "insureinfo", typeHandler = FastjsonTypeHandler.class) // private JSONObject insureinfo; // @TableField(value = "risk", typeHandler = FastjsonTypeHandler.class) // private JSONArray risk; // @TableField(value = "king", typeHandler = FastjsonTypeHandler.class) // private JSONArray king; @TableField(exist = false) private List insAreaCompanyList; //子级集合 @TableField(exist = false) private static final long serialVersionUID = 1L; public InsOrders(InsOrdersBo insOrdersBo) { this.orderno = insOrdersBo.getOrderno(); this.quoteno = insOrdersBo.getQuoteno(); this.companyId = insOrdersBo.getCompanyId(); this.insCompany = insOrdersBo.getInsCompany(); this.orderstatus = insOrdersBo.getOrderstatus(); this.userid = insOrdersBo.getUserid(); this.operatorid = insOrdersBo.getOperatorid(); this.username = insOrdersBo.getUsername(); this.deptid = insOrdersBo.getDeptid(); this.deptname = insOrdersBo.getDeptname(); this.agreeid = insOrdersBo.getAgreeid(); this.productid = insOrdersBo.getProductid(); this.product = insOrdersBo.getProduct(); this.createtime = insOrdersBo.getCreatetime(); this.frameno = insOrdersBo.getFrameno(); this.licenseno = insOrdersBo.getLicenseno(); this.insuredname = insOrdersBo.getInsuredname(); this.jqstartdate = insOrdersBo.getJqstartdate(); this.jqenddate = insOrdersBo.getJqenddate(); this.systartdate = insOrdersBo.getSystartdate(); this.syenddate = insOrdersBo.getSyenddate(); } public void setCarUserInfo(InsOrders insOrders, List carUserInfoList) { carUserInfoList.forEach(carUserInfo -> { if (carUserInfo.getId().equals(insOrders.getApplyId())) { this.setApplyinfo(carUserInfo); } if(carUserInfo.getId().equals(insOrders.getOwnerId())){ this.setOwnerinfo(carUserInfo); } if(carUserInfo.getId().equals(insOrders.getInsureId())){ this.setInsureinfo(carUserInfo); } }); } }