Authored by wujiexiang

Merge branch 'dev_bid' into test6.9.13

Conflicts:
	dal/src/main/java/com/yohoufo/dal/order/model/BuyerOrder.java
	dal/src/main/resources/META-INF/mybatis/order/BuyerOrderMapper.xml
	order/src/main/java/com/yohoufo/order/service/impl/BuyerBidOrderSubmitService.java
	order/src/main/java/com/yohoufo/order/service/impl/SubmitOrderServiceImpl.java
... ... @@ -12,8 +12,6 @@ public interface BuyerOrderMapper {
int insert(BuyerOrder record);
int insertSelective(BuyerOrder record);
BuyerOrder selectByPrimaryKey(Integer id);
List<BuyOrderNums> selectCntByUidStatusAll(@Param("uid") Integer uid);
... ...
package com.yohoufo.dal.order.model;
import com.yohobuy.ufo.model.order.common.OrderStatus;
import com.yohobuy.ufo.model.order.constants.OrderConstant;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
@ToString
public class BuyerOrder {
private Integer id;
private Integer uid;
private Long orderCode;
private Integer sellerUid;
private Integer clientType;
private Integer payment;
private Byte paymentType;
private Byte isCancel;
private BigDecimal amount;
private BigDecimal shipFee;
private Integer status;
// 原始状态
private Integer originalStatus;
private Integer createTime;
private Integer updateTime;
private String channelNo;
private Integer buyerOrderStatus;
private Integer sellerOrderStatus;
@Getter@Setter
private Integer platformDeliveryStatus;//1 平台发货给卖家, 2 平台发货给买家
@Getter@Setter
private Integer attributes;
@Getter@Setter
private Integer sellerDeliveryStatus;//卖家的发货物流:1 :已发货且有物流
@Getter@Setter
private Integer sellerDeliveryDeal;//卖家的发货物流,操作员是否已经处理:0:未处理 ,1 :已处理
@Getter@Setter
private Integer sellerDeliveryDealAgain;//48小时处理,操作员是否已经处理:0:未处理 ,1 :已处理
@Getter@Setter
private Integer activityType;//活动类型:0:普通,18:砍价
//出价类型 0:卖家出价 10:买家出价
@Getter@Setter
private int bidType;
@Getter@Setter
private Integer businessClient;
public Integer getOriginalStatus() {
return originalStatus;
}
public void setOriginalStatus(Integer originalStatus) {
this.originalStatus = originalStatus;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public Long getOrderCode() {
return orderCode;
}
public void setOrderCode(Long orderCode) {
this.orderCode = orderCode;
}
public Integer getSellerUid() {
return sellerUid;
}
public void setSellerUid(Integer sellerUid) {
this.sellerUid = sellerUid;
}
public Integer getClientType() {
return clientType;
}
public void setClientType(Integer clientType) {
this.clientType = clientType;
}
public Integer getPayment() {
return payment;
}
public void setPayment(Integer payment) {
this.payment = payment;
}
public Byte getPaymentType() {
return paymentType;
}
public void setPaymentType(Byte paymentType) {
this.paymentType = paymentType;
}
public Byte getIsCancel() {
return isCancel;
}
public void setIsCancel(Byte isCancel) {
this.isCancel = isCancel;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public BigDecimal getShipFee() {
return shipFee;
}
public void setShipFee(BigDecimal shipFee) {
this.shipFee = shipFee;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getCreateTime() {
return createTime;
}
public void setCreateTime(Integer createTime) {
this.createTime = createTime;
}
public Integer getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Integer updateTime) {
this.updateTime = updateTime;
}
public Integer getBuyerOrderStatus() {
return buyerOrderStatus;
}
public void setBuyerOrderStatus(Integer buyerOrderStatus) {
this.buyerOrderStatus = buyerOrderStatus;
}
public Integer getSellerOrderStatus() {
return sellerOrderStatus;
}
public void setSellerOrderStatus(Integer sellerOrderStatus) {
this.sellerOrderStatus = sellerOrderStatus;
}
public String getChannelNo() {
return channelNo;
}
public void setChannelNo(String channelNo) {
this.channelNo = channelNo == null ? null : channelNo.trim();
}
/**
* 求购订单
*
* @return
*/
public boolean isBidOrder() {
return bidType == OrderConstant.BUYER_BID_TYPE;
}
/**
* 获取支付阶段
* @return
*/
public int getPayLevel() {
return status == OrderStatus.WAITING_PAY_DEPOSIT.getCode() ? OrderConstant.PAY_LEVEL_DEPOSIT : OrderConstant.PAY_LEVEL_COMMON;
}
package com.yohoufo.dal.order.model;
import com.yohobuy.ufo.model.order.common.OrderStatus;
import com.yohobuy.ufo.model.order.constants.OrderConstant;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
@ToString
public class BuyerOrder {
private Integer id;
private Integer uid;
private Long orderCode;
private Integer sellerUid;
private Integer clientType;
private Integer payment;
private Byte paymentType;
private Byte isCancel;
private BigDecimal amount;
private BigDecimal shipFee;
private Integer status;
// 原始状态
private Integer originalStatus;
private Integer createTime;
private Integer updateTime;
private String channelNo;
private Integer buyerOrderStatus;
private Integer sellerOrderStatus;
@Getter@Setter
private Integer platformDeliveryStatus;//1 平台发货给卖家, 2 平台发货给买家
@Getter@Setter
private Integer attributes;
@Getter@Setter
private Integer sellerDeliveryStatus;//卖家的发货物流:1 :已发货且有物流
@Getter@Setter
private Integer sellerDeliveryDeal;//卖家的发货物流,操作员是否已经处理:0:未处理 ,1 :已处理
@Getter@Setter
private Integer sellerDeliveryDealAgain;//48小时处理,操作员是否已经处理:0:未处理 ,1 :已处理
@Getter@Setter
private Integer activityType;//活动类型:0:普通,18:砍价
//出价类型 0:卖家出价 10:买家出价
@Getter@Setter
private int bidType;
@Getter@Setter
private Integer businessClient;
//支付开始时间
@Setter
private int payStartTime;
public Integer getOriginalStatus() {
return originalStatus;
}
public void setOriginalStatus(Integer originalStatus) {
this.originalStatus = originalStatus;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public Long getOrderCode() {
return orderCode;
}
public void setOrderCode(Long orderCode) {
this.orderCode = orderCode;
}
public Integer getSellerUid() {
return sellerUid;
}
public void setSellerUid(Integer sellerUid) {
this.sellerUid = sellerUid;
}
public Integer getClientType() {
return clientType;
}
public void setClientType(Integer clientType) {
this.clientType = clientType;
}
public Integer getPayment() {
return payment;
}
public void setPayment(Integer payment) {
this.payment = payment;
}
public Byte getPaymentType() {
return paymentType;
}
public void setPaymentType(Byte paymentType) {
this.paymentType = paymentType;
}
public Byte getIsCancel() {
return isCancel;
}
public void setIsCancel(Byte isCancel) {
this.isCancel = isCancel;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public BigDecimal getShipFee() {
return shipFee;
}
public void setShipFee(BigDecimal shipFee) {
this.shipFee = shipFee;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getCreateTime() {
return createTime;
}
public void setCreateTime(Integer createTime) {
this.createTime = createTime;
}
public Integer getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Integer updateTime) {
this.updateTime = updateTime;
}
public Integer getBuyerOrderStatus() {
return buyerOrderStatus;
}
public void setBuyerOrderStatus(Integer buyerOrderStatus) {
this.buyerOrderStatus = buyerOrderStatus;
}
public Integer getSellerOrderStatus() {
return sellerOrderStatus;
}
public void setSellerOrderStatus(Integer sellerOrderStatus) {
this.sellerOrderStatus = sellerOrderStatus;
}
public String getChannelNo() {
return channelNo;
}
public void setChannelNo(String channelNo) {
this.channelNo = channelNo == null ? null : channelNo.trim();
}
/**
* 求购订单
*
* @return
*/
public boolean isBidOrder() {
return bidType == OrderConstant.BUYER_BID_TYPE;
}
/**
* 获取支付阶段
* @return
*/
public int getPayLevel() {
return status == OrderStatus.WAITING_PAY_DEPOSIT.getCode() ? OrderConstant.PAY_LEVEL_DEPOSIT : OrderConstant.PAY_LEVEL_COMMON;
}
public int getPayStartTime() {
return payStartTime <= 0 ? getCreateTime() : payStartTime;
}
}
\ No newline at end of file
... ...
... ... @@ -26,11 +26,12 @@
<result column="activity_type" jdbcType="INTEGER" property="activityType" />
<result column="bid_type" jdbcType="INTEGER" property="bidType" />
<result column="business_client" jdbcType="INTEGER" property="businessClient" />
<result column="pay_start_time" jdbcType="INTEGER" property="payStartTime" />
</resultMap>
<sql id="Base_Column_List">
id, uid, order_code, seller_uid, client_type, payment, payment_type, is_cancel, amount,
ship_fee, status, create_time, update_time, buyer_order_status, seller_order_status, channel_no, attributes,platform_delivery_status,
seller_delivery_status,seller_delivery_deal,seller_delivery_deal_again,activity_type, bid_type, business_client
seller_delivery_status,seller_delivery_deal,seller_delivery_deal_again,activity_type, bid_type, business_client, pay_start_time
</sql>
... ... @@ -145,7 +146,7 @@
is_cancel, amount, ship_fee,
status, create_time, update_time,
buyer_order_status, seller_order_status, channel_no, attributes,platform_delivery_status,
seller_delivery_status,seller_delivery_deal,seller_delivery_deal_again,activity_type, bid_type,business_client)
seller_delivery_status,seller_delivery_deal,seller_delivery_deal_again,activity_type, bid_type,business_client, pay_start_time)
values (#{uid,jdbcType=INTEGER}, #{orderCode,jdbcType=BIGINT}, #{sellerUid,jdbcType=INTEGER},
#{clientType,jdbcType=INTEGER}, #{payment,jdbcType=INTEGER}, #{paymentType,jdbcType=TINYINT},
#{isCancel,jdbcType=TINYINT}, #{amount,jdbcType=DECIMAL}, #{shipFee,jdbcType=DECIMAL},
... ... @@ -154,7 +155,7 @@
#{attributes,jdbcType=INTEGER},#{platformDeliveryStatus,jdbcType=INTEGER},
#{sellerDeliveryStatus,jdbcType=INTEGER},#{sellerDeliveryDeal,jdbcType=INTEGER},
#{sellerDeliveryDealAgain,jdbcType=INTEGER},#{activityType,jdbcType=INTEGER},
#{bidType,jdbcType=INTEGER},#{businessClient,jdbcType=INTEGER})
#{bidType,jdbcType=INTEGER},#{businessClient,jdbcType=INTEGER},#{payStartTime,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yohoufo.dal.order.model.BuyerOrder" useGeneratedKeys="true">
insert into buyer_order
... ... @@ -348,10 +349,13 @@
seller_uid = #{sellerUid,jdbcType=INTEGER},
</if>
<if test="status != null">
status = #{status,jdbcType=INTEGER},
status = #{status,jdbcType=INTEGER},
</if>
<if test="payment != null">
payment = #{payment,jdbcType=INTEGER},
payment = #{payment,jdbcType=INTEGER},
</if>
<if test="payStartTime > 0">
pay_start_time = #{payStartTime,jdbcType=INTEGER},
</if>
update_time = #{updateTime,jdbcType=INTEGER}
where uid = #{uid,jdbcType=INTEGER}
... ...
... ... @@ -138,13 +138,13 @@ public abstract class AbstractBuyerOrderStateChanger<T extends RequestedStatusCh
OrderStatus sourceStatus = statusChangeBuyerOrder.getSourceStatus();
OrderStatus targetStatus = statusChangeBuyerOrder.getTargetStatus();
long orderCode = buyerOrder.getOrderCode();
int rows = buyerOrderMapper.updateStatusByOrderCode(
buyerOrder.getOrderCode(),
buyerOrder.getUid(),
sourceStatus.getCode(),
targetStatus.getCode(),
DateUtil.getCurrentTimeSecond()
);
BuyerOrder updatedBuyerOrder = buildUpdatedBuyerOrder(buyerOrder, sourceStatus, targetStatus);
//强制校验
if (updatedBuyerOrder.getOriginalStatus() == null) {
logger.warn("[{}] updatedBuyerOrder original status must be not null", updatedBuyerOrder.getOrderCode());
throw new UfoServiceException(500, "操作失败");
}
int rows = buyerOrderMapper.updateByOrderCode(updatedBuyerOrder);
boolean success = rows > 0;
if (success) {
logger.info("[{}] status was changed in db", buyerOrder.getOrderCode());
... ... @@ -158,6 +158,17 @@ public abstract class AbstractBuyerOrderStateChanger<T extends RequestedStatusCh
return success;
}
protected BuyerOrder buildUpdatedBuyerOrder(BuyerOrder buyerOrder, OrderStatus sourceStatus, OrderStatus targetStatus) {
BuyerOrder updatedBuyerOrder = new BuyerOrder();
updatedBuyerOrder.setUid(buyerOrder.getUid());
updatedBuyerOrder.setOrderCode(buyerOrder.getOrderCode());
updatedBuyerOrder.setUpdateTime(DateUtil.getCurrentTimeSecond());
updatedBuyerOrder.setStatus(targetStatus.getCode());
updatedBuyerOrder.setOriginalStatus(sourceStatus.getCode());
updatedBuyerOrder.setBidType(buyerOrder.getBidType());
return updatedBuyerOrder;
}
/**
* 后续操作
*
... ...
... ... @@ -241,6 +241,7 @@ public abstract class AbsOrderDetailService extends AbsOrderViewService implemen
setPayment(orderDetailInfo, buyerOrder.getPayment());
orderDetailInfo.setCreateTime(DateUtil.formatDate(buyerOrder.getCreateTime(), DateUtil.yyyy_MM_dd_HH_mm_SS));
orderDetailInfo.setSecendLevelCreateTime(buyerOrder.getCreateTime());
orderDetailInfo.setPayStartTime(buyerOrder.getPayStartTime());
// 需要查询 时间点 and 物流定位
orderDetailInfo.setLastExpressInfo(buildNode.lastEID);
... ...
... ... @@ -386,6 +386,7 @@ public abstract class AbsOrderListService extends AbsOrderViewService implements
goodsInfo.setSkup(buyerOrderGoods.getSkup());
orderListInfo.setGoodsInfo(goodsInfo);
orderListInfo.setSecendLevelCreateTime(buyerOrder.getCreateTime());
orderListInfo.setPayStartTime(buyerOrder.getPayStartTime());
orderListInfo.setCreateTime(DateUtil.formatDate(buyerOrder.getCreateTime(), DateUtil.yyyy_MM_dd_HH_mm_SS));
setAddressInfo(orderListInfo);
orderListInfo.setAppraiseVideoUrl(appraiseVideo.get(buyerOrder.getOrderCode()));
... ...
... ... @@ -173,11 +173,11 @@ public abstract class AbsOrderViewService {
protected abstract String buildOrderTypeTag(Integer orderAttr, SkupType skupType);
protected TimeoutBo getTimeoutBo(int uid, long orderCode, int bidType, int createTime, int orderStatusCode, OrderAttributes oa, TabType tabType) {
protected TimeoutBo getTimeoutBo(int uid, long orderCode, int bidType, int payStartTime, int orderStatusCode, OrderAttributes oa, TabType tabType) {
BuyerOrder buyerOrder = new BuyerOrder();
buyerOrder.setUid(uid);
buyerOrder.setOrderCode(orderCode);
buyerOrder.setCreateTime(createTime);
buyerOrder.setPayStartTime(payStartTime);
buyerOrder.setBidType(bidType);
DetailItem detailItem = orderStatusDetailItemFactory.get(buyerOrder, OrderStatus.getOrderStatus(orderStatusCode), tabType);
if (detailItem != null) {
... ... @@ -185,7 +185,7 @@ public abstract class AbsOrderViewService {
} else {
return calTimeout(TabType.BUY, uid, orderCode,
orderStatusCode,
createTime, oa);
payStartTime, oa);
}
}
... ...
... ... @@ -138,6 +138,7 @@ public class BuyerBidOrderSubmitService {
buyerOrder.setActivityType(orderBuilder.getActivityBo().getActivityType());
buyerOrder.setBidType(OrderConstant.BUYER_BID_TYPE);
buyerOrder.setBusinessClient(orderBuilder.getBusinessClient());
buyerOrder.setPayStartTime(now);
buyerOrderMapper.insert(buyerOrder);
return buyerOrder;
}
... ...
... ... @@ -242,7 +242,7 @@ public class BuyerOrderDetailService extends AbsOrderDetailService implements IO
TimeoutBo timeoutBo = getTimeoutBo(orderDetailInfo.getUid(),
orderDetailInfo.getOrderCode(),
orderDetailInfo.getBidType(),
orderDetailInfo.getSecendLevelCreateTime(),
orderDetailInfo.getPayStartTime(),
orderStatusCode,
oa, TabType.BUY);
... ...
... ... @@ -149,7 +149,7 @@ public class BuyerOrderListServiceImpl extends AbsOrderListService implements IO
list.forEach(oli -> {
OrderAttributes oa = OrderAttributes.getOrderAttributes(oli.getAttributes());
TimeoutBo timeoutBo = getTimeoutBo(oli.getUid(), oli.getOrderCode(), oli.getBidType(), oli.getSecendLevelCreateTime(), oli.getStatus(), oa, TabType.BUY);
TimeoutBo timeoutBo = getTimeoutBo(oli.getUid(), oli.getOrderCode(), oli.getBidType(), oli.getPayStartTime(), oli.getStatus(), oa, TabType.BUY);
// TimeoutBo timeoutBo = calTimeout(TabType.BUY, oli.getUid(), oli.getOrderCode(), oli.getStatus(),
// oli.getSecendLevelCreateTime(), oa);
Integer leftTime = timeoutBo.getLeftTime();
... ...
... ... @@ -565,7 +565,6 @@ public class SellerOrderDetailService extends AbsOrderDetailService implements I
if (codeMeta!=null) {
Integer buyerUid=null;
Integer createTime = null;
OrderCodeType orderCodeType = OrderCodeType.getOrderCodeType(codeMeta.getType());
OrderAttributes oa = null;
TimeoutBo timeoutBo = null;
... ... @@ -573,16 +572,15 @@ public class SellerOrderDetailService extends AbsOrderDetailService implements I
BuyerOrder buyerOrder = buyerOrderMapper.selectOnlyByOrderCode(orderCode);
buyerUid = buyerOrder.getUid();
orderStatus = buyerOrder.getStatus();
createTime = buyerOrder.getCreateTime();
oa = OrderAttributes.getOrderAttributes(buyerOrder.getAttributes());
timeoutBo = getTimeoutBo(buyerUid, orderCode,
orderDetailInfo.getBidType(),
createTime,
buyerOrder.getPayStartTime(),
orderStatus,
oa, TabType.SELL);
}else{
orderStatus = orderDetailInfo.getStatusDetail().getStatus();
createTime = orderDetailInfo.getSecendLevelCreateTime();
Integer createTime = orderDetailInfo.getSecendLevelCreateTime();
timeoutBo = calTimeout(TabType.SELL, buyerUid, orderCode,
orderStatus, createTime, oa);
}
... ...
... ... @@ -217,7 +217,7 @@ public class SellerOrderListService extends AbsOrderListService implements IOrde
//存在时说明已经有买家下单 当前状态来自于买家订单
Integer buyerUid = buyerOrder.getUid();
OrderAttributes oa = OrderAttributes.getOrderAttributes(buyerOrder.getAttributes());
TimeoutBo timeoutBo = getTimeoutBo(buyerUid, orderCode, buyerOrder.getBidType(), buyerOrder.getCreateTime(), orderStatus, oa, TabType.SELL);
TimeoutBo timeoutBo = getTimeoutBo(buyerUid, orderCode, buyerOrder.getBidType(), buyerOrder.getPayStartTime(), orderStatus, oa, TabType.SELL);
//TimeoutBo timeoutBo = calTimeout(TabType.SELL, buyerUid, orderCode, orderStatus, buyerOrder.getCreateTime(), oa);
if (Objects.nonNull(timeoutBo)){
oli.setLeftTime(timeoutBo.getLeftTime());
... ...
... ... @@ -314,6 +314,7 @@ public class SubmitOrderServiceImpl implements ISubmitOrderService {
//活动类型
buyerOrder.setActivityType(orderBuilder.getActivityBo().getActivityType());
buyerOrder.setBusinessClient(orderBuilder.getBusinessClient());
buyerOrder.setPayStartTime(now);
buyerOrderMapper.insert(buyerOrder);
return buyerOrder;
}
... ...
... ... @@ -3,6 +3,7 @@ package com.yohoufo.order.service.impl.statechange;
import com.google.common.collect.Lists;
import com.yohobuy.ufo.model.order.common.OrderStatus;
import com.yohoufo.common.alarm.EventBusPublisher;
import com.yohoufo.common.utils.DateUtil;
import com.yohoufo.dal.order.model.BuyerOrder;
import com.yohoufo.order.event.BuyerOrderDelayCancelEvent;
import com.yohoufo.order.model.RequestedStatusChangeBuyerOrder;
... ... @@ -18,6 +19,15 @@ import static com.yohobuy.ufo.model.order.common.OrderStatus.*;
@Service
public class BuyerOrderBidingToWaitingPayChanger extends AbstractBuyerOrderStateChanger<RequestedStatusChangeBuyerOrder> {
@Override
protected BuyerOrder buildUpdatedBuyerOrder(BuyerOrder buyerOrder, OrderStatus sourceStatus, OrderStatus targetStatus) {
BuyerOrder updatedBuyerOrder = super.buildUpdatedBuyerOrder(buyerOrder, sourceStatus, targetStatus);
//支付开始时间
updatedBuyerOrder.setPayStartTime(DateUtil.getCurrentTimeSecond());
return updatedBuyerOrder;
}
@Override
protected Collection<Statement> afterStatements(RequestedStatusChangeBuyerOrder statusChangeBuyerOrder) {
BuyerOrder buyerOrder = statusChangeBuyerOrder.getBuyerOrder();
... ...
... ... @@ -35,17 +35,17 @@ public class BuyerOrderStatusDetailItemFactory {
private DetailItem getBidOrderDetailItem(BuyerOrder buyerOrder, OrderStatus orderStatus, TabType tabType) {
DetailItem detailItem = null;
int createTime = buyerOrder.getCreateTime();
int payStartTime = buyerOrder.getPayStartTime();
switch (orderStatus) {
case WAITING_PAY_DEPOSIT:
detailItem = new WaitingPayDepositItem(createTime);
detailItem = new WaitingPayDepositItem(payStartTime);
break;
case BIDING:
BidOrderMetaBo bidOrderMetaBo = buyerOrderMetaMapperSupport.selectCachedMetaValueByMetaKey(buyerOrder.getUid(), buyerOrder.getOrderCode(), MetaKey.BID_KEY, BidOrderMetaBo.class);
detailItem = new BidingOrderItem(bidOrderMetaBo.getDay());
break;
case WAITING_PAY:
detailItem = new WaitingPayItem(createTime, tabType);
detailItem = new WaitingPayItem(payStartTime, tabType);
break;
case BUYER_BID_CANCEL_PAY:
detailItem = new BuyerBidCancelPayItem(tabType);
... ... @@ -91,7 +91,7 @@ public class BuyerOrderStatusDetailItemFactory {
public final static String CANCEL_TIMEOUT_BEFORE_PAY_SELLER_DESC = "买家付款超时,系统取消订单,您已获得买家定金赔偿";
//创建时间 秒
protected int createTime;
protected int payStartTime;
//操作限制 单位秒
private int timeOutLimit;
protected TabType tabType;
... ... @@ -104,12 +104,12 @@ public class BuyerOrderStatusDetailItemFactory {
this(0, 0, tabType);
}
public AbstractOrderDetailItem(int createTime, int timeOutLimit) {
this(createTime, timeOutLimit, TabType.BUY);
public AbstractOrderDetailItem(int payStartTime, int timeOutLimit) {
this(payStartTime, timeOutLimit, TabType.BUY);
}
public AbstractOrderDetailItem(int createTime, int timeOutLimit, TabType tabType) {
this.createTime = createTime;
public AbstractOrderDetailItem(int payStartTime, int timeOutLimit, TabType tabType) {
this.payStartTime = payStartTime;
this.timeOutLimit = timeOutLimit;
this.tabType = tabType;
}
... ... @@ -118,9 +118,9 @@ public class BuyerOrderStatusDetailItemFactory {
public TimeoutBo getTimeoutBo() {
TimeoutBo timeoutBo = new TimeoutBo();
timeoutBo.setLeftTime(0);
if (timeOutLimit > 0 && createTime > 0) {
if (timeOutLimit > 0 && payStartTime > 0) {
timeoutBo.setTimelimit(timeOutLimit);
int leftTime = TimeUtils.calLeftTime(timeOutLimit, this.createTime);
int leftTime = TimeUtils.calLeftTime(timeOutLimit, this.payStartTime);
if (leftTime > 0) {
timeoutBo.setLeftTime(leftTime);
}
... ... @@ -134,8 +134,8 @@ public class BuyerOrderStatusDetailItemFactory {
* 待付定金
*/
private class WaitingPayDepositItem extends AbstractOrderDetailItem {
public WaitingPayDepositItem(int createTime) {
super(createTime, DelayTime.BUYER_ORDER_WAITING_PAY_DEPOSIT * 60);
public WaitingPayDepositItem(int payStartTime) {
super(payStartTime, DelayTime.BUYER_ORDER_WAITING_PAY_DEPOSIT * 60);
}
@Override
... ... @@ -166,8 +166,8 @@ public class BuyerOrderStatusDetailItemFactory {
* 待支付
*/
private class WaitingPayItem extends AbstractOrderDetailItem {
public WaitingPayItem(int createTime, TabType tabType) {
super(createTime, DelayTime.BUYER_BID_ORDER_WAITING_PAY * 60, tabType);
public WaitingPayItem(int payStartTime, TabType tabType) {
super(payStartTime, DelayTime.BUYER_BID_ORDER_WAITING_PAY * 60, tabType);
}
@Override
... ...