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

重复购买

@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 <project version="4"> 2 <project version="4">
3 <component name="ChangeListManager"> 3 <component name="ChangeListManager">
4 <list default="true" id="e93f11c2-a7d9-4d35-8b1c-8dd18e7f5fef" name="Default" comment=""> 4 <list default="true" id="e93f11c2-a7d9-4d35-8b1c-8dd18e7f5fef" name="Default" comment="">
  5 + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
5 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/api/controller/User.php" afterPath="$PROJECT_DIR$/application/api/controller/User.php" /> 6 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/api/controller/User.php" afterPath="$PROJECT_DIR$/application/api/controller/User.php" />
6 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/api.html" afterPath="$PROJECT_DIR$/public/api.html" /> 7 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/api.html" afterPath="$PROJECT_DIR$/public/api.html" />
7 </list> 8 </list>
@@ -17,8 +18,8 @@ @@ -17,8 +18,8 @@
17 <file leaf-file-name="User.php" pinned="false" current-in-tab="true"> 18 <file leaf-file-name="User.php" pinned="false" current-in-tab="true">
18 <entry file="file://$PROJECT_DIR$/application/api/controller/User.php"> 19 <entry file="file://$PROJECT_DIR$/application/api/controller/User.php">
19 <provider selected="true" editor-type-id="text-editor"> 20 <provider selected="true" editor-type-id="text-editor">
20 - <state relative-caret-position="303">  
21 - <caret line="282" column="37" lean-forward="true" selection-start-line="282" selection-start-column="37" selection-end-line="282" selection-end-column="37" /> 21 + <state relative-caret-position="274">
  22 + <caret line="1118" column="9" lean-forward="false" selection-start-line="1118" selection-start-column="9" selection-end-line="1118" selection-end-column="9" />
22 <folding> 23 <folding>
23 <element signature="e#365#484#0#PHP" expanded="false" /> 24 <element signature="e#365#484#0#PHP" expanded="false" />
24 <element signature="e#490#1228#0#PHP" expanded="false" /> 25 <element signature="e#490#1228#0#PHP" expanded="false" />
@@ -30,6 +31,7 @@ @@ -30,6 +31,7 @@
30 <element signature="e#4973#5810#0#PHP" expanded="false" /> 31 <element signature="e#4973#5810#0#PHP" expanded="false" />
31 <element signature="e#5815#8010#0#PHP" expanded="false" /> 32 <element signature="e#5815#8010#0#PHP" expanded="false" />
32 <element signature="e#8016#8661#0#PHP" expanded="false" /> 33 <element signature="e#8016#8661#0#PHP" expanded="false" />
  34 + <element signature="e#8666#9762#0#PHP" expanded="false" />
