package cn.superdesk.uniorder.common.enums.order;

/**
 * @Description: 统一订单 的一些东西转换类
 * 订单状态 OrderState --- 业务系统的
 * 支付状态 PayState ---- 要去处理 关键定 TODO 写死
 * 订单分类 ServiceNo ---- 统一订单的
 * 订单完成状态 CompletState ---- 统一订单的 只分三种 1-已完成 ; 2-未完成 ; 3-已取消
 * @Author: linjinyu
 * @CreateDate: 5/12/20 3:31 PM
 * @UpdateUser: linjinyu
 * @UpdateDate: 5/12/20 3:31 PM
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public class UnifiedOrderCompletStateUtils {


//	NONE(0, "未支付"),
//	SALE(1, "已支付"),
//	NO_SALE(2, "未支付"),
//	PART(3, "部分付款"), // 20200708 终于在文档上找到说明,也查证程序,大概是对的

	// TODO 通过业务方的 订单状态 归一成 统一订单 订单完成 状态 (已完成 未完成 已取消)
//	if (status == 3) {
//		// TODO 写死
//		unifiedOrder.setCompletState(1);
//	} else if (status == -1) {
//		// TODO 写死
//		unifiedOrder.setCompletState(3);
//	} else {
//		// TODO 写死
//		unifiedOrder.setCompletState(2);
//	}

	public static Integer convertBySuperDeskMallOrderStatus(
			/* 商城 Json status 字段 对映 统一订单 orderState */  Integer orderState,
											/* 过来的删除 标记 */ Integer deleted) {


		Integer completState = 0;

		if (orderState.equals(SuperDeskMallOrderStatusEnum.已完成.getKey())) {
			completState = UnifiedOrderCompletStateEnum.已完成.getKey();
		} else if (orderState.equals(SuperDeskMallOrderStatusEnum.已关闭.getKey())) {
			completState = UnifiedOrderCompletStateEnum.已取消.getKey();
		} else {
			completState = UnifiedOrderCompletStateEnum.未完成.getKey();
		}

		// 删除的订单 设为已经关闭 再修正 统一订单 完成 状态 这算是打补丁吧
		/**
		 * 这个地方是有两个意思
		 * 1. 这个单在商城是真的删除了
		 * 2. 拆单的情况 如果有拆单 父单会 会这样过来
		 */
		if (deleted != null && deleted.equals(1)) {
			completState = UnifiedOrderCompletStateEnum.已取消.getKey();
		}

		return completState;

	}


}
