| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 | <?php namespace Place\Api;use Dever;use Place;use Place\Lib\Main;class Client extends Main{    protected $login = true;    protected $entry = true;    public function __construct()    {        parent::__construct();        # 查询当前源主界面是否有进货功能        if (Place::$info['channel'] != 1) {            Dever::error('渠道信息获取失败');        }    }    # 检测是否绑定源主    private function check($type = 1)    {        if ($type == 2) {            if (Place::$user['client_id'] <= 0) {                Dever::error('您还未绑定源主');            }            $user = Dever::db('user', 'sector')->find(Place::$uid);            $mobile = $user['mobile'];        } else {            $mobile = Dever::input('mobile', 'is_numeric', '手机号');            if (Place::$user['client_id'] > 0) {                Dever::error('您已经绑定过了,请先解绑再来吧');            }        }        return $mobile;    }    # 发送绑定短信验证码    public function sms()    {        $type = Dever::input('type', 'is_numeric', '类型', 1);        $mobile = $this->check($type);        $data = Dever::load('template', 'msg')->send('user_code', array('mobile' => $mobile));        return $data;    }    # 绑定源主    public function bind()    {        $mobile = $this->check();        $code = Dever::input('code', 'is_string', '验证码');        Dever::load('template', 'msg')->check('user_code', $mobile, $code);        $user = Dever::db('user', 'sector')->find(array('mobile' => $mobile, 'status' => 1));        if (!$user) {            Dever::error('您绑定的手机号未开通源主');        }        $data = array('client_id' => $user['id']);        $member = Dever::db('member', 'place')->find($data);        if ($member) {            Dever::error('手机号已绑定源主,您无法绑定');        }        Dever::db('member', 'place')->update(Place::$uid, $data);        Place::$user['client_id'] = $data['client_id'];        return Place::$user;    }    # 解绑源主    public function unbind()    {        $mobile = $this->check(2);        $code = Dever::input('code', 'is_string', '验证码');        Dever::load('template', 'msg')->check('user_code', $mobile, $code);        Dever::db('member', 'place')->update(Place::$uid, array('client_id' => -1));    }    # 点击进货按钮    public function submit()    {        if (Place::$user['client_id'] <= 0) {            Dever::error('您不是源主');        }        $where = array('uid' => Place::$user['client_id']);        if (Place::$user['client_id'] == Place::$info['uid']) {            $where['id'] = array('!=', Place::$id);        }        # 获取源主的身份        $data['place'] = Dever::db('info', 'place')->select($where, array('col' => 'id, name'));        if (!$data['place']) {            Dever::error('请先创建身份');        }        $type = Dever::input('type', 'is_numeric', '资源类型');        $type_id = Dever::input('type_id', 'is_numeric', '资源ID');        $resource = new \Place\Lib\Resource($type);        $data['info'] = $resource->getInfo($type_id);        $data['info'] = Dever::load('info', $resource->app)->submit($data['info'], 'client');        return $data;    }    # 确定进货或者修改进货    public function act_commit(){}    public function act()    {        if (Place::$user['client_id'] <= 0) {            Dever::error('您不是源主');        }                $data['uid'] = Place::$uid;        $data['client_id'] = Place::$user['client_id'];        $data['type'] = Dever::input('type', 'is_numeric', '资源类型');        $data['type_id'] = Dever::input('type_id', 'is_numeric', '资源ID');        $info = Dever::db('client_resource', 'place')->find($data);        $data['status'] = 1;        $data['place_id'] = Dever::input('place_id', 'is_string', '身份ID');        $temp = explode(',', $data['place_id']);        $where = array('id' => array('in', $data['place_id']), 'uid' => Place::$user['client_id']);        if (Place::$user['client_id'] == Place::$info['uid']) {            $where['id#'] = array('!=', Place::$id);        }        $place = Dever::db('info', 'place')->select($where);        if (count($place) != count($temp)) {            Dever::error('身份不存在');        }        $resource = new \Place\Lib\Resource($data['type']);        $resource_info = $resource->getInfo($data['type_id']);        $data['price'] = $resource_info['client']['value'];        $resource_info['price'] = $resource_info['price']['value'];        $resource_info['status'] = 2;        unset($resource_info['cdate']);        unset($resource_info['cdate_str']);        unset($resource_info['client']);        unset($resource_info['password']);        if ($info) {            Dever::db('client_resource', 'place')->update($info['id'], $data);        } else {            Dever::db('client_resource', 'place')->insert($data);        }        # 同时同步源主里的内容信息        Dever::load('client', 'place')->resource($place, $data, $resource, $resource_info);        return 'ok';    }    # 取消进货    public function cancel_commit(){}    public function cancel()    {        if (Place::$user['client_id'] <= 0) {            Dever::error('您不是源主');        }        $data['uid'] = Place::$uid;        $data['client_id'] = Place::$user['client_id'];        $data['type'] = Dever::input('type', 'is_numeric', '资源类型');        $data['type_id'] = Dever::input('type_id', 'is_numeric', '资源ID');        $info = Dever::db('client_resource', 'place')->find($data);        if ($info) {            # 同时删除源主里的内容信息            Dever::load('client', 'place')->resourceDel($info['place_id'], $data);            Dever::db('client_resource', 'place')->update($info['id'], array('status' => 2));        }        return 'ok';    }}
 |