using System.Collections.Generic;
using Alipay.AopSdk.Core.Response;
using Alipay.AopSdk.Core.Util;
namespace Alipay.AopSdk.Core.Request
{
///
/// AOP API: zhima.merchant.closeloop.data.upload
///
public class ZhimaMerchantCloseloopDataUploadRequest : IAopUploadRequest
{
///
/// 公用回传参数(非必填),该参数会透传给商户,商户可以用于业务逻辑处理,请使用json格式。
///
public string BizExtParams { get; set; }
///
/// 单条数据的数据列,多个列以逗号隔开。
///
public string Columns { get; set; }
///
/// 传入的json格式的文件,其中records属性必填。json中的字段可以通过如下步骤获取:首先调用zhima.merchant.data.upload.initialize接口获取数据模板,该接口会返回一个数据模板文件的url地址,如:http://zmxymerchant-prod.oss-cn-shenzhen.zmxy.com.cn/openApi/openDoc/信用护航-负面记录和信用足迹商户数据模板V1.0.xlsx,该数据模板文件详细列出了需要传入的字段,及各字段的要求,data中的各字段就是该文件中列出的字段编码。
///
public FileItem File { get; set; }
///
/// 文件的编码,如果文件格式是UTF-8,则填写UTF-8,如果文件格式是GBK,则填写GBK。
///
public string FileCharset { get; set; }
///
/// 主键列使用传入字段进行组合,也可以使用传入的某个单字段(确保主键稳定,而且可以很好的区分不同的数据)。例如order_no,pay_month或者order_no,bill_month组合,对于一个order_no只会有一条数据的情况,直接使用order_no作为主键列。
///
public string PrimaryKeyColumns { get; set; }
///
/// 文件数据记录条数,如file字段中的record数组有10条数据,那么就填10。
///
public string Records { get; set; }
///
/// 数据应用的场景编码 ,场景码和场景名称(数字为场景码)如下: 1:负面披露 2:信用足迹 3:负面+足迹 4:信用守护 5:负面+守护 6:足迹+守护 7:负面+足迹+守护 8:数据反馈 32:骑行
/// 每个场景码对应的数据模板不一样,请使用zhima.merchant.data.upload.initialize接口获取场景码对应的数据模板。
///
public string SceneCode { get; set; }
#region IAopUploadRequest Members
public IDictionary GetFileParameters()
{
IDictionary parameters = new Dictionary();
parameters.Add("file", File);
return parameters;
}
#endregion
#region IAopRequest Members
private bool needEncrypt;
private string apiVersion = "1.0";
private string terminalType;
private string terminalInfo;
private string prodCode;
private string notifyUrl;
private string returnUrl;
private AopObject bizModel;
public void SetNeedEncrypt(bool needEncrypt)
{
this.needEncrypt = needEncrypt;
}
public bool GetNeedEncrypt()
{
return needEncrypt;
}
public void SetNotifyUrl(string notifyUrl)
{
this.notifyUrl = notifyUrl;
}
public string GetNotifyUrl()
{
return notifyUrl;
}
public void SetReturnUrl(string returnUrl)
{
this.returnUrl = returnUrl;
}
public string GetReturnUrl()
{
return returnUrl;
}
public void SetTerminalType(string terminalType)
{
this.terminalType = terminalType;
}
public string GetTerminalType()
{
return terminalType;
}
public void SetTerminalInfo(string terminalInfo)
{
this.terminalInfo = terminalInfo;
}
public string GetTerminalInfo()
{
return terminalInfo;
}
public void SetProdCode(string prodCode)
{
this.prodCode = prodCode;
}
public string GetProdCode()
{
return prodCode;
}
public void SetApiVersion(string apiVersion)
{
this.apiVersion = apiVersion;
}
public string GetApiVersion()
{
return apiVersion;
}
public string GetApiName()
{
return "zhima.merchant.closeloop.data.upload";
}
public IDictionary GetParameters()
{
var parameters = new AopDictionary();
parameters.Add("biz_ext_params", BizExtParams);
parameters.Add("columns", Columns);
parameters.Add("file_charset", FileCharset);
parameters.Add("primary_key_columns", PrimaryKeyColumns);
parameters.Add("records", Records);
parameters.Add("scene_code", SceneCode);
return parameters;
}
public AopObject GetBizModel()
{
return bizModel;
}
public void SetBizModel(AopObject bizModel)
{
this.bizModel = bizModel;
}
#endregion
}
}