package com.matrix.system.hive.bean; import com.fasterxml.jackson.annotation.JsonFormat; import com.matrix.core.anotations.Extend; import com.matrix.core.pojo.EntityDTO; import com.matrix.core.tools.DateUtil; import com.matrix.system.common.bean.EntityDTOExt; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; import java.util.List; /** * @date 2016-07-03 20:53 */ public class SysProjUse extends EntityDTO { private static final long serialVersionUID = 1L; /**f * 客户项目使用情况 */ private Long id; /** * 客户id */ private Long vipId; /** * 项目id */ private Long projId; /** * 剩余次数 */ private Integer surplusCount; /** * 是否使用完成Y完成,N未完成 */ private String isOver; /** * 有效期 */ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8") @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_DD) private Date failTime; private Date targetFailTime; /** * 套餐id */ private Long taocanId; /** * 订单明细id 不明确 */ private Long orderItemId; /** * 订单id */ @Extend private Long orderId; /** * 单次扣减金额(理解为单次手工业绩) * =订单金额/订单数量 * 如果是赠送则等于产品原价,业绩记录为赠销 */ private Double price; /** * 组合产品id */ private Long assembleId; /** * 套餐来源,转让,购买 */ private String source; /** * 套餐状态,有效,无效,冻结,转让,退款 */ private String status; /** * 表示订单是来源于线上还是线下(值为线上+ORDER_ITEM_ID或者线下+ORDER_ITEM_ID) */ private String platformFlag; /** * 项目使用情况类型 * 项目,套餐,套餐卡 */ private String type; /** * 使用情况余额 */ private Double balance; /** * 备注 */ private String remark; /** * 套餐名称 */ private String tcName; /** * 项目名称 */ private String projName; /** * 套餐类型 N=固定套餐,Y=任选套餐 */ private String isCourse; /** * 任选套餐 是否无限次 Y-是 N-否 */ private String isInfinite; /** * 单次划扣次数 */ private Integer deductionNum; private Integer timeLength; private String img; private String queryKey; @Extend private String updateRemark; /** * 套餐/项目剩余次数 */ private Integer remainCount; public Integer getRemainCount() { return remainCount; } public void setRemainCount(Integer remainCount) { this.remainCount = remainCount; } public Long getOrderId() { return orderId; } public void setOrderId(Long orderId) { this.orderId = orderId; } public String getUpdateRemark() { return updateRemark; } public void setUpdateRemark(String updateRemark) { this.updateRemark = updateRemark; } public Date getTargetFailTime() { return targetFailTime; } public void setTargetFailTime(Date targetFailTime) { this.targetFailTime = targetFailTime; } public String getQueryKey() { return queryKey; } public void setQueryKey(String queryKey) { this.queryKey = queryKey; } public Integer getTimeLength() { return timeLength; } public void setTimeLength(Integer timeLength) { this.timeLength = timeLength; } public String getImg() { return img; } public void setImg(String img) { this.img = img; } public String getIsInfinite() { return isInfinite; } public void setIsInfinite(String isInfinite) { this.isInfinite = isInfinite; } public String getIsCourse() { return isCourse; } public void setIsCourse(String isCourse) { this.isCourse = isCourse; } public String getProjName() { return projName; } public void setProjName(String projName) { this.projName = projName; } public Integer getDeductionNum() { return deductionNum; } public void setDeductionNum(Integer deductionNum) { this.deductionNum = deductionNum; } public String getTcName() { return tcName; } public void setTcName(String tcName) { this.tcName = tcName; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } /** * 扩展字段 */ /** * 套餐中包含的项目 */ @Extend private List taocanProjUse; @Extend @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone="GMT+8") private Date failTimeStr; /** * 服务单项目中间表id */ private Long serProjId; /** * 套餐余额(页面显示) */ private Double taocanBalance; /** * TODO 这种记录套餐余额余次的方式不合理,优化更合理的记录方式 * 套餐信息 */ @Extend private ShoppingGoods shoppingGoods; /** * TODO 组合里面的信息可以冗余到项目榆次中来,没必要在关联一个对象 * 组合产品销售sku信息 */ @Extend private ShoppingGoodsAssemble shoppingGoodsAssemble; /** * 项目信息 */ @Extend private ShoppingGoods projInfo; public Date getFailTimeStr() { return failTimeStr; } public void setFailTimeStr(Date failTimeStr) { this.failTimeStr = failTimeStr; } public ShoppingGoodsAssemble getShoppingGoodsAssemble() { return shoppingGoodsAssemble; } public void setShoppingGoodsAssemble(ShoppingGoodsAssemble shoppingGoodsAssemble) { this.shoppingGoodsAssemble = shoppingGoodsAssemble; } public ShoppingGoods getProjInfo() { return projInfo; } public void setProjInfo(ShoppingGoods projInfo) { this.projInfo = projInfo; } public Double getTaocanBalance() { return taocanBalance; } public ShoppingGoods getShoppingGoods() { return shoppingGoods; } public void setShoppingGoods(ShoppingGoods shoppingGoods) { this.shoppingGoods = shoppingGoods; } public Long getAssembleId() { return assembleId; } public void setAssembleId(Long assembleId) { this.assembleId = assembleId; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } public void setTaocanBalance(Double taocanBalance) { this.taocanBalance = taocanBalance; } public String getStatus() { return status; } public Long getSerProjId() { return serProjId; } public void setSerProjId(Long serProjId) { this.serProjId = serProjId; } public void setStatus(String status) { this.status = status; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public Date getFailTime() { return failTime; } public void setFailTime(Date failTime) { this.failTimeStr=failTime; this.failTime = failTime; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getOrderItemId() { return orderItemId; } public Long getVipId() { return vipId; } public void setVipId(Long vipId) { this.vipId = vipId; } public void setOrderItemId(Long orderItemId) { this.orderItemId = orderItemId; } public Long getProjId() { return projId; } public void setProjId(Long projId) { this.projId = projId; } public Integer getSurplusCount() { return surplusCount; } public void setSurplusCount(Integer surplusCount) { this.surplusCount = surplusCount; } public String getIsOver() { return isOver; } public void setIsOver(String isOver) { this.isOver = isOver; } public Long getTaocanId() { return taocanId; } public void setTaocanId(Long taocanId) { this.taocanId = taocanId; } public String getPlatformFlag() { return platformFlag; } public void setPlatformFlag(String platformFlag) { this.platformFlag = platformFlag; } public String getType() { return type; } public void setType(String type) { this.type = type; } public Double getBalance() { return balance; } public void setBalance(Double balance) { this.balance = balance; } public List getTaocanProjUse() { return taocanProjUse; } public void setTaocanProjUse(List taocanProjUse) { this.taocanProjUse = taocanProjUse; } }