From 52200d01a28357db224f06d9cf287d23bd3102c1 Mon Sep 17 00:00:00 2001 From: devil_gong Date: Mon, 29 Apr 2019 18:34:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/index/controller/Order.php | 21 - application/index/controller/Pay.php | 57 +++ .../qrcode_pay.html => pay/qrcode.html} | 2 +- .../plugins/view/wallet/wallet/nav.html | 31 +- .../plugins/view/wallet/wallet/recharge.html | 14 +- application/plugins/wallet/Service.php | 475 +++++------------- application/plugins/wallet/Wallet.php | 133 ++--- application/plugins/wallet/install.sql | 17 + application/service/OrderService.php | 11 +- application/service/PaymentService.php | 96 ++-- config/shopxo.sql | 130 ++++- extend/payment/Weixin.php | 7 +- public/static/index/default/css/order.css | 17 - .../static/index/default/css/pay.qrcode.css | 15 + .../js/{order.qrcodepay.js => pay.qrcode.js} | 0 15 files changed, 529 insertions(+), 497 deletions(-) create mode 100644 application/index/controller/Pay.php rename application/index/view/default/{order/qrcode_pay.html => pay/qrcode.html} (85%) mode change 100755 => 100644 create mode 100644 application/plugins/wallet/install.sql create mode 100644 public/static/index/default/css/pay.qrcode.css rename public/static/index/default/js/{order.qrcodepay.js => pay.qrcode.js} (100%) diff --git a/application/index/controller/Order.php b/application/index/controller/Order.php index b0f1ff923..4b20a3d84 100755 --- a/application/index/controller/Order.php +++ b/application/index/controller/Order.php @@ -219,27 +219,6 @@ class Order extends Common } } - /** - * 订单支付展示 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2018-09-28 - * @desc description - */ - public function QrcodePay() - { - $params = input(); - if(empty($params['url']) || empty($params['order_no']) || empty($params['name']) || empty($params['msg'])) - { - $this->assign('msg', '参数有误'); - return $this->fetch('public/tips_error'); - } else { - $this->assign('params', $params); - return $this->fetch('qrcode_pay'); - } - } - /** * 支付同步返回处理 * @author Devil diff --git a/application/index/controller/Pay.php b/application/index/controller/Pay.php new file mode 100644 index 000000000..85100daf1 --- /dev/null +++ b/application/index/controller/Pay.php @@ -0,0 +1,57 @@ +assign('msg', '参数有误'); + return $this->fetch('public/tips_error'); + } else { + //print_r($params);die; + $this->assign('params', $params); + return $this->fetch(); + } + } +} +?> \ No newline at end of file diff --git a/application/index/view/default/order/qrcode_pay.html b/application/index/view/default/pay/qrcode.html old mode 100755 new mode 100644 similarity index 85% rename from application/index/view/default/order/qrcode_pay.html rename to application/index/view/default/pay/qrcode.html index 8fb637abb..67be49ea7 --- a/application/index/view/default/order/qrcode_pay.html +++ b/application/index/view/default/pay/qrcode.html @@ -19,7 +19,7 @@
-
+
{{:urldecode($params['name'])}}
diff --git a/application/plugins/view/wallet/wallet/nav.html b/application/plugins/view/wallet/wallet/nav.html index 06e4952f4..dd22e9c1b 100755 --- a/application/plugins/view/wallet/wallet/nav.html +++ b/application/plugins/view/wallet/wallet/nav.html @@ -44,19 +44,21 @@ ×
-
+
{{if !empty($buy_payment_list)}}
    {{foreach $buy_payment_list as $payment}} -
  • - {{if !empty($payment.logo)}} - - {{/if}} - {{$payment.name}} -
  • + {{if !in_array($payment['payment'], config('shopxo.under_line_list'))}} +
  • + {{if !empty($payment.logo)}} + + {{/if}} + {{$payment.name}} +
  • + {{/if}} {{/foreach}}
{{/if}} @@ -82,4 +84,17 @@
-
\ No newline at end of file +
+ \ No newline at end of file diff --git a/application/plugins/view/wallet/wallet/recharge.html b/application/plugins/view/wallet/wallet/recharge.html index 0e16a4122..db6326d64 100755 --- a/application/plugins/view/wallet/wallet/recharge.html +++ b/application/plugins/view/wallet/wallet/recharge.html @@ -42,11 +42,13 @@ - - - - - + + + + + + + @@ -63,7 +65,7 @@ {{/if}} {{if empty($data_list)}} - diff --git a/application/plugins/wallet/Service.php b/application/plugins/wallet/Service.php index d6bb81bae..27d0b078c 100755 --- a/application/plugins/wallet/Service.php +++ b/application/plugins/wallet/Service.php @@ -13,7 +13,7 @@ namespace app\plugins\wallet; use think\Db; use app\service\PluginsService; use app\service\ResourcesService; -use app\service\UserService; +use app\service\PaymentService; /** * 会员等级服务层 @@ -36,206 +36,86 @@ class Service ]; /** - * 获取等级数据列表 + * 充值订单创建 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 - * @date 2019-04-22 + * @date 2019-04-29 * @desc description * @param [array] $params [输入参数] */ - public static function LevelDataList($params = []) - { - // 数据字段 - $data_field = 'level_list'; - - // 获取数据 - $ret = PluginsService::PluginsData('wallet', self::$base_config_attachment_field); - $data = (empty($ret['data']) || empty($ret['data'][$data_field])) ? [] : $ret['data'][$data_field]; - - // 数据处理 - return self::LevelDataHandle($data, $params); - } - - /** - * 用户等级数据列表处理 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @datetime 2019-04-27T01:08:23+0800 - * @param [array] $data [等级数据] - * @param [array] $params [输入参数] - */ - public static function LevelDataHandle($data, $params = []) - { - if(!empty($data)) - { - $common_is_enable_tips = lang('common_is_enable_tips'); - foreach($data as &$v) - { - // 是否启用 - $v['is_enable_text'] = $common_is_enable_tips[$v['is_enable']]['name']; - - // 图片地址 - $v['images_url_old'] = $v['images_url']; - $v['images_url'] = ResourcesService::AttachmentPathViewHandle($v['images_url']); - - // 时间 - $v['operation_time_time'] = empty($v['operation_time']) ? '' : date('Y-m-d H:i:s', $v['operation_time']); - $v['operation_time_date'] = empty($v['operation_time']) ? '' : date('Y-m-d', $v['operation_time']); - } - } - - // 是否读取单条 - if(!empty($params['get_id']) && isset($data[$params['get_id']])) - { - $data = $data[$params['get_id']]; - } - - return DataReturn('处理成功', 0, $data); - } - - /** - * 获取等级数据保存 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2019-04-22 - * @desc description - * @param [array] $params [输入参数] - */ - public static function LevelDataSave($params = []) + public static function RechargeCreate($params = []) { // 请求参数 $p = [ [ - 'checked_type' => 'length', - 'key_name' => 'name', - 'checked_data' => '1,30', - 'error_msg' => '名称长度 1~30 个字符', - ], - [ - 'checked_type' => 'isset', - 'key_name' => 'rules_min', - 'error_msg' => '请填写规则最小值', - ], - [ - 'checked_type' => 'isset', - 'key_name' => 'rules_max', - 'error_msg' => '请填写规则最大值', - ], - [ - 'checked_type' => 'max', - 'key_name' => 'discount_rate', - 'checked_data' => 0.99, - 'is_checked' => 1, - 'error_msg' => '折扣率应输入 0.00~0.99 的数字,小数保留两位', + 'checked_type' => 'empty', + 'key_name' => 'user', + 'error_msg' => '用户信息有误', ], [ 'checked_type' => 'fun', - 'key_name' => 'order_price', + 'key_name' => 'money', 'checked_data' => 'CheckPrice', - 'is_checked' => 1, - 'error_msg' => '请输入有效的订单满金额', + 'error_msg' => '请输入有效的充值金额', ], [ - 'checked_type' => 'fun', - 'key_name' => 'full_reduction_price', - 'checked_data' => 'CheckPrice', - 'is_checked' => 1, - 'error_msg' => '请输入有效的满减金额', - ], - ]; - $ret = ParamsChecked($params, $p); - if($ret !== true) - { - return DataReturn($ret, -1); - } - - // 请求参数 - $p = [ - [ - 'checked_type' => 'eq', - 'key_name' => 'rules_min', - 'checked_data' => $params['rules_max'], - 'error_msg' => '规则最小值不能最大值相等', - ], - [ - 'checked_type' => 'eq', - 'key_name' => 'rules_max', - 'checked_data' => $params['rules_min'], - 'error_msg' => '规则最大值不能最小值相等', - ], - ]; - if(intval($params['rules_max']) > 0) - { - $p[] = [ - 'checked_type' => 'max', - 'key_name' => 'rules_min', - 'checked_data' => intval($params['rules_max']), - 'error_msg' => '规则最小值不能大于最大值['.intval($params['rules_max']).']', - ]; - $p[] = [ 'checked_type' => 'min', - 'key_name' => 'rules_max', - 'checked_data' => intval($params['rules_min']), - 'error_msg' => '规则最大值不能小于最小值['.intval($params['rules_min']).']', - ]; - } + 'key_name' => 'money', + 'checked_data' => 0.01, + 'error_msg' => '请输入大于0的充值金额', + ], + ]; $ret = ParamsChecked($params, $p); if($ret !== true) { return DataReturn($ret, -1); } - // 数据字段 - $data_field = 'level_list'; - - // 附件 - $data_fields = ['images_url']; - $attachment = ResourcesService::AttachmentParams($params, $data_fields); - - // 数据 + // 添加 $data = [ - 'name' => $params['name'], - 'rules_min' => $params['rules_min'], - 'rules_max' => $params['rules_max'], - 'images_url' => $attachment['data']['images_url'], - 'is_enable' => isset($params['is_enable']) ? intval($params['is_enable']) : 0, - 'discount_rate' => isset($params['discount_rate']) ? $params['discount_rate'] : 0, - 'order_price' => empty($params['order_price']) ? 0.00 : PriceNumberFormat($params['order_price']), - 'full_reduction_price' => empty($params['full_reduction_price']) ? 0.00 : PriceNumberFormat($params['full_reduction_price']), - 'operation_time' => time(), + 'recharge_no' => date('YmdHis').GetNumberCode(6), + 'user_id' => $params['user']['id'], + 'money' => PriceNumberFormat($params['money']), + 'status' => 0, + 'add_time' => time(), + ]; - - // 原有数据 - $ret = PluginsService::PluginsData('wallet', self::$base_config_attachment_field, false); - - // 数据id - $data['id'] = (empty($params['id']) || empty($ret['data']) || empty($ret['data'][$data_field][$params['id']])) ? date('YmdHis').GetNumberCode(6) : $params['id']; - $ret['data'][$data_field][$data['id']] = $data; - - // 保存 - return PluginsService::PluginsDataSave(['plugins'=>'wallet', 'data'=>$ret['data']]); + $params['recharge_id'] = Db::name('PluginsWalletRecharge')->insertGetId($data); + if($params['recharge_id'] > 0) + { + return self::Pay($params); + } + return DataReturn('添加失败', -100); } /** - * 数据删除 + * 支付 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 - * @date 2018-12-18 + * @date 2019-04-29 * @desc description - * @param [array] $params [输入参数] + * @param array $params [description] */ - public static function DataDelete($params = []) + public static function Pay($params = []) { // 请求参数 $p = [ [ 'checked_type' => 'empty', - 'key_name' => 'id', - 'error_msg' => '操作id有误', + 'key_name' => 'user', + 'error_msg' => '用户信息有误', + ], + [ + 'checked_type' => 'empty', + 'key_name' => 'recharge_id', + 'error_msg' => '充值日志id不能为空', + ], + [ + 'checked_type' => 'empty', + 'key_name' => 'payment_id', + 'error_msg' => '请选择支付方式', ], ]; $ret = ParamsChecked($params, $p); @@ -244,51 +124,109 @@ class Service return DataReturn($ret, -1); } - // 数据字段 - $data_field = empty($params['data_field']) ? 'data_list' : $params['data_field']; - - // 原有数据 - $ret = PluginsService::PluginsData('wallet', self::$base_config_attachment_field, false); - $ret['data'][$data_field] = (empty($ret['data']) || empty($ret['data'][$data_field])) ? [] : $ret['data'][$data_field]; - - // 删除操作 - if(isset($ret['data'][$data_field][$params['id']])) + // 支付方式; + $payment = PaymentService::PaymentList(['where'=>['id'=>intval($params['payment_id']), 'is_enable'=>1, 'is_open_user'=>1]]); + if(empty($payment[0])) { - unset($ret['data'][$data_field][$params['id']]); + return DataReturn('支付方式有误', -1); } - - // 保存 - return PluginsService::PluginsDataSave(['plugins'=>'wallet', 'data'=>$ret['data']]); + + // 支付入口文件检查 + $pay_checked = PaymentService::EntranceFileChecked($payment[0]['payment'], 'wallet'); + if($pay_checked['code'] != 0) + { + // 入口文件不存在则创建 + $payment_params = [ + 'payment' => $payment[0]['payment'], + 'business' => [ + ['name' => 'Wallet', 'desc' => '钱包'], + ], + 'respond' => '/index/plugins/index/pluginsname/wallet/pluginscontrol/wallet/pluginsaction/respond', + 'notify' => '/index/plugins/index/pluginsname/wallet/pluginscontrol/wallet/pluginsaction/notify', + ]; + $ret = PaymentService::PaymentEntranceCreated($payment_params); + if($ret['code'] != 0) + { + return $ret; + } + } + + // 非线上支付方式不可用 + if(in_array($payment[0]['payment'], config('shopxo.under_line_list'))) + { + return DataReturn('不能使用非线上支付方式进行充值', -10); + } + + // 获取充值数据 + $recharge = Db::name('PluginsWalletRecharge')->where(['id'=>intval($params['recharge_id'])])->find(); + if(empty($recharge)) + { + return DataReturn('充值数据不存在', -1); + } + if($recharge['status'] == 1) + { + return DataReturn('该数据已充值,请重新创建充值订单', -2); + } + + // 回调地址 + $url = __MY_URL__.'payment_wallet_'.strtolower($payment[0]['payment']); + + // url模式, pathinfo模式下采用自带url生成url, 避免非index.php多余 + if(MyC('home_seo_url_model', 0) == 0) + { + $call_back_url = $url.'_respond.php'; + } else { + $call_back_url = PluginsHomeUrl('wallet', 'wallet', 'respond', ['paymentname'=>$payment[0]['payment']]); + if(stripos($call_back_url, '?') !== false) + { + $call_back_url = $url.'_respond.php'; + } + } + + // 发起支付 + $pay_data = array( + 'user' => $params['user'], + 'out_user' => md5($params['user']['id']), + 'order_id' => $recharge['id'], + 'order_no' => $recharge['recharge_no'], + 'name' => '钱包充值', + 'total_price' => $recharge['money'], + 'notify_url' => $url.'_notify.php', + 'call_back_url' => $call_back_url, + 'site_name' => MyC('home_site_name', 'ShopXO', true), + 'ajax_url' => PluginsHomeUrl('wallet', 'wallet', 'paycheck') + ); + $pay_name = 'payment\\'.$payment[0]['payment']; + $ret = (new $pay_name($payment[0]['config']))->Pay($pay_data); + if(isset($ret['code']) && $ret['code'] == 0) + { + return $ret; + } + return DataReturn(empty($ret['msg']) ? '支付接口异常' : $ret['msg'], -1); } /** - * 数据状态更新 + * 支付状态校验 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 - * @date 2018-12-18 + * @date 2019-01-08 * @desc description * @param [array] $params [输入参数] */ - public static function DataStatusUpdate($params = []) + public static function RechargePayCheck($params = []) { // 请求参数 $p = [ [ 'checked_type' => 'empty', - 'key_name' => 'id', - 'error_msg' => '操作id有误', + 'key_name' => 'order_no', + 'error_msg' => '充值单号有误', ], [ 'checked_type' => 'empty', - 'key_name' => 'field', - 'error_msg' => '操作字段有误', - ], - [ - 'checked_type' => 'in', - 'key_name' => 'state', - 'checked_data' => [0,1], - 'error_msg' => '状态有误', + 'key_name' => 'user', + 'error_msg' => '用户信息有误', ], ]; $ret = ParamsChecked($params, $p); @@ -297,161 +235,18 @@ class Service return DataReturn($ret, -1); } - // 数据字段 - $data_field = empty($params['data_field']) ? 'data_list' : $params['data_field']; - - // 原有数据 - $ret = PluginsService::PluginsData('wallet', self::$base_config_attachment_field, false); - $ret['data'][$data_field] = (empty($ret['data']) || empty($ret['data'][$data_field])) ? [] : $ret['data'][$data_field]; - - // 删除操作 - if(isset($ret['data'][$data_field][$params['id']]) && is_array($ret['data'][$data_field][$params['id']])) + // 获取订单状态 + $where = ['recharge_no'=>$params['order_no'], 'user_id'=>$params['user']['id']]; + $recharge = Db::name('PluginsWalletRecharge')->where($where)->field('id,status')->find(); + if(empty($recharge)) { - $ret['data'][$data_field][$params['id']][$params['field']] = intval($params['state']); - $ret['data'][$data_field][$params['id']]['operation_time'] = time(); + return DataReturn('充值数据不存在', -400, ['url'=>__MY_URL__]); } - - // 保存 - return PluginsService::PluginsDataSave(['plugins'=>'wallet', 'data'=>$ret['data']]); - } - - /** - * 优惠价格计算 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2019-03-26 - * @desc description - * @param [string] $price [商品展示金额] - * @param [int] $plugins_discount [折扣系数] - * @param [int] $plugins_price [减金额] - */ - public static function PriceCalculate($price, $plugins_discount = 0, $plugins_price = 0) - { - if($plugins_discount <= 0 && $plugins_price <= 0) + if($recharge['status'] == 1) { - return $price; + return DataReturn('支付成功', 0, ['url'=>PluginsHomeUrl('wallet', 'wallet', 'recharge')]); } - - // 折扣 - if($plugins_discount > 0) - { - if(stripos($price, '-') !== false) - { - $text = explode('-', $price); - $min_price = $text[0]*$plugins_discount; - $max_price = $text[1]*$plugins_discount; - $price = ($min_price <= 0) ? '0.00' : PriceNumberFormat($min_price); - $price .= '-'.(($max_price <= 0) ? '0.00' : PriceNumberFormat($max_price)); - } else { - $price = (float) $price *$plugins_discount; - $price = ($price <= 0) ? '0.00' : PriceNumberFormat($price); - } - } - - // 减金额 - if($plugins_price > 0) - { - if(stripos($price, '-') !== false) - { - $text = explode('-', $price); - $min_price = $text[0]-$plugins_price; - $max_price = $text[1]-$plugins_price; - $price = ($min_price <= 0) ? '0.00' : PriceNumberFormat($min_price); - $price .= '-'.(($max_price <= 0) ? '0.00' : PriceNumberFormat($max_price)); - } else { - $price = (float) $price-$plugins_price; - $price = ($price <= 0) ? '0.00' : PriceNumberFormat($price); - } - } - return $price; - } - - /** - * 用户等级匹配 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @date 2019-04-28 - * @desc description - * @param [array] $user [用户信息] - */ - public static function UserLevelMatching($user = []) - { - // 未指定用户信息,则从服务层读取 - if(empty($user)) - { - $user = UserService::LoginUserInfo(); - } - if(!empty($user)) - { - // 缓存key - $key = 'plugins_wallet_cache_user_level_'.$user['id']; - $level = cache($key); - - // 应用配置 - if(empty($level) || config('app_debug') == true) - { - $base = PluginsService::PluginsData('wallet', Service::$base_config_attachment_field); - if(!empty($base['data']['level_list'])) - { - // 匹配类型 - $value = 0; - switch($base['data']['level_rules']) - { - // 积分(可用积分) - case 0 : - $value = isset($user['integral']) ? intval($user['integral']) : 0; - break; - - // 消费总额(已完成订单) - // 订单状态(0待确认, 1已确认/待支付, 2已支付/待发货, 3已发货/待收货, 4已完成, 5已取消, 6已关闭) - case 1 : - $where = ['user_id'=>$user['id'], 'status'=>4]; - $value = (float) Db::name('Order')->where($where)->sum('total_price'); - break; - } - - // 匹配相应的等级 - $level_list = self::LevelDataHandle($base['data']['level_list']); - foreach($level_list['data'] as $rules) - { - if(isset($rules['is_enable']) && $rules['is_enable'] == 1) - { - // 0-* - if($rules['rules_min'] <= 0 && $rules['rules_max'] > 0 && $value < $rules['rules_max']) - { - $level = $rules; - break; - } - - // *-* - if($rules['rules_min'] > 0 && $rules['rules_max'] > 0 && $value >= $rules['rules_min'] && $value < $rules['rules_max']) - { - $level = $rules; - break; - } - - // *-0 - if($rules['rules_max'] <= 0 && $rules['rules_min'] > 0 && $value > $rules['rules_min']) - { - $level = $rules; - break; - } - } - } - - // 等级icon - if(!empty($level) && empty($level['images_url'])) - { - $level['images_url'] = empty($base['data']['default_level_images']) ? config('shopxo.attachment_host').'/static/plugins/images/wallet/level-default-images.png' : $base['data']['default_level_images']; - } - cache($key, $level); - } - } - return $level; - } - return []; + return DataReturn('支付中', -300); } } ?> \ No newline at end of file diff --git a/application/plugins/wallet/Wallet.php b/application/plugins/wallet/Wallet.php index 8e478b5eb..d8b87aa33 100755 --- a/application/plugins/wallet/Wallet.php +++ b/application/plugins/wallet/Wallet.php @@ -154,69 +154,14 @@ class Wallet extends Controller } /** - * 宠物添加/编辑页面 + * 充值订单创建 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @datetime 2019-03-15T23:51:50+0800 * @param [array] $params [输入参数] */ - public function saveinfo($params = []) - { - // 是否绑定 - if(!empty($params['pest_no'])) - { - $data_params = array( - 'm' => 0, - 'n' => 1, - 'where' => ['pest_no' => $params['pest_no']], - ); - $ret = Service::PetsList($data_params); - if(!empty($ret['data'][0]['user_id'])) - { - $this->assign('msg', '该宠物已被绑定'); - return $this->fetch('public/tips_error'); - } - $this->assign('pest_no', $params['pest_no']); - unset($params['pest_no']); - } - - // 获取数据 - $data = []; - if(!empty($params['id'])) - { - $data_params = array( - 'm' => 0, - 'n' => 1, - 'where' => ['id' => intval($params['id'])], - ); - $ret = Service::PetsList($data_params); - if(!empty($ret['data'][0])) - { - $ret['data'][0]['lose_features'] = str_replace('
', "\n", $ret['data'][0]['lose_features']); - $data = $ret['data'][0]; - } - unset($params['id']); - } - - $this->assign('params', $params); - $this->assign('data', $data); - $this->assign('pets_attribute_status_list', Service::$pets_attribute_status_list); - $this->assign('pets_attribute_is_text_list', Service::$pets_attribute_is_text_list); - $this->assign('pets_attribute_gender_list', Service::$pets_attribute_gender_list); - $this->assign('pets_attribute_type_list', Service::$pets_attribute_type_list); - return $this->fetch('../../../plugins/view/wallet/pets/saveinfo'); - } - - /** - * 宠物添加/编辑 - * @author Devil - * @blog http://gong.gg/ - * @version 1.0.0 - * @datetime 2019-03-15T23:51:50+0800 - * @param [array] $params [输入参数] - */ - public function save($params = []) + public function rechargecreate($params = []) { // 是否ajax请求 if(!IS_AJAX) @@ -225,8 +170,78 @@ class Wallet extends Controller } // 用户 - $params['user_id'] = $this->user['id']; - return Service::PetsSave($params); + $params['user'] = $this->user; + return Service::RechargeCreate($params); + } + + /** + * 支付 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-03-15T23:51:50+0800 + * @param [array] $params [输入参数] + */ + public function pay($params = []) + { + // 用户 + $params['user'] = $this->user; + $ret = Service::Pay($params); + if($ret['code'] == 0) + { + return redirect($ret['data']['data']); + } + return $ret['msg']; + } + + /** + * 支付状态校验 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @datetime 2019-03-15T23:51:50+0800 + * @param [array] $params [输入参数] + */ + public function paycheck($params = []) + { + if(input('post.')) + { + $params['user'] = $this->user; + return Service::RechargePayCheck($params); + } else { + $this->assign('msg', '非法访问'); + return $this->fetch('public/tips_error'); + } + } + + /** + * 支付同步页面 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2019-04-29 + * @desc description + * @param [array] $params [输入参数] + */ + public function respond($params = []) + { + $this->assign('msg', '支付失败'); + return $this->fetch('public/pay_error'); + } + + /** + * 支付异步通知 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2019-04-29 + * @desc description + * @param [array] $params [输入参数] + */ + public function notify($params = []) + { + $this->assign('msg', '支付成功'); + return $this->fetch('public/pay_success'); } /** diff --git a/application/plugins/wallet/install.sql b/application/plugins/wallet/install.sql new file mode 100644 index 000000000..379ec3b99 --- /dev/null +++ b/application/plugins/wallet/install.sql @@ -0,0 +1,17 @@ +# 充值 +CREATE TABLE `s_plugins_wallet_recharge` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', + `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', + `recharge_no` char(60) NOT NULL DEFAULT '' COMMENT '充值单号', + `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '状态(0未支付, 1已支付)', + `money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '金额', + `payment_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付方式id', + `payment` char(60) NOT NULL DEFAULT '' COMMENT '支付方式标记', + `payment_name` char(60) NOT NULL DEFAULT '' COMMENT '支付方式名称', + `pay_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付时间', + `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', + PRIMARY KEY (`id`), + UNIQUE KEY `recharge_no` (`recharge_no`), + KEY `status` (`status`), + KEY `user_id` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='钱包充值 - 应用'; \ No newline at end of file diff --git a/application/service/OrderService.php b/application/service/OrderService.php index 1049fe92d..2142d2b8e 100755 --- a/application/service/OrderService.php +++ b/application/service/OrderService.php @@ -87,7 +87,15 @@ class OrderService $pay_checked = PaymentService::EntranceFileChecked($payment[0]['payment'], 'order'); if($pay_checked['code'] != 0) { - return $pay_checked; + // 入口文件不存在则创建 + $payment_params = [ + 'payment' => $payment[0]['payment'], + ]; + $ret = PaymentService::PaymentEntranceCreated($payment_params); + if($ret['code'] != 0) + { + return $ret; + } } // 回调地址 @@ -116,6 +124,7 @@ class OrderService 'notify_url' => $url.'_notify.php', 'call_back_url' => $call_back_url, 'site_name' => MyC('home_site_name', 'ShopXO', true), + 'ajax_url' => MyUrl('index/order/paycheck'), ); $pay_name = 'payment\\'.$payment[0]['payment']; $ret = (new $pay_name($payment[0]['config']))->Pay($pay_data); diff --git a/application/service/PaymentService.php b/application/service/PaymentService.php index 0dc275255..60ddf4230 100755 --- a/application/service/PaymentService.php +++ b/application/service/PaymentService.php @@ -391,7 +391,7 @@ class PaymentService // 插件权限 if(!is_writable(self::$payment_dir)) { - return DataReturn('目录没有操作权限'.'['.self::$payment_dir.']', -3); + return DataReturn('目录没有操作权限'.'['.self::$payment_dir.']', -4); } } @@ -497,7 +497,7 @@ class PaymentService if(Db::name('Payment')->insertGetId($data) > 0) { // 入口文件生成 - $ret = self::PaymentEntranceCreated($payment); + $ret = self::PaymentEntranceCreated(['payment' => $payment]); if($ret['code'] == 'code') { // 提交事务 @@ -573,7 +573,7 @@ class PaymentService } // 删除入口文件 - self::PaymentEntranceDelete($payment); + self::PaymentEntranceDelete(['payment' => $payment]); return DataReturn('删除成功'); } @@ -603,7 +603,7 @@ class PaymentService if(db('Payment')->where(['payment'=>$payment])->delete()) { // 删除入口文件 - self::PaymentEntranceDelete($payment); + self::PaymentEntranceDelete(['payment' => $payment]); return DataReturn('卸载成功', 0); } @@ -616,21 +616,47 @@ class PaymentService * @blog http://gong.gg/ * @version 1.0.0 * @datetime 2018-09-28T23:38:52+0800 - * @param [string] $payment [支付唯一标记] + * @param [array] $params [输入参数] + * @param [string] $params['payment'] [支付唯一标记] + * @param [array] $params['business'] [处理业务, 默认配置文件读取] + * @param [array] $params['not_notify'] [不生成异步入口] + * @param [string] $params['respond'] [同步参数值] + * @param [string] $params['notify'] [异步参数值] */ - private static function PaymentEntranceCreated($payment) + public static function PaymentEntranceCreated($params = []) { + // 初始化 + self::Init(); + // 权限 $ret = self::PowerCheck(); if($ret['code'] != 0) { return $ret; } + if(empty($params['payment'])) + { + return '支付唯一标记不能为空'; + } + + // 不生成异步入口 + $not_notify = empty($params['not_notify']) ? config('shopxo.under_line_list') : $params['not_notify']; + + // 处理业务 + $business_all = empty($params['business']) ? self::$payment_business_type_all : $params['business']; + + // 同步参数值 + $respond_params = empty($params['respond']) ? '/index/{$name}/respond' : $params['respond']; + + // 异步参数值 + $notify_params = empty($params['notify']) ? '/index/{$name}/notify' : $params['notify']; // 批量创建 - foreach(self::$payment_business_type_all as $v) + foreach($business_all as $v) { - $name = strtolower($v['name']); + $business_name = strtolower($v['name']); + $respond_s = str_replace('{$name}', $business_name, $respond_params); + $notify_s = str_replace('{$name}', $business_name, $notify_params); if(defined('IS_ROOT_ACCESS')) { @@ -643,10 +669,10 @@ $notify=<<


', '2', '0', '27', '', '/static/upload/images/goods/2019/01/14/1547450781101144.jpg', '0', '1547450921', '1554556830'), ('2', '2', '苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G', '', 'iPhone 6 Plus', '0', '1699', '步', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '6000.00-7600.00', '6000.00', '7600.00', '4500.00-6800.00', '4500.00', '6800.00', '30', '1', '0', '1', '1', '1', '


', '2', '0', '157', '/static/upload/video/goods/2019/01/14/1547458876723311.mp4', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '0', '1547451624', '1554555460'), ('3', '2', 'Samsung/三星 SM-G8508S GALAXY Alpha四核智能手机 新品 闪耀白', '', '', '0', '235', '步', '/static/upload/images/goods/2019/01/14/1547451909951171.jpg', '6866.00', '6866.00', '6866.00', '3888.00', '3888.00', '3888.00', '20', '1', '0', '1', '1', '1', '


', '2', '0', '34', '', '/static/upload/images/goods/2019/01/14/1547451909951171.jpg', '0', '1547452007', '1547452007'), ('4', '1', 'Huawei/华为 H60-L01 荣耀6 移动4G版智能手机 安卓', '', '', '0', '537', '步', '/static/upload/images/goods/2019/01/14/1547452474332334.jpg', '2300.00', '2300.00', '2300.00', '1999.00', '1999.00', '1999.00', '19', '1', '0', '1', '1', '1', '


', '2', '0', '78', '', '/static/upload/images/goods/2019/01/14/1547452474332334.jpg', '0', '1547452553', '1547452553'), ('5', '2', 'Meizu/魅族 MX4 Pro移动版 八核大屏智能手机 黑色 16G', '', '', '0', '435', '步', '/static/upload/images/goods/2019/01/14/1547452714324599.jpg', '3200.00', '3200.00', '3200.00', '2499.00', '2499.00', '2499.00', '56', '1', '0', '1', '1', '1', '


', '2', '1', '233', '', '/static/upload/images/goods/2019/01/14/1547452714324599.jpg', '0', '1547452798', '1547452798'), ('6', '1', 'vivo X5MAX L 移动4G 八核超薄大屏5.5吋双卡手机vivoX5max', '', '', '0', '318', '步', '/static/upload/images/goods/2019/01/14/1547453000703308.jpg', '3200.00', '3200.00', '3200.00', '2998.90', '2998.90', '2998.90', '65', '1', '0', '1', '1', '1', '

 X5L/SL/V/M (5.0寸)  X5max钢化膜(5.5寸)  X5pro钢化膜(5.2寸) 



', '2', '0', '243', '', '/static/upload/images/goods/2019/01/14/1547453000703308.jpg', '0', '1547453135', '1547453157'), ('7', '1', '纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条', '', '', '0', '319', '件', '/static/upload/images/goods/2019/01/14/1547453895416529.jpg', '760.00', '760.00', '760.00', '168.00', '168.00', '168.00', '11', '1', '0', '1', '1', '1', '


', '2', '0', '100', '', '/static/upload/images/goods/2019/01/15/1547540603500383.jpg', '0', '1547453967', '1554485498'), ('8', '1', 'MARNI Trunk 女士 中号拼色十字纹小牛皮 斜挎风琴包', '', '', '0', '35', '件', '/static/upload/images/goods/2019/01/14/1547454145355962.jpg', '672.00', '672.00', '672.00', '356.00', '356.00', '356.00', '8', '1', '0', '1', '1', '1', '


', '2', '0', '29', '', '/static/upload/images/goods/2019/01/14/1547454145355962.jpg', '0', '1547454269', '1554485486'), ('9', '2', '睡衣女长袖春秋季纯棉韩版女士大码薄款春夏季全棉家居服两件套装', '', '', '0', '596', '件', '/static/upload/images/goods/2019/01/14/1547454702543219.jpg', '160.00-216.00', '160.00', '216.00', '120.00-158.00', '120.00', '158.00', '2', '1', '0', '1', '1', '1', '


', '3', '0', '107', '', '/static/upload/images/goods/2019/01/14/1547454567172116.jpg', '0', '1547454786', '1554555420'), ('10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '', '', '0', '33', '件', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '568.00', '568.00', '228.00', '228.00', '228.00', '28', '1', '0', '1', '1', '1', '

【品牌】欧单 学媛风 猫咪良品

【吊牌】xueyuanfeng 猫咪良品

【面料质地】涤棉拼接蕾丝  后中拉链 有内衬(非专业机构鉴定,介意请慎拍)

好的衣服需要好好呵护,务必请冷水手洗(切记别浸泡)拧干就晾晒或则干洗哦~

【商品颜色】实物拍摄 蓝色 颜色很难拍有小色差属正常现象哦

【商品尺寸】XS/S/M/L 小高腰设计 胸口纽扣是装饰的哦


XS码尺寸: 悬挂衣长81CM.胸围80内合适.腰围63CM.臀围86CM


S码尺寸: 悬挂衣长82CM.胸围84内合适.腰围67CM.臀围90CM

M码尺寸: 悬挂衣长83CM.胸围88内合适.腰围71CM.臀围94CM

L码尺寸: 悬挂衣长84CM.胸围92内合适.腰围75CM.臀围98CM


(测量单位是CM,每个人的测量方式不一样,测量的尺寸数据可能会有1~3厘米的差异,请MM们谅解哦)

PS:常规码数,可按平时号选择哦。修身版型~如果上身偏大可以适当考虑大1号~下摆蕾丝拼接不会很平整的哦~

蕾丝花是手工修剪出来的,每件都有不同和不规则的哦,有小线头和节点是正常现象哦~请亲们谅解哦~


', '2', '0', '145', '', '/static/upload/images/goods/2019/01/14/1547455222990904.jpg', '0', '1547455375', '1554555406'), ('11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '', '', '0', '36665977', '件', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '0.00-268.00', '0.00', '268.00', '160.00-258.00', '160.00', '258.00', '1', '1', '0', '1', '1', '1', '

【品牌】欧单 学媛风 猫咪良品

【吊牌】xueyuanfeng 猫咪良品

【面料质地】网纱绣花钉珠拼接蕾丝 拉链有内衬(非专业机构鉴定,介意请慎拍)

好的衣服需要好好呵护,务必请冷水手洗(切记别浸泡)拧干就晾晒或则干洗哦~

【商品颜色】实物拍摄 香槟色 颜色很难拍有小色差属正常现象哦

【商品尺寸】XS/S/M/L 小高腰设计 胸那考虑撑开因素哦 微弹的哦


XS码尺寸: 衣长82CM.胸围80内合适.腰围63CM.臀围86CM


S码尺寸: 衣长83CM.胸围84内合适.腰围67CM.臀围90CM

M码尺寸: 衣长84CM.胸围88内合适.腰围71CM.臀围94CM

L码尺寸: 衣长85CM.胸围92内合适.腰围75CM.臀围98CM


(测量单位是CM,每个人的测量方式不一样,测量的尺寸数据可能会有1~3厘米的差异,请MM们谅解哦)

PS:常规码数,可按平时号选择哦。修身版型,如果腰粗可以适当考虑大1号哦~

大圆领,每个人的身材曲线不同,领口不会很平的哦,请谅解~

肩膀那有暗扣哦,可以很好的隐藏了内衣的肩带哦~袖子那略硬哦~



', '4', '1', '77', '', '/static/upload/images/goods/2019/01/14/1547455566118614.jpg', '0', '1547455700', '1556157100'), ('12', '2', 'ZK星星绣花雪纺连衣裙中长款sukol裙少女心温柔超仙女chic裙子夏', '', 'xxxxhhhhhh商品型号', '0', '117', '件', '/static/upload/images/goods/2019/01/14/1547455890402147.jpg', '150.00-188.00', '150.00', '188.00', '0.01-128.00', '0.01', '128.00', '3', '1', '0', '1', '1', '1', '

\"d-1.jpg\"/

\"d-2.jpg\"/

', '3', '0', '328', '', '/static/upload/images/goods/2019/01/14/1547455890402147.jpg', '0', '1547456230', '1556156928'); +INSERT INTO `s_goods` VALUES ('1', '1', 'MIUI/小米 小米手机4 小米4代 MI4智能4G手机包邮 黑色 D-LTE(4G)/TD-SCD', '', '', '0', '125', '步', '/static/upload/images/goods/2019/01/14/1547450781101144.jpg', '3200.00', '3200.00', '3200.00', '2100.00', '2100.00', '2100.00', '10', '1', '0', '1', '1', '1', '


', '2', '0', '27', '', '/static/upload/images/goods/2019/01/14/1547450781101144.jpg', '0', '1547450921', '1554556830'), ('2', '2', '苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G', '', 'iPhone 6 Plus', '0', '1699', '步', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '6000.00-7600.00', '6000.00', '7600.00', '4500.00-6800.00', '4500.00', '6800.00', '30', '1', '0', '1', '1', '1', '


', '2', '0', '185', '/static/upload/video/goods/2019/01/14/1547458876723311.mp4', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '0', '1547451624', '1554555460'), ('3', '2', 'Samsung/三星 SM-G8508S GALAXY Alpha四核智能手机 新品 闪耀白', '', '', '0', '235', '步', '/static/upload/images/goods/2019/01/14/1547451909951171.jpg', '6866.00', '6866.00', '6866.00', '3888.00', '3888.00', '3888.00', '20', '1', '0', '1', '1', '1', '


', '2', '0', '34', '', '/static/upload/images/goods/2019/01/14/1547451909951171.jpg', '0', '1547452007', '1547452007'), ('4', '1', 'Huawei/华为 H60-L01 荣耀6 移动4G版智能手机 安卓', '', '', '0', '537', '步', '/static/upload/images/goods/2019/01/14/1547452474332334.jpg', '2300.00', '2300.00', '2300.00', '1999.00', '1999.00', '1999.00', '19', '1', '0', '1', '1', '1', '


', '2', '0', '164', '', '/static/upload/images/goods/2019/01/14/1547452474332334.jpg', '0', '1547452553', '1547452553'), ('5', '2', 'Meizu/魅族 MX4 Pro移动版 八核大屏智能手机 黑色 16G', '', '', '0', '435', '步', '/static/upload/images/goods/2019/01/14/1547452714324599.jpg', '3200.00', '3200.00', '3200.00', '2499.00', '2499.00', '2499.00', '56', '1', '0', '1', '1', '1', '


', '2', '1', '234', '', '/static/upload/images/goods/2019/01/14/1547452714324599.jpg', '0', '1547452798', '1547452798'), ('6', '1', 'vivo X5MAX L 移动4G 八核超薄大屏5.5吋双卡手机vivoX5max', '', '', '0', '318', '步', '/static/upload/images/goods/2019/01/14/1547453000703308.jpg', '3200.00', '3200.00', '3200.00', '2998.90', '2998.90', '2998.90', '65', '1', '0', '1', '1', '1', '

 X5L/SL/V/M (5.0寸)  X5max钢化膜(5.5寸)  X5pro钢化膜(5.2寸) 



', '2', '0', '247', '', '/static/upload/images/goods/2019/01/14/1547453000703308.jpg', '0', '1547453135', '1547453157'), ('7', '1', '纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条', '', '', '0', '319', '件', '/static/upload/images/goods/2019/01/14/1547453895416529.jpg', '760.00', '760.00', '760.00', '168.00', '168.00', '168.00', '11', '1', '0', '1', '1', '1', '


', '2', '0', '102', '', '/static/upload/images/goods/2019/01/15/1547540603500383.jpg', '0', '1547453967', '1554485498'), ('8', '1', 'MARNI Trunk 女士 中号拼色十字纹小牛皮 斜挎风琴包', '', '', '0', '35', '件', '/static/upload/images/goods/2019/01/14/1547454145355962.jpg', '672.00', '672.00', '672.00', '356.00', '356.00', '356.00', '8', '1', '0', '1', '1', '1', '


', '2', '0', '29', '', '/static/upload/images/goods/2019/01/14/1547454145355962.jpg', '0', '1547454269', '1554485486'), ('9', '2', '睡衣女长袖春秋季纯棉韩版女士大码薄款春夏季全棉家居服两件套装', '', '', '0', '596', '件', '/static/upload/images/goods/2019/01/14/1547454702543219.jpg', '160.00-216.00', '160.00', '216.00', '120.00-158.00', '120.00', '158.00', '2', '1', '0', '1', '1', '1', '


', '3', '0', '107', '', '/static/upload/images/goods/2019/01/14/1547454567172116.jpg', '0', '1547454786', '1554555420'), ('10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '', '', '0', '33', '件', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '568.00', '568.00', '228.00', '228.00', '228.00', '28', '1', '0', '1', '1', '1', '

【品牌】欧单 学媛风 猫咪良品

【吊牌】xueyuanfeng 猫咪良品

【面料质地】涤棉拼接蕾丝  后中拉链 有内衬(非专业机构鉴定,介意请慎拍)

好的衣服需要好好呵护,务必请冷水手洗(切记别浸泡)拧干就晾晒或则干洗哦~

【商品颜色】实物拍摄 蓝色 颜色很难拍有小色差属正常现象哦

【商品尺寸】XS/S/M/L 小高腰设计 胸口纽扣是装饰的哦


XS码尺寸: 悬挂衣长81CM.胸围80内合适.腰围63CM.臀围86CM


S码尺寸: 悬挂衣长82CM.胸围84内合适.腰围67CM.臀围90CM

M码尺寸: 悬挂衣长83CM.胸围88内合适.腰围71CM.臀围94CM

L码尺寸: 悬挂衣长84CM.胸围92内合适.腰围75CM.臀围98CM


(测量单位是CM,每个人的测量方式不一样,测量的尺寸数据可能会有1~3厘米的差异,请MM们谅解哦)

PS:常规码数,可按平时号选择哦。修身版型~如果上身偏大可以适当考虑大1号~下摆蕾丝拼接不会很平整的哦~

蕾丝花是手工修剪出来的,每件都有不同和不规则的哦,有小线头和节点是正常现象哦~请亲们谅解哦~


', '2', '0', '145', '', '/static/upload/images/goods/2019/01/14/1547455222990904.jpg', '0', '1547455375', '1554555406'), ('11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '', '', '0', '36665977', '件', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '0.00-268.00', '0.00', '268.00', '160.00-258.00', '160.00', '258.00', '1', '1', '0', '1', '1', '1', '

【品牌】欧单 学媛风 猫咪良品

【吊牌】xueyuanfeng 猫咪良品

【面料质地】网纱绣花钉珠拼接蕾丝 拉链有内衬(非专业机构鉴定,介意请慎拍)

好的衣服需要好好呵护,务必请冷水手洗(切记别浸泡)拧干就晾晒或则干洗哦~

【商品颜色】实物拍摄 香槟色 颜色很难拍有小色差属正常现象哦

【商品尺寸】XS/S/M/L 小高腰设计 胸那考虑撑开因素哦 微弹的哦


XS码尺寸: 衣长82CM.胸围80内合适.腰围63CM.臀围86CM


S码尺寸: 衣长83CM.胸围84内合适.腰围67CM.臀围90CM

M码尺寸: 衣长84CM.胸围88内合适.腰围71CM.臀围94CM

L码尺寸: 衣长85CM.胸围92内合适.腰围75CM.臀围98CM


(测量单位是CM,每个人的测量方式不一样,测量的尺寸数据可能会有1~3厘米的差异,请MM们谅解哦)

PS:常规码数,可按平时号选择哦。修身版型,如果腰粗可以适当考虑大1号哦~

大圆领,每个人的身材曲线不同,领口不会很平的哦,请谅解~

肩膀那有暗扣哦,可以很好的隐藏了内衣的肩带哦~袖子那略硬哦~



', '4', '1', '77', '', '/static/upload/images/goods/2019/01/14/1547455566118614.jpg', '0', '1547455700', '1556157100'), ('12', '2', 'ZK星星绣花雪纺连衣裙中长款sukol裙少女心温柔超仙女chic裙子夏', '', 'xxxxhhhhhh商品型号', '0', '117', '件', '/static/upload/images/goods/2019/01/14/1547455890402147.jpg', '150.00-188.00', '150.00', '188.00', '0.01-128.00', '0.01', '128.00', '3', '1', '0', '1', '1', '1', '

\"d-1.jpg\"/

\"d-2.jpg\"/

', '3', '0', '378', '', '/static/upload/images/goods/2019/01/14/1547455890402147.jpg', '0', '1547456230', '1556156928'); COMMIT; -- ---------------------------- @@ -384,7 +386,7 @@ CREATE TABLE `s_goods_browse` ( -- Records of `s_goods_browse` -- ---------------------------- BEGIN; -INSERT INTO `s_goods_browse` VALUES ('1', '7', '91', '1554803230', '1554805470'), ('2', '11', '90', '1554966398', '1556431485'), ('3', '10', '90', '1555048568', '1556431429'), ('4', '9', '90', '1555058265', '1556156966'), ('5', '2', '90', '1555157678', '1556445751'), ('6', '12', '90', '1555159096', '1556441161'), ('7', '5', '90', '1555402359', '1556262794'), ('8', '7', '90', '1555406985', '1556431381'), ('9', '4', '90', '1555491079', '1556258601'), ('10', '6', '90', '1555494278', '1556432606'), ('11', '8', '91', '1556075952', '1556075952'), ('12', '3', '90', '1556077528', '1556440406'), ('13', '8', '90', '1556431218', '1556445747'); +INSERT INTO `s_goods_browse` VALUES ('1', '7', '91', '1554803230', '1554805470'), ('2', '11', '90', '1554966398', '1556431485'), ('3', '10', '90', '1555048568', '1556431429'), ('4', '9', '90', '1555058265', '1556156966'), ('5', '2', '90', '1555157678', '1556516665'), ('6', '12', '90', '1555159096', '1556441161'), ('7', '5', '90', '1555402359', '1556262794'), ('8', '7', '90', '1555406985', '1556531887'), ('9', '4', '90', '1555491079', '1556517497'), ('10', '6', '90', '1555494278', '1556516609'), ('11', '8', '91', '1556075952', '1556075952'), ('12', '3', '90', '1556077528', '1556440406'), ('13', '8', '90', '1556431218', '1556445747'); COMMIT; -- ---------------------------- @@ -705,13 +707,13 @@ CREATE TABLE `s_order` ( KEY `shop_id` (`shop_id`), KEY `status` (`status`), KEY `pay_status` (`pay_status`) -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='订单'; +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='订单'; -- ---------------------------- -- Records of `s_order` -- ---------------------------- BEGIN; -INSERT INTO `s_order` VALUES ('1', '20190411150720949337', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '2', '967878', '1', '4', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"},{\"name\":\"\\u65b0\\u7528\\u6237\\u7acb\\u51cf\",\"price\":\"0.26\",\"type\":0,\"tips\":\"-\\uffe50.26\\u5143\"}]', '9.74', '0.00', '258.00', '267.74', '267.74', '1554966442', '1554966440', '1554966457', '0', '1554966464', '0', '0', '0', '0', '0', '0', '1554966440', '1554966464'), ('2', '20190417165125800884', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '2', '1', '0', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"}]', '10.00', '0.00', '1999.00', '2009.00', '0.00', '0', '1555491085', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1555491085', '0'), ('3', '20190426140139615638', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":15,\"type\":1,\"tips\":\"+\\uffe515\\u5143\"}]', '15.00', '0.00', '9216.90', '9231.90', '9231.90', '1556258500', '1556258499', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556258499', '1556258500'), ('4', '20190426140206863246', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":0,\"type\":1,\"tips\":\"+\\uffe50\\u5143\"}]', '0.00', '0.00', '6600.00', '6600.00', '6600.00', '1556258528', '1556258526', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556258526', '1556258528'), ('5', '20190426140230346651', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"}]', '10.00', '0.00', '238.00', '248.00', '248.00', '1556258552', '1556258550', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556258550', '1556258552'), ('6', '20190426141904654958', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":0,\"type\":1,\"tips\":\"+\\uffe50\\u5143\"}]', '0.00', '0.00', '466.00', '466.00', '466.00', '1556259546', '1556259544', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556259544', '1556259546'), ('7', '20190426143927024033', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"}]', '10.00', '0.00', '228.00', '238.00', '238.00', '1556260768', '1556260767', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556260767', '1556260768'), ('8', '20190426143952260370', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":0,\"type\":1,\"tips\":\"+\\uffe50\\u5143\"}]', '0.00', '0.00', '228.00', '228.00', '228.00', '1556260794', '1556260792', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556260792', '1556260794'); +INSERT INTO `s_order` VALUES ('1', '20190411150720949337', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '2', '967878', '1', '4', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"},{\"name\":\"\\u65b0\\u7528\\u6237\\u7acb\\u51cf\",\"price\":\"0.26\",\"type\":0,\"tips\":\"-\\uffe50.26\\u5143\"}]', '9.74', '0.00', '258.00', '267.74', '267.74', '1554966442', '1554966440', '1554966457', '0', '1554966464', '0', '0', '0', '0', '0', '0', '1554966440', '1554966464'), ('2', '20190417165125800884', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '2', '1', '0', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"}]', '10.00', '0.00', '1999.00', '2009.00', '0.00', '0', '1555491085', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1555491085', '0'), ('3', '20190426140139615638', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":15,\"type\":1,\"tips\":\"+\\uffe515\\u5143\"}]', '15.00', '0.00', '9216.90', '9231.90', '9231.90', '1556258500', '1556258499', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556258499', '1556258500'), ('4', '20190426140206863246', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":0,\"type\":1,\"tips\":\"+\\uffe50\\u5143\"}]', '0.00', '0.00', '6600.00', '6600.00', '6600.00', '1556258528', '1556258526', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556258526', '1556258528'), ('5', '20190426140230346651', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"}]', '10.00', '0.00', '238.00', '248.00', '248.00', '1556258552', '1556258550', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556258550', '1556258552'), ('6', '20190426141904654958', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":0,\"type\":1,\"tips\":\"+\\uffe50\\u5143\"}]', '0.00', '0.00', '466.00', '466.00', '466.00', '1556259546', '1556259544', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556259544', '1556259546'), ('7', '20190426143927024033', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"}]', '10.00', '0.00', '228.00', '238.00', '238.00', '1556260768', '1556260767', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556260767', '1556260768'), ('8', '20190426143952260370', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '1', '2', '1', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":0,\"type\":1,\"tips\":\"+\\uffe50\\u5143\"}]', '0.00', '0.00', '228.00', '228.00', '228.00', '1556260794', '1556260792', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556260792', '1556260794'), ('9', '20190429175813029476', '90', '0', '1', 'test', '13222333333', '3', '74', '1149', '23232323', '', '0', '', '2', '1', '0', '[{\"name\":\"\\u8fd0\\u8d39\",\"price\":\"10\",\"type\":1,\"tips\":\"+\\uffe510\\u5143\"},{\"name\":\"VIP1-\\u6ee1\\u51cf\",\"price\":\"10.00\",\"type\":1,\"tips\":\"-\\uffe510.00\\u5143\"}]', '10.00', '10.00', '151.20', '151.20', '0.00', '0', '1556531893', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1556531893', '0'); COMMIT; -- ---------------------------- @@ -760,13 +762,13 @@ CREATE TABLE `s_order_detail` ( KEY `order_id` (`order_id`), KEY `goods_id` (`goods_id`), KEY `shop_id` (`shop_id`) -) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='订单详情'; +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='订单详情'; -- ---------------------------- -- Records of `s_order_detail` -- ---------------------------- BEGIN; -INSERT INTO `s_order_detail` VALUES ('1', '90', '1', '11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '268.00', '258.00', '', '1', '0.00', '', '', '1554966440', '0'), ('2', '90', '2', '4', '0', 'Huawei/华为 H60-L01 荣耀6 移动4G版智能手机 安卓', '/static/upload/images/goods/2019/01/14/1547452474332334.jpg', '2300.00', '1999.00', '', '1', '0.00', '', '', '1555491085', '0'), ('3', '90', '3', '7', '0', '纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条', '/static/upload/images/goods/2019/01/14/1547453895416529.jpg', '760.00', '168.00', '', '1', '0.00', '', '', '1556258499', '0'), ('4', '90', '3', '2', '0', '苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '6800.00', '6050.00', '[{\"type\":\"\\u5957\\u9910\",\"value\":\"\\u5957\\u9910\\u4e00\"},{\"type\":\"\\u989c\\u8272\",\"value\":\"\\u91d1\\u8272\"},{\"type\":\"\\u5bb9\\u91cf\",\"value\":\"32G\"}]', '1', '0.00', '', '', '1556258499', '0'), ('5', '90', '3', '6', '0', 'vivo X5MAX L 移动4G 八核超薄大屏5.5吋双卡手机vivoX5max', '/static/upload/images/goods/2019/01/14/1547453000703308.jpg', '3200.00', '2998.90', '', '1', '0.00', '', '', '1556258499', '0'), ('6', '90', '4', '2', '0', '苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '7200.00', '6600.00', '[{\"type\":\"\\u5957\\u9910\",\"value\":\"\\u5957\\u9910\\u4e00\"},{\"type\":\"\\u989c\\u8272\",\"value\":\"\\u91d1\\u8272\"},{\"type\":\"\\u5bb9\\u91cf\",\"value\":\"64G\"}]', '1', '0.00', '', '', '1556258526', '0'), ('7', '90', '5', '11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '0.00', '238.00', '[{\"type\":\"\\u5c3a\\u7801\",\"value\":\"L\"}]', '1', '0.00', '', '', '1556258550', '0'), ('8', '90', '6', '11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '0.00', '238.00', '[{\"type\":\"\\u5c3a\\u7801\",\"value\":\"L\"}]', '1', '0.00', '', '', '1556259544', '0'), ('9', '90', '6', '10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '228.00', '', '1', '0.00', '', '', '1556259544', '0'), ('10', '90', '7', '10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '228.00', '', '1', '0.00', '', '', '1556260767', '0'), ('11', '90', '8', '10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '228.00', '', '1', '0.00', '', '', '1556260792', '0'); +INSERT INTO `s_order_detail` VALUES ('1', '90', '1', '11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '268.00', '258.00', '', '1', '0.00', '', '', '1554966440', '0'), ('2', '90', '2', '4', '0', 'Huawei/华为 H60-L01 荣耀6 移动4G版智能手机 安卓', '/static/upload/images/goods/2019/01/14/1547452474332334.jpg', '2300.00', '1999.00', '', '1', '0.00', '', '', '1555491085', '0'), ('3', '90', '3', '7', '0', '纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条', '/static/upload/images/goods/2019/01/14/1547453895416529.jpg', '760.00', '168.00', '', '1', '0.00', '', '', '1556258499', '0'), ('4', '90', '3', '2', '0', '苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '6800.00', '6050.00', '[{\"type\":\"\\u5957\\u9910\",\"value\":\"\\u5957\\u9910\\u4e00\"},{\"type\":\"\\u989c\\u8272\",\"value\":\"\\u91d1\\u8272\"},{\"type\":\"\\u5bb9\\u91cf\",\"value\":\"32G\"}]', '1', '0.00', '', '', '1556258499', '0'), ('5', '90', '3', '6', '0', 'vivo X5MAX L 移动4G 八核超薄大屏5.5吋双卡手机vivoX5max', '/static/upload/images/goods/2019/01/14/1547453000703308.jpg', '3200.00', '2998.90', '', '1', '0.00', '', '', '1556258499', '0'), ('6', '90', '4', '2', '0', '苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G', '/static/upload/images/goods/2019/01/14/1547451274847894.jpg', '7200.00', '6600.00', '[{\"type\":\"\\u5957\\u9910\",\"value\":\"\\u5957\\u9910\\u4e00\"},{\"type\":\"\\u989c\\u8272\",\"value\":\"\\u91d1\\u8272\"},{\"type\":\"\\u5bb9\\u91cf\",\"value\":\"64G\"}]', '1', '0.00', '', '', '1556258526', '0'), ('7', '90', '5', '11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '0.00', '238.00', '[{\"type\":\"\\u5c3a\\u7801\",\"value\":\"L\"}]', '1', '0.00', '', '', '1556258550', '0'), ('8', '90', '6', '11', '0', '夏季复古ins风格网红SP同款 短袖大圆领香槟色蕾丝绣花钉珠连衣裙', '/static/upload/images/goods/2019/01/14/1547455601314107.jpg', '0.00', '238.00', '[{\"type\":\"\\u5c3a\\u7801\",\"value\":\"L\"}]', '1', '0.00', '', '', '1556259544', '0'), ('9', '90', '6', '10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '228.00', '', '1', '0.00', '', '', '1556259544', '0'), ('10', '90', '7', '10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '228.00', '', '1', '0.00', '', '', '1556260767', '0'), ('11', '90', '8', '10', '0', '夏装女装古力娜扎明星同款一字领露肩蓝色蕾丝修身显瘦连衣裙礼服', '/static/upload/images/goods/2019/01/14/1547455240794230.jpg', '568.00', '228.00', '', '1', '0.00', '', '', '1556260792', '0'), ('12', '90', '9', '7', '0', '纽芝兰包包女士2018新款潮百搭韩版时尚单肩斜挎包少女小挎包链条', '/static/upload/images/goods/2019/01/14/1547453895416529.jpg', '760.00', '151.20', '', '1', '0.00', '', '', '1556531893', '0'); COMMIT; -- ---------------------------- @@ -952,6 +954,106 @@ BEGIN; INSERT INTO `s_plugins_answers_slide` VALUES ('1', '品牌盛宴', '/static/upload/images/plugins_answers/2019/03/07/1551940388704924.jpg', '', '1', '1', '1551865738', '1553590786'), ('2', '你想要的', '/static/upload/images/plugins_answers/2019/03/07/1551940388179648.jpg', 'https://ask.shopxo.net/article/6', '1', '3', '1551866754', '1551940526'), ('3', '爱上潮流名店', '/static/upload/images/plugins_answers/2019/03/07/1551940310193935.jpg', 'https://shopxo.net/', '1', '0', '1551940433', '1551940506'); COMMIT; +-- ---------------------------- +-- Table structure for `s_plugins_petscms_help` +-- ---------------------------- +DROP TABLE IF EXISTS `s_plugins_petscms_help`; +CREATE TABLE `s_plugins_petscms_help` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', + `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', + `pets_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '宠物id', + `contacts_name` char(30) NOT NULL DEFAULT '' COMMENT '联系人姓名', + `contacts_tel` char(30) NOT NULL DEFAULT '' COMMENT '联系人电话', + `contacts_weixin` char(30) NOT NULL DEFAULT '' COMMENT '联系人微信', + `province` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '所在省', + `city` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '所在市', + `county` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '所在县/区', + `address` char(80) NOT NULL DEFAULT '' COMMENT '详细地址', + `lng` decimal(13,10) unsigned NOT NULL DEFAULT '0.0000000000' COMMENT '经度', + `lat` decimal(13,10) unsigned NOT NULL DEFAULT '0.0000000000' COMMENT '纬度', + `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', + `upd_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`), + KEY `user_id` (`user_id`), + KEY `pets_id` (`pets_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='宠物管理系统宠物丢失帮助数据 - 应用'; + +-- ---------------------------- +-- Table structure for `s_plugins_petscms_pets` +-- ---------------------------- +DROP TABLE IF EXISTS `s_plugins_petscms_pets`; +CREATE TABLE `s_plugins_petscms_pets` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', + `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', + `pest_no` char(60) NOT NULL DEFAULT '' COMMENT '宠物编号', + `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '状态(0正常, 1丢失, 2去世, 3关闭)', + `qrcode_images` char(255) NOT NULL DEFAULT '' COMMENT '宠物二维码', + `title` char(60) NOT NULL DEFAULT '' COMMENT '标题', + `name` char(30) NOT NULL DEFAULT '' COMMENT '名字', + `birthday` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '出生日期', + `type` char(60) NOT NULL DEFAULT '' COMMENT '类型', + `varieties` char(60) NOT NULL DEFAULT '' COMMENT '品种', + `gender` tinyint(2) NOT NULL DEFAULT '-1' COMMENT '性别(0公, 1母)', + `sterilization` tinyint(2) NOT NULL DEFAULT '-1' COMMENT '是否绝育(0否, 1是)', + `vaccine` tinyint(2) NOT NULL DEFAULT '-1' COMMENT '是否疫苗(0否, 1是)', + `photo` mediumtext NOT NULL COMMENT '相册(json数据)', + `content` mediumtext NOT NULL COMMENT '宠物简介', + `person_name` char(30) NOT NULL DEFAULT '' COMMENT '主人姓名', + `person_tel` char(30) NOT NULL DEFAULT '' COMMENT '主人电话', + `person_weixin` char(30) NOT NULL DEFAULT '' COMMENT '主人微信', + `lose_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '丢失-丢失时间', + `lose_reward_amount` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '丢失-悬赏金额', + `lose_features` char(255) NOT NULL DEFAULT '' COMMENT '丢失-宠物特征', + `lose_province` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '丢失-所在省', + `lose_city` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '丢失-所在市', + `lose_county` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '丢失-所在县/区', + `lose_address` char(80) NOT NULL DEFAULT '' COMMENT '丢失-详细地址', + `lose_lng` decimal(13,10) unsigned NOT NULL DEFAULT '0.0000000000' COMMENT '丢失-经度', + `lose_lat` decimal(13,10) unsigned NOT NULL DEFAULT '0.0000000000' COMMENT '丢失-纬度', + `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', + `upd_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `pest_no` (`pest_no`), + KEY `type` (`type`), + KEY `gender` (`gender`), + KEY `user_id` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='宠物管理系统宠物 - 应用'; + +-- ---------------------------- +-- Records of `s_plugins_petscms_pets` +-- ---------------------------- +BEGIN; +INSERT INTO `s_plugins_petscms_pets` VALUES ('1', '90', '20190419163957282865', '0', '/static/upload/images/plugins_petscms/qrcode/2019/04/19/2019041916395788696.png', '11', '22', '1556035200', 'dog', '11', '0', '1', '0', '[\"\\/static\\/upload\\/images\\/plugins_petscms\\/2019\\/04\\/09\\/1554814711403578.jpg\",\"\\/static\\/upload\\/images\\/plugins_petscms\\/2019\\/04\\/09\\/1554814711403578.jpg\"]', '', '222', '17600222222', 'weixin-888', '0', '0.00', '', '0', '0', '0', '', '0.0000000000', '0.0000000000', '1555663197', '1555663852'); +COMMIT; + +-- ---------------------------- +-- Table structure for `s_plugins_wallet_recharge` +-- ---------------------------- +DROP TABLE IF EXISTS `s_plugins_wallet_recharge`; +CREATE TABLE `s_plugins_wallet_recharge` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id', + `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户id', + `recharge_no` char(60) NOT NULL DEFAULT '' COMMENT '充值单号', + `status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '状态(0未支付, 1已支付)', + `money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '金额', + `payment_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付方式id', + `payment` char(60) NOT NULL DEFAULT '' COMMENT '支付方式标记', + `payment_name` char(60) NOT NULL DEFAULT '' COMMENT '支付方式名称', + `pay_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付时间', + `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', + PRIMARY KEY (`id`), + UNIQUE KEY `recharge_no` (`recharge_no`), + KEY `status` (`status`), + KEY `user_id` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='钱包充值 - 应用'; + +-- ---------------------------- +-- Records of `s_plugins_wallet_recharge` +-- ---------------------------- +BEGIN; +INSERT INTO `s_plugins_wallet_recharge` VALUES ('1', '90', '20190429173553609619', '0', '1.00', '0', '', '', '0', '1556530553'), ('2', '90', '20190429173747105836', '0', '1.00', '0', '', '', '0', '1556530667'), ('3', '90', '20190429174049757858', '0', '0.01', '0', '', '', '0', '1556530849'), ('4', '90', '20190429174142994926', '0', '0.01', '0', '', '', '0', '1556530902'), ('5', '90', '20190429174229878512', '0', '1.00', '0', '', '', '0', '1556530941'), ('6', '90', '20190429181512287145', '0', '0.01', '0', '', '', '0', '1556532912'), ('7', '90', '20190429182241119500', '0', '0.01', '0', '', '', '0', '1556533361'), ('8', '90', '20190429183303325246', '0', '2.00', '0', '', '', '0', '1556533983'), ('9', '90', '20190429183330143559', '0', '2.00', '0', '', '', '0', '1556534010'), ('10', '90', '20190429183339730474', '0', '8.00', '0', '', '', '0', '1556534019'); +COMMIT; + -- ---------------------------- -- Table structure for `s_power` -- ---------------------------- @@ -1123,13 +1225,13 @@ CREATE TABLE `s_search_history` ( `ymd` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '日期 ymd', `add_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='搜索日志'; +) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='搜索日志'; -- ---------------------------- -- Records of `s_search_history` -- ---------------------------- BEGIN; -INSERT INTO `s_search_history` VALUES ('1', '90', '0', '0', '', '0-0', 'default', 'asc', '20190412', '1555048567'), ('2', '90', '0', '0', '', '0-0', 'default', 'asc', '20190412', '1555058264'), ('3', '90', '0', '1', '', '0-0', 'default', 'asc', '20190413', '1555157671'), ('4', '90', '0', '0', '', '0-0', 'default', 'asc', '20190414', '1555222450'), ('5', '90', '0', '1', '', '0-0', 'default', 'asc', '20190414', '1555222522'), ('6', '90', '0', '0', '', '0-0', 'default', 'asc', '20190415', '1555293685'), ('7', '90', '0', '53', '', '0-0', 'default', 'asc', '20190416', '1555400228'), ('8', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555402358'), ('9', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407340'), ('10', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407342'), ('11', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407348'), ('12', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407348'), ('13', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407367'), ('14', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407378'), ('15', '90', '0', '0', '', '0-0', 'default', 'asc', '20190422', '1555915151'), ('16', '90', '0', '0', '', '0-0', 'min_price', 'desc', '20190422', '1555915154'), ('17', '90', '0', '0', '', '0-0', 'min_price', 'asc', '20190422', '1555915155'), ('18', '90', '0', '0', '', '0-0', 'sales_count', 'desc', '20190422', '1555915156'), ('19', '90', '0', '0', '', '0-0', 'sales_count', 'asc', '20190422', '1555915157'), ('20', '90', '0', '0', '', '0-0', 'min_price', 'desc', '20190422', '1555915159'), ('21', '90', '0', '0', '', '0-0', 'sales_count', 'desc', '20190422', '1555915159'), ('22', '90', '0', '0', '', '0-0', 'default', 'desc', '20190422', '1555915160'), ('23', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556006494'), ('24', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556006499'), ('25', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556008575'), ('26', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556009343'), ('27', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556009712'), ('28', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556009715'), ('29', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556009787'), ('30', '90', '0', '0', '11', '0-0', 'default', 'asc', '20190423', '1556014897'), ('31', '90', '0', '0', '11', '0-0', 'default', 'asc', '20190423', '1556014939'), ('32', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016061'), ('33', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016064'), ('34', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016066'), ('35', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016067'), ('36', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016069'), ('37', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016070'), ('38', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016072'), ('39', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016073'), ('40', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016079'), ('41', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016083'), ('42', '90', '0', '0', '包包', '0-0', 'default', 'asc', '20190423', '1556016107'), ('43', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016131'), ('44', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016139'), ('45', '90', '0', '2', '', '0-0', 'default', 'asc', '20190423', '1556016141'), ('46', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016144'), ('47', '90', '0', '2', '', '0-0', 'default', 'asc', '20190423', '1556016146'), ('48', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016162'), ('49', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016163'), ('50', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016176'), ('51', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016655'), ('52', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016656'), ('53', '90', '0', '2', '', '0-0', 'default', 'asc', '20190423', '1556016658'), ('54', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016660'), ('55', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016717'), ('56', '90', '0', '0', '', '0-0', 'default', 'asc', '20190424', '1556069360'), ('57', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160619'), ('58', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160716'), ('59', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160717'), ('60', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160734'), ('61', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160998'), ('62', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160998'), ('63', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161001'), ('64', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161077'), ('65', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161078'), ('66', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161079'), ('67', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161089'), ('68', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161091'), ('69', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161092'), ('70', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161099'), ('71', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161118'), ('72', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161120'), ('73', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161174'), ('74', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161180'), ('75', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161235'), ('76', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161266'), ('77', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161272'), ('78', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161423'), ('79', '90', '0', '0', '', '0-0', 'sales_count', 'desc', '20190425', '1556161425'), ('80', '90', '0', '0', '', '0-0', 'sales_count', 'asc', '20190425', '1556161425'), ('81', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161441'), ('82', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161449'), ('83', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161453'), ('84', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161454'), ('85', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161481'), ('86', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161482'), ('87', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161483'), ('88', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161527'), ('89', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556249993'), ('90', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556262777'), ('91', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556262793'), ('92', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556263175'), ('93', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556263188'), ('94', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556263196'), ('95', '90', '0', '0', '', '0-0', 'default', 'asc', '20190428', '1556429081'), ('96', '90', '0', '2', '', '0-0', 'default', 'asc', '20190428', '1556429339'), ('97', '90', '0', '0', '', '0-0', 'default', 'asc', '20190428', '1556430376'); +INSERT INTO `s_search_history` VALUES ('1', '90', '0', '0', '', '0-0', 'default', 'asc', '20190412', '1555048567'), ('2', '90', '0', '0', '', '0-0', 'default', 'asc', '20190412', '1555058264'), ('3', '90', '0', '1', '', '0-0', 'default', 'asc', '20190413', '1555157671'), ('4', '90', '0', '0', '', '0-0', 'default', 'asc', '20190414', '1555222450'), ('5', '90', '0', '1', '', '0-0', 'default', 'asc', '20190414', '1555222522'), ('6', '90', '0', '0', '', '0-0', 'default', 'asc', '20190415', '1555293685'), ('7', '90', '0', '53', '', '0-0', 'default', 'asc', '20190416', '1555400228'), ('8', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555402358'), ('9', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407340'), ('10', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407342'), ('11', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407348'), ('12', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407348'), ('13', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407367'), ('14', '90', '0', '0', '', '0-0', 'default', 'asc', '20190416', '1555407378'), ('15', '90', '0', '0', '', '0-0', 'default', 'asc', '20190422', '1555915151'), ('16', '90', '0', '0', '', '0-0', 'min_price', 'desc', '20190422', '1555915154'), ('17', '90', '0', '0', '', '0-0', 'min_price', 'asc', '20190422', '1555915155'), ('18', '90', '0', '0', '', '0-0', 'sales_count', 'desc', '20190422', '1555915156'), ('19', '90', '0', '0', '', '0-0', 'sales_count', 'asc', '20190422', '1555915157'), ('20', '90', '0', '0', '', '0-0', 'min_price', 'desc', '20190422', '1555915159'), ('21', '90', '0', '0', '', '0-0', 'sales_count', 'desc', '20190422', '1555915159'), ('22', '90', '0', '0', '', '0-0', 'default', 'desc', '20190422', '1555915160'), ('23', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556006494'), ('24', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556006499'), ('25', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556008575'), ('26', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556009343'), ('27', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556009712'), ('28', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556009715'), ('29', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556009787'), ('30', '90', '0', '0', '11', '0-0', 'default', 'asc', '20190423', '1556014897'), ('31', '90', '0', '0', '11', '0-0', 'default', 'asc', '20190423', '1556014939'), ('32', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016061'), ('33', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016064'), ('34', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016066'), ('35', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016067'), ('36', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016069'), ('37', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016070'), ('38', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016072'), ('39', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016073'), ('40', '90', '0', '1', '', '0-0', 'default', 'asc', '20190423', '1556016079'), ('41', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016083'), ('42', '90', '0', '0', '包包', '0-0', 'default', 'asc', '20190423', '1556016107'), ('43', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016131'), ('44', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016139'), ('45', '90', '0', '2', '', '0-0', 'default', 'asc', '20190423', '1556016141'), ('46', '90', '0', '58', '', '0-0', 'default', 'asc', '20190423', '1556016144'), ('47', '90', '0', '2', '', '0-0', 'default', 'asc', '20190423', '1556016146'), ('48', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016162'), ('49', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016163'), ('50', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016176'), ('51', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016655'), ('52', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016656'), ('53', '90', '0', '2', '', '0-0', 'default', 'asc', '20190423', '1556016658'), ('54', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016660'), ('55', '90', '0', '0', '', '0-0', 'default', 'asc', '20190423', '1556016717'), ('56', '90', '0', '0', '', '0-0', 'default', 'asc', '20190424', '1556069360'), ('57', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160619'), ('58', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160716'), ('59', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160717'), ('60', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160734'), ('61', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160998'), ('62', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556160998'), ('63', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161001'), ('64', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161077'), ('65', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161078'), ('66', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161079'), ('67', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161089'), ('68', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161091'), ('69', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161092'), ('70', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161099'), ('71', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161118'), ('72', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161120'), ('73', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161174'), ('74', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161180'), ('75', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161235'), ('76', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161266'), ('77', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161272'), ('78', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161423'), ('79', '90', '0', '0', '', '0-0', 'sales_count', 'desc', '20190425', '1556161425'), ('80', '90', '0', '0', '', '0-0', 'sales_count', 'asc', '20190425', '1556161425'), ('81', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161441'), ('82', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161449'), ('83', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161453'), ('84', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161454'), ('85', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161481'), ('86', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161482'), ('87', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161483'), ('88', '90', '0', '0', '', '0-0', 'default', 'asc', '20190425', '1556161527'), ('89', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556249993'), ('90', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556262777'), ('91', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556262793'), ('92', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556263175'), ('93', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556263188'), ('94', '90', '0', '0', '', '0-0', 'default', 'asc', '20190426', '1556263196'), ('95', '90', '0', '0', '', '0-0', 'default', 'asc', '20190428', '1556429081'), ('96', '90', '0', '2', '', '0-0', 'default', 'asc', '20190428', '1556429339'), ('97', '90', '0', '0', '', '0-0', 'default', 'asc', '20190428', '1556430376'), ('98', '90', '0', '0', '', '0-0', 'default', 'asc', '20190429', '1556516547'), ('99', '90', '0', '0', '', '0-0', 'default', 'asc', '20190429', '1556516616'), ('100', '90', '0', '0', '', '0-0', 'default', 'asc', '20190429', '1556516670'), ('101', '0', '0', '0', '', '0-0', 'default', 'asc', '20190429', '1556516838'), ('102', '0', '0', '0', '连衣裙', '0-0', 'default', 'asc', '20190429', '1556516855'); COMMIT; -- ---------------------------- diff --git a/extend/payment/Weixin.php b/extend/payment/Weixin.php index c9be284f9..14967db24 100755 --- a/extend/payment/Weixin.php +++ b/extend/payment/Weixin.php @@ -171,13 +171,18 @@ class Weixin { // web支付 case 'NATIVE' : + if(empty($params['ajax_url'])) + { + return DataReturn('支付状态校验地址不能为空', -50); + } $pay_params = [ 'url' => urlencode(base64_encode($data['code_url'])), 'order_no' => $params['order_no'], 'name' => urlencode('微信支付'), 'msg' => urlencode('打开微信APP扫一扫进行支付'), + 'ajax_url' => urlencode($params['ajax_url']), ]; - $url = MyUrl('index/order/qrcodepay', $pay_params); + $url = MyUrl('index/pay/qrcode', $pay_params); $result = DataReturn('success', 0, $url); break; diff --git a/public/static/index/default/css/order.css b/public/static/index/default/css/order.css index 84b633e0a..dfa5cd15c 100755 --- a/public/static/index/default/css/order.css +++ b/public/static/index/default/css/order.css @@ -107,21 +107,4 @@ strong.total-price-content { color: #d2364c; font-size: 16px; } .goods-base { margin-left: 45px; } table.data-list td.row-status { border-left: 1px solid #eee; } table.data-ongoing td.row-status { border-left: 1px solid #fff1f5; } -} - - -/** - * 订单二维码支付页面 - */ -.qrcode-pay { - text-align: center; - box-shadow: none; -} -.qrcode-pay .name { - font-size: 18px; - font-weight: 500; - margin: 20px 0 10px 0; -} -.qrcode-pay .msg { - color: #F44336; } \ No newline at end of file diff --git a/public/static/index/default/css/pay.qrcode.css b/public/static/index/default/css/pay.qrcode.css new file mode 100644 index 000000000..2da041442 --- /dev/null +++ b/public/static/index/default/css/pay.qrcode.css @@ -0,0 +1,15 @@ +/** + * 订单二维码支付页面 + */ +.qrcode-pay { + text-align: center; + box-shadow: none; +} +.qrcode-pay .name { + font-size: 18px; + font-weight: 500; + margin: 20px 0 10px 0; +} +.qrcode-pay .msg { + color: #F44336; +} \ No newline at end of file diff --git a/public/static/index/default/js/order.qrcodepay.js b/public/static/index/default/js/pay.qrcode.js similarity index 100% rename from public/static/index/default/js/order.qrcodepay.js rename to public/static/index/default/js/pay.qrcode.js
操作类型描述原始积分最新积分时间充值单号充值金额(元)支付方式状态支付时间创建时间操作
+
没有相关数据