33 <element signature="e#9768#10470#0#PHP" expanded="false" /> 35 <element signature="e#9768#10470#0#PHP" expanded="false" />
34 <element signature="e#10475#11675#0#PHP" expanded="false" /> 36 <element signature="e#10475#11675#0#PHP" expanded="false" />
35 <element signature="e#11681#12257#0#PHP" expanded="false" /> 37 <element signature="e#11681#12257#0#PHP" expanded="false" />
@@ -62,17 +64,16 @@ @@ -62,17 +64,16 @@
62 <element signature="e#32644#34597#0#PHP" expanded="false" /> 64 <element signature="e#32644#34597#0#PHP" expanded="false" />
63 <element signature="e#32798#32884#0#PHP" expanded="false" /> 65 <element signature="e#32798#32884#0#PHP" expanded="false" />
64 <element signature="e#32973#33061#0#PHP" expanded="false" /> 66 <element signature="e#32973#33061#0#PHP" expanded="false" />
65 - <element signature="e#34609#35369#0#PHP" expanded="false" />  
66 - <element signature="e#35374#37784#0#PHP" expanded="false" />  
67 - <element signature="e#37810#38641#0#PHP" expanded="false" />  
68 - <element signature="e#38647#39067#0#PHP" expanded="false" />  
69 - <element signature="e#39072#39555#0#PHP" expanded="false" />  
70 - <element signature="e#39561#40367#0#PHP" expanded="false" />  
71 - <element signature="e#40372#43526#0#PHP" expanded="false" />  
72 - <element signature="e#43541#44869#0#PHP" expanded="false" />  
73 - <element signature="e#44885#45912#0#PHP" expanded="false" />  
74 - <element signature="e#45919#46677#0#PHP" expanded="false" />  
75 - <element signature="e#46682#49069#0#PHP" expanded="false" /> 67 + <element signature="e#34603#35363#0#PHP" expanded="false" />
  68 + <element signature="e#38103#38934#0#PHP" expanded="false" />
  69 + <element signature="e#38940#39360#0#PHP" expanded="false" />
  70 + <element signature="e#39365#39848#0#PHP" expanded="false" />
  71 + <element signature="e#39854#40660#0#PHP" expanded="false" />
  72 + <element signature="e#40665#43819#0#PHP" expanded="false" />
  73 + <element signature="e#43834#45162#0#PHP" expanded="false" />
  74 + <element signature="e#45178#46205#0#PHP" expanded="false" />
  75 + <element signature="e#46212#46970#0#PHP" expanded="false" />
  76 + <element signature="e#46975#49362#0#PHP" expanded="false" />
76 </folding> 77 </folding>
77 </state> 78 </state>
78 </provider> 79 </provider>
@@ -81,7 +82,7 @@ @@ -81,7 +82,7 @@
81 <file leaf-file-name="Pay.php" pinned="false" current-in-tab="false"> 82 <file leaf-file-name="Pay.php" pinned="false" current-in-tab="false">
82 <entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php"> 83 <entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php">
83 <provider selected="true" editor-type-id="text-editor"> 84 <provider selected="true" editor-type-id="text-editor">
84 - <state relative-caret-position="179"> 85 + <state relative-caret-position="372">
85 <caret line="247" column="31" lean-forward="false" selection-start-line="247" selection-start-column="31" selection-end-line="247" selection-end-column="31" /> 86 <caret line="247" column="31" lean-forward="false" selection-start-line="247" selection-start-column="31" selection-end-line="247" selection-end-column="31" />
86 <folding> 87 <folding>
87 <element signature="e#450#569#0#PHP" expanded="false" /> 88 <element signature="e#450#569#0#PHP" expanded="false" />
@@ -177,8 +178,8 @@ @@ -177,8 +178,8 @@
177 </component> 178 </component>
178 <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" /> 179 <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
179 <component name="ProjectFrameBounds"> 180 <component name="ProjectFrameBounds">
180 - <option name="x" value="257" />  
181 - <option name="y" value="25" /> 181 + <option name="x" value="381" />
  182 + <option name="y" value="73" />
