SubscribeInfo+SPID+yyyyMMddHHmm+xxx+nnnn.ttt
SPID 八位,不足八位,左补零
文件产生的时间(12位yyyyMMddHHmm精确到年月日时分)
xxx为省分代码。
nnnn 是4位序列号,每天从“0001”开始,到达”9999”后又从“0001”开始。
ttt表示文件类型,req表示请求, rsp表示请求结果。每一个req文件都应该有一个rsp文件与其对应。
举例如下:
对账请求文件名:SubscribeInfo000416902011081306040170001.req
对账回执文件名:SubscribeInfo000416902011081306040170001.rsp
文件名:SubscribeInfo+SPID+yyyyMMddHHmm+xxx+nnnn.req
增量请求文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/request
增量请求正确回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/right
增量请求文件级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/bad
增量请求记录级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/semiwrong
1.1 定购关系同步接口
1.1.1 接口描述
采用文件方式。
文件采用GBK编码格式,
文件体不定长,文件体各属性间使用‘\t’分隔,在生成记录时若相应的属性值为空,直接用分隔符隔开,分隔符之间无其他符号。
文件体中一行作为一条记录,各条记录之间用换行符‘\n’作为分隔并在文件中连续书写。
文件头定长,各属性间无分隔符。
文件的维护由VAC负责。
包括增量稽核接口、全量同步。对CRM增量、全量文件形式的订购、退订数据,VAC仅以文件方式通知SP,不以实时方式通知。
(1)增量稽核接口
该接口用于VAC与SP每天稽核增量订购关系。包括批量定购和退订。
VAC将每天增量文件放到VAC为SP提供的文件服务器的目录下。双方通过文件传输实现接口。文件服务器上设定具有对相应目录存取权限的用户。VAC为SP分配具有读写文件权限的用户和密码。
VAC每个小时(可配置)生成1个文件,10万条以内只能是1个文件,超过10万条另起1个文件,不能出现跨天的情况。SP于每天凌晨1:00进行稽核文件资料同步。资料同步周期应具有根据最新规定进行可调的能力。
VAC在某时刻生成的实时数据包含在当天增量数据中及当月全量数据中。对增量文件稽核接口,VAC只把对定购关系的最后一次操作记录传递给SP,不传递中间过程,例如当用户某天定购某产品、接着又退订该产品后,增量同步时VAC只把最后一次退订操作记录传递给SP,不传递前一次的定购操作。
(2)全量同步接口
该接口用于VAC与SP同步全量订购关系。其中10万条以内只能是1个文件,超过10万条另起1个文件,不能出现跨天的情况。
VAC将全量文件放到VAC为SP提供的文件服务器的目录下。系统于每月1日凌晨2:00进行全量文件资料同步。资料同步周期应具有根据最新规定进行可调的能力。
1.1.2 发起方系统
VAC。
1.1.3 接受方系统
SP。
1.1.4 接口协议
FTP 文件。
1.1.5 接口内容
文件目录
增量请求文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/request
增量请求正确回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/right
增量请求文件级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/bad,文件级错误代码参见附录
增量请求记录级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/semiwrong,记录级错误代码参见附录。
全量请求文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/request
全量请求正确回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/right
全量请求文件级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/bad,文件级错误代码参见附录
全量请求记录级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/semiwrong,记录级错误代码参见附录。
存放SP与VAC全量同步数据稽核后、SP中多余数据的文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/redundant
文件命名: SubscribeInfo+SPID+yyyyMMddHHmm+xxx+nnnn.ttt
SPID 八位,不足八位,左补零
文件产生的时间(12位yyyyMMddHHmm精确到年月日时分)
xxx为省分代码。
nnnn 是4位序列号,每天从“0001”开始,到达”9999”后又从“0001”开始。
ttt表示文件类型,req表示请求, rsp表示请求结果。每一个req文件都应该有一个rsp文件与其对应。
1.1.5.1 请求文件头(定长)
序号
属性名
长度
备注
1
文件序列号(流水号)
CHAR(4)
0001开始,排满9999后重新循环
2
版本信息
CHAR(5)
缺省:00000
3
文件产生时间
CHAR(14)
yyyymmddhhmmss
4
文件生成方系统代码
CHAR(3)
902
5
记录开始日期时间
CHAR(14)
yyyymmddhhmmss
6
记录结束日期时间
CHAR(14)
yyyymmddhhmmss
7
总记录数
CHAR(10)
8
备用
CHAR(40)
9
换行
CHAR(1)
1.1.5.2 请求文件体
参数名
类型
大小
描述
RecordSequenceID
String
18
流水号,
UserIdType
Integer
4
用户ID类型
1: MSISDN
2: PsedoCode
UserId
String
36
用户手机号码或伪码
UserIdType填1 为手机号码
UserIdType填2 为伪码
ServiceType
String
2
业务类型,见附录A7
SpId
String
21
SP标识
SP_ProductId
String
21
产品标识(此为SP在PRM侧申请的SP_Productid)
UpdateType
Integer
4
对全量同步文件,忽略本字段取值
更新操作的类型包括:
1:订购
2:退定
4:定购关系变更(一般是修改有效期)
5:改号
UpdateTime
String
14
更新时间
UpdateDesc
String
100
更新操作的详细描述
联通在信、彩信等定购、点播接入号,和CheckPrice请求中AccessNo字段一致;
对crm侧订购、退订由vac根据产品填写;对其他业务填空
LinkID
String
20
事务关联ID,用于点播业务的临时定购关系关联,由平台产生。格式如下:
8位随机序列号;
为空表示无效。
用户点播时使用。
Content
String
140
内容
EffectiveDate
String
14
订购关系生效时间, 格式:yyyyMMddhhmmss
ExpireDate
String
14
订购关系失效时间, 格式:yyyyMMddhhmmss
Time_Stamp
String
10
时间戳由VAC生成,格式是: MMDDHHMMSS,月日时分秒。
EncodeStr
String
32
采用32位的MD5加密串,以便SP鉴权定购关系来源的合法性, MD5 加密算法如下:
EncodeStr=UserId+共享密钥+ ProductId+ Time_Stamp
共享密钥由SP分配,时间戳由VAC设备生成,格式是:MMDDHHMMSS,月日时分秒。共享密钥的定义见BSS与VAC接口规范SP属性接口OrderKey
如果SP的OrderKey为空,VAC不加密
1.1.5.3 回执文件头(定长)
序号
属性名
长度
备注
1
文件序列号(流水号)
CHAR(4)
从0001开始,排满9999后重新循环。
2
版本信息
CHAR(5)
缺省:00000
3
文件产生时间
CHAR (14)
Yyyymmddhhmmss
4
文件生成方系统代码
CHAR(3)
缺省:000
5
总记录数
CHAR(10)
同请求文件
6
正确处理记录数
CHAR(10)
7
备用
CHAR(40)
文件级错误代码
8
换行
CHAR(1)
1.1.5.4 回执文件体(变长)
对于完全正确和完全错误的回执文件,只有文件头没有文件体;对于记录级错误的回执文件,在文件体中列出错误的结果代码。
序号
参数名
说明
参数类型
最大长度
是否必填
1
RecordSequenceID
流水号
String
18
M
2
ResultCode
结果标识
0:正确
1:错误
integer
4
M
1.1.5.5 SP全量稽核后多余的数据文件格式
同4.2.5.2节,其中RecordSequenceID字段由SP生成,UPDATEType字段取值忽略。
在Bash中的加法运算有多种表达形式,下面是比较简单的两种:
1 a=3
let "b=$a+2" #b=5
or
let "b=a+2"
之所以用双引号,是因为在bash中的变量替换发生在双引号内,如果不用引号,bash会把它们解释为命令。
2 a=3
((b=a+2)) #b=5
这是最简单的一种形式。
bash中还可以运行好多中运算,一般的都有,如下:
算术操作符
+
加法计算
-
减法计算
*
乘法计算
/
除法计算
**
幂运算
%
模运算, 或者是求余运算(返回一次除法运算的余数)
比如:expr 4 % 3 #结果为1。需要注意的是要加上“expr”,%两边各有一个空格PS: expr命令expr命令将把一个算术表达式作为参数,通常形式如下: expr [数字] [操作符] [数字] 由于Shell是按字符形式存储变量的,所以用户必须保证参加算术运算的操作数必须为数值。下面是有效的算术操作符: + 两个整数相加
- 第一个数减去第二个数
* 两整数相乘
/ 第一个整数除以第二个整数
% 两整数相除,取余数
example: i=9;expr $i + 8 ##17
expr 5 \* 6 + 9 ##39, 注意,运算符两边要有空格,而且*要转义!
-------------------------------------------
((n=m+k))
scale动画
<scale android:interpolator="@android:anim/accelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="1%" android:pivotY="1%" android:fillAfter="true" android:duration="300" />
动画配置文件中 android:pivotX="1%"等都要有。
不然,android对scale动画的解析,可能会出错。