|
@@ -37,9 +37,18 @@ class Buy extends Base
|
|
|
|
|
|
//$data[$k]['ding'] = '销量:' . $v['num_ding'];
|
|
|
|
|
|
- $data[$k]['pay_url'] = $this->url('pay', array('id' => $v['id']));
|
|
|
-
|
|
|
$data[$k]['pic_gd'] .= '?imageView2/2/w/375';
|
|
|
+
|
|
|
+ if ($v['buy'] == 1) {
|
|
|
+ $data[$k]['button'] = '订阅';
|
|
|
+ $data[$k]['act'] = 'pay';
|
|
|
+ $data[$k]['code'] = $this->url('pay', array('id' => $v['id']));
|
|
|
+ } else {
|
|
|
+ $data[$k]['act'] = 'read';
|
|
|
+ # 小刊阅读码
|
|
|
+ $data[$k]['code'] = $this->create_code($v['id']);
|
|
|
+ $data[$k]['button'] = '阅读';
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -51,32 +60,25 @@ class Buy extends Base
|
|
|
{
|
|
|
$where['cate_id'] = $this->cate;
|
|
|
$where['create_uid'] = $this->user['id'];
|
|
|
- //$where['type'] = 3;
|
|
|
+ $where['order_id'] = Dever::input('order_id');
|
|
|
+ if (!$where['order_id']) {
|
|
|
+ Dever::alert('错误的订单');
|
|
|
+ }
|
|
|
$where['type'] = 4;
|
|
|
$data = Dever::db('code/info')->getAll($where);
|
|
|
|
|
|
if ($data) {
|
|
|
foreach ($data as $k => $v) {
|
|
|
- $info = Dever::db('journal/info')->one($v['product_id']);
|
|
|
-
|
|
|
- $data[$k]['code'] = str_replace("\n", '', trim($v['code']));
|
|
|
-
|
|
|
- $data[$k]['code_string'] = '阅读码:' . trim($v['code']);
|
|
|
-
|
|
|
- if ($v['type'] == 3) {
|
|
|
- $data[$k]['code_string'] .= ' 已兑换';
|
|
|
+ $data[$k]['code'] = '<i class="ico-code"></i>兑换码:'.$v['id'];
|
|
|
+ if ($v['type'] == 1) {
|
|
|
+ $data[$k]['txt'] = '未使用';
|
|
|
+ $data[$k]['class'] = '';
|
|
|
+ $data[$k]['copy'] = '<a href="javascript:;" class="button" node-id="copy" data-clipboard-text="'.$v['id'].'">复制</a>';
|
|
|
} else {
|
|
|
- $data[$k]['code_string'] .= ' <font style="color:red">未兑换</font>';
|
|
|
+ $data[$k]['txt'] = '已使用';
|
|
|
+ $data[$k]['class'] = 'used';
|
|
|
+ $data[$k]['copy'] = '<a href="javascript:;" class="button disabled">复制</a>';
|
|
|
}
|
|
|
-
|
|
|
- $data[$k]['name'] = $info['name'];
|
|
|
-
|
|
|
- $data[$k]['pic_gd'] = $info['pic_gd'] ? $info['pic_gd'] : $info['pic_view_cover'];
|
|
|
-
|
|
|
- $data[$k]['pic_gd'] .= '?imageView2/2/w/375';
|
|
|
-
|
|
|
- //$data[$k]['code_pic'] = '';
|
|
|
- $data[$k]['code_pic'] = $this->create_code($info['id']);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -114,6 +116,14 @@ class Buy extends Base
|
|
|
}
|
|
|
|
|
|
$info['buy_notices'] = str_replace("\n", '<br />', $info['buy_notices']);
|
|
|
+
|
|
|
+ $result['buy_class'] = 'mask fn-hide';
|
|
|
+ $config['buy_code'] = '';
|
|
|
+ $result['buy_yes'] = '';
|
|
|
+ $buy_num = Dever::input('buy_num');
|
|
|
+ if ($buy_num > 0) {
|
|
|
+ $info += $this->success();
|
|
|
+ }
|
|
|
|
|
|
return $info;
|
|
|
}
|
|
@@ -146,64 +156,32 @@ class Buy extends Base
|
|
|
# 小刊购买成功
|
|
|
public function success()
|
|
|
{
|
|
|
- $config = Dever::db('main/config')->one(1);
|
|
|
-
|
|
|
$id = Dever::input('id');
|
|
|
$buy_id = Dever::input('buy');
|
|
|
- $config['list'] = $this->url('list');
|
|
|
- $config['buy'] = $this->url('pay', array('id' => $id));
|
|
|
-
|
|
|
+
|
|
|
$order_id = Dever::input('order_id');
|
|
|
- $order = Dever::db('journal/order')->one($order_id);
|
|
|
-
|
|
|
- if ($order['uid'] != $this->user['id']) {
|
|
|
- $this->location('list');
|
|
|
- }
|
|
|
+ $create = Dever::input('create');
|
|
|
+ if ($order_id && $create == 1) {
|
|
|
+ $order = Dever::db('journal/order')->one($order_id);
|
|
|
|
|
|
- $uid = $this->user['id'];
|
|
|
+ if ($order['uid'] != $this->user['id']) {
|
|
|
+ $this->location('list');
|
|
|
+ }
|
|
|
|
|
|
- $code = Dever::load('code/lib/core')->createCodeByOrder($order);
|
|
|
- if ($code) {
|
|
|
- $update['where_id'] = $order['id'];
|
|
|
- $order['code'] = $update['code'] = $code;
|
|
|
- Dever::db('journal/order')->update($update);
|
|
|
- }
|
|
|
+ $uid = $this->user['id'];
|
|
|
|
|
|
- $config['code_show'] = 'display:none;';
|
|
|
- $config['button'] = '继续购买';
|
|
|
- $config['button_node'] = '';
|
|
|
- $config['button_span'] = '';
|
|
|
- $config['reload'] = 1;
|
|
|
- if ($order && $order['type'] == 3) {
|
|
|
- $config['code_show'] = '';
|
|
|
- $config['button_node'] = 'copy';
|
|
|
- $order['code'] = str_replace("\n", '', trim($order['code']));
|
|
|
- $config['button_span'] = $order['code'];
|
|
|
- if (!$order['code']) {
|
|
|
- $order['code'] = '生成中...';
|
|
|
- $config['reload'] = 2;
|
|
|
- $config['button_node'] = 'refresh';
|
|
|
- $config['button_span'] = '';
|
|
|
- $config['button'] = '刷新';
|
|
|
- //$this->location('success', array('id' => $id, 'buy' => $buy_id, 'order_id' => $order_id));
|
|
|
- } else {
|
|
|
- $config['button'] = '继续购买<span>'.$order['code'].'</span>';
|
|
|
- }
|
|
|
-
|
|
|
- $config['code'] = '<p class="single"><span>'.$order['code'].'</span></p>';
|
|
|
- $buy = Dever::db('journal/buy_num')->one($buy_id);
|
|
|
- if ($buy && $buy['code'] > 1) {
|
|
|
- $uid = $this->user['id'];
|
|
|
- $code = Dever::db('code/info')->state(array('create_uid' => $uid, 'order_id' => $order['order_id']));
|
|
|
- $config['code'] = '<p>';
|
|
|
- foreach ($code as $k => $v) {
|
|
|
- $config['code'] .= '<span>'.$v['code'].'</span>';
|
|
|
- }
|
|
|
- $config['code'] .= '</p>';
|
|
|
+ $code = Dever::load('code/lib/core')->createCodeByOrder($order, -1);
|
|
|
+ if ($code) {
|
|
|
+ $update['where_id'] = $order['id'];
|
|
|
+ $update['code'] = $code;
|
|
|
+ Dever::db('journal/order')->update($update);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return $config;
|
|
|
+ $config['buy_code'] = $this->url('codedetail', array('order_id' => $order_id, 'id' => $id));
|
|
|
+ $result['buy_yes'] = '您已成功购买' . Dever::input('buy_num') . '本电子刊';
|
|
|
+ $result['buy_class'] = 'mask';
|
|
|
+ return $result;
|
|
|
}
|
|
|
|
|
|
# 小刊购买 一个兑换码的
|
|
@@ -277,17 +255,13 @@ class Buy extends Base
|
|
|
Dever::alert('请传入正确的小刊ID');
|
|
|
}
|
|
|
|
|
|
- $info = Dever::db('journal/info')->one($journal_id);
|
|
|
- $buy = Dever::db('journal/buy_num')->one($buy_id);
|
|
|
+ $info = Dever::load('act/order')->getJournal($journal_id);
|
|
|
+ $buy = Dever::load('act/order')->getBuy($buy_id);
|
|
|
|
|
|
if (!$buy || !$info) {
|
|
|
Dever::alert('请传入正确的小刊ID');
|
|
|
}
|
|
|
|
|
|
- if (!$buy['name']) {
|
|
|
- $buy['name'] = '购买' . $buy['num'] . '本';
|
|
|
- }
|
|
|
-
|
|
|
$user = Dever::db('passport/user')->one($uid);
|
|
|
$wechat = Dever::db('passport/wechat')->one(array('uid' => $uid, 'type' => 2));
|
|
|
|
|
@@ -301,12 +275,12 @@ class Buy extends Base
|
|
|
$order_data['type'] = 3;
|
|
|
$order_data['status'] = 1;
|
|
|
$order_data['name'] = $info['name'] . '-' . $buy['name'];
|
|
|
- //$order_data['num'] = Dever::input('num', 1);
|
|
|
- $order_data['num'] = $buy['num'];
|
|
|
+ $order_data['buy_num'] = $buy['num'];
|
|
|
+
|
|
|
if (isset($buy['price']) && $buy['price'] && $buy['price'] > 0) {
|
|
|
$order_data['cash'] = $buy['price'];
|
|
|
} else {
|
|
|
- $order_data['cash'] = $info['cash'] * $order_data['num'];
|
|
|
+ $order_data['cash'] = $info['cash'] * $order_data['buy_num'];
|
|
|
}
|
|
|
|
|
|
$order_data['system'] = 2;
|
|
@@ -318,11 +292,6 @@ class Buy extends Base
|
|
|
$order_data['seller_id'] = $this->seller;
|
|
|
}
|
|
|
|
|
|
- if ($this->type == 2) {
|
|
|
- # 购买兑换码
|
|
|
- $order_data['type'] = 3;
|
|
|
- }
|
|
|
-
|
|
|
$id = Dever::db('journal/order')->insert($order_data);
|
|
|
|
|
|
if (!$id) {
|
|
@@ -330,7 +299,14 @@ class Buy extends Base
|
|
|
}
|
|
|
|
|
|
//$param参数
|
|
|
- $refer = $this->url('success', array('id' => $journal_id, 'buy' => $buy_id, 'order_id' => $id));
|
|
|
+ $param['id'] = $journal_id;
|
|
|
+ $parma['buy'] = $buy_id;
|
|
|
+ $param['buy_num'] = $order_data['buy_num'];
|
|
|
+ $param['order_id'] = $id;
|
|
|
+ # 立刻创建兑换码
|
|
|
+ //$param['create'] = 1;
|
|
|
+ $refer = $this->url('pay', $param);
|
|
|
+ //$refer = 'callback.success';
|
|
|
$param = array
|
|
|
(
|
|
|
'account_id' => 2,
|
|
@@ -339,7 +315,7 @@ class Buy extends Base
|
|
|
'username' => $user['username'],
|
|
|
'name' => $order_data['name'],
|
|
|
'cash' => $order_data['cash'],
|
|
|
- //'cash' => '0.01',
|
|
|
+ 'cash' => '0.01',
|
|
|
'openid' => $wechat['openid'],
|
|
|
'product_id' => $journal_id . '-' . $buy_id,
|
|
|
'order_id' => $order_id,
|