| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 | <?phpnamespace Bill\Lib;use Dever;class Sell{    # 发放业绩    public function push_one_commit($mid, $num, $role, $id, $desc, $cdate = false)    {        $this->push($mid, $num, $role, $id, $desc, $cdate);    }    # 批量发放业绩    public function push_all_commit($mid, $num, $role, $id, $desc, $cdate = false)    {        $this->push($mid, $num, $role, $id, $desc, $cdate);        $parent = Dever::load('invite/api')->getParentAll($mid);        if ($parent) {            foreach ($parent as $k => $v) {                $this->push($v['uid'], $num, $role, $id, $desc, $cdate);            }        }    }    # 发放业绩    private function push($mid, $num, $role, $id, $desc, $cdate = false)    {        $this->up(false, $mid, 1, $num, $role, $id, $desc, 2, $cdate);        $this->up(false, $mid, 2, $num, $role, $id, $desc, 2, $cdate);        $where['where_id'] = $mid;        $where['group_sell'] = $num;        $where['sell'] = $num;        return Dever::db('agent/member')->upGroupSellOne($where);    }    # 更新数据    public function up($child, $mid, $type, $num, $role, $type_id, $desc, $stype = 1, $cdate = false)    {        if ($num == 0) {            return;        }        if ($type > 2) {            return;        }        $member = Dever::db('agent/member')->find(array('id' => $mid, 'clear' => true));        if ($member && $member['status'] <= 2) {            $desc = explode(',', $desc);            $desc = $desc[0];            $where['mid'] = $mid;            $where['type'] = $type;            $where['stype'] = $stype;            $where['type_id'] = $type_id;            $where['clear'] = true;            $info = Dever::db('bill/sell')->find($where);            if (!$info) {                $data = $where;                if ($child && isset($child['id'])) {                    $child_mid = Dever::load('invite/api')->getRelation($child['id'], $mid);                    if ($child_mid) {                        $data['child_mid'] = $child_mid;                    }                }                if ($cdate) {                    $data['cdate'] = $cdate;                }                $data['order_num'] = $this->getOrderId();                $data['num'] = $num;                $data['role'] = $role;                $data['desc'] = $desc;                return Dever::db('bill/sell')->insert($data);            }            return $info['id'];        }        return false;    }    /**     * 生成订单号     *     * @return mixed     */    public function getOrderId()    {        $where['order_num'] = Dever::order('S');        $state = Dever::db('bill/sell')->one($where);        if (!$state) {            return $where['order_num'];        } else {            return $this->getOrderId();        }    }    # 展示详情    public function show()    {        $id = Dever::input('id');        $config = Dever::db('bill/sell')->config['set'];        $info = Dever::db('bill/sell')->one($id);        $type = $config['type'][$info['type']];        $member = Dever::db('agent/member')->find($info['mid']);        $role = Dever::db('setting/role')->one($member['role']);        $level = Dever::db('setting/level')->one($member['level_id']);        if ($member['shop_id']) {            $shop = Dever::db('shop/info')->one($member['shop_id']);        } else {            $shop['id'] = -1;            $shop['name'] = '无';        }        $cdate = date('Y-m-d H:i', $info['cdate']);        $result = array();        $result['代理商信息'] = array        (            'type' => 'info',            'content' => array            (                array                (                    array('代理商', $member['name'] . ' ' . $member['mobile']),                    array('代理角色', $role['name'] . ($level ? '('.$level['name'].')' : '')),                    array('所属店铺', $shop['name']),                ),                array                (                    array('资金余额', '¥' . $member['cash'] . '元'),                    //array('直推业绩', '¥' . $member['sell'] . '元'),                    array('团队业绩', '¥' . $member['group_sell'] . '元'),                ),            ),        );        $result['业绩信息'] = array        (            'type' => 'info',            'content' => array            (                array                (                    array('流水号', $info['order_num']),                    array('交易时间', $cdate),                    array('业绩类型', $type),                ),                array                (                    array('业绩金额', '¥' . $info['num'] . '元'),                    array('业绩说明', $info['desc']),                ),            )        );         $head_btn[] = array        (            'type' => 'link',            'link' => Dever::url('project/database/list?project=bill&table=sell&menu=bill&search_option_state=1', 'manage'),            'name' => '返回上一页',        );        $head = array        (            'name' => '基本信息',            'btn' => $head_btn,        );        // $head = array        // (        //     'name' => '基本信息',        //     'btn' => array(),        // );        $html = Dever::show($head, $result);        return $html;    }    public function out_sell($data){        $header = array('代理商姓名', '代理商手机号','代理商角色','代理区域', '下级姓名', '下级手机号', '业绩金额', '下单时间');        $body = array();        foreach($data as $k => $v){            $member = Dever::db('agent/member')->find($v['mid']);            $role = Dever::db('setting/role')->find($member['role']);            $area = Dever::load("area/api.string", $member['area'], '-', true, '');            $child_name = '';            $child_mobile = '';            if($v['child_mid'] && $v['child_mid'] > 0){                $child = Dever::db('agent/member')->find($v['child_mid']);                $child_name = $child['name'];                $child_mobile = $child['mobile'];            }                        $cdate = '-';            if($v['cdate']){                $cdate = date('Y-m-d H:i',$v['cdate']);            }            $d = array            (                $member['name'],                $member['mobile'],                $role['name'],                $area,                $child_name,                $child_mobile,                $v['num'],                $cdate,            );            $body[] = $d;        }         $file = Dever::input('excel_name');         return Dever::excelExport($body, $header, $file);    }}
 |