using System;
using System.Runtime.InteropServices;
using System.Reflection;
namespace kinginterface
{
/// <summary>
/// dll 的摘要说明。
/// </summary>
public class dll
{
public dll()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
[DllImport("WebService.dll", CharSet= CharSet.Ansi)]
public static extern int init(string HostAddress, int HALength, string HostProtocol, int HPLength,string ModuleName, int MNlength, string ServiceName, int SNLength, int HostPort); //初始化
[DllImport("WebService.dll", CharSet= CharSet.Ansi)]
public static extern int UserLogin(char[] username,int UNLength,char[] password,int PSLength);//登陆
[DllImport("WebService.dll", CharSet= CharSet.Ansi)]
public static extern int getTransferDatas(bool B_SynchronizeType,int DataLen ,int Switch);//取得下发数据
/*参数说明: bool B_SynchronizeType :是否取完整帐户 True取完整帐户
unsigned int DataLen :一次取下发数据的条数
unsigned int switch :是否生成交互文件名:=1 生成交互文件,交互文件名称1000FullAccountTransferData.Txt、
1002BaseAccountTransferData.Txt、2000CardTransferData.Txt、3002BalanceTransferData.Txt
返 回 值: int :=1失败 0成功
说 明:返回0,如果一卡通平台有下发的数据,就会在/file下生成FullAccountTransferData.Txt、BaseAccountTransferData.Txt、CardTransferData.Txt、BalanceTransferData.Txt四个文件;如果返回值为1,表示取得下发数据失败。成功或失败的信息会记录到syslog/syslog日期.txt中。
文件说明:1、FullAccountTransferData文件中每行数据的使用tab分隔,字段顺序为:
帐户ID 帐户名称 用户部门ID 用户编号 帐户类型 帐户状态 性别 生日 有效期
籍贯 身份证件 银行卡号 帐户密码 民族ID 国籍ID 身份ID 是否有效
其中:帐户类型:1-正常;2-临时
帐户状态:0-正常;1-挂起;9-注销
性 别:0-未知;1-男;2-女;9未定义
是否有效:true-有效;false-无效
2、BaseAccountTransferData文件中每行数据的格式为(用tab进行分割):
帐户ID 帐户名称 用户部门 用户编号 帐户类型 帐户状态 性别 生日 有效期
籍贯 身份证件 银行卡号 帐户密码 民族 国籍ID 身份ID 是否有效
其中:帐户类型:1-正常;2-临时
帐户状态:0-正常;1-挂起;9-注销
性 别:0-未知;1-男;2-女;9未定义
是否有效:true-有效;false-无效
3、CardTransferData文件中每行数据使用tab进行分割,字段顺序为:
户ID 卡号 卡状态 卡类型ID 是否有效
其中:卡 状 态:1-正常;0-挂失;2-挂起;
是否有效:true-有效;false-无效。
4、BalanceTransferData文件中每行数据使用tab进行分割:
帐户ID 余额ID 余额 是否有效
*/
[DllImport("WebService.dll", CharSet= CharSet.Ansi)]
public static extern int getUserDeptToFile ( int Switch);//生成用户部门文件
/*参数说明:Unsigned int Switch :交互文件开关,=1生成交互文件,交互文件名称 UserDeparmentListToFile.Txt
返 回 值: int :生成用户部门文件成功返回0,否则返回1。用户部门文件生成后,会在/File文件夹下生成一个名称为DepartemList的文本文件,其中文本文件中每行为一个用户部门的信息,每行包括多字段,其中通过tab分割,具体如下:部门编号 中文名称 英文名称 部门类型 部门属性 父部门编号 层数 是否有效 组合编码
说 明:成功或失败的信息记录到syslog/syslog日期.txt中。
*/
[DllImport("WebService.dll", CharSet= CharSet.Ansi)]
public static extern string getRoleList(out int ReCode, out int PRoleListLen, out int ToFile,int Switch);//取得持卡人用户身份列表
/*参数说明:unsigned int* ReCode :Dll操作是否成功,1:失败,0:成功
unsigned int * PRoleListLen :返回的身份列表字长度
unsigned int ToFile :=1,生成数据文件,数据文件名称:/file/ RoleList.Txt
数据文件:文件中每行为一个数据,每行数据中的字段通过tab分割,字段顺序:身份ID 身份名称 管理费 工本费 押金 其它费率 保留 有效标志 加卡工本费
unsigned int Switch :是否生成交互文件,交互文件名:RoleList日期.Txt
返 回 值: char * :为空:取用户身份列表失败;若不为空:返回身份列表数据。
数据格式:两个类型之间通过#6分割,每个类型中的字段通过/x5分割。
单个数据:身份ID/x5身份名称/x5管理费/x5工本费/x5押金/x5其它费率/x5保留/x5有效标志/x5加卡工本费
说 明:成功或失败的信息记录到syslog/syslog日期.txt中。
*/
[DllImport("WebService.dll", CharSet= CharSet.Ansi)]
public static extern int getTradeBranchToFile (int Switch);//生成营业部门文件
/*:Unsigned int Switch :交互文件开关,=1生成交互文件,交互文件名称 TradeBranchListToFile.Txt
返 回 值: int :生成营业部门文件成功返回0,否则返回1。营业部门文件生成后,会在/File文件夹下生成一个名称为TradeBranchListToFile的文本文件,其中文本文件中每行为一个营业部门的信息,每行包括多字段,其中通过tab分割,具体如下:部门编号 中文名称 英文名称 部门类型 部门层数 是否有效 父部门编号 组合编码
说 明:成功或失败的信息记录到syslog/syslog日期.txt中。
*/
[DllImport("WebService.dll", CharSet= CharSet.Ansi)]
public static extern string getTradeBranchLastLeaf( int ReCode, int PTradeBranchLastLen, int ToFile,int Switch);//取得登录工作站的营业部门最末级
/*参数说明:unsigned int * ReCode :是否成功,1:失败,0:成功
unsigned int * PTradeBranchLastLen :营业部门最末级字符串长度
unsigned int ToFile :=1,生成数据文件,数据文件名称:/file/ TradeBranchList.Txt
数据文件:数据文件中每行为一个数据,每行数据中的字段通过tab分割,字段顺序:ID 英文名称 中文名称 类型 是否有效 拓扑编码
unsigned int Switch :是否生成交互文件,=1生成交互文件,交互文件名:TradeBranchList日期.Txt
返 回 值:char * :为空:取营业部门最末级失败;若不为空:返回营业部门数据。
数据格式:两个类型之间通过/x6分割,每个类型中的字段通过/x5分割。
单个数据:营业部门ID /x5营业部门英文名称/x5营业部门中文名称/x5营业部门类型/x5是否有效/x5拓扑编码*/
}
}
用直接dll.getTradeBranchLastLeaf(参数)