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;
}
}