182 <option name="width" value="1806" /> 183 <option name="width" value="1806" />
183 <option name="height" value="974" /> 184 <option name="height" value="974" />
184 </component> 185 </component>
@@ -277,7 +278,7 @@ @@ -277,7 +278,7 @@
277 <workItem from="1574336957891" duration="1350000" /> 278 <workItem from="1574336957891" duration="1350000" />
278 <workItem from="1574382087071" duration="22007000" /> 279 <workItem from="1574382087071" duration="22007000" />
279 <workItem from="1574410294356" duration="15863000" /> 280 <workItem from="1574410294356" duration="15863000" />
280 - <workItem from="1574469667436" duration="14388000" /> 281 + <workItem from="1574469667436" duration="21200000" />
281 </task> 282 </task>
282 <task id="LOCAL-00001" summary="调试"> 283 <task id="LOCAL-00001" summary="调试">
283 <created>1574145133364</created> 284 <created>1574145133364</created>
@@ -290,7 +291,7 @@ @@ -290,7 +291,7 @@
290 <servers /> 291 <servers />
291 </component> 292 </component>
292 <component name="TimeTrackingManager"> 293 <component name="TimeTrackingManager">
293 - <option name="totallyTimeSpent" value="192198000" /> 294 + <option name="totallyTimeSpent" value="199010000" />
294 </component> 295 </component>
295 <component name="TodoView"> 296 <component name="TodoView">
296 <todo-panel id="selected-file"> 297 <todo-panel id="selected-file">
@@ -302,7 +303,7 @@ @@ -302,7 +303,7 @@
302 </todo-panel> 303 </todo-panel>
303 </component> 304 </component>
304 <component name="ToolWindowManager"> 305 <component name="ToolWindowManager">
305 - <frame x="257" y="25" width="1806" height="974" extended-state="0" /> 306 + <frame x="381" y="73" width="1806" height="974" extended-state="0" />
306 <layout> 307 <layout>
307 <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15005727" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" /> 308 <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15005727" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
308 <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" /> 309 <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" />
@@ -685,7 +686,7 @@ @@ -685,7 +686,7 @@
685 </entry> 686 </entry>
686 <entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php"> 687 <entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php">
687 <provider selected="true" editor-type-id="text-editor"> 688 <provider selected="true" editor-type-id="text-editor">
688 - <state relative-caret-position="179"> 689 + <state relative-caret-position="372">
689 <caret line="247" column="31" lean-forward="false" selection-start-line="247" selection-start-column="31" selection-end-line="247" selection-end-column="31" /> 690 <caret line="247" column="31" lean-forward="false" selection-start-line="247" selection-start-column="31" selection-end-line="247" selection-end-column="31" />
690 <folding> 691 <folding>
691 <element signature="e#450#569#0#PHP" expanded="false" /> 692 <element signature="e#450#569#0#PHP" expanded="false" />
@@ -708,8 +709,8 @@ @@ -708,8 +709,8 @@
708 </entry> 709 </entry>
709 <entry file="file://$PROJECT_DIR$/application/api/controller/User.php"> 710 <entry file="file://$PROJECT_DIR$/application/api/controller/User.php">
710 <provider selected="true" editor-type-id="text-editor"> 711 <provider selected="true" editor-type-id="text-editor">
711 - <state relative-caret-position="303">  
712 - <caret line="282" column="37" lean-forward="true" selection-start-line="282" selection-start-column="37" selection-end-line="282" selection-end-column="37" /> 712 + <state relative-caret-position="274">
  713 + <caret line="1118" column="9" lean-forward="false" selection-start-line="1118" selection-start-column="9" selection-end-line="1118" selection-end-column="9" />
713 <folding> 714 <folding>
714 <element signature="e#365#484#0#PHP" expanded="false" /> 715 <element signature="e#365#484#0#PHP" expanded="false" />
715 <element signature="e#490#1228#0#PHP" expanded="false" /> 716 <element signature="e#490#1228#0#PHP" expanded="false" />
@@ -721,6 +722,7 @@ @@ -721,6 +722,7 @@
721 <element signature="e#4973#5810#0#PHP" expanded="false" /> 722 <element signature="e#4973#5810#0#PHP" expanded="false" />
722 <element signature="e#5815#8010#0#PHP" expanded="false" /> 723 <element signature="e#5815#8010#0#PHP" expanded="false" />
723 <element signature="e#8016#8661#0#PHP" expanded="false" /> 724 <element signature="e#8016#8661#0#PHP" expanded="false" />
  725 + <element signature="e#8666#9762#0#PHP" expanded="false" />
