0) { $member = Dever::db('agent/member')->find($mid); if (!$member) { Dever::alert('代理商不存在'); } $mobile = $member['mobile']; $parent_mid = $member['parent_mid']; $data['type'] = $data['type']; $data['name'] = $data['name']; $data['idcard'] = $data['idcard']; $data['idcard_front'] = $data['idcard_front']; $data['idcard_back'] = $data['idcard_back']; } else { $mobile = Dever::input('mobile'); $where['mobile'] = Dever::load('agent/lib/member')->checkMobile($mobile); $member = Dever::db('agent/member')->find($where); if ($member) { Dever::alert('注册失败,手机号已存在'); } $member = Dever::db('agent/member')->find(); if ($member) { $parent_member = Dever::load('agent/lib/member')->checkCode(); $parent_mid = $parent_member['id']; } else { $parent_mid = -1; } $data['type'] = Dever::input('type', 1); $data['name'] = Dever::input('name'); $data['idcard'] = Dever::input('idcard'); $data['idcard_front'] = Dever::input('idcard_front'); $data['idcard_back'] = Dever::input('idcard_back'); } //Dever::load('agent/lib/member')->checkMcode($mobile); $data['mobile'] = $mobile; $data['parent_mid'] = $parent_mid; if ($data['type'] == 1) { $name = '姓名'; $idcard_name = '身份证号'; if (!$data['idcard_front']) { Dever::alert('身份证正面不能为空'); } if (!$data['idcard_back']) { Dever::alert('身份证反面不能为空'); } } else { $name = '公司名称'; $idcard_name = '营业执照号码'; if (!$data['idcard_front']) { Dever::alert('营业执照不能为空'); } } if (!$data['name']) { Dever::alert($name . '不能为空'); } if (!$data['idcard']) { Dever::alert($idcard_name . '不能为空'); } $data += $this->getPrice(); $data['sign'] = Dever::input('sign'); if (!$data['sign']) { Dever::alert('手写签名不能为空'); } $data['order_num'] = $this->getOrderId(); # 付款信息 $data['pay_type'] = Dever::input('pay_type', 1); if ($data['pay_type'] == 3) { $data['bank_id'] = Dever::input('bank_id'); if (!$data['bank_id']) { Dever::alert('请选择银行'); } $data['bank_card'] = Dever::input('bank_card'); if (!$data['bank_card']) { Dever::alert('请输入银行卡号'); } } elseif ($data['pay_type'] == 2) { # 汇款 $data['pay_pic'] = Dever::input('pay_pic'); if (!$data['pay_pic']) { Dever::alert('请上传打款凭证'); } } elseif ($data['pay_type'] == 1) { Dever::alert('暂时不支持在线支付'); $data['openid'] = Dever::input('openid'); if (!$data['openid']) { Dever::alert('请先授权'); } } else { Dever::alert('付款方式不正确'); } $where['mobile'] = $data['mobile']; $where['role'] = $data['role']; $where['area'] = $data['area']; $info = Dever::db('agent/order')->find($where); if ($info && $info['status'] != 5) { Dever::alert('请勿重复提交'); } $data['id'] = Dever::db('agent/order')->insert($data); if ($data['id']) { $result = array(); $result['msg'] = '您的申请已经提交完成,请耐心等待,我们将在工作日8小时内为您通过审核,非常感谢。'; if ($data['pay_type'] == 3) { $result['bank_msg'] = '您需要使用银行卡:所有人('.$data['name'].'),账号('.$data['bank_card'].'),转账至如下账户('.$data['price_str'].'):'; $config = Dever::db('setting/base')->find(); $result['bank_user'] = $config['bank_user']; $result['bank_name'] = $config['bank_name']; $result['bank_card'] = $config['bank_card']; } elseif ($data['pay_type'] == 1) { # 在线支付 生成支付信息 $result['pay'] = $this->pay($data); } return $result; } else { Dever::alert('登录失败'); } } /** * 发起在线支付 * * @return mixed */ public function pay($data) { $param = array ( 'project_id' => 2, 'channel_id' => 1, 'system_source' => 5, 'account_id' => 7, 'uid' => $data['id'], 'name' => $data['name'], 'openid' => $data['openid'], 'cash' => $data['price'], 'product_id' => $data['id'], 'order_id' => $data['order_num'], 'refer' => Dever::input('refer'), ); $receipt = Dever::input('receipt'); if ($receipt) { $param['receipt'] = $receipt; } $result = Dever::load('pay/api.pay', $param); $result['order_num'] = $data['order_num']; $result['order_id'] = $data['id']; return $result; } /** * 生成订单号 * * @return mixed */ public function getOrderId() { $where['order_num'] = Dever::order('D'); $state = Dever::db('agent/order')->one($where); if (!$state) { return $where['order_num']; } else { return $this->getOrderId(); } } # 支付成功回调 安全加密 设置token public function success_secure_api_token() { $project_id = Dever::input('pay_project_id'); $info = Dever::db('pay/project')->one($project_id); if ($info) { return $info['key']; } return 'agent_buy_dever_2020'; } # 支付成功回调 安全加密 public function success_secure_api($param = array()) { $this->success($param); } # 支付成功回调 public function success($param = array()) { $send = $param ? $param : Dever::preInput('pay_'); $product_id = $send['pay_product_id']; $order_id = $send['pay_order_id']; $status = $send['pay_status']; $cash = $send['pay_cash']; $msg = $send['pay_msg']; $order = Dever::db('shop/buy_order')->one(array('id' => $product_id, 'time' => time())); if ($order && $order['status'] == 1 && $status == 2) { $update['status'] = 2; $update['where_id'] = $order['id']; Dever::db('shop/buy_order')->update($update); # 生成结算单 Dever::load('cash/lib/order')->up($order, 1, 1); } return 'ok'; } /** * 获取支付金额 * * @return mixed */ public function getPrice() { $data['role'] = Dever::input('role'); if (!$data['role']) { Dever::alert('代理类型不能为空'); } $role = Dever::db('setting/role')->find($data['role']); if (!$role) { Dever::alert('代理类型不正确'); } $data['area'] = Dever::input('area'); if (!$data['area']) { Dever::alert('代理区域不能为空'); } # 计算支付金额 if ($role['type'] == 1) { $data['price'] = $role['price']; } elseif ($role['type'] == 2) { $data['price'] = Dever::load('area/api')->getPrice($role['area'], $data['area']); if ($data['price'] <= 0) { Dever::alert('代理区域的代理价格为空,请联系客服'); } } else { Dever::alert('代理类型不正确'); } if ($data['price'] >= 10000) { $data['price_str'] = ($data['price']/10000) . '万元'; } else { $data['price_str'] = $data['price'] . '元'; } if (is_int($data['price'])) { $data['price_str'] .= '整'; } return $data; } # 展示订单详情 public function show() { $id = Dever::input('order_id'); $config = Dever::db('agent/order')->config['set']; $info = Dever::db('agent/order')->one($id); $process = Dever::db('agent/order_process')->getData(array('order_id' => $id)); $role = Dever::db('setting/role')->one($info['role']); $area = Dever::load("area/api.string", $info['area']); $status = $config['status'][$info['status']]; $member = array(); if ($info['mid'] > 0) { $member = Dever::db('agent/member')->find($info['mid']); } $parent_member = array(); if ($info['parent_mid'] > 0) { $parent_member = Dever::db('agent/member')->find($info['parent_mid']); } $cdate = date('Y-m-d H:i', $info['cdate']); if ($info['fdate']) { $fdate = date('Y-m-d H:i', $info['fdate']); } else { $fdate = ''; } $result = array(); $result[$info['order_num']] = array ( 'type' => 'info', 'content' => array ( array ( array('订单状态', $status), array('申请日期', $cdate), ), ) ); $info['sign'] = 'https://www.ysbang.cn/images/ysb_logo.png'; $idcard_pic = ''; if ($info['idcard_back']) { $idcard_pic .= '  '; } $sign_pic = ''; $pay_pic = ''; if ($info['pay_pic']) { $pay_pic = '  '; } $result['账号信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('手机号', $info['mobile']), array('类型', $config['type'][$info['type']]), array('名称', $info['name']), ), array ( array('证件号码', $info['idcard']), array('证件照片', $idcard_pic), ), array ( array('代理角色', $role['name']), array('代理区域', $area), array('注意', '赠送区域无权益'), ), array ( array('代理商签名', $sign_pic), ), ), ); $result['支付信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('支付方式', $config['pay_type'][$info['pay_type']]), array('支付金额', '¥' . $info['price'] . '元'), array('系统查询', $config['pay_status'][$info['pay_status']]), ), array ( array('付款备注', $info['desc']), array('支付凭证', $pay_pic), ), ), ); if ($parent_member) { # 这里要获取上级信息 $result['分润信息'] = array ( 'type' => 'info', 'content' => array ( array ( array('支付方式', $config['pay_type'][$info['pay_type']]), array('支付金额', '¥' . $info['price'] . '元'), array('系统查询', $config['pay_status'][$info['pay_status']]), ), array ( array('付款备注', $info['desc']), array('支付凭证', $pay_pic), ), ), ); } //$goods = Dever::db('setting/role_goods')->select(array('role_id' => $info['role'], 'give' => $info['order_type'])); $goods = Dever::db('agent/order_goods')->select(array('order_id' => $info['id'])); if ($goods) { foreach ($goods as $k => $v) { $goods_info = Dever::load('goods/lib/info')->getInfoBySku($v['goods_id'], $v['sku_id']); if (isset($goods_info['sku'])) { $sku = $goods_info['sku']['string']; } else { $sku = '无'; } $del = Dever::url('order_tui?order_goods_id=' . $v['id'] . '&order_id=' . $info['id'] . '&type=13', 'factory'); $status = '删除'; $d = array ( 'pic' => $goods_info['cover'], 'name' => $goods_info['name'], 'sku' => $sku, 'price' => $goods_info['price'], 'num' => $v['num'], 'status' => $status, ); $body[] = $d; } $result['权益信息'] = array ( 'type' => 'list', 'content' => $body, ); } else { $result['权益信息'] = array ( 'type' => 'button', 'content' => array ( array('发放权益', $config['pay_type'][$info['pay_type']]), ), ); } $head = array ( 'name' => '基本信息', 'btn' => array(), ); $html = Dever::show($head, $result); return $html; } }