diff --git a/admin_v3.sql b/admin_v3.sql index 52b6a5b5c..1789db95c 100644 --- a/admin_v3.sql +++ b/admin_v3.sql @@ -924,6 +924,24 @@ CREATE TABLE `wechat_news_media` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='微信素材表'; + +-- ---------------------------- +-- Table structure for store_goods_stock +-- ---------------------------- +DROP TABLE IF EXISTS `store_goods_stock`; +CREATE TABLE `store_goods_stock` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `goods_id` bigint(20) unsigned DEFAULT '0' COMMENT '商品ID', + `goods_spec` varchar(255) DEFAULT '' COMMENT '商品属性', + `goods_stock` bigint(20) unsigned DEFAULT '0' COMMENT '商品库存', + `stock_desc` varchar(255) DEFAULT '' COMMENT '商品库存描述', + `sort` bigint(20) unsigned DEFAULT '0' COMMENT '数据排序', + `status` bigint(1) unsigned DEFAULT '1' COMMENT '商品状态(1有效,0无效)', + `is_deleted` bigint(1) unsigned DEFAULT '0' COMMENT '删除状态(1删除,0未删除)', + `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COMMENT='商城商品库存'; + -- ---------------------------- -- Records of wechat_news_media -- ---------------------------- diff --git a/application/admin/controller/Login.php b/application/admin/controller/Login.php index 25b28d4a8..c133ee7ec 100644 --- a/application/admin/controller/Login.php +++ b/application/admin/controller/Login.php @@ -64,7 +64,7 @@ class Login extends BasicAdmin ($user['password'] !== md5($password)) && $this->error('登录密码与账号不匹配,请重新输入!'); empty($user['status']) && $this->error('账号已经被禁用,请联系管理!'); // 更新登录信息 - $data = ['login_at' => ['exp', 'now()'], 'login_num' => ['exp', 'login_num+1']]; + $data = ['login_at' => Db::raw('now()'), 'login_num' => Db::raw('login_num+1')]; Db::name('SystemUser')->where(['id' => $user['id']])->update($data); session('user', $user); !empty($user['authorize']) && NodeService::applyAuthNode(); diff --git a/application/admin/view/config/index.html b/application/admin/view/config/index.html index 9aec3838a..c2acdaef2 100644 --- a/application/admin/view/config/index.html +++ b/application/admin/view/config/index.html @@ -55,7 +55,7 @@ 上传图片 -

建议上传ICO图标的尺寸为128x128px,此图标用于网站标题前,ICON在线制作

+

建议上传ICO图标的尺寸为128x128px,此图标用于网站标题前,ICON在线制作

diff --git a/application/admin/view/user/index.html b/application/admin/view/user/index.html index 72c79d38b..c76cd98f4 100644 --- a/application/admin/view/user/index.html +++ b/application/admin/view/user/index.html @@ -88,9 +88,7 @@ {$vo.mail|default="还没有设置邮箱"|raw} - - {$vo.login_num|default="从未登录"|raw} - + {$vo.login_num|default=0} {$vo.login_at|format_datetime|default="从未登录"|raw} diff --git a/application/store/controller/Goods.php b/application/store/controller/Goods.php index f9aa540e5..fb8d9b7c4 100644 --- a/application/store/controller/Goods.php +++ b/application/store/controller/Goods.php @@ -223,6 +223,45 @@ class Goods extends BasicAdmin return ['main' => $main, 'list' => $list]; } + /** + * 商品库存信息更新 + * @return string + * @throws \think\Exception + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\ModelNotFoundException + * @throws \think\exception\DbException + * @throws \think\exception\PDOException + */ + public function stock() + { + if (!$this->request->post()) { + $goods_id = $this->request->get('id'); + $goods = Db::name('StoreGoods')->where(['id' => $goods_id, 'is_deleted' => '0'])->find(); + empty($goods) && $this->error('该商品无法操作入库操作!'); + $where = ['goods_id' => $goods_id, 'status' => '1', 'is_deleted' => '0']; + $goods['list'] = Db::name('StoreGoodsList')->where($where)->select(); + return $this->fetch('', ['vo' => $goods]); + } + // 入库保存 + $goods_id = $this->request->post('id'); + list($post, $data) = [$this->request->post(), []]; + foreach ($post['spec'] as $key => $spec) { + if ($post['stock'][$key] > 0) { + $data[] = [ + 'goods_stock' => $post['stock'][$key], + 'stock_desc' => $this->request->post('desc'), + 'goods_spec' => $spec, 'goods_id' => $goods_id, + ]; + } + } + empty($data) && $this->error('无需入库的数据哦!'); + if (Db::name('StoreGoodsStock')->insertAll($data) !== false) { + GoodsService::syncGoodsStock($goods_id); + $this->success('商品入库成功!', ''); + } + $this->error('商品入库失败,请稍候再试!'); + } + /** * 删除商品 * @throws \think\Exception diff --git a/application/store/controller/GoodsBrand.php b/application/store/controller/GoodsBrand.php index 7c6618d70..54e39a05e 100644 --- a/application/store/controller/GoodsBrand.php +++ b/application/store/controller/GoodsBrand.php @@ -104,7 +104,7 @@ class GoodsBrand extends BasicAdmin protected function _form_result($result) { if ($result !== false) { - list($base, $spm, $url) = [url('@admin'), $this->request->get('spm'), url('goods/brand/index')]; + list($base, $spm, $url) = [url('@admin'), $this->request->get('spm'), url('store/goods_brand/index')]; $this->success('数据保存成功!', "{$base}#{$url}?spm={$spm}"); } } diff --git a/application/store/service/GoodsService.php b/application/store/service/GoodsService.php index 8d0aa6df8..8873f2f7f 100644 --- a/application/store/service/GoodsService.php +++ b/application/store/service/GoodsService.php @@ -86,7 +86,7 @@ class GoodsService } /** - * 同步更新商品库存及售出(@todo 需要重新做库存统计) + * 同步更新商品库存及售出 * @param int $goods_id 商品ID * @return array * @throws \think\Exception @@ -99,35 +99,31 @@ class GoodsService { // 检查商品是否需要更新库存 $map = ['id' => $goods_id, 'is_deleted' => '0']; - if (!($goods = Db::name('Goods')->where($map)->find())) { + if (!($goods = Db::name('StoreGoods')->where($map)->find())) { return ['code' => 0, 'msg' => '指定商品信息无法同步库存!']; } // 统计入库信息 $stockField = 'goods_id,goods_spec,ifnull(sum(goods_stock), 0) goods_stock'; - $stockWhere = ['status' => '1', 'is_deleted' => '0', 'goods_id' => $goods_id, 'mch_id' => $mch_id]; + $stockWhere = ['status' => '1', 'is_deleted' => '0', 'goods_id' => $goods_id]; $stockList = (array)Db::name('StoreGoodsStock')->field($stockField)->where($stockWhere)->group('goods_id,goods_spec')->select(); // 统计销售信息 $saleField = 'goods_id,goods_spec,ifnull(sum(number), 0) goods_sale'; - $saleWhere = ['status' => '1', 'is_deleted' => '0', 'goods_id' => $goods_id, 'mch_id' => $mch_id]; - $saleList = (array)Db::name('StoreOrderList')->field($saleField)->where($saleWhere)->group('goods_id,goods_spec')->select(); + $saleWhere = ['status' => '1', 'is_deleted' => '0', 'goods_id' => $goods_id]; + $saleList = (array)Db::name('StoreOrderGoods')->field($saleField)->where($saleWhere)->group('goods_id,goods_spec')->select(); // 库存置零 - list($where, $total_stock, $total_sale) = [['goods_id' => $goods_id], 0, 0]; - Db::name('StoreGoodsList')->where($where)->update(['goods_stock' => 0, 'goods_sale' => 0, 'mch_id' => $mch_id]); + list($where, $total_sale) = [['goods_id' => $goods_id], 0]; + Db::name('StoreGoodsList')->where($where)->update(['goods_stock' => 0, 'goods_sale' => 0]); // 更新商品库存 foreach ($stockList as $stock) { - $total_stock += intval($stock['goods_stock']); - $where = ['goods_id' => $goods_id, 'goods_spec' => $stock['goods_spec'], 'mch_id' => $mch_id]; + $where = ['goods_id' => $goods_id, 'goods_spec' => $stock['goods_spec']]; Db::name('StoreGoodsList')->where($where)->update(['goods_stock' => $stock['goods_stock']]); } // 更新商品销量 foreach ($saleList as $sale) { $total_sale += intval($sale['goods_sale']); - $where = ['goods_id' => $goods_id, 'goods_spec' => $sale['goods_spec'], 'mch_id' => $mch_id]; + $where = ['goods_id' => $goods_id, 'goods_spec' => $sale['goods_spec']]; Db::name('StoreGoodsList')->where($where)->update(['goods_sale' => $sale['goods_sale']]); } - // 更新总库存及总销量 - $update = ['package_stock' => $total_stock, 'package_sale' => $total_sale, 'mch_id' => $mch_id]; - Db::name('Goods')->where(['id' => $goods_id])->update($update); return ['code' => 1, 'msg' => '同步商品库存成功!']; } diff --git a/application/store/service/MemberService.php b/application/store/service/MemberService.php new file mode 100644 index 000000000..92c6c77d3 --- /dev/null +++ b/application/store/service/MemberService.php @@ -0,0 +1,37 @@ +where(['id' => $mid])->find())) { return ['code' => 0, 'msg' => '会员数据处理异常,请刷新重试!']; } // 订单数据生成 - list($order_no, $orderList) = [[], DataService::createSequence(10, 'ORDER'), []]; - $order = ['mid' => $mid, 'order_no' => $order_no, 'real_price' => 0, 'total_price' => 0, 'desc' => $orderDesc, 'type' => $orderType, 'from' => $from,]; + list($order_no, $orderList) = [DataService::createSequence(10, 'ORDER'), []]; + $order = ['mid' => $mid, 'order_no' => $order_no, 'real_price' => 0, 'goods_price' => 0, 'desc' => $orderDesc, 'type' => $orderType, 'from' => $from]; foreach (explode(';', trim($params, ',;@')) as $param) { list($goods_id, $goods_spec, $number) = explode('@', "{$param}@@"); - $item = ['mid' => $mid, 'type' => $orderType, 'order_no' => $order_no, 'goods_id' => $goods_id, 'goods_spec' => $goods_spec, 'goods_number' => $number,]; + $item = ['mid' => $mid, 'type' => $orderType, 'order_no' => $order_no, 'goods_id' => $goods_id, 'goods_spec' => $goods_spec, 'goods_number' => $number]; $goodsResult = self::buildOrderData($item, $order, $orderList, 'selling_price'); if (empty($goodsResult['code'])) { return $goodsResult; @@ -69,7 +68,10 @@ class OrderService Db::name('StoreOrderGoods')->insertAll($orderList); // 订单关联的商品信息 Db::name('storeOrderExpress')->insert($expressResult['data']); // 快递信息 }); - // @todo 同步相关商品库存 + // 同步商品库存列表 + foreach (array_unique(array_column($orderList, 'goods_id')) as $stock_goods_id) { + GoodsService::syncGoodsStock($stock_goods_id); + } } catch (\Exception $e) { return ['code' => 0, 'msg' => '商城订单创建失败,请稍候再试!' . $e->getLine() . $e->getFile() . $e->getMessage()]; } @@ -132,13 +134,15 @@ class OrderService } // 商品规格信息 $specField = 'goods_id,goods_spec,market_price,selling_price,goods_stock,goods_sale'; - $specWhere = ['status' => '1', 'is_deleted' => '0', 'package_id' => '0', 'goods_id' => $goods_id, 'goods_spec' => $goods_spec]; + $specWhere = ['status' => '1', 'is_deleted' => '0', 'goods_id' => $goods_id, 'goods_spec' => $goods_spec]; if (!($goodsSpec = Db::name('StoreGoodsList')->field($specField)->where($specWhere)->find())) { return ['code' => 0, 'msg' => '无效的商品规格信息!', 'data' => "{$goods_id}, {$goods_spec}, {$number}"]; } + // 商品库存检查 if ($goodsSpec['goods_stock'] - $goodsSpec['goods_sale'] < $number) { return ['code' => 0, 'msg' => '商品库存不足,请更换其它商品!', 'data' => "{$goods_id}, {$goods_spec}, {$number}"]; } + // 订单价格处理 $goodsSpec['price_field'] = $price_field; $orderList[] = array_merge($goods, $goodsSpec, ['mid' => $mid, 'number' => $number, 'order_no' => $order_no, 'type' => $type]); $order['goods_price'] += floatval($goodsSpec[$price_field]) * $number; diff --git a/application/store/view/goods/index.html b/application/store/view/goods/index.html index b47420777..6b33ced59 100644 --- a/application/store/view/goods/index.html +++ b/application/store/view/goods/index.html @@ -159,6 +159,11 @@ 编辑 + + | + 入库 + + | 下架 diff --git a/application/store/view/goods/stock.html b/application/store/view/goods/stock.html new file mode 100644 index 000000000..820a42581 --- /dev/null +++ b/application/store/view/goods/stock.html @@ -0,0 +1,52 @@ + diff --git a/application/wechat/controller/Config.php b/application/wechat/controller/Config.php index 625e261d3..dd32ba797 100644 --- a/application/wechat/controller/Config.php +++ b/application/wechat/controller/Config.php @@ -84,7 +84,7 @@ class Config extends BasicAdmin } LogService::write('微信管理', '修改微信接口参数成功'); } catch (\Exception $e) { - $this->error('微信授权保存失败 , 请稍候重试 ! ' . $e->getMessage()); + $this->error('微信授权保存成功, 但授权验证失败 !
' . $e->getMessage()); } $this->success('微信授权数据修改成功!', url('@admin') . "#" . url('@wechat/config/index')); } diff --git a/extend/controller/BasicWechat.php b/extend/controller/BasicWechat.php index 4629488c3..1e81becd9 100644 --- a/extend/controller/BasicWechat.php +++ b/extend/controller/BasicWechat.php @@ -14,8 +14,10 @@ namespace controller; +use app\store\service\MemberService; use service\WechatService; use think\Controller; +use think\Db; /** * 微信基础控制器 @@ -31,6 +33,29 @@ class BasicWechat extends Controller */ protected $openid; + /** + * 当前会员数据记录 + * @var array + */ + protected $member = []; + + /** + * 初始化会员数据记录 + * @throws \think\Exception + * @throws \think\exception\PDOException + * @return array + */ + protected function initMember() + { + $openid = $this->getOpenid(); + $this->member = Db::name('StoreMember')->where(['openid' => $openid])->find(); + if (empty($this->member)) { + MemberService::create(['openid' => $openid]); + $this->member = Db::name('StoreMember')->where(['openid' => $openid])->find(); + } + return $this->member; + } + /** * 获取粉丝用户OPENID * @return bool|string diff --git a/extend/service/SoapService.php b/extend/service/SoapService.php index 06f94caf4..de6c7fbc5 100644 --- a/extend/service/SoapService.php +++ b/extend/service/SoapService.php @@ -50,6 +50,7 @@ class SoapService * @param string $name SOAP调用方法名 * @param array|string $arguments SOAP调用参数 * @return array|string|bool + * @throws \think\Exception */ public function __call($name, $arguments) { @@ -57,8 +58,8 @@ class SoapService return $this->soap->__soapCall($name, $arguments); } catch (\Exception $e) { Log::error("Soap Error. Call {$name} Method --- " . $e->getMessage()); + throw new Exception($e->getMessage(), $e->getCode()); } - return false; } } diff --git a/index.php b/index.php index 07c0a05ed..735a45133 100644 --- a/index.php +++ b/index.php @@ -17,5 +17,8 @@ namespace think; // 加载基础文件 require __DIR__ . '/thinkphp/base.php'; +// think文件检查,防止TP目录计算异常 +file_exists('think') || touch('think'); + // 执行应用并响应 Container::get('app', [__DIR__ . '/application/'])->run()->send(); diff --git a/vendor/autoload.php b/vendor/autoload.php index ce8975bef..11af676cc 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInitf5974243cd36d6c47ccc2deac6411e2c::getLoader(); +return ComposerAutoloaderInit7ecf5ded1a6830a1c375fe7293886da9::getLoader(); diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 282038a30..76df8b0d8 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -165,6 +165,7 @@ return array( 'app\\store\\controller\\wechat\\Demo' => $baseDir . '/application/store/controller/wechat/Demo.php', 'app\\store\\controller\\wechat\\Index' => $baseDir . '/application/store/controller/wechat/Index.php', 'app\\store\\service\\GoodsService' => $baseDir . '/application/store/service/GoodsService.php', + 'app\\store\\service\\MemberService' => $baseDir . '/application/store/service/MemberService.php', 'app\\store\\service\\OrderService' => $baseDir . '/application/store/service/OrderService.php', 'app\\wechat\\controller\\Config' => $baseDir . '/application/wechat/controller/Config.php', 'app\\wechat\\controller\\Fans' => $baseDir . '/application/wechat/controller/Fans.php', diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 359d7ba98..e9e991e87 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInitf5974243cd36d6c47ccc2deac6411e2c +class ComposerAutoloaderInit7ecf5ded1a6830a1c375fe7293886da9 { private static $loader; @@ -19,15 +19,15 @@ class ComposerAutoloaderInitf5974243cd36d6c47ccc2deac6411e2c return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInitf5974243cd36d6c47ccc2deac6411e2c', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit7ecf5ded1a6830a1c375fe7293886da9', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInitf5974243cd36d6c47ccc2deac6411e2c', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit7ecf5ded1a6830a1c375fe7293886da9', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit7ecf5ded1a6830a1c375fe7293886da9::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -48,19 +48,19 @@ class ComposerAutoloaderInitf5974243cd36d6c47ccc2deac6411e2c $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c::$files; + $includeFiles = Composer\Autoload\ComposerStaticInit7ecf5ded1a6830a1c375fe7293886da9::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequiref5974243cd36d6c47ccc2deac6411e2c($fileIdentifier, $file); + composerRequire7ecf5ded1a6830a1c375fe7293886da9($fileIdentifier, $file); } return $loader; } } -function composerRequiref5974243cd36d6c47ccc2deac6411e2c($fileIdentifier, $file) +function composerRequire7ecf5ded1a6830a1c375fe7293886da9($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 46f8a648e..131da8600 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c +class ComposerStaticInit7ecf5ded1a6830a1c375fe7293886da9 { public static $files = array ( '1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php', @@ -248,6 +248,7 @@ class ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c 'app\\store\\controller\\wechat\\Demo' => __DIR__ . '/../..' . '/application/store/controller/wechat/Demo.php', 'app\\store\\controller\\wechat\\Index' => __DIR__ . '/../..' . '/application/store/controller/wechat/Index.php', 'app\\store\\service\\GoodsService' => __DIR__ . '/../..' . '/application/store/service/GoodsService.php', + 'app\\store\\service\\MemberService' => __DIR__ . '/../..' . '/application/store/service/MemberService.php', 'app\\store\\service\\OrderService' => __DIR__ . '/../..' . '/application/store/service/OrderService.php', 'app\\wechat\\controller\\Config' => __DIR__ . '/../..' . '/application/wechat/controller/Config.php', 'app\\wechat\\controller\\Fans' => __DIR__ . '/../..' . '/application/wechat/controller/Fans.php', @@ -274,9 +275,9 @@ class ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInitf5974243cd36d6c47ccc2deac6411e2c::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit7ecf5ded1a6830a1c375fe7293886da9::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit7ecf5ded1a6830a1c375fe7293886da9::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit7ecf5ded1a6830a1c375fe7293886da9::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index e9e437143..e601ce3ca 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -80,17 +80,17 @@ }, { "name": "zoujingli/wechat-developer", - "version": "v1.1.3", - "version_normalized": "1.1.3.0", + "version": "v1.1.4", + "version_normalized": "1.1.4.0", "source": { "type": "git", "url": "https://github.com/zoujingli/WeChatDeveloper.git", - "reference": "4b1112e8d4723ce5e6ef0d6eee41a02e588b60ab" + "reference": "e72fb2f166ee1a3b4889845cd932a1ab9d2005ee" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/zoujingli/WeChatDeveloper/4b1112e8d4723ce5e6ef0d6eee41a02e588b60ab.zip", - "reference": "4b1112e8d4723ce5e6ef0d6eee41a02e588b60ab", + "url": "https://files.phpcomposer.com/files/zoujingli/WeChatDeveloper/e72fb2f166ee1a3b4889845cd932a1ab9d2005ee.zip", + "reference": "e72fb2f166ee1a3b4889845cd932a1ab9d2005ee", "shasum": "" }, "require": { @@ -98,7 +98,7 @@ "ext-openssl": "*", "php": ">=5.4" }, - "time": "2018-05-03T07:30:54+00:00", + "time": "2018-05-09T05:38:00+00:00", "type": "library", "installation-source": "dist", "autoload": { diff --git a/vendor/zoujingli/wechat-developer/WeChat/Contracts/BasicWeChat.php b/vendor/zoujingli/wechat-developer/WeChat/Contracts/BasicWeChat.php index 1af8ceb22..83c9a3d1f 100644 --- a/vendor/zoujingli/wechat-developer/WeChat/Contracts/BasicWeChat.php +++ b/vendor/zoujingli/wechat-developer/WeChat/Contracts/BasicWeChat.php @@ -105,7 +105,7 @@ class BasicWeChat if (!empty($result['access_token'])) { Tools::setCache($cache, $result['access_token'], 7000); } - return $result['access_token']; + return $this->access_token = $result['access_token']; } /** diff --git a/vendor/zoujingli/wechat-developer/WeChat/Pay.php b/vendor/zoujingli/wechat-developer/WeChat/Pay.php index 5b4c6dfff..b57d43b6a 100644 --- a/vendor/zoujingli/wechat-developer/WeChat/Pay.php +++ b/vendor/zoujingli/wechat-developer/WeChat/Pay.php @@ -299,13 +299,13 @@ class Pay { $option = []; if ($isCert) { + $option['ssl_cer'] = $this->config->get('ssl_cer'); + $option['ssl_key'] = $this->config->get('ssl_key'); foreach (['ssl_cer', 'ssl_key'] as $key) { - if (empty($options[$key])) { + if (empty($option[$key]) || !file_exists($option[$key])) { throw new InvalidArgumentException("Missing Config -- [{$key}]", '0'); } } - $option['ssl_cer'] = $this->config->get('ssl_cer'); - $option['ssl_key'] = $this->config->get('ssl_key'); } $params = $this->params->merge($data); $needSignType && ($params['sign_type'] = strtoupper($signType));