724 <element signature="e#9768#10470#0#PHP" expanded="false" /> 726 <element signature="e#9768#10470#0#PHP" expanded="false" />
725 <element signature="e#10475#11675#0#PHP" expanded="false" /> 727 <element signature="e#10475#11675#0#PHP" expanded="false" />
726 <element signature="e#11681#12257#0#PHP" expanded="false" /> 728 <element signature="e#11681#12257#0#PHP" expanded="false" />
@@ -753,17 +755,16 @@ @@ -753,17 +755,16 @@
753 <element signature="e#32644#34597#0#PHP" expanded="false" /> 755 <element signature="e#32644#34597#0#PHP" expanded="false" />
754 <element signature="e#32798#32884#0#PHP" expanded="false" /> 756 <element signature="e#32798#32884#0#PHP" expanded="false" />
755 <element signature="e#32973#33061#0#PHP" expanded="false" /> 757 <element signature="e#32973#33061#0#PHP" expanded="false" />
756 - <element signature="e#34609#35369#0#PHP" expanded="false" />  
757 - <element signature="e#35374#37784#0#PHP" expanded="false" />  
758 - <element signature="e#37810#38641#0#PHP" expanded="false" />  
759 - <element signature="e#38647#39067#0#PHP" expanded="false" />  
760 - <element signature="e#39072#39555#0#PHP" expanded="false" />  
761 - <element signature="e#39561#40367#0#PHP" expanded="false" />  
762 - <element signature="e#40372#43526#0#PHP" expanded="false" />  
763 - <element signature="e#43541#44869#0#PHP" expanded="false" />  
764 - <element signature="e#44885#45912#0#PHP" expanded="false" />  
765 - <element signature="e#45919#46677#0#PHP" expanded="false" />  
766 - <element signature="e#46682#49069#0#PHP" expanded="false" /> 758 + <element signature="e#34603#35363#0#PHP" expanded="false" />
  759 + <element signature="e#38103#38934#0#PHP" expanded="false" />
  760 + <element signature="e#38940#39360#0#PHP" expanded="false" />
  761 + <element signature="e#39365#39848#0#PHP" expanded="false" />
  762 + <element signature="e#39854#40660#0#PHP" expanded="false" />
  763 + <element signature="e#40665#43819#0#PHP" expanded="false" />
  764 + <element signature="e#43834#45162#0#PHP" expanded="false" />
  765 + <element signature="e#45178#46205#0#PHP" expanded="false" />
  766 + <element signature="e#46212#46970#0#PHP" expanded="false" />
  767 + <element signature="e#46975#49362#0#PHP" expanded="false" />
