Your Name 3 years ago
parent
commit
158edf399f
3 changed files with 46 additions and 17 deletions
  1. 14 0
      learn/active/database/code.php
  2. 20 17
      learn/active/lib/Manage.php
  3. 12 0
      learn/active/src/Home.php

+ 14 - 0
learn/active/database/code.php

@@ -248,5 +248,19 @@ return array
             'order' => array('cdate' => 'desc'),
             'col' => '*',
         ),
+        'getNum' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'active_id' => 'yes',
+                'buy_uid' => 'yes',
+                'status' => array('yes','in'),
+                'state' => 1,
+            ),
+            'type' => 'count',
+            // 'order' => array('cdate' => 'desc'),
+            'col' => '*',
+        ),
     ),
 );

+ 20 - 17
learn/active/lib/Manage.php

@@ -32,11 +32,23 @@ Class Manage
         if($num > $data['num']) {
             Dever::alert('退款数量大于购买数量');
         }
-        $info = Dever::db('active/info_refund')->state(array('order_id'=>$order_id,'status'=>2));
-        $count = $data['num'] - count($info);
-        if ($num > $count) {
-            Dever::alert('退款数量大于购买数量');
+        $code = Dever::db('active/code')->getCode(array('order_id' => $order_id,'status'=>'1,2'));
+        $use_code = count($code);#已领取的所有数量
+        if (!$data['refund_num']) {
+            $data['refund_num'] = 0;
+        }
+        $no_code = $data['num'] - $use_code - $data['refund_num'];#未使用的数量
+        if ($num > $no_code){
+            Dever::alert('退款数量不正确');
         }
+        // if ($data['refund_num'] > 0){
+        //     $info = Dever::db('active/info_refund')->state(array('order_id'=>$order_id,'status'=>2));
+        //     $count = $data['num'] - count($info);
+        //     if ($num > $count) {
+        //         Dever::alert('退款数量大于购买数量');
+        //     }
+        // }
+        
     }
 
     public function updateInfoRefund ($id,$name,$data)
@@ -253,23 +265,18 @@ Class Manage
         // } else {
         //     $user_idcard = '';
         // }
-        $field_name = '';
-        $field_value = '';
-        $field_sname = '';
-        $field_svalue = '';
         $path = array();
+        $path_data = array();
         if ($info['path']) {
             $path = Dever::json_decode($info['path']);
             foreach ($path as $k => $v) {
                 $field = Dever::db('active/info_field')->find($v['id']);
                 if ($field['type'] == 1) {
-                    $field_name = $field['name'];
-                    $field_value = $v['value'];
+                    $path_data[] = array($field['name'], $v['value']);
                 } elseif ($field['type'] == 2) {
                     $value = Dever::db('active/info_field_value')->find($v['value']);
                     if ($value) {
-                        $field_sname = $field['name'];
-                        $field_svalue = $value['name'];
+                        $path_data[] = array($field['name'], $value['name']);
                     }
                 }
             }
@@ -317,11 +324,7 @@ Class Manage
                 'type' => 'info',
                 'content' => array
                 (
-                    array
-                    (
-                        array($field_name, $field_value),
-                        array($field_sname, $field_svalue),
-                    ),
+                    $path_data,
                 ),
             );
         }

+ 12 - 0
learn/active/src/Home.php

@@ -81,6 +81,18 @@ Class Home extends Core
 		if ($member) {
 			$this->data['user']['mid'] = $member['id'];
 		}
+		$this->data['user']['content'] = '';
+		if ($uid && $uid > 0) {
+			if ($this->data['info']['status']!=5){
+				$count = Dever::db('active/order')->getNum(array('active_id'=>$this->data['info']['id'],'uid'=>$uid,'status'=>'1,2,4,5'));
+				$code = Dever::db('active/code')->state(array('active_id'=>$active_id,'buy_uid'=>$uid,'status'=>'1,2'));
+				if ($count['total']  && $count['total'] > 0){
+					$no_num = $count['total'] - $code;
+					$this->data['user']['content'] = '已购核销码'.$count['total'].'张,未使用'.$no_num.'张';
+				}
+			}
+			
+		}
 		return $this->data;
 	}