| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | <?phpnamespace Active\Lib;use Dever;class Active{    public function action($uid, $active_id, $num, $path, $remark = false)    {    	$user = Dever::db('active/user')->find($uid);		// print_R(json_decode('[{"id":"1","value":"文本"},{"id":"2","value":"文本"},{"id":"3","value":"1"}]'));die;		$data = Dever::db('active/info')->find($active_id);		// print_R($data);die;		$insert['active_id'] = $active_id;		$insert['mid'] = $user['mid'];		$insert['num'] = $num;		$insert['price'] = $num * $data['price'];		if ($remark) {			$insert['remark'] = $remark;		}		if ($path) {			$insert['path'] = $path;		}		$insert['uid'] = $user['id'];		$title = array();		if ($data['attr']) {			if ($data['attr_input']) {				$input['num'] = explode(',',$data['attr_input']);			}			$data['attr'] = explode(',',$data['attr']);			foreach ($data['attr'] as $k => $v) {				foreach ($input['num'] as $k1 => $v1) {					if($k == $k1){						$title[$k]['id'] = $v;						$title[$k]['num'] = $v1;					}				}			}		}		$data = Dever::db('active/order')->getNum(array('uid'=>$uid,'active_id'=>$active_id));		$member = Dever::db('agent/member')->find(array('mobile'=>$user['mobile']));		if ($member) {			foreach ($title as $k => $v) {				if($v['id'] == $member['role']) {					if ($data && $data['total']  && $v['num'] > 0 && $data['total'] > $v['num']) {						Dever::alert('您已超过限购数量');					}				}			}		}		if ($data && $data['total'] && $data['tatal'] > $data['num']) {			Dever::alert('您已超过限购数量');		}		$insert['order_num'] = $this->getOrderId();		$ids = Dever::db('active/order')->insert($insert);		$url = Dever::url();		$refer = 'https://www.churenyiliao.com/';		if (strstr($url, 'uat.')) {			$refer = 'http://guanli.uat.churenyiliao.com/';		}		$refer .= 'data/payback/active.html?order_id=' . $ids;		if ($ids) {			$info = Dever::db('active/order')->find($ids);			$active = Dever::db('active/info')->find($info['active_id']);			$param = array	        (	            'project_id' => 6,	            'channel_id' => 1,	            'system_source' => 1,	            'account_id' => 8,	            'uid' => $uid,	            'name' => $active['name'],	            //'openid' => $data['openid'],	            'cash' => $info['price'],	            'product_id' => $ids,	            'order_id' => $info['order_num'],	            'h5' => 1,	            'refer' => $refer,	        );	        $result = Dever::load('pay/api.pay', $param);	        if ($result['order']) {	        	Dever::db('active/order')->update(array('where_id'=>$ids,'url'=>$result['order']));	        }	        $result['order_num'] = $info['order_num'];	        $result['order_id'] = $info['id'];	        $jump = Dever::input('jump');	        if ($jump == 1) {	        	Dever::location($result['order']);	        }	        return $result;		} else {			Dever::alert('提交失败');		}    }    #生成订单号    public function getOrderId()    {        $where['order_num'] = Dever::order('D');        $where['clear'] = true;        $state = Dever::db('active/order')->one($where);        if (!$state) {            return $where['order_num'];        } else {            return $this->getOrderId();        }    }	}
 |