767 </folding> 768 </folding>
768 </state> 769 </state>
769 </provider> 770 </provider>
@@ -1042,9 +1042,7 @@ class User extends Api @@ -1042,9 +1042,7 @@ class User extends Api
1042 } 1042 }
1043 } 1043 }
1044 1044
1045 -  
1046 -  
1047 - /** 1045 + /**
1048 * @ApiTitle (创建组合订单) 1046 * @ApiTitle (创建组合订单)
1049 * @ApiSummary (创建组合订单) 1047 * @ApiSummary (创建组合订单)
1050 * @ApiMethod (POST) 1048 * @ApiMethod (POST)
@@ -1069,44 +1067,52 @@ class User extends Api @@ -1069,44 +1067,52 @@ class User extends Api
1069 { 1067 {
1070 $param['user_id'] = $this->uid; 1068 $param['user_id'] = $this->uid;
1071 1069
1072 - $video_id = explode(',',$this->request->post('video_id'));  
1073 - $video_attr = explode(',',$this->request->post('video_attr'));  
1074 - 1070 + //接收视频ID加视频属性
  1071 + $video_ids = $this->request->post('video_id');
  1072 + $video_attrs = $this->request->post('video_attr');
  1073 + $video_id = explode(',',$video_ids);
  1074 + $video_attr = explode(',',$video_attrs);
1075 $key = ['id','attr']; 1075 $key = ['id','attr'];
1076 - $a = $this->array_merge_more($key,$video_id,$video_attr);  
1077 -// print_r($a);die; 1076 +
  1077 + //接收图片的ID
  1078 + $pic_id = explode(',',$this->request->post('pic_id'));
1078 1079
1079 $where['user_id'] = ['eq',$param['user_id']]; 1080 $where['user_id'] = ['eq',$param['user_id']];
1080 $where['status'] = ['eq',2]; 1081 $where['status'] = ['eq',2];
1081 1082
1082 - $res = Db::name('order')  
1083 - ->field('video_id')  
1084 - ->where($where)  
1085 - ->select();  
1086 - foreach ($res as &$v){  
1087 - $v['video_id'] = unserialize($v['video_id']);  
1088 - if(!empty($v['video_id'])){  
1089 - foreach ($v['video_id'] as $v1){  
1090 - foreach ($a as &$v2){  
1091 - if($v1['id'] == $v2['id'] && $v1['attr'] == $v2['attr']){  
1092 - $this->error(['code'=>2,'msg'=>'该属性的视频已经购买过了','video_id'=>$v1['id']]); 1083 + if(!empty($video_ids) && !empty($video_attrs)){
  1084 + $a = $this->array_merge_more($key,$video_id,$video_attr);
  1085 + //查询视频ID
  1086 + $res = Db::name('order')
  1087 + ->field('video_id')
  1088 + ->where($where)
  1089 + ->select();
  1090 + foreach ($res as &$v){
  1091 + $v['video_id'] = unserialize($v['video_id']);
  1092 + if(!empty($v['video_id']) && !empty($a)){
  1093 + foreach ($v['video_id'] as $v1){
  1094 + foreach ($a as &$v2){
  1095 + if($v1['id'] == $v2['id'] && $v1['attr'] == $v2['attr']){
  1096 + $this->error(['code'=>2,'msg'=>'该属性的视频已经购买过了','video_id'=>$v2['id']]);
  1097 + }
1093 } 1098 }
1094 } 1099 }
1095 } 1100 }
1096 } 1101 }
1097 - }  
1098 - $param['video_id'] = serialize($a);  
1099 - $arr = Db::name('order')  
1100 - ->field('id,pic_id')  
1101 - ->where($where)  
1102 - ->select();  
1103 - foreach ($arr as &$v){  
1104 - $v['pic_id'] = explode(',',$v['pic_id']);  
1105 - $param['pic_id'] = explode(',',$this->request->post('pic_id'));  
1106 - if(!empty($param['pic_id'])){  
1107 - foreach ($param['pic_id'] as $v3){  
1108 - if(in_array($v3['pic_id'],$v['pic_id'])){  
1109 - $this->error(['code'=>2,'msg'=>'该图片已经购买过了','pic_id'=>$v3['pic_id']]); 1102 + $param['video_id'] = serialize($a);
  1103 + }else{
  1104 + //查询图片ID
  1105 + $arr = Db::name('order')
  1106 + ->field('pic_id')
  1107 + ->where($where)
  1108 + ->select();
  1109 + foreach ($arr as &$v){
  1110 + $v['pic_id'] = explode(',',$v['pic_id']);
  1111 + if(!empty($v['pic_id'])){
  1112 + foreach ($pic_id as $v3){
  1113 + if(in_array($v3,$v['pic_id'])){
  1114 + $this->error(['code'=>2,'msg'=>'该图片已经购买过了','pic_id'=>$v3]);
  1115 + }
1110 } 1116 }
1111 } 1117 }
1112 } 1118 }
@@ -5529,7 +5529,7 @@ @@ -5529,7 +5529,7 @@
5529 5529
5530 <div class="row mt0 footer"> 5530 <div class="row mt0 footer">
5531 <div class="col-md-6" align="left"> 5531 <div class="col-md-6" align="left">
5532 - Generated on 2019-11-23 13:45:04 </div> 5532 + Generated on 2019-11-23 15:38:40 </div>
5533 <div class="col-md-6" align="right"> 5533 <div class="col-md-6" align="right">
5534 <a href="https://www.fastadmin.net" target="_blank">FastAdmin</a> 5534 <a href="https://www.fastadmin.net" target="_blank">FastAdmin</a>
5535 </div> 5535 </div>