升级说明
升级时间
- Dev环境升级时间不限
- Test环境:每周最多两次,建议安排得周一14:00和周四14:00
- PRD环境:每周最多一次,安排在周三15:00,计划升级前,需要在系统后台和商户后台发布通知
升级顺序
- 修改配置文件 -> 更新数据库 -> 升级应用
Update History
2017-06-20(Prod)
- 将PGW BGW HazeServiceWeb HazeThreadWeb四个项目依顺序停止(5台实例)
- 将数据库备份
- stop mysql 将数据迁移到/ROOT文件夹下
- stop mysql这台实例
- 更改实例类型到medium 重新启动mysql这台实例
- 如果mysql没有自启动,启动mysql 并检查数据 并更新新加的sql
-
通过deploy部署各项目
-
新增sql
ALTER TABLE `mer_withdrawal_config`
ADD COLUMN `withdrawal_fee` decimal(20,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '提现手续费' AFTER `default_account_id`,
ADD COLUMN `fee_payer` tinyint(1) NOT NULL DEFAULT 0 COMMENT '手续费支付方' AFTER `withdrawal_fee`;
ALTER TABLE `haze`.`txn_withdrawal`
ADD COLUMN `withdrawal_fee_currency` CHAR(3) NOT NULL DEFAULT 'USD' COMMENT '提款费用币种' AFTER `withdrawal_fee`,
ADD COLUMN `fee_payer` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '手续费承担方' AFTER `withdrawal_fee_currency`;
2017-06-13(Test)
- sql
ALTER TABLE `mer_withdrawal_config`
ADD COLUMN `withdrawal_fee` decimal(20,2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '提现手续费' AFTER `default_account_id`,
ADD COLUMN `fee_payer` tinyint(1) NOT NULL DEFAULT 0 COMMENT '手续费支付方' AFTER `withdrawal_fee`;
ALTER TABLE `haze`.`txn_withdrawal`
ADD COLUMN `withdrawal_fee_currency` CHAR(3) NOT NULL DEFAULT 'USD' COMMENT '提款费用币种' AFTER `withdrawal_fee`,
ADD COLUMN `fee_payer` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '手续费承担方' AFTER `withdrawal_fee_currency`;
2017-05-11(Prod)
-
修改商户退款撤销列表
-
添加日切状态关联属性
-
新增产品分类和产品名称
-
去掉 ChannelProviderClassifier
-
add scan qrcode
-
修改 add edit 页面 channelProvider
-
add showqrcode insert card_org into mer txn add thread to query pos txn
-
add alipay cancel interface
-
修改产品开通
-
remove offline qr in terminal change to show qrcode in apptms
-
修改费率设置
-
fix wechat refund
-
apptms restore unionpay
-
fix wechat refund bug
-
添加alipay交易上传csv文件格式
-
添加商户配置结算币种
-
channel 添加查询条件
-
修改 TMS Console 手机登入 不能查询问题
-
add some basic validate in get rate
-
update notification to rocketmq
-
add sign in reponse fix time
-
添加查看txnNotify功能
-
fix refund and notification bug
-
修改TMS 显示RMB
-
修改二维码页面 添加显示人民币币种
-
修改商户后台退款按钮判断条件
-
sql
ALTER TABLE `haze`.`basic_business`
CHANGE COLUMN `biz_category` `biz_category` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '业务分类 \n0 - Online在线支付类产品,包括SecurePay,ExpressPay,以及将来的Merchant-hosted\n1 - Offline线下支付类产品,包括扫码支付,刷卡支付\n2 - 付款类业务(如下发,提现等)' ;
INSERT INTO `basic_business` VALUES
('03792f8a9f304a2b9c3f31815337c181',3,'Show QRCode','Merchant show qrcode, Custumer scan merchant\'s QRCode',1,'4,5','USD,CAD,JPY,EUR,GBP,HKD','01,31,41','0',NULL,1,'2017-04-24 07:38:00',NULL),
('dfdd24d79a99443690d020b5191f96bb',4,'POS','Merchant scan customer\'s QRCode OR POS',1,'3,4,5','USD,CAD,JPY,EUR,GBP,HKD','01,31,41','0',NULL,1,'2017-04-24 07:40:09',NULL);
ALTER TABLE `haze`.`bgw_refund`
ADD COLUMN `card_org` TINYINT(4) NOT NULL DEFAULT 3 COMMENT 'pay method' AFTER `provider_id`;
ALTER TABLE `haze`.`bgw_refund`
add column `txn_type` tinyint(4) NOT NULL DEFAULT 6 COMMENT 'transaction type' AFTER `card_org`;
ALTER TABLE `haze`.`txn_refund`
ADD COLUMN `card_org` TINYINT(4) NOT NULL DEFAULT 3 COMMENT 'pay method' AFTER `channel_provider_id`;
ALTER TABLE `haze`.`mer_txn`
ADD COLUMN `card_org` TINYINT(4) NOT NULL DEFAULT 3 COMMENT 'pay method' AFTER `biz_code`;
ALTER TABLE `haze`.`txn_sale_payment`
ADD COLUMN `buyer_identity_code` varchar(36) DEFAULT NULL COMMENT '买家二维码授权码';
update bgw_refund refund left join bgw_sale_payment sale ON refund.bgw_sale_payment_id= sale.bgw_sale_payment_id
set refund.card_org=sale.card_org;
UPDATE txn_refund refund
LEFT JOIN
txn_sale_payment sale ON refund.orig_txn_id = sale.txn_id
SET
refund.card_org = sale.card_org;
UPDATE mer_txn txn
INNER JOIN
txn_sale_payment sale ON txn.txn_id = sale.txn_id
SET
txn.card_org = sale.card_org;
UPDATE mer_txn txn
LEFT JOIN
txn_sale_payment sale ON txn.original_txn_id = sale.txn_id
SET
txn.card_org = sale.card_org
WHERE
txn.original_txn_id is not null ;
ALTER TABLE `haze`.`bgw_refund` DROP COLUMN `provider_classifier`;
ALTER TABLE `haze`.`channel_provider` DROP COLUMN `provider_classifier`;
ALTER TABLE `haze`.`channel` DROP COLUMN `provider_classifier`;
ALTER TABLE `haze`.`bgw_sale_payment` DROP COLUMN `provider_classifier`;
UPDATE mer_txn_sale txn set txn.terminal_id = 0 where terminal_id = 5;
UPDATE mer_txn_sale txn set txn.terminal_id = 4 where terminal_id = 9;
alter table txn_notification drop column `json_msg`;
alter table txn_notification add column `form_data` text DEFAULT NULL;
alter table txn_notification add column `response_text` varchar(600) DEFAULT NULL;
INSERT INTO `haze`.`menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('0606', 'AUDIT-TXN-NOTIFICATION', 'Transaction notify', '06', '1', NULL, 'audit/txnnotify/list', '0', '6', '1', '2017-05-10 16:29:30', '2017-05-10 16:29:32');
INSERT INTO `haze`.`p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('060601', 'AUDIT-TXNNOTIFILOG-DETAIL', 'View', '0606', '1', '1', '2017-05-10 16:32:45', NULL);
2017-02-24(Prod)
- sql
INSERT INTO `haze`.`menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('8203', 'AGENT-REAL-TIME-TXN', 'Real-time transaction', '82', '3', 'realtime/list', '0', '3', '1', '2017-04-12 12:02:02', '2017-04-12 12:02:02');
alter table `mer_txn_sale` add column `send_bank_order_id` varchar(128) DEFAULT NULL COMMENT '发送给银行的订单号';
alter table `mer_txn_sale` add column `receive_bank_trace_no` varchar(64) DEFAULT NULL COMMENT '接受到的银行系统追踪号';
alter table `txn_sale_payment` add column `send_bank_order_id` varchar(128) DEFAULT NULL COMMENT '发送给银行的订单号';
alter table `txn_sale_payment` add column `receive_bank_trace_no` varchar(64) DEFAULT NULL COMMENT '接受到的银行系统追踪号';
update txn_sale_payment A JOIN bgw_sale_payment B set A.`receive_bank_trace_no`= B.`receive_bank_trace_no`, A.`send_bank_order_id`=B.`send_bank_order_id` where A.`txn_id` = B.`src_txn_id` and A.`bgw_sale_payment_id` = B.`bgw_sale_payment_id` AND B.`send_bank_order_id` IS NOT NULL ;
update mer_txn_sale A JOIN txn_sale_payment B set A.`receive_bank_trace_no`= B.`receive_bank_trace_no`, A.`send_bank_order_id`= B.`send_bank_order_id` where A.`txn_id` = B.`txn_id` AND B.`send_bank_order_id` IS NOT NULL ;
CREATE TABLE `agent_biz_rate` (
`biz_rate_id` varchar(36) NOT NULL,
`agent_id` varchar(36) NOT NULL,
`biz_code` tinyint(4) NOT NULL,
`card_org` tinyint(4) DEFAULT NULL COMMENT '卡种,不指定则默认为全部',
`terminal_id` tinyint(4) NOT NULL COMMENT '终端编号,参见全局支付终端定义',
`rate_algorithm` tinyint(4) NOT NULL COMMENT '计算算法,参见全局定义,如果是阶梯费率,则需要附件阶梯费率表计算',
`percentage` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '百分比, 这类存数的是百分号之前的数字,如 1.3% 这里存储的是1.3,计算时需要除100后再使用',
`fixed_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '固定金额',
`min_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '最小值,0表示无限制',
`max_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '最大值 0 表示无限制',
`ext1` varchar(64) DEFAULT NULL COMMENT '扩展,目前没有用到',
`ext2` varchar(64) DEFAULT NULL,
`isdelete` tinyint(4) NOT NULL DEFAULT '1' COMMENT '删除标识 0 - 未删除; 1 - 已删除 因业务需要,费率的修改,不通过update方式实现,而是以 delete + add 方式实现。',
`owner_id` varchar(36) DEFAULT NULL,
`create_date` datetime NOT NULL,
`update_date` datetime DEFAULT NULL,
PRIMARY KEY (`biz_rate_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='agent业务收费配置';
UPDATE `haze`.`p_operation` SET `operation_id`='05030201', `operation_key`='SYSTEMADMIN-PARTNER-AGENT-NEW', `operation_name`='Add', `menu_id`='050302', `sortorder`='0', `status`='1', `create_date`='2015-10-27 10:24:47', `update_date`=NULL WHERE (`operation_id`='05030201');
DROP TABLE agent_fee_config;
2017-02-24(Test)
- sql
UPDATE `haze`.`menu` SET `menu_id`='0204', `menu_key`='EXCHANGE-RATE', `menu_name`='Settlement exchange rate', `parent_id`='02', `webapp_id`='1', `css_class`=NULL, `linkurl`='exchangeRate/list', `haschild`='0', `sortorder`='3', `status`='1', `create_date`='2016-09-22 15:50:25', `update_date`='2016-09-22 15:50:27' WHERE (`menu_id`='0204') AND (`menu_key`='EXCHANGE-RATE') AND (`menu_name`='Settlement exchange rate') AND (`parent_id`='02') AND (`webapp_id`='1') AND (ISNULL(`css_class`)) AND (`linkurl`='exchangeRate/list') AND (`haschild`='0') AND (`sortorder`='3') AND (`status`='1') AND (`create_date`='2016-09-22 15:50:25') AND (`update_date`='2016-09-22 15:50:27') LIMIT 1;
INSERT INTO `haze`.`menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('0205', 'TXN-EXCHANGERATE', 'Transaction exchange rate', '02', '1', NULL, 'txnExchangeRate/list', '0', '4', '1', '2017-02-21 18:24:45', '2017-02-21 18:24:46');
INSERT INTO `haze`.`p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020501', 'TXN-EXCHANGE-RATE-DETAIL', 'View', '0205', '1', '1', '2017-02-21 18:26:01', NULL);
INSERT INTO `haze`.`p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020502', 'TXN-EXCHANGE-RATE-NEW', 'Add', '0205', '2', '1', '2017-02-21 18:26:57', NULL);
INSERT INTO `haze`.`p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020503', 'TXN-EXCHANGE-RATE-EDIT', 'Edit', '0205', '3', '1', '2017-02-21 18:27:51', NULL);
INSERT INTO `haze`.`p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020504', 'TXN-EXCHANGE-RATE-DELETE', 'Delete', '0205', '4', '1', '2017-02-21 18:28:28', NULL);
alter table mer_txn_sale modify column `exchange_rate` decimal(10,6) NOT NULL COMMENT 'mer_order_currency 与 txn_currency之间的换算汇率,精度为6位小数,如果两个币种一致,这里为1';
CREATE TABLE `txn_exchange_rate` (
`txn_exchange_rate_id` varchar(32) NOT NULL COMMENT 'ID',
`card_org` tinyint(4) NOT NULL COMMENT '卡组织,标示该汇率是哪家机构的,wechatpay, unionpay,alipay',
`base_currency` char(3) NOT NULL COMMENT '本位币,目前只有CNY',
`txn_currency` char(3) NOT NULL COMMENT '交易币种',
`exchange_rate` decimal(12,6) DEFAULT NULL COMMENT '汇率',
`exchange_date` date DEFAULT NULL COMMENT '换汇日期',
`status` tinyint(4) NOT NULL COMMENT '0-申请中 1-生效中 2-删除',
`apply_id` varchar(36) DEFAULT NULL COMMENT '申请人ID',
`approve_id` varchar(36) DEFAULT NULL COMMENT '审核人ID',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`txn_exchange_rate_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='交易汇率表'
#查询汇率URL
haze.getExchangeRateURL=https://api.mch.weixin.qq.com/pay/queryexchagerate
-
微信退款改为异步
-
api增加人民币 增加汇率转换
2016-12-26(Test)
-
将bgw回调改成https,并用重定向代替表单提交,适用于1.2
-
add agent
-
add 子商户
sendPort=587
txnSuccessNotifyMailTitle=You have received a new payment through NihaoPay
ALTER TABLE daily_txn_detail add column `origin_txn_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '原始交易金额';
ALTER TABLE daily_txn_detail add column `agent_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'agent 类型';
ALTER TABLE daily_txn_detail add column `agent_mer_fee_config_id` varchar(36) DEFAULT NULL COMMENT 'agent与merchant手续费配置编号';
ALTER TABLE daily_txn_detail add column `agent_mer_fee_ratio` decimal(10,6) NOT NULL DEFAULT '0.000000' COMMENT 'agent与merchant手续费比例,只能是百分比,且没有最高最低。';
ALTER TABLE daily_txn_detail add column `agent_mer_fee_service` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent与merchant交易手续费按照结算币种收取,结算金额 * 手续费比例 ';
ALTER TABLE daily_txn_detail add column `agent_fee_config_id` varchar(36) DEFAULT NULL COMMENT 'agent手续费配置编号';
ALTER TABLE daily_txn_detail add column `agent_fee_ratio` decimal(10,6) NOT NULL DEFAULT '0.000000' COMMENT 'agent手续费比例,只能是百分比,且没有最高最低。';
ALTER TABLE daily_txn_detail add column `agent_fee_service` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent交易手续费按照结算币种收取,结算金额 * 手续费比例 ';
ALTER TABLE daily_txn_detail add column `agent_fee_rebate` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent回扣按照结算币种收取,商户结算金额 * (商户手续费比例-agent手续费比例) ';
ALTER TABLE daily_txn_detail add column `platform_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent交易金额';
ALTER TABLE daily_txn_detail add column `agent_settle_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent应结算金额';
ALTER TABLE daily_txn_detail add column `agent_net_settle_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent净结算金额';
UPDATE daily_txn_detail SET origin_txn_amount = txn_amount;
ALTER TABLE mer_txn_sale modify column txn_date datetime NOT NULL COMMENT '系统订单时间';
UPDATE mer_txn_sale A JOIN mer_txn B ON A.txn_id = B.txn_id SET A.txn_date = B.txn_date;
ALTER TABLE mer_txn_sale add column `goods_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '商品金额(DCC后)';
ALTER TABLE mer_txn_sale add column `platform_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '平台金额(DCC后)';
ALTER TABLE txn_refund add column `goods_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '商品金额(DCC后)';
ALTER TABLE txn_refund add column `platform_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '平台金额(DCC后)';
ALTER TABLE txn_refund add column `mer_reserved` varchar(1024) DEFAULT NULL COMMENT '备注信息';
CREATE TABLE `agent_daily_txn_detail` (
`txn_id` varchar(20) NOT NULL COMMENT '系统交易流水号 订单号规则: yyyyMMddHHmmss+6位序列号(从000001 - 999999循环)',
`txn_start_date` datetime NOT NULL COMMENT '交易发生时间',
`order_id` varchar(64) NOT NULL COMMENT '商户交易订单号',
`original_txn_id` varchar(20) DEFAULT NULL COMMENT '原交易的流水号(当撤销,退款等交易时,该字段必须有值)',
`txn_type` tinyint(4) NOT NULL COMMENT '交易类型',
`txn_currency` char(3) NOT NULL COMMENT '交易币种',
`txn_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '交易金额',
`txn_status` tinyint(4) NOT NULL COMMENT '订单状态',
`txn_finish_date` datetime DEFAULT NULL COMMENT '交易结束时间,如消费交易的支付成功时间,退款交易的审核时间等',
`stl_currency` char(3) DEFAULT NULL COMMENT '应结算币种',
`stl_exchange_rate` decimal(10,6) DEFAULT NULL COMMENT '应用的交易币种与结算币种之间的汇率汇算',
`stl_exchange_date` date DEFAULT NULL COMMENT '换汇日期',
`stl_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '应结算金额 = 交易金额 * 结算汇率',
`mer_code` varchar(20) NOT NULL COMMENT '商户号',
`sub_mer_code` varchar(20) DEFAULT NULL COMMENT '子商户',
`branch_id` varchar(36) DEFAULT NULL COMMENT '分公司编号',
`sale_id` varchar(36) DEFAULT NULL,
`psp_id` varchar(36) DEFAULT NULL,
`agent_id` varchar(36) DEFAULT NULL COMMENT '交易所属的代理商id',
`biz_code` tinyint(4) NOT NULL COMMENT '业务类型',
`card_org` tinyint(4) DEFAULT NULL COMMENT '交易使用的卡种',
`terminal_id` tinyint(4) DEFAULT NULL COMMENT '交易终端',
`channel_id` varchar(36) DEFAULT NULL COMMENT '交易使用的通道编号',
`acq_id` varchar(36) DEFAULT NULL COMMENT '收单机构',
`channel_provider_id` varchar(36) NOT NULL COMMENT '交易使用的支付提供编号',
`fee_config_id` varchar(36) DEFAULT NULL COMMENT '手续费配置编号',
`fee_ratio` decimal(10,6) NOT NULL DEFAULT '0.000000' COMMENT '手续费比例,只能是百分比,且没有最高最低。',
`fee_service` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '交易手续费按照结算币种收取,结算金额 * 手续费比例 ',
`fee_additional` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '交易附加费 依据结算币种收取,按照每笔收取,可能是风险服务费等。退款返还原交易手续费时附加费不返还。',
`net_settle_amount` decimal(20,2) DEFAULT '0.00' COMMENT '净结算金额',
`agent_mer_fee_service` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent与merchant交易手续费按照结算币种收取,结算金额 * 手续费比例 ',
`agent_mer_fee_ratio` decimal(10,6) NOT NULL DEFAULT '0.000000' COMMENT 'agent与merchant手续费比例,只能是百分比,且没有最高最低。',
`agent_mer_fee_config_id` varchar(36) DEFAULT NULL COMMENT 'agent与merchant手续费配置编号',
`agent_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'agent 类型',
`mer_reserved` varchar(1024) DEFAULT NULL COMMENT '备注信息',
`origin_txn_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT '原始交易金额',
`agent_fee_config_id` varchar(36) DEFAULT NULL COMMENT 'agent手续费配置编号',
`agent_fee_ratio` decimal(10,6) NOT NULL DEFAULT '0.000000' COMMENT 'agent手续费比例,只能是百分比,且没有最高最低。',
`agent_fee_service` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent交易手续费按照结算币种收取,结算金额 * 手续费比例 ',
`platform_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent交易金额',
`agent_net_settle_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent净结算金额',
`agent_fee_rebate` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent回扣按照结算币种收取,商户结算金额 * (商户手续费比例-agent手续费比例) ',
`agent_settle_amount` decimal(20,2) NOT NULL DEFAULT '0.00' COMMENT 'agent应结算金额',
`create_date` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '交易流水创建时间',
`update_date` timestamp NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`txn_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='agent 日终交易明细表 主要包含以下几部分: 协议信息, 业务信息, 交易信息, 手续费'
CREATE TABLE `mer_mail_settings` (
`setting_id` varchar(36) NOT NULL COMMENT 'ID',
`mer_mail_addr_id` varchar(36) NOT NULL COMMENT '关联mer_mail_addressID',
`accept_email_type` int(3) NOT NULL COMMENT '接收邮件类型',
`status` int(1) unsigned zerofill NOT NULL DEFAULT '0' COMMENT '状态',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`setting_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `mer_mail_address` (
`id` varchar(36) NOT NULL COMMENT 'ID',
`mer_code` varchar(20) NOT NULL COMMENT '商户号',
`mail_addresses` varchar(256) NOT NULL COMMENT '需要发送的邮箱',
`create_date` datetime NOT NULL,
`update_date` datetime DEFAULT NULL COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `haze`.`menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('5505', 'TMS-SETTING-MAIL', 'Mail setting', '55', '2', NULL, 'mailSetting/list', '0', '5', '1', '2016-12-23 18:54:23', '2016-12-23 18:54:26');
ALTER TABLE agent_fee_config drop column `status`;
ALTER TABLE agent_fee_config add column `usability_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态 0 default,1 用户自定义';
ALTER TABLE agent_fee_config add column `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态 0 不可用,1 可用';
ALTER TABLE agent add column `agent_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'agent 类型';
CREATE TABLE `agent_merchant_rate` (
`agent_mer_rate_id` varchar(36) NOT NULL,
`mer_code` varchar(20) NOT NULL COMMENT '商户编号',
`rate_algorithm` tinyint(4) NOT NULL COMMENT '计算算法,参见全局定义,如果是阶梯费率,则需要附件阶梯费率表计算',
`percentage` decimal(10,4) NOT NULL DEFAULT '0.0000' COMMENT '百分比, 这类存数的是百分号之前的数字,如 1.3% 这里存储的是1.3,计算时需要除100后再使用',
`fixed_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '固定金额',
`min_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '最小值,0表示无限制',
`max_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '最大值 0 表示无限制',
`ext1` varchar(64) DEFAULT NULL COMMENT '扩展,目前没有用到',
`ext2` varchar(64) DEFAULT NULL,
`isdelete` tinyint(4) NOT NULL DEFAULT '1' COMMENT '删除标识 0 - 未删除; 1 - 已删除 因业务需要,费率的修改,不通过update方式实现,而是以 delete + add 方式实现。',
`owner_id` varchar(36) DEFAULT NULL,
`create_date` datetime NOT NULL,
`update_date` datetime DEFAULT NULL,
PRIMARY KEY (`agent_mer_rate_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='代理商与商户业务收费配置';
2016-11-30(Test)
-
only express pay can be capture
-
change resp code location and the exceptin print level
-
TMS 增加 交易图表
-
Console 增加 交易图表
2016-11-17(Test)
-
add refund search
-
you can look up the transaction even it is not succuess
2016-11-16(Prod)
参考测试
2016-11-15(Test)
-
set socket time out of union single query to 30s
-
修改 TMS Agent 部分页面显示
-
修改 已取消交易 返回的状态
-
修改 批量查询 已取消交易 返回状态
-
修改 查询交易 返回状态
-
update alipay and update seller param
-
change default date
-
修改 AppTms 退款时 输入交易密码
-
AppTms refund页面 加上 loading
-
loading exception
-
use httclient to replace http url connection
-
change url to to website config instead of in properties file
-
fix exchangeRate bug
-
修改 AppTms refund 页面 Confirm 不关闭问题
-
delete unionpay 1.0
-
add union app
2016-11-01(Prod)
需要升级配置文件:
HazeBGWService/test_resources/wechat/1312556701_cert.p12
HazeBGWService/test_resources/wechat/WeChatHandler.properties
HazeConsole/test_resources/web/app.properties
HazeServiceWeb/test_resources/impl/mail.properties
HazeServiceWeb/test_resources/impl/exchange_rate.properties
HazeAppTMS/test_resources/web/app.properties
HazeAppTMS/test_resources/easypay/easypayConfig.properties
HazeAppTMS/test_resources/log4j.properties
HazeAgent/test_resources/log4j.properties
HazeAgent/test_resources/web/app.properties
tms-html5 src/main/dev_resources/impl/redis.properties
tms-html5 src/main/dev_resources/web/app.properties
2016-10-31(Test)
- 更改商户后台,系统后台列表显示时间为浏览器时间
2016-10-26(Test)
- 添加agent
- 商户后台增加取款
- 配置文件
- sql
INSERT INTO `menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('5402', 'TMS-WITHDRAWAL', 'Withdraw to bank', '54', 2, '', 'withdraw/list', 0, 2, 1, '2015-06-09 03:13:51', '2015-06-09 03:13:51'); delete from menu where menu_id = '5402' and status = 0; CREATE TABLE `agent_users` ( `agent_user_id` varchar(36) NOT NULL, `user_email` varchar(128) NOT NULL COMMENT '用户email,作为登陆账号,唯一', `user_role` tinyint(4) NOT NULL COMMENT '用户角色 0 - 超级管理员 ; 1 - 普通操作员', `agent_id` varchar(36) NOT NULL, `last_login_ip` varchar(36) DEFAULT NULL COMMENT '最近登录的IP', `login_password` varchar(1024) NOT NULL, `prev_password1` varchar(1024) DEFAULT NULL COMMENT '上次的登陆密码', `prev_password2` varchar(1024) DEFAULT NULL COMMENT '上上次的登陆密码', `passwd_salt` varchar(128) NOT NULL, `pwd_last_change_date` datetime DEFAULT NULL COMMENT '最近一次修改密码的时间', `txn_password` varchar(1024) NOT NULL, `last_login_fail_date` datetime DEFAULT NULL COMMENT '最近一次登陆失败的时间', `login_fail_times` tinyint(4) NOT NULL DEFAULT '0' COMMENT '连续登陆失败的次数', `is_lock_login` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否锁定登陆 0未锁定账户 1锁定账户', `lock_timespan` smallint(6) NOT NULL COMMENT '锁定的时长 (分钟)', `last_login_date` datetime DEFAULT NULL COMMENT '最近一次登陆的时间', `is_first_login` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否是第一次登陆 0:非第一次登陆 1:第一次登陆', `user_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否可用 0表示禁用 1表示启用', `create_date` datetime NOT NULL COMMENT '创建时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`agent_user_id`), UNIQUE KEY `idx_agent_users_user_email` (`user_email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='代理商户用户表' INSERT INTO `menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('81', 'DASHBOARD', 'Dashboard', '0', 3, 'menu-icon glyphicon glyphicon-home blue', '#', 0, 0, 1, '2016-09-18 14:40:53', '2016-09-18 14:42:01'), ('8202', 'AGENT-SETTLE-INFO', 'Settlement Info', '82', 3, '', 'settle/list', 0, 2, 1, '2016-09-18 14:47:27', '2016-09-18 14:47:42'), ('8301', 'AGENT-MERCHANT-SETTING', 'Merchant setting', '83', 3, '', 'settling/mer/list', 0, 1, 1, '2016-09-18 14:55:07', '2016-09-18 14:55:10'), ('82', 'AGENT-TXN', 'My Transaction', '0', 3, 'menu-icon fa fa-list-alt blue', '#', 1, 1, 1, '2016-09-18 14:47:27', '2016-09-18 14:47:42'), ('8201', 'AGENT-TXN-INFO', 'Transaction Info', '82', 3, '', 'txn/list', 0, 1, 1, '2016-09-18 14:47:27', '2016-09-18 14:47:42'), ('83', 'AGENT-SETTING', 'Settings', '0', 3, 'menu-icon fa fa-cog blue', '#', 1, 2, 1, '2016-09-18 14:55:07', '2016-09-18 14:55:10'); CREATE TABLE `agent_fee_config` ( `agent_fee_config_id` varchar(36) NOT NULL, `fee_name` varchar(36) NOT NULL COMMENT '费率配置名称', `agent_fee_type` tinyint(4) NOT NULL DEFAULT '0', `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态 0 default,1 用户自定义,2 是否可用', `percentage` varchar(128) NOT NULL COMMENT '费率百分比', `section` varchar(128) DEFAULT NULL COMMENT '总金额段(例:10W~50W,50W~100w)', `agent_id` varchar(36) DEFAULT NULL COMMENT '代理商Id', `comments` varchar(512) DEFAULT NULL, `create_date` datetime NOT NULL, `update_date` datetime DEFAULT NULL, PRIMARY KEY (`agent_fee_config_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='费率配置';
2016-10-17(Test)
- 添加alipay app handler 新增ali账户
- 添加apptms
- 更改agent费率
- 当交易不是1.1 使用get方式callback
- 开放费率转换线程 添加费率查询列表
- 交易被线程close掉 当再次支付时 交易会被更新 但是三张表的状态只更新了mer_txn为pending,其它两张表依然为close, 修改使三张表都得到更新
- 需要修改配置文件HazeConsole -> app.properties 中黑白名单; HazeServiceWeb -> mail.properties 中ipn失败抄送邮件地址,以及apptms和appagent中配置文件
- 数据库记录插入
INSERT INTO `menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('0204', 'EXCHANGE-RATE', 'Exchange Rate', '02', '1', NULL, 'exchangeRate/list', '0', '3', '1', '2016-09-22 15:50:25', '2016-09-22 15:50:27'); INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020401', 'EXCHANGE-RATE-NEW', 'Add', '0204', '0', '1', '2016-09-22 15:51:42', NULL); INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020402', 'EXCHANGE-RATE-EDIT', 'Edit', '0204', '1', '1', '2016-09-22 15:53:46', NULL); INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020403', 'EXCHANGE-RATE-DELETE', 'Delete', '0204', '2', '1', '2016-09-22 15:54:28', NULL); INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('020404', 'EXCHANGE-RATE-DETAIL', 'View', '0204', '3', '1', '2016-09-22 15:56:11', NULL);
2016-09-20(Test)
- 将卡号日志改为debug
- referece扩大范围-_
- 增加自动测试商户
- 增加港币微信
2016-09-13(Prod)
- 参考测试
INSERT INTO `menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`)
VALUES
('0605', 'MONITOR', 'monitor', '06', 1, NULL, 'audit/monitor/server', 0, 2, 1, '2016-08-31 10:24:49', '2016-08-31 11:12:01');
2016-09-06(Test)
- mer_txn_sale添加finish_time 字段
- 添加monitor
- request log 搜索条件变更
- 重复交易记录日志
- 微信二维码手机端使用方法
alter table mer_txn_sale add column `txn_finish_date` datetime DEFAULT NULL COMMENT '交易结束时间,如消费交易的支付成功时间,退款交易的审核时间等';
select count(*) from mer_txn_sale where txn_finish_date is null;
update mer_txn_sale AS A, mer_txn AS B set A.txn_finish_date=B.txn_finish_date where A.txn_id = B.txn_id;
2016-08-31(Prod)
- 8-29,8-31日两次测试环境的更新汇总
- 发布V1.2给用户
- HazeDaily项目增加自动提款的功能
2016-08-31(Test)
- 新增requestlog在系统后台的查询
- 商户账户添加时默认提款和结算日期
- add card org in the mer txn sale
- fixed 空指针异常
alter table request_log modify column `reference_id` varchar(64) DEFAULT NULL;
alter table mer_txn_sale add column `card_org` tinyint(4) DEFAULT 0 COMMENT 'payment method';
update mer_txn_sale AS A, txn_sale_payment AS B set A.card_org=B.card_org where A.txn_id = B.txn_id;
INSERT INTO menu VALUES ('0603', 'AUDIT-REQUESTLOG', 'Merchant Reqeust Log', '06', '1', NULL, 'audit/requestlog/list', '0', '2', '1', now(),NULL);
INSERT INTO p_operation VALUES ('060301', 'AUDIT-REQUESTLOG-DETAIL', 'View', '0603', '1', '1', now(),NULL);
2016-08-29(Test)
- 版本号升级为1.2
- 修改微信支付页面 自动适应PC,WAP端
- unionpay change httpurlconnection to httpclient
- 添加微信二维码接口
2016-08-23(Prod)
- 配置文件中关于easypay的配置
- 8.11,8.22,8.23 三次测试环境的更新内容
2016-08-23(Test)
- 系统后台银行订单查询增加bgwtxnid的查询条件
- 修改系统后台交易类型的文字说明
2016-08-22(Test)
- 修改日志
- 修复系统后台ico文件
- 修改审核日志部分&乱码显示
2016-08-11(Test)
- 微信支付页面由post改为GET
- 修改往银行前置提交的channelbean
- 修复url校验的bug
- 修改商户后台登陆验证错误的文字提示
2016-08-02(Prod)
- 微信添加欧元,支付宝更改url,银联添加两个银联帐号
- 参考测试
2016-08-02(Test)
- pgw easypay返回mer_code
2016-07-28(Test)
- 给expresspay, securepay, wehcat return merchant 添加数据库日志
- 请求pgw返回错别字更改
- 添加表request_log
- 邮件内容的更改 配置文件mail.merchantAccount.envirnment
- easypay添加tonken限制,配置文件添加easypay.need.token
- 银联expresspay帐号更改,加密卡号cvv
- 线程无法终止的问题
- 商户后台超时的更改,防止查看别人的订单
2016-07-20(Prod)
- 参考测试 console增加domain.properties; 数据库添加cardbin;银联查询次数的调整;alipay支付地址
2016-07-20(Test)
- 启动错误
- union多次查询bug
2016-07-19(Test)
- 支付宝WAP接口增加show_url
- 修改银联撤销返回400的bug*
- 修改api接口中币种不区分大小写
- 修改api接口中返回金额带逗号的bug
- api接口中增加show_url
- 修改添加商户通道时,按照时间排序
- 添加商户通道时,增加查询条件通道名称和通道商户号
- 增加在交易关闭时,发送商户通知
- 修复微信扫码支付,订单超时后查询异常的bug
- 修改pgw的API支持json和form两种方式提交
- 系统后台将登陆信息等存储在redis中
2016-07-12(Test)
- expresspay添加cardbin
- url的验证修改
- fix easypay
- TMS可以修改证书
2016-07-07(Test)
- 银联退款类型修改
- easypay转换到java
- 国际化配置文件的修改
- 微信error code 修改
2016-06-30(Prod)
- 银联添加securepay账户 微信添加JPY账户
2016-06-27(Test)
- 更改health check
- 去掉配置文件domain.properties与项目中的配置文件
2016-06-22(Test)
- 添加通道复制
- 添加jsonlog
- 微信请求路径修改
2016-06-15(Test)
- 将expresspay切换到5.0,union5.0添加两账号 需要修改acp_sdk.properies, UnionPayHandler.properties
- 更改商户下载交易功能
- 将微信的BGW回调独立出来
- 商户注册邮件验证更改
2016-06-13(Test)
- log4j添加syslog
2016-06-07(Prod)
- 参考(Test)部署
2016-06-07(Test)
- 避免空指针
- 微信公众号支付
2016-06-06(Test)
- 商户后台增加手动提款的功能
- 更新junit的(Test)代码
- 系统后台修改list页面的div样式
- 商户后台的配置文件 app.properties
2016-06-01(Test)
- Fixed bug “Alipay verify signature failed”
- Delete extra code
- 增加日志输出
- Change RequestMapping method
- 系统后台新增easypay订单的查询
- 修改系统后台的多语言
- 修改系统后台table的CSS
- 新增用于替换PHP API的接口
ALTER TABLE `bgw_refund` CHANGE COLUMN `receive_bank_resp_code` `receive_bank_resp_code` VARCHAR(64) NULL DEFAULT NULL COMMENT '接受到的银行响应码';
ALTER TABLE `bgw_sale_payment` CHANGE COLUMN `receive_bank_resp_code` `receive_bank_resp_code` VARCHAR(64) NULL DEFAULT NULL COMMENT '接受到的银行响应码';
INSERT INTO `menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('10', 'EASYPAY', 'EasyPay', '0', '1', 'menu-icon fa fa-credit-card blue', '#', '1', '10', '1', now(), NULL);
INSERT INTO `menu` (`menu_id`, `menu_key`, `menu_name`, `parent_id`, `webapp_id`, `css_class`, `linkurl`, `haschild`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('1001', 'EASYPAY-LIST', 'EasyPay List', '10', '1', NULL, 'easyPay/list', '0', '1', '1', now(), NULL);
INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('100101', 'EASY-PAY-DETAIL', 'View', '1001', '1', '1', now(), NULL);
2016-05-30(Test)
- 添加日志
- 给系统后台添加rest api doc 使用的swagger
2016-05-25(Prod)
- make draw config to support 6 T
- 修改 channel 删除 更新isdelete 状态
- jump to merchant page no matter it is success or not
- add clearing
- 修改 TMS 菜单排序问题
- add timezone
- validate rate before daily
- audit log order by create date desc
- make it more beauty
- refund 增加退款期限
- auto complete response belong to base response
- 参考(Test)环境部署(银联新增通道不添加)
- 修改应答码UnionPayHandler.properties,AlipayHandler.properties
- 新增微信号WechatHandler.properties,上传证书
2016-05-23(Test)
- ipn第一次失败
- pgw以及bgw日志中对象以json输出
- 多语言的修改
2016-05-19(Test)
- alipay securepay乱码问题
- 修改添加通道,币种第一个不能选中问题
- TMS增加日语
- 修改 添加可用通道 显示已删除通道问题
- unionpay增加新的机构号, acp_sdk.properties,UnionPayHandler.properties配置文件有修改
- 数据库菜单表增加5条关于日终的记录, 权限表中4条
delete from `menu` where menu_id = '0803';
INSERT INTO `menu` VALUES ('09','TXN-CLEARING','Clearing','0',1,'menu-icon fa fa-list-alt blue','#',1,5,1,'2016-05-09 10:40:36','2016-05-09 10:40:40');
INSERT INTO `menu` VALUES ('0903','MER-ACCOUNT-SETTLEMENT','Merchant Account Settlement','09',1,'','accSettlement/list',0,3,1,'2015-07-30 15:37:22','2015-07-30 15:37:26');
INSERT INTO `menu` VALUES ('0902','TXN-CLEARING-REFUND','Clearing Refund','09',1,NULL,'clearRefund/list',0,2,1,'2016-05-09 11:22:38','2016-05-09 11:22:41');
INSERT INTO `menu` VALUES ('0901','TXN-CLEARING-PURCHASE','Clearing Purchase','09',1,NULL,'clearPurchase/list',0,1,1,'2016-05-09 11:28:12','2016-05-09 11:28:15');
INSERT INTO `menu` VALUES ('0904','DAILY-TXN-DETAIL','Daily Txn Detail','09',1,NULL,'dailyTxnDetail/list',0,4,1,'2016-05-10 11:24:02','2016-05-10 11:24:04');
INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('090101', 'TXN-CLEARING-PURCHASE-DETAIL', 'View', '0901', 1, 1, '2016-05-09 11:32:36', NULL);
INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('090201', 'TXN-CLEARING-REFUND-DETAIL', 'View', '0902', 1, 1, '2016-05-09 11:33:41', NULL);
INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('090301', 'MER-ACCOUNT-SETTLEMENT-DETAIL', 'View', '0903', 1, 1, '2016-05-09 11:35:22', NULL);
INSERT INTO `p_operation` (`operation_id`, `operation_key`, `operation_name`, `menu_id`, `sortorder`, `status`, `create_date`, `update_date`) VALUES ('090401', 'Daily-Txn-DETAIL-DETAIL', 'View', '0904', 1, 1, '2016-05-10 11:24:42', NULL);