作者 郭盛
1 个管道 的构建 通过 耗费 1 秒

开通会员回调

... ... @@ -16,8 +16,8 @@
<file leaf-file-name="User.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/api/controller/User.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1500">
<caret line="675" column="5" lean-forward="false" selection-start-line="675" selection-start-column="5" selection-end-line="675" selection-end-column="5" />
<state relative-caret-position="251">
<caret line="769" column="25" lean-forward="false" selection-start-line="769" selection-start-column="25" selection-end-line="769" selection-end-column="25" />
<folding>
<element signature="e#38#68#0#PHP" expanded="true" />
<element signature="e#337#456#0#PHP" expanded="false" />
... ... @@ -77,21 +77,21 @@
<file leaf-file-name="Pay.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="453">
<caret line="188" column="35" lean-forward="true" selection-start-line="188" selection-start-column="35" selection-end-line="188" selection-end-column="35" />
<state relative-caret-position="153">
<caret line="462" column="25" lean-forward="true" selection-start-line="462" selection-start-column="25" selection-end-line="462" selection-end-column="25" />
<folding>
<element signature="e#450#569#0#PHP" expanded="false" />
<element signature="e#575#888#0#PHP" expanded="false" />
<element signature="e#893#2938#0#PHP" expanded="false" />
<element signature="e#2944#3264#0#PHP" expanded="false" />
<element signature="e#3269#5320#0#PHP" expanded="false" />
<element signature="e#5326#5744#0#PHP" expanded="false" />
<element signature="e#5749#9603#0#PHP" expanded="false" />
<element signature="e#9609#10029#0#PHP" expanded="false" />
<element signature="e#10034#13874#0#PHP" expanded="false" />
<element signature="e#13901#17603#0#PHP" expanded="false" />
<element signature="e#17632#18462#0#PHP" expanded="false" />
<element signature="e#18491#19324#0#PHP" expanded="false" />
<element signature="e#19347#19564#0#PHP" expanded="false" />
<element signature="e#20597#21427#0#PHP" expanded="false" />
<element signature="e#21456#22289#0#PHP" expanded="false" />
<element signature="e#22312#22529#0#PHP" expanded="false" />
</folding>
</state>
</provider>
... ... @@ -171,8 +171,8 @@
</component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds">
<option name="x" value="223" />
<option name="y" value="25" />
<option name="x" value="325" />
<option name="y" value="50" />
<option name="width" value="1699" />
<option name="height" value="1003" />
</component>
... ... @@ -268,7 +268,7 @@
<workItem from="1574209189943" duration="37638000" />
<workItem from="1574252363848" duration="8841000" />
<workItem from="1574295812843" duration="20536000" />
<workItem from="1574336957891" duration="303000" />
<workItem from="1574336957891" duration="1329000" />
</task>
<task id="LOCAL-00001" summary="调试">
<created>1574145133364</created>
... ... @@ -281,7 +281,7 @@
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="138893000" />
<option name="totallyTimeSpent" value="139919000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
... ... @@ -293,7 +293,7 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="223" y="25" width="1699" height="1003" extended-state="0" />
<frame x="325" y="50" width="1699" height="1003" extended-state="0" />
<layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15436241" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32912987" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
... ... @@ -437,6 +437,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="453">
<caret line="112" column="20" lean-forward="false" selection-start-line="112" selection-start-column="20" selection-end-line="112" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
... ... @@ -675,8 +676,8 @@
</entry>
<entry file="file://$PROJECT_DIR$/application/api/controller/User.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1500">
<caret line="675" column="5" lean-forward="false" selection-start-line="675" selection-start-column="5" selection-end-line="675" selection-end-column="5" />
<state relative-caret-position="251">
<caret line="769" column="25" lean-forward="false" selection-start-line="769" selection-start-column="25" selection-end-line="769" selection-end-column="25" />
<folding>
<element signature="e#38#68#0#PHP" expanded="true" />
<element signature="e#337#456#0#PHP" expanded="false" />
... ... @@ -734,21 +735,21 @@
</entry>
<entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="453">
<caret line="188" column="35" lean-forward="true" selection-start-line="188" selection-start-column="35" selection-end-line="188" selection-end-column="35" />
<state relative-caret-position="153">
<caret line="462" column="25" lean-forward="true" selection-start-line="462" selection-start-column="25" selection-end-line="462" selection-end-column="25" />
<folding>
<element signature="e#450#569#0#PHP" expanded="false" />
<element signature="e#575#888#0#PHP" expanded="false" />
<element signature="e#893#2938#0#PHP" expanded="false" />
<element signature="e#2944#3264#0#PHP" expanded="false" />
<element signature="e#3269#5320#0#PHP" expanded="false" />
<element signature="e#5326#5744#0#PHP" expanded="false" />
<element signature="e#5749#9603#0#PHP" expanded="false" />
<element signature="e#9609#10029#0#PHP" expanded="false" />
<element signature="e#10034#13874#0#PHP" expanded="false" />
<element signature="e#13901#17603#0#PHP" expanded="false" />
<element signature="e#17632#18462#0#PHP" expanded="false" />
<element signature="e#18491#19324#0#PHP" expanded="false" />
<element signature="e#19347#19564#0#PHP" expanded="false" />
<element signature="e#20597#21427#0#PHP" expanded="false" />
<element signature="e#21456#22289#0#PHP" expanded="false" />
<element signature="e#22312#22529#0#PHP" expanded="false" />
</folding>
</state>
</provider>
... ...
... ... @@ -411,6 +411,73 @@ class Pay extends Api
$response->send();
}
//支付开通会员结果通知(无需调用)
public function vippayOrderNotify(){
$config = config('verify.wx_pay');
$app = Factory::payment($config);
$response = $app->handlePaidNotify(function($message, $fail){
$data = Db::name('viporder')
->where('num',$message['out_trade_no'])
->find();
//return_code 表示通信状态
if ($message['return_code'] === 'SUCCESS') {
if ($message['result_code'] === 'SUCCESS') {
//支付成功,更新订单状态
$toporder['status'] = 2;
$toporder['paytime'] = time();
$money = $data['money'];
// 启动事务
Db::startTrans();
try{
//判断用户充值金额是否大于等于8000
if($data['money']>=8000){
//大于等于的情况
$res = Db::name('toporder')->where('num',$message['out_trade_no'])->update($toporder);
$arr = Db::name('user')->where('id',$data['user_id'])->find();
//不是会员
$list['money'] = $arr['money'] + $money;
$list['is_vip'] = 1;
$info = Db::name('user')->where('id',$data['user_id'])->update($list);
if($res && $info){
true;
}else{
$this->error(['code'=>2,'msg'=>'充值失败']);
}
// 提交事务
Db::commit();
}else{
//小于8000的情况
$res = Db::name('toporder')->where('num',$message['out_trade_no'])->update($toporder);
$arr = Db::name('user')->where('id',$data['user_id'])->find();
$list['money'] = $arr['money'] + $money;
$info = Db::name('user')->where('id',$data['user_id'])->update(['money'=>$list['money']]);
if($res && $info){
true;
}else{
$this->error(['code'=>2,'msg'=>'充值失败']);
}
// 提交事务
Db::commit();
}
} catch (\Exception $e) {
dump($e->getMessage());
// 回滚事务
Db::rollback();
}
}else{
//支付失败
Db::name('toporder')->where('num',$message['out_trade_no'])->update(['status'=>1]);
}
}else{
return $fail('通信失败,请稍后再通知我');
}
return true; // 返回处理完成
});
$response->send();
}
//图片支付订单结果通知(无需调用)
public function picOrderNotify(){
$config = config('verify.wx_pay');
... ...
此 diff 太大无法显示。