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

修改视频购买次数

... ... @@ -2,8 +2,8 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="e93f11c2-a7d9-4d35-8b1c-8dd18e7f5fef" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/api/controller/Pay.php" afterPath="$PROJECT_DIR$/application/api/controller/Pay.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/api/controller/User.php" afterPath="$PROJECT_DIR$/application/api/controller/User.php" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
... ... @@ -81,8 +81,8 @@
<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="549">
<caret line="502" column="21" lean-forward="false" selection-start-line="502" selection-start-column="21" selection-end-line="502" selection-end-column="21" />
<state relative-caret-position="475">
<caret line="138" column="5" lean-forward="true" selection-start-line="138" selection-start-column="5" selection-end-line="138" selection-end-column="5" />
<folding>
<element signature="e#450#569#0#PHP" expanded="false" />
<element signature="e#575#888#0#PHP" expanded="false" />
... ... @@ -90,12 +90,16 @@
<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#9966#10386#0#PHP" expanded="false" />
<element signature="e#10391#14250#0#PHP" expanded="false" />
<element signature="e#14277#17979#0#PHP" expanded="false" />
<element signature="e#18009#20953#0#PHP" expanded="false" />
<element signature="e#22268#23101#0#PHP" expanded="false" />
<element signature="e#23124#23341#0#PHP" expanded="false" />
<element signature="e#5749#10343#0#PHP" expanded="false" />
<element signature="e#8532#10276#0#PHP" expanded="false" />
<element signature="e#10349#10769#0#PHP" expanded="false" />
<element signature="e#10774#15443#0#PHP" expanded="false" />
<element signature="e#13629#15375#0#PHP" expanded="false" />
<element signature="e#15470#19172#0#PHP" expanded="false" />
<element signature="e#19202#22146#0#PHP" expanded="false" />
<element signature="e#22175#23432#0#PHP" expanded="false" />
<element signature="e#23461#24747#0#PHP" expanded="false" />
<element signature="e#24770#24987#0#PHP" expanded="false" />
</folding>
</state>
</provider>
... ... @@ -175,8 +179,8 @@
</component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds" extendedState="1">
<option name="x" value="134" />
<option name="y" value="56" />
<option name="x" value="50" />
<option name="y" value="55" />
<option name="width" value="1806" />
<option name="height" value="972" />
</component>
... ... @@ -281,7 +285,7 @@
<workItem from="1574382087071" duration="22007000" />
<workItem from="1574410294356" duration="15863000" />
<workItem from="1574469667436" duration="25235000" />
<workItem from="1574641631900" duration="5454000" />
<workItem from="1574641631900" duration="6361000" />
</task>
<task id="LOCAL-00001" summary="调试">
<created>1574145133364</created>
... ... @@ -294,7 +298,7 @@
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="208499000" />
<option name="totallyTimeSpent" value="209406000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
... ... @@ -306,7 +310,7 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="134" y="56" width="1806" height="972" extended-state="1" />
<frame x="50" y="55" width="1806" height="972" extended-state="1" />
<editor active="true" />
<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.1517755" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
... ... @@ -760,8 +764,8 @@
</entry>
<entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="549">
<caret line="502" column="21" lean-forward="false" selection-start-line="502" selection-start-column="21" selection-end-line="502" selection-end-column="21" />
<state relative-caret-position="475">
<caret line="138" column="5" lean-forward="true" selection-start-line="138" selection-start-column="5" selection-end-line="138" selection-end-column="5" />
<folding>
<element signature="e#450#569#0#PHP" expanded="false" />
<element signature="e#575#888#0#PHP" expanded="false" />
... ... @@ -769,12 +773,16 @@
<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#9966#10386#0#PHP" expanded="false" />
<element signature="e#10391#14250#0#PHP" expanded="false" />
<element signature="e#14277#17979#0#PHP" expanded="false" />
<element signature="e#18009#20953#0#PHP" expanded="false" />
<element signature="e#22268#23101#0#PHP" expanded="false" />
<element signature="e#23124#23341#0#PHP" expanded="false" />
<element signature="e#5749#10343#0#PHP" expanded="false" />
<element signature="e#8532#10276#0#PHP" expanded="false" />
<element signature="e#10349#10769#0#PHP" expanded="false" />
<element signature="e#10774#15443#0#PHP" expanded="false" />
<element signature="e#13629#15375#0#PHP" expanded="false" />
<element signature="e#15470#19172#0#PHP" expanded="false" />
<element signature="e#19202#22146#0#PHP" expanded="false" />
<element signature="e#22175#23432#0#PHP" expanded="false" />
<element signature="e#23461#24747#0#PHP" expanded="false" />
<element signature="e#24770#24987#0#PHP" expanded="false" />
</folding>
</state>
</provider>
... ...
... ... @@ -163,6 +163,7 @@ class Pay extends Api
}
$data = Db::name('order')->where('id',$order_id)->find();
$pic_id = explode(',',$data['pic_id']);
$video_id = unserialize($data['video_id']);
if($type == 1){
if($data){
if($data['status'] == 2){
... ... @@ -182,6 +183,10 @@ class Pay extends Api
$pic = Db::name('pic')->field('id,buy_num')->where('id',$v)->find();
Db::name('pic')->where('id',$pic['id'])->update(['buy_num'=>$pic['buy_num']+1]);
}
foreach ($video_id as $key => $val){
$video = Db::name('video')->field('id,buy_num')->where('id',$val['id'])->find();
Db::name('video')->where('id',$video['id'])->update(['buy_num'=>$video['buy_num']+1]);
}
$arr = Db::name('user')->where('id',$data['user_id'])->update(['money'=>$money]);
$res = Db::name('order')->where('id',$order_id)->update(['status'=>2,'paytime'=>time()]);
if($res && $arr){
... ... @@ -258,6 +263,9 @@ class Pay extends Api
if(empty($openid)){
$this->error(['code'=>2,'msg'=>'openid不能为空']);
}
$data = Db::name('order')->where('id',$order_id)->find();
$pic_id = explode(',',$data['pic_id']);
$video_id = unserialize($data['video_id']);
$type = $this->request->post('type');
if(empty($type)){
$this->error(['code'=>2,'msg'=>'缺少必要参数']);
... ... @@ -278,6 +286,14 @@ class Pay extends Api
// 启动事务
Db::startTrans();
try{
foreach ($pic_id as $key => $v){
$pic = Db::name('pic')->field('id,buy_num')->where('id',$v)->find();
Db::name('pic')->where('id',$pic['id'])->update(['buy_num'=>$pic['buy_num']+1]);
}
foreach ($video_id as $key => $val){
$video = Db::name('video')->field('id,buy_num')->where('id',$val['id'])->find();
Db::name('video')->where('id',$video['id'])->update(['buy_num'=>$video['buy_num']+1]);
}
$arr = Db::name('user')->where('id',$data['user_id'])->update(['money'=>$money]);
$res = Db::name('order')->where('id',$order_id)->update(['status'=>2,'paytime'=>time()]);
if($res && $arr){
... ... @@ -525,6 +541,13 @@ class Pay extends Api
//支付成功,更新订单状态
$toporder['status'] = 2;
$toporder['paytime'] = time();
$data = Db::name('order')->where('id',$message['out_trade_no'])->find();
$video_id = unserialize($data['video_id']);
foreach ($video_id as $key => $val){
$video = Db::name('video')->field('id,buy_num')->where('id',$val['id'])->find();
Db::name('video')->where('id',$video['id'])->update(['buy_num'=>$video['buy_num']+1]);
}
}else{
//支付失败
$toporder['status'] = 1;
... ...