package cn.superdesk.uniorder.dto.param.thirdpart.jd;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2022/6/9 10:35 上午
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022/6/9 10:35 上午
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
@Data
public class SysQuartzScheduleTaskStatementOfAccountJdOpCancelForm implements Serializable {

    @ApiModelProperty("目前为后端填充值")
    private String batchId;

    @ApiModelProperty("sysQuartzScheduleTaskStatementOfAccountJdId opList 上的Id")
    private Long   sysQuartzScheduleTaskStatementOfAccountJdId;

// 【1. 供应商结算-1.2 京东对账-1.2.9 操作项-初步整理-20220606】
// https://www.tapd.cn/33003868/prong/stories/view/1133003868001004590
//1.2.9.2.2 “取消账单”二次确认弹框
//1.2.9.2.2.1【取消账单】
//（1）前端需判断：加防频繁点击；
//（2）服务端需判断
//----该对账任务存在，若不存在，1.5s提示“该对账任务不存在，请返回检查”；
//----该对账任务的对账状态为“对账完成”，若非“对账完成”，1.5s提示“该对账任务未对账完成，请返回检查”；
//----该对账任务的对账结果为“正常”，若非“正常”，1.5s提示“该对账任务对账结果非正常，请返回检查”；

//----该对账任务的对账单状态为“未确认”，若非“未确认”，1.5s提示“该对账任务已创建对账单，请返回检查”；
//----该对账任务的结算中心账单编号为空，若非空，1.5s提示“该对账任务已创建对账单，请返回检查”；----
//
//满足以上条件，即允许取消账单：
//将该对账单任务的对账单状态变更为“已取消”；~
//将该对账任务中所匹配的结算中心供应商结算的商品订单数据的对账状态变更为“未对账”；
//物理删除该对账任务中对账明细所匹配的结算中心商品订单数据（非删除供应商结算未对账商品订单数据）；
//该对账任务的主表字段数据内容无需清除，需保留含金额字段；
//记录操作日志，日志内容技术自定；
//更新人&更新时间：取当前操作成功的人和时间；
//弹框关闭，1.5s提示“取消账单成功：匹配商品订单数据已释放回未对账商品中”；
//列表筛选查询条件保持原有不变，列表数据更新；
//说明：供应商结算-对账单-【重新对账】功能也可将该对账单的对账单状态变更为“已取消”，重新对账只影响该对账任务所关联对账单的对账单状态，同时重新对账原有机制不变，也可将对账单中商品订单数据的对账状态变更为“未对账”，释放回未对账商品中。
//
}
