diff --git a/app/channel/service/KamiGroupService.php b/app/channel/service/KamiGroupService.php
new file mode 100644
index 0000000..1979354
--- /dev/null
+++ b/app/channel/service/KamiGroupService.php
@@ -0,0 +1,61 @@
+db()->where($where)->order('status desc, reorder desc, id desc')->find();
+
+ if ($info) {
+ $card = KamiGroup::instance()->db()->where(array('kami_group_id' => $info['id'], 'status' => 1, 'use' => 1))->find();
+ if ($card) {
+ return $info['id'];
+ } else {
+ $this->db()->where(array('id' => $info['id']))->update(array('status' => '0'));
+ return $this->getOne();
+ }
+ }
+
+ return 1;
+ }
+
+ public function up($name, $reorder = 1)
+ {
+ $data = array();
+ $data['name'] = $name;
+
+ $info = $this->db()->where($where)->find();
+
+ if ($reorder) {
+ $data['reorder'] = $reorder;
+ }
+
+ $data['status'] = 1;
+ if (!$info) {
+ return $this->db()->insertGetId($data);
+ } else {
+ $this->db()->where(array('id' => $info['id']))->update($data);
+ return $info['id'];
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/channel/service/system/Core.php b/app/channel/service/system/Core.php
index 68bc1b4..d3b56ed 100644
--- a/app/channel/service/system/Core.php
+++ b/app/channel/service/system/Core.php
@@ -247,7 +247,7 @@ class Core
$api_host = sysconf('api_notify_host');
if($api_host){
- $url = $this->getUrl('/notify/call?s_order=' . $order . '&s_type=' . $type.'&version=v4',4);
+ $url = $this->getUrl('/call?s_order=' . $order . '&s_type=' . $type.'&version=v4',4);
}else{
$url = $this->getUrl('/gateway/api.notify/call?s_order=' . $order . '&s_type=' . $type);#修改原为v3.0之前版本
}
diff --git a/app/channel/service/system/Dayuanren.php b/app/channel/service/system/Dayuanren.php
index 4b6a649..866ff90 100644
--- a/app/channel/service/system/Dayuanren.php
+++ b/app/channel/service/system/Dayuanren.php
@@ -114,7 +114,7 @@ class Dayuanren extends Core
}
if (isset($data['voucher']) && $data['voucher']) {
# 流水号
- $data['s_nubmer'] = $result['s_nubmer'] = $data['voucher'];
+ $data['s_number'] = $data['voucher'];
}
$result['yes'] = 'success';
diff --git a/app/channel/service/system/Shenyou.php b/app/channel/service/system/Shenyou.php
index 19e8fe9..653bc07 100644
--- a/app/channel/service/system/Shenyou.php
+++ b/app/channel/service/system/Shenyou.php
@@ -84,7 +84,7 @@ class Shenyou extends Core
$temp[1] = $data['exchangeTraded'];
}
- $data['s_nubmer'] = $result['s_nubmer'] = $temp[1];
+ $data['s_number'] = $result['s_number'] = $temp[1];
}
*/
diff --git a/app/channel/service/system/Xunmai.php b/app/channel/service/system/Xunmai.php
index 176f7f9..92015e7 100644
--- a/app/channel/service/system/Xunmai.php
+++ b/app/channel/service/system/Xunmai.php
@@ -53,7 +53,7 @@ class Xunmai extends Core
public function lockCard($order)
{
- $response =$this->lock_send($order,2);
+ $response =$this->lock_send($order);
$log['type'] = 'LockCard_response';
@@ -113,11 +113,17 @@ class Xunmai extends Core
$request=[];
$request['customerId'] = $this->mid;
// $request['money'] = $order['cash'];
- $response = $this->json_decode($order['response']);
- if(empty($response['kami'])){
- return '未找到卡密';
+ if($type==1){
+ $response = $this->json_decode($order['response']);
+ if(empty($response['kami'])){
+ return '未找到卡密';
+ }
+ $request['cardNo'] = $response['kami']['cardno'];
+
+ }else{
+ $request['cardNo'] = $order['cardno']; #解锁默认order卡号
}
- $request['cardNo'] = $response['kami']['cardno'];
+
$request['lockType'] = $type;
$request['timestamp'] =time();
@@ -307,21 +313,55 @@ class Xunmai extends Core
$url = $this->host . $this->api;
- $response = $this->curl('post', $url, $request, true);
-// $response = '{"code":1,"msg":"成功","data":{"billno":"B17252834199510831","orderId":"4029177133840735740","count_money":"20","rate":"0.9800","number":1,"count_amount":"19.6000","custom":null,"cards":"d50c80397d4f2a3b90c99d4436ad38d3c3f85c916bc3c3610f71816a9a9d683d4b9f9977988b6d931d05dcc7d9fb93482a3635e1420651b6645e9bd18ea417d5f28031e14223396162488b952981769ba6e264a94219a1a90d4893732845ab14"}}';
- $response = $this->response($response);
+
+ $KamiService = KamiService::instance();
+
+ if($request['productCode']== 'SHYKT02'){
+ #数汇02
+ $randomKami = $KamiService->getData($param['cash'],1, 1, true, false, 1);
+ }elseif($request['productCode']== 'SHYKT04'){
+ #数汇04
+ $randomKami = $KamiService->getData($param['cash'],1, 1, true, false, 2);
+ }elseif($request['productCode']== 'TDK01'){
+ #通兑01
+ $randomKami = $KamiService->getData($param['cash'],1, 1, true, false, 3);
+ }else{
+
+ $randomKami = null;
+ }
+
+ if ($randomKami) {
+ $randomKami_data = [
+ 'is_kami' =>1,
+ ];
+
+ $msg = 'yescard';
+ $randomKami_data['kami'] = array
+ (
+ 'cardno'=>$randomKami['cnum'],
+ 'cardpwd'=>$randomKami['cpwd'],
+ 'expired'=>$randomKami['expire_time'] ?? '',
+ 'value'=>$randomKami['value'],
+ );
+ $response = [
+ 'msg' => $msg,
+ 'data' => $randomKami_data,
+ 'array' => $randomKami_data
+ ];
+ $unlockcard = $this->unlockCard($randomKami_data['kami']);
+ if($unlockcard != 'ok'){
+ $response = $this->curl('post', $url, $request, true);
+ $response = $this->response($response);
+ $KamiService->db()->where(array('cnum' => $randomKami['cnum']))->update(array('status' => '7'));
+ }
+
+ } else {
+
+ $response = $this->curl('post', $url, $request, true);
+ $response = $this->response($response);
// var_dump($response);die;
-
-
-
-
-
-// var_dump($response);die;
-// var_dump($response);
-
- //$response['data'] = '';
- //$response['msg'] = 'ok';
- $channel_order_id = '';
+ }
+//
if (isset($response['array']['data']['billno'])) {
$channel_order_id = $response['array']['data']['billno'];
}
diff --git a/app/core/BtWafService.php b/app/core/BtWafService.php
new file mode 100644
index 0000000..536cc98
--- /dev/null
+++ b/app/core/BtWafService.php
@@ -0,0 +1,267 @@
+ '/system?action=GetSystemTotal', //获取系统基础统计
+ 'GetDiskInfo' => '/system?action=GetDiskInfo', //获取磁盘分区信息
+ 'GetNetWork' => '/system?action=GetNetWork', //获取实时状态信息(CPU、内存、网络、负载)
+ 'GetTaskCount' => '/ajax?action=GetTaskCount', //检查是否有安装任务
+ 'UpdatePanel' => '/ajax?action=UpdatePanel', //检查面板更新
+ # 网站管理相关接口
+ 'Websites' => '/data?action=getData&table=sites', //获取网站列表
+ 'Webtypes' => '/site?action=get_site_types', //获取网站分类
+ 'GetPHPVersion' => '/site?action=GetPHPVersion', //获取已安装的 PHP 版本列表
+ 'GetSitePHPVersion' => '/site?action=GetSitePHPVersion', //获取指定网站运行的PHP版本
+ 'SetPHPVersion' => '/site?action=SetPHPVersion', //修改指定网站的PHP版本
+ 'SetHasPwd' => '/site?action=SetHasPwd', //开启并设置网站密码访问
+ 'CloseHasPwd' => '/site?action=CloseHasPwd', //关闭网站密码访问
+ 'GetDirUserINI' => '/site?action=GetDirUserINI', //获取网站几项开关(防跨站、日志、密码访问)
+ 'WebAddSite' => '/site?action=AddSite', //创建网站
+ 'WebDeleteSite' => '/site?action=DeleteSite', //删除网站
+ 'WebSiteStop' => '/site?action=SiteStop', //停用网站
+ 'WebSiteStart' => '/site?action=SiteStart', //启用网站
+ 'WebSetEdate' => '/site?action=SetEdate', //设置网站有效期
+ 'WebSetPs' => '/data?action=setPs&table=sites', //修改网站备注
+ 'WebBackupList' => '/data?action=getData&table=backup', //获取网站备份列表
+ 'WebToBackup' => '/site?action=ToBackup', //创建网站备份
+ 'WebDelBackup' => '/site?action=DelBackup', //删除网站备份
+ 'WebDoaminList' => '/data?action=getData&table=domain', //获取网站域名列表
+ 'GetDirBinding' => '/site?action=GetDirBinding', //获取网站域名绑定二级目录信息
+ 'AddDirBinding' => '/site?action=AddDirBinding', //添加网站子目录域名
+ 'DelDirBinding' => '/site?action=DelDirBinding', //删除网站绑定子目录
+ 'GetDirRewrite' => '/site?action=GetDirRewrite', //获取网站子目录伪静态规则
+ 'WebAddDomain' => '/site?action=AddDomain', //添加网站域名
+ 'WebDelDomain' => '/site?action=DelDomain', //删除网站域名
+ 'GetSiteLogs' => '/site?action=GetSiteLogs', //获取网站日志
+ 'GetSecurity' => '/site?action=GetSecurity', //获取网站盗链状态及规则信息
+ 'SetSecurity' => '/site?action=SetSecurity', //设置网站盗链状态及规则信息
+ 'GetSSL' => '/site?action=GetSSL', //获取SSL状态及证书详情
+ 'HttpToHttps' => '/site?action=HttpToHttps', //强制HTTPS
+ 'CloseToHttps' => '/site?action=CloseToHttps', //关闭强制HTTPS
+ 'SetSSL' => '/site?action=SetSSL', //设置SSL证书
+ 'CloseSSLConf' => '/site?action=CloseSSLConf', //关闭SSL
+ 'WebGetIndex' => '/site?action=GetIndex', //获取网站默认文件
+ 'WebSetIndex' => '/site?action=SetIndex', //设置网站默认文件
+ 'GetLimitNet' => '/site?action=GetLimitNet', //获取网站流量限制信息
+ 'SetLimitNet' => '/site?action=SetLimitNet', //设置网站流量限制信息
+ 'CloseLimitNet' => '/site?action=CloseLimitNet', //关闭网站流量限制
+ 'Get301Status' => '/site?action=Get301Status', //获取网站301重定向信息
+ 'Set301Status' => '/site?action=Set301Status', //设置网站301重定向信息
+ 'GetRewriteList' => '/site?action=GetRewriteList', //获取可选的预定义伪静态列表
+ 'GetFileBody' => '/files?action=GetFileBody', //获取指定预定义伪静态规则内容(获取文件内容)
+ 'SaveFileBody' => '/files?action=SaveFileBody', //保存伪静态规则内容(保存文件内容)
+ 'GetProxyList' => '/site?action=GetProxyList', //获取网站反代信息及状态
+ 'CreateProxy' => '/site?action=CreateProxy', //添加网站反代信息
+ 'ModifyProxy' => '/site?action=ModifyProxy', //修改网站反代信息
+
+ # Ftp管理
+ 'WebFtpList' => '/data?action=getData&table=ftps', //获取FTP信息列表
+ 'SetUserPassword' => '/ftp?action=SetUserPassword', //修改FTP账号密码
+ 'SetStatus' => '/ftp?action=SetStatus', //启用/禁用FTP
+
+ # Sql管理
+ 'WebSqlList' => '/data?action=getData&table=databases', //获取SQL信息列表
+ 'ResDatabasePass' => '/database?action=ResDatabasePassword', //修改SQL账号密码
+ 'SQLToBackup' => '/database?action=ToBackup', //创建sql备份
+ 'SQLDelBackup' => '/database?action=DelBackup', //删除sql备份
+
+ 'download' => '/download?filename=', //下载备份文件(目前暂停使用)
+
+ # 插件管理
+ 'deployment' => '/plugin?action=a&name=deployment&s=GetList&type=0', //宝塔一键部署列表
+ 'SetupPackage' => '/plugin?action=a&name=deployment&s=SetupPackage', //部署任务
+
+ #宝塔WAF
+ 'WAF_customize_rule' =>'/plugin?action=a&name=btwaf&s=update_customize_rule', //Nginx自定义规则
+ 'WAF_customize_rule_create' =>'/plugin?action=a&name=btwaf&s=create_customize_rule', //Nginx自定义规则
+ 'WAF_customize_rule_list' => '/plugin?action=a&name=btwaf&s=get_customize_list', //Nginx自定义规则列表
+
+
+ );
+ /**
+ * 初始化服务
+ * @return $this
+ */
+
+
+ /**
+ * 初始化
+ * @param [type] $bt_panel 宝塔接口地址
+ * @param [type] $bt_key 宝塔Api密钥
+ */
+ public function __construct()
+ {
+ $bt_panel = sysconf('BtApi_ip');
+ $bt_key = sysconf('BtApi_password');
+
+ if ($bt_panel) $this->BT_PANEL = $bt_panel;
+ if ($bt_key) $this->BT_KEY = $bt_key;
+ header('Content-type: application/json');
+ }
+
+ public function db($table = false)
+ {
+ $table = $table ? $table : $this->table;
+ $this->db = $this->app->db->name($table);
+ return $this->db;
+ }
+
+ /**
+ * 构造带有签名的关联数组
+ */
+ public function GetKeyData(){
+ $now_time = time();
+ $p_data = array(
+ 'request_token' => md5($now_time.''.md5($this->BT_KEY)),
+ 'request_time' => $now_time
+ );
+ return $p_data;
+ }
+
+
+
+ /**
+ * 获取系统基础统计
+ */
+ public function update_waf_whiteIp($rule_id,$whiteName,$domain,$ip_white){
+
+
+ #infos: {"name":"ip白名单-2","servers":["apis.gcdat.com"],"status":1,"is_global":0,"priority":0,"root":{"logic":"or","type":"block","option":null,"children":[{"logic":"and","type":"block","option":null,"children":[{"type":"option","logic":"","children":[],"option":{"type":"ip","operator":"eq","left_factor":"","right_factor":"12.12.12.12"}}]}]},"action":{"type":"allow","response":{"type":"","response_id":0,"status":0,"headers":{},"body":""}}}
+
+
+
+ $p_data = $this->GetKeyData();
+ if(isset($rule_id)&& $rule_id){
+ $url = $this->BT_PANEL.$this->config["WAF_customize_rule"];
+ $p_data['id'] = $rule_id;
+ }else{
+ $url = $this->BT_PANEL.$this->config["WAF_customize_rule_create"];
+ }
+ $info = array();
+ $info['name'] = $whiteName;
+ $info['servers'] = [$domain];
+ $info['status'] = 1;
+ $info['is_global'] = 0;
+ $info['priority'] = 0;
+ $root_info = [];
+ $root_info['logic'] = 'or';
+ $root_info['type'] = 'block';
+ $root_info['option'] = 'null';
+// $children;
+ $num = 0;
+// var_dump($ip_white);die;
+ foreach ($ip_white as $k => $v){
+ $children[$num]['logic'] = 'and';
+ $children[$num]['type'] = 'block';
+ $children[$num]['option'] = 'null';
+ $children[$num]['children'][0]['type'] = 'block';
+ $children[$num]['children'][0]['logic'] = '';
+ $children[$num]['children'][0]['children'] = [];
+ $children[$num]['children'][0]['option'] = [
+ 'type' => 'ip',
+ 'operator' => 'eq',
+ 'left_factor' => '',
+ 'right_factor' => $v,
+ ];
+ $num++;
+ }
+
+
+ $root_info['children'] = $children;
+ $info['root'] = $root_info;
+ $info['action'] = [
+ 'type'=>'allow',
+ 'response'=>[
+ 'type'=>'',
+ 'response_id'=>0,
+ 'status'=>0,
+// 'headers'=>[],
+ 'body'=>''
+ ]
+ ];
+// var_dump($info);die;
+ $json = json_encode($info,JSON_UNESCAPED_UNICODE);
+// var_dump($json);die;
+
+
+//
+ $p_data['infos'] = $json;
+
+// var_dump($p_data);
+
+
+ $result = $this->HttpPostCookie($url,$p_data);
+
+ $data = json_decode($result,true);
+ return $data;
+ }
+
+ private function HttpPostCookie($url, $data,$timeout = 60)
+ {
+ //定义cookie保存位置
+ $cookie_file='./'.md5($this->BT_PANEL).'.cookie';
+ if(!file_exists($cookie_file)){
+ $fp = fopen($cookie_file,'w+');
+ fclose($fp);
+ }
+
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
+ curl_setopt($ch, CURLOPT_POST, 1);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
+ curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
+ curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_HEADER, 0);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+ $output = curl_exec($ch);
+ curl_close($ch);
+ return $output;
+ }
+
+ public function get_customize_list(){
+ $url = $this->BT_PANEL.$this->config["WAF_customize_rule_list"];
+// var_dump($url);die;
+ $p_data = $this->GetKeyData();
+ $result = $this->HttpPostCookie($url,$p_data);
+ $data = json_decode($result,true);
+ return $data;
+
+ }
+
+
+ #
+
+}
diff --git a/app/gateway/controller/v4/Card.php b/app/gateway/controller/v4/Card.php
index b726bb2..4b1269e 100644
--- a/app/gateway/controller/v4/Card.php
+++ b/app/gateway/controller/v4/Card.php
@@ -82,17 +82,17 @@ class Card extends Core
$request = json_decode($data['channel_callback_msg'], true);
$number = '';
- if (isset($request['s_nubmer']) && $request['s_nubmer']) {
- $result['s_nubmer'] = $request['s_nubmer'];
+ if (isset($request['s_number']) && $request['s_number']) {
+ $result['s_number'] = $request['s_number'];
} elseif (isset($request['s_number']) && $request['s_number']) {
- $result['s_nubmer'] = $request['s_number'];
+ $result['s_number'] = $request['s_number'];
}
$order_name = sysconf('order_name');
if ($number && $order_name) {
$result[$order_name] = $number;
} elseif ($number) {
- $result['s_nubmer'] = $number;
+ $result['s_number'] = $number;
}
$this->yes($result);
diff --git a/app/gateway/controller/v4/Core.php b/app/gateway/controller/v4/Core.php
index 851b7dd..9a61574 100644
--- a/app/gateway/controller/v4/Core.php
+++ b/app/gateway/controller/v4/Core.php
@@ -164,9 +164,9 @@ class Core extends Controller
$ip_white_array = $ip_white_data?explode(',', $ip_white_data):[];
-// if(!$ip_white_array || !in_array($request_ip, $ip_white_array)){
-// $this->no(-801,'ip:'.$request_ip.',请求错误,不在白名单内。');
-// }
+ if(!$ip_white_array || !in_array($request_ip, $ip_white_array)){
+ $this->no(-801,'ip:'.$request_ip.',请求错误,不在白名单内。');
+ }
// var_dump(1);die;
if ($this->proid && !str_contains($this->product, '_cash')) {
unset($input['cash']);
diff --git a/app/merchant/controller/Merchant.php b/app/merchant/controller/Merchant.php
index b614057..722f138 100644
--- a/app/merchant/controller/Merchant.php
+++ b/app/merchant/controller/Merchant.php
@@ -46,7 +46,7 @@ class Merchant extends Controller
$this->title = '商户列表';
$query = $this->_query($this->table);
$query->equal('status')->dateBetween('create_at');
- $query->like('name,phone,contacts');
+ $query->like('name,phone,contacts,ip_white');
// 加载对应数据列表
$this->type = input('type', 'all');
$query->where(['is_deleted' => 0]);
@@ -334,6 +334,8 @@ class Merchant extends Controller
}
}
+
+
/**
* 商户信息查看
* @login true
@@ -392,5 +394,39 @@ class Merchant extends Controller
$this->_delete($this->table);
}
+ /**
+ * 修改ip白名单
+ * @login true
+ * @auth true
+ * @param integer $id
+ * @throws \think\db\exception\DataNotFoundException
+ * @throws \think\db\exception\DbException
+ * @throws \think\db\exception\ModelNotFoundException
+ */
+ public function ipWhite($id = 0)
+ {
+
+ if ($this->app->request->isGet()) {
+ $this->_applyFormToken();
+ $this->verify = false;
+
+// $this->pkeylist = OrderService::instance()->getProductKeyList(true);
+
+ $this->_form($this->table, 'ipWhite','id', [], ['id' => $id]);
+
+ } else {
+ $id = input('id');
+ $ip_white = input('ip_white');
+
+ $up_ipWhite = MerchantService::instance()->update_ipWhite($id,$ip_white);
+ if($up_ipWhite == '添加防火墙错误'){
+ $this->error('添加防火墙ip错误,请联系技术何时!');
+ }else{
+ $this->success('IP白名单修改成功!', '');
+ }
+
+ }
+ }
+
}
diff --git a/app/merchant/service/MerchantService.php b/app/merchant/service/MerchantService.php
index 0ff1408..50475e5 100644
--- a/app/merchant/service/MerchantService.php
+++ b/app/merchant/service/MerchantService.php
@@ -2,6 +2,7 @@
namespace app\merchant\service;
+use app\core\BtWafService;
use app\core\Service;
use app\merchant\service\OrderService;
use app\order\service\Kami91OrderService;
@@ -1172,4 +1173,45 @@ class MerchantService extends Service
$this->db()->where(array('id' => $mid))->update($update);
}
+
+ public function update_ipWhite($mid,$ip_white_data='')
+ {
+ $is_btWaf = sysconf('settingBtWafStatus');
+ $api_domain = sysconf('BtWaf_domain');
+
+
+ if(isset($is_btWaf) && $is_btWaf == 1) {
+ $ip_white_array = $ip_white_data?explode(',', $ip_white_data):[];
+ $bt = new BtWafService();
+ $list = $bt->get_customize_list();
+ $ip_white_id = '';
+ if($list){
+ $rule_list = $list['msg']['rules'];
+ $name = 'ip白名单-'.$mid;
+ foreach ($rule_list as $k=>$v){
+ if($v['name'] == $name){
+ $ip_white_id = $k;
+ break;
+ }
+
+ }
+
+ }
+
+ if($ip_white_id){
+ $data = $bt->update_waf_whiteIp($ip_white_id,$name,$api_domain,$ip_white_array);
+
+ } else{
+ $data = $bt->update_waf_whiteIp('', $name, $api_domain, $ip_white_array);
+ }
+
+ if($data && isset($data['status']) && !$data['status']){
+ return '添加防火墙错误';
+ }
+
+ }
+ return $this->db()->where(array('id' => $mid))->update(['ip_white'=>$ip_white_data]);
+
+
+ }
}
\ No newline at end of file
diff --git a/app/merchant/view/merchant/index.html b/app/merchant/view/merchant/index.html
index 8fd78a5..989837e 100644
--- a/app/merchant/view/merchant/index.html
+++ b/app/merchant/view/merchant/index.html
@@ -126,6 +126,9 @@
映射产品编码设置
+ 设置IP白名单
+
+
+ 为空则不设置IP白名单
为空则不设置流水号
为空则不设置流水号
+ | - | 序号 | +序号 | 商户 | 系统订单号 | 商户订单号 | @@ -47,18 +48,18 @@下单时间 | 耗时 | 同步结果 | -充值结果 | -+ | 充值结果 | +订单操作 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ | - | {$vo.index|default=''} | +{$vo.index|default=''} | {$vo.minfo.name|default=''} ( {$vo.minfo.id|default=''} {eq name='vo.minfo.status' value='0'}/禁{/eq} @@ -198,7 +199,7 @@ | {$vo.time|default=''} | {$vo.merchant_callback_msg|default=''} | {$vo.msg|default=''} | -+ | {if $vo.show_set == 1} @@ -239,7 +240,7 @@ 置成功 {elseif $vo.card_status == 3} - 置成功 @@ -280,16 +281,51 @@ {/foreach} |