📄 acc_file.h
字号:
#ifndef _TS_FILE_H
#define _TS_FILE_H
/* 计费系统头文件 */
#include "account.h"
#include <netinet/in.h>
/********************************交易数据文件*************************************/
#define L_MAXPASS 80
/* 用户基本信息表 */
/* 记录每个用户的基本信息和计费信息 */
typedef struct _user
{
BYTE Uname[L_ACCID]; /* 用户名 */
BYTE Passwd[L_MAXPASS]; /* 密码 */
INT32 Uid; /* 用户标识码 */
INT32 Gid; /* 用户组标识码 */
BYTE Ulevel; /* 用户级别: 1-VIP, 2-SP, 3-HC, 4-normal */
INT32 Cid; BYTE Status; /* 帐号状态 */
BYTE Type; /* 帐号类型 */
BYTE CostType; /* 交费方式 */
BYTE Reserve[L_RESERVE]; /* 保留 */
INT32 PeriodTm; /* In可使用时段,0~23bit对应24小时置1为允许
使用 */
BYTE Wday;
/* In 0~6bit对应一周各天,置1为允许使用 */
INT32 AccvalidTm; /* 帐号起始有效时间 */
INT32 AccexpTm; /* 帐号失效时间 */
INT32 Last_time; /* 最后交易时间 */
INT32 CashAmt; /* 现金余额 */
INT32 PointAmt; /* 积分余额 */
INT32 Credit; /* 信用额 */
INT32 Auth; /* 已签发授权额 */
INT32 PerLimit; /* 每次最大消费额 */
INT32 DayLimit; /* 每天最大消费额 */
INT32 Amount; /* 当天累计消费额 */
INT32 ListPtr; /* 交易明细表头指针 没有为-1*/
INT32 UertPtr; /* 用户综合信息表项指针 没有为-1 */
}stru_user;
/* 用户综合信息表 */
/* */
typedef struct _uext
{
INT32 Uid; /* 用户标识码 */
BYTE Name[L_NAME]; /* 用户名 */
BYTE DocId[L_DOCID]; /* 证件号码 */
BYTE BirthDay[L_BIRTH]; /* 生日YYYYMMDD */
BYTE Sex[L_SEX]; /* 性别 */
BYTE Email[L_EMAIL]; /* 电子邮件地址 */
BYTE Addr[L_ADDR]; /* 通信地址 */
BYTE Phone[L_PHONE]; /* 电话 */
BYTE OriBank[L_BANK]; /* 开户银行 */
BYTE Account[L_ACCOUNT]; /* 银行帐号 */
BYTE Question[L_QUESTION]; /* 取回密码要提问的问题 */
BYTE Answer[L_QUESTION]; /* 问题预设答案 */
BYTE Craft[L_CRAFT]; /* 行业 */
BYTE IntQuestion[L_INTQUESTION]; /* 感兴趣的话题 */
BYTE Note[L_NOTE]; /* in 说明 */
}stru_uext;
/* 交易流水表 */
/* 每一笔成功的交易生成一条记录 */
typedef struct _tlist
{
INT32 Tsn; /* 交易流水号 */
INT32 Uid; /* 交易发生的用户帐号 */
INT32 offset; /* 上一交易记录的偏移量 */
INT32 Date; /* 交易发生时间 */
INT32 CashAmt; /* 现金交易量 */
INT32 PointAmt; /* 积分交易量 */
INT32 OperId; /* 交易操作员名 */
INT16 Tcode; /* 交易类型编码 */
BYTE Note[L_NOTE]; /* 说明 */
}stru_tlist;
/* 用户组权限表 */
/* 记录各用户组的操作权限 */
typedef struct _group
{
INT32 Gid; /* 用户组编码 */
INT32 GpMask; /* 组掩码,在进行权限判断时,仅比较掩码为1
的位,这样可同时对多个组设置权限 */
INT32 Ip; /* 信任主机IP */
INT32 IpMask; /* IP掩码 */
INT32 PeriodTm; /* 可使用时段,0~23bit对应24小时置1为允许使用 */
BYTE Wday; /* 0~6bit对应一周各天,置1为允许使用 */
BYTE Reserve[L_RESERVE]; /* 保留 */
INT32 SmgMask; /* 系统管理功能掩码,每个bit对应一个功能号 */
INT32 UmgMask; /* 对自己帐号使用用户管理功能掩码 */
INT32 UquMask; /* 对自己帐号使用查询功能掩码 */
INT32 OquMask; /* 对其它帐号使用查询功能掩码 */
INT32 MgaGid; /* 可管理的GID */
INT32 GidMask; /* GID掩码 */
INT32 MumgMask; /* 对被管理的组使用用户管理功能掩码 */
INT32 MquMask; /* 对被管理的组使用查询功能掩码 */
INT32 MtradMask; /* 对被管理的组使用交易功能掩码 */
BYTE Note[L_NOTE]; /* 说明 */
}stru_group;
/* 消费类型表*/
/* */
typedef struct _ctype
{
INT16 CsuType; /* 消费类型编码 */
BYTE Ecredit; /* 允许使用信用额标志,1-允许 */
BYTE Status; /* 状态,0-正常,1-锁定,2-注销 */
INT32 PerCash; /* 每单位消费扣减现金额,0为不允许使用现金消费 */
INT32 PerPoint; /* 每单位消费扣减积分额,0为不允许使用积分消费 */
float VipDis; /* VIP用户优惠率*/
float SpDis; /* SP用户优惠率*/
float HcDis; /* HC用户优惠率*/
float NormalDis; /* Normal用户优惠率*/
INT32 TypeMask; /* 可使用的用户类型掩码*/
BYTE Note[L_NOTE]; /* 说明 */
}stru_ctype;
/* 系统事务记录表 */
/* 记录所有系统活动的关键资料 */
typedef struct _log
{
INT32 Optime; /* 操作时间 年/月/日 时:分:秒 */
BYTE User[L_ACCID]; /* 用户名 */
BYTE Operator[L_ACCID]; /* 操作员的用户名 */
struct in_addr sin_addr; /* 请求本服务器操作的客户机IP地址 */
INT16 Tcode; /* 操作类型 */
BYTE Note[256]; /* 说明 */
}TLOG;
/*****************************code:常量定义*********************************/
#define DPERMS 0755 /* 创建目录的权限 */
#define PERMS 0644 /* 操作二进制文件的权限 */
#define NOFOUND 0 /* 未找到该记录 */
#define FOUND 1 /* 找到该记录 */
#define SUCCESS 0 /* 操作成功 */
#define NODEINSERT 1 /* 已插入索引结点标志 */
#define NOTINSERT 0 /* 没有插入索引结点标志 */
#define MAXRECNO 30000 /* 每次读的最大记录数 */
/* append by hgt */
#define PWDMODE "./" /* 加密模式 */
/* end */
/********************************交易参数************************************/
#define INITAMOUNT 0 /* 开户时最小余额 */
#define INITCREDIT 0 /* 最小信用额 */
#define LIMIT 0x7fffffff /* 每次消费最高额 */
#define DAY_LIMIT 0x7fffffff /* 每天消费最高额 */
/******************************文件路径长度**********************************/
#define TS_MaxPathLen 80
/*******************************文件名定义***********************************/
#define TS_User "user.dat" /* 用户基本信息表 */
#define TS_Uext "uext.dat" /* 用户综合信息表 */
#define TS_Group "group.dat" /* 用户组权限表 */
#define TS_Tlist "tlist.dat" /* 交易流水表 */
#define TS_Ctype "ctype.dat" /* 消费类型表 */
#define TS_log "log.dat" /* 系统事务表 */
/* 定义结束 */
#endif ct.PointAmt),(pkg+i),L_INT32);
#include <stdio.h>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -