Commit 39349135 authored by xieyishang's avatar xieyishang

Merge branch 'dev' of http://rungit.jxdsy.cn:10000/sugar/jwhx into dev

parents 921087c4 b016ead5
...@@ -13,7 +13,7 @@ use App\Models\BaseModel; ...@@ -13,7 +13,7 @@ use App\Models\BaseModel;
class GoodsSku extends BaseModel { class GoodsSku extends BaseModel {
protected $table = 'goods_sku'; protected $table = 'goods_sku';
protected $fillable = ['goods_id', 'sku_value', 'sku', 'price', 'integral', 'stock', 'sales', 'cover', 'created_at', 'updated_at']; protected $fillable = ['goods_id', 'sku_value', 'sku', 'price', 'integral', 'stock', 'sales', 'cover', 'created_at', 'updated_at','goods_sn'];
// protected $hidden = ['deleted_at']; // protected $hidden = ['deleted_at'];
protected function casts(): array { protected function casts(): array {
......
...@@ -119,7 +119,7 @@ class GoodsService { ...@@ -119,7 +119,7 @@ class GoodsService {
foreach ($goods->setFilterFields($request->all()) as $key => $value) { foreach ($goods->setFilterFields($request->all()) as $key => $value) {
$goods->$key = $value; $goods->$key = $value;
} }
$goods->goods_sn = date('YmdHis') ; $goods->goods_sn = "G".date('YmdHis') ;
$goods->save(); $goods->save();
//更新栏目 //更新栏目
...@@ -131,6 +131,7 @@ class GoodsService { ...@@ -131,6 +131,7 @@ class GoodsService {
foreach ($sku as $key => $value) { foreach ($sku as $key => $value) {
$sku[$key]['sku_value'] = isset($value['sku_value']) ? $value['sku_value'] : Arr::except($value, ['price', 'stock', 'cover', 'original_price', 'sales']); $sku[$key]['sku_value'] = isset($value['sku_value']) ? $value['sku_value'] : Arr::except($value, ['price', 'stock', 'cover', 'original_price', 'sales']);
$sku[$key]['sku'] = implode(';', $value['sku_value']); $sku[$key]['sku'] = implode(';', $value['sku_value']);
$sku[$key]['goods_sn'] = "S".date('YmdHis') ;
} }
$goods->sku()->createMany($sku); $goods->sku()->createMany($sku);
} }
...@@ -176,6 +177,7 @@ class GoodsService { ...@@ -176,6 +177,7 @@ class GoodsService {
foreach ($sku as $key => $value) { foreach ($sku as $key => $value) {
$value['sku_value'] = isset($value['sku_value']) ? $value['sku_value'] : Arr::except($value, ['price', 'stock', 'cover', 'original_price', 'sales']); $value['sku_value'] = isset($value['sku_value']) ? $value['sku_value'] : Arr::except($value, ['price', 'stock', 'cover', 'original_price', 'sales']);
$value['sku'] = implode(';', $value['sku_value']); $value['sku'] = implode(';', $value['sku_value']);
$value['goods_sn'] = empty($value['goods_sn'])?"S".date('YmdHi').rand(1000,9999):$value['goods_sn'];
$goods->sku()->updateOrCreate(['id' => $value['id'] ?? 0], $value); $goods->sku()->updateOrCreate(['id' => $value['id'] ?? 0], $value);
} }
}else{ }else{
......
...@@ -289,6 +289,7 @@ class AccountService { ...@@ -289,6 +289,7 @@ class AccountService {
if(isset($result['code'])){ if(isset($result['code'])){
throw new \Exception('异常:'.$result['code'].' '.$result['message'], 0); throw new \Exception('异常:'.$result['code'].' '.$result['message'], 0);
} }
MemberAccount::where(['id'=>$account->id])->update(['status'=>1,'out_batch_no'=>$result]);
}else if($account->pay_type=="bank"){ }else if($account->pay_type=="bank"){
throw new \Exception("银行卡在开发中!", 0); throw new \Exception("银行卡在开发中!", 0);
}else { }else {
......
...@@ -44,4 +44,14 @@ class Notify extends BaseController { ...@@ -44,4 +44,14 @@ class Notify extends BaseController {
} }
return 'success'; return 'success';
} }
public function transfer(Request $request, NotifyService $service){
try {
return $service->transferNotify($request);
} catch (\Throwable $th) {
$this->data['message'] = $th->getMessage();
$this->data['code'] = 0;
}
return 'success';
}
} }
\ No newline at end of file
...@@ -9,8 +9,12 @@ ...@@ -9,8 +9,12 @@
namespace Modules\Wechat\Services; namespace Modules\Wechat\Services;
use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use EasyWeChat\Pay\Application; use EasyWeChat\Pay\Application;
use Modules\Member\Models\Member;
use Modules\Member\Models\MemberAccount;
use Modules\Order\Services\OrderService; use Modules\Order\Services\OrderService;
use Modules\Store\Services\PaymentService; use Modules\Store\Services\PaymentService;
use Modules\Order\Services\RefundService; use Modules\Order\Services\RefundService;
...@@ -55,6 +59,36 @@ class NotifyService { ...@@ -55,6 +59,36 @@ class NotifyService {
app(RefundService::class)->refundSuccess($message); app(RefundService::class)->refundSuccess($message);
}); });
return $server->serve();
}
public function transferNotify($request){
$config = Config::get('wechat.miniapp');
$app = new Application($config);
$server = $app->getServer();
Log::info("转账到零钱异步返回通知:");
// 处理退款结果事件
//DB::connection()->enableQueryLog();
$data= MemberAccount::where(['status'=>1,'detail_status'=>null])->whereNotNull("out_batch_no")->select()->get();
//print_r(DB::getQueryLog());
foreach ($data as $key=>$val){
$result = TransferService::transferQuery($val['out_batch_no'],$val['request_no']);
if(isset($result['code']) && !empty($result['code'])){
MemberAccount::where(['id'=>$val['id']])->update(['status'=>-2,'reason'=>$result['message'],'detail_status'=>$result['fail_reason']]);
//提现失败金额退回
/*$user = Member::find($val['member_id']);
$user->money = bcadd($user->money, $val['amount'], 2);
$user->save();*/
}else{
MemberAccount::where(['id'=>$val['id']])->update(['detail_status'=>'SUCCESS']);
}
}
return $server->serve(); return $server->serve();
} }
} }
\ No newline at end of file
...@@ -59,8 +59,7 @@ class TransferService ...@@ -59,8 +59,7 @@ class TransferService
return ['code'=>$response['code'],'message'=>$response['message']]; return ['code'=>$response['code'],'message'=>$response['message']];
} }
return $response; return $response['out_batch_no'];
$out_batch_no = $response->toArray()['out_batch_no'];
} }
//获取微信支付平台证书序列号与生成公钥文件 //获取微信支付平台证书序列号与生成公钥文件
...@@ -87,15 +86,13 @@ class TransferService ...@@ -87,15 +86,13 @@ class TransferService
} }
/** /**查询商家转账到零钱订单状态
* 查询商家转账到零钱订单状态 * @param $out_batch_no
* @param $batch_name * @param $out_detail_no
* @param $out_trade_no * @param string $http_method
* @param $money * @return array|mixed
* @param $openid
* @throws BaseException
*/ */
public function transferQuery($out_batch_no,$out_detail_no,$http_method ="GET") public static function transferQuery($out_batch_no,$out_detail_no,$http_method ="GET")
{ {
$url = 'https://api.mch.weixin.qq.com/v3/transfer/batches/out-batch-no/'.$out_batch_no.'/details/out-detail-no/'.$out_detail_no; $url = 'https://api.mch.weixin.qq.com/v3/transfer/batches/out-batch-no/'.$out_batch_no.'/details/out-detail-no/'.$out_detail_no;
...@@ -150,7 +147,7 @@ class TransferService ...@@ -150,7 +147,7 @@ class TransferService
} }
} }
return $result_arr; return true;
} }
} }
\ No newline at end of file
...@@ -27,3 +27,4 @@ Route::name('wechat.')->prefix('wechat')->middleware(['auth.check:api'])->group( ...@@ -27,3 +27,4 @@ Route::name('wechat.')->prefix('wechat')->middleware(['auth.check:api'])->group(
Route::post('/wechat/notify/order', [Modules\Wechat\Controllers\Api\Notify::class, 'order']); Route::post('/wechat/notify/order', [Modules\Wechat\Controllers\Api\Notify::class, 'order']);
Route::post('/wechat/notify/payment', [Modules\Wechat\Controllers\Api\Notify::class, 'payment']); Route::post('/wechat/notify/payment', [Modules\Wechat\Controllers\Api\Notify::class, 'payment']);
Route::post('/wechat/notify/refund', [Modules\Wechat\Controllers\Api\Notify::class, 'refund']); Route::post('/wechat/notify/refund', [Modules\Wechat\Controllers\Api\Notify::class, 'refund']);
Route::get('/wechat/notify/transfer', [Modules\Wechat\Controllers\Api\Notify::class, 'transfer']);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment