|
@@ -2,207 +2,160 @@
|
|
|
use Dever;
|
|
|
use Place;
|
|
|
use Place_interface\Lib\Core;
|
|
|
+use Place_act\Lib\Core as Act;
|
|
|
class Source extends Core
|
|
|
{
|
|
|
- private $channel_id = 0;
|
|
|
- private $field = array
|
|
|
- (
|
|
|
- 'info' => 'id,name,info,pic,type,spec_type',
|
|
|
- 'cate' => 'id,parent_id,score_id,buy,name,status,`desc`',
|
|
|
- );
|
|
|
-
|
|
|
|
|
|
public function home()
|
|
|
{
|
|
|
- $this->channel_id = Dever::input('channel_id', 'is_numeric', '频道ID');
|
|
|
+ $channel_id = Dever::input('channel_id', 'is_numeric', '频道ID');
|
|
|
|
|
|
- $data['channel'] = Dever::db('channel', 'place_source')->find(array('id' => $this->channel_id, 'status' => 1), array('col' => 'id,type,name,`desc`'));
|
|
|
- if (!$data['channel']) {
|
|
|
- Dever::error('频道不存在');
|
|
|
- }
|
|
|
-
|
|
|
+ $channel = Dever::load('channel', 'place_source')->getInfo($channel_id);
|
|
|
+
|
|
|
+ $data['channel'] = array
|
|
|
+ (
|
|
|
+ 'id' => $channel['id'],
|
|
|
+ 'name' => $channel['name'],
|
|
|
+ 'desc' => $channel['desc'],
|
|
|
+ );
|
|
|
|
|
|
+ $top_id = 0;
|
|
|
$data['top'] = array();
|
|
|
- if ($data['channel']['type'] == 1) {
|
|
|
+ if ($channel['type'] == 1) {
|
|
|
|
|
|
|
|
|
- $top = Dever::input('top_id');
|
|
|
- $data['top'] = $this->getCate(0);
|
|
|
- if ($top) {
|
|
|
- $data['cate'] = $this->getData($top);
|
|
|
- } elseif ($data['top']) {
|
|
|
- $data['cate'] = $this->getData($data['top'][0]['id']);
|
|
|
+ $data['top'] = Dever::load('cate', 'place_source')->getTop($channel_id, 0);
|
|
|
+ $top_id = Dever::input('top_id');
|
|
|
+ if (!$top_id && $data['top']) {
|
|
|
+ $top_id = $data['top'][0]['id'];
|
|
|
}
|
|
|
- } else {
|
|
|
-
|
|
|
- $data['cate'] = $this->getData(0);
|
|
|
}
|
|
|
+ $data['cate'] = Dever::load('cate', 'place_source')->getData($channel, $top_id);
|
|
|
|
|
|
-
|
|
|
- $data['ad'] = array();
|
|
|
+
|
|
|
+ $data['ad'] = Dever::load('ad', 'place_source')->gets(array(1,2,3,4,5), $channel_id, $top_id);
|
|
|
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- private function getData($parent_id)
|
|
|
- {
|
|
|
- $data = $this->getCate($parent_id);
|
|
|
- if (!$data && $parent_id > 0) {
|
|
|
- $data = $this->getCate(0, $parent_id);
|
|
|
- }
|
|
|
- if ($data) {
|
|
|
- foreach ($data as &$v) {
|
|
|
- $v['list'] = $this->getSource($v, 5);
|
|
|
- }
|
|
|
- }
|
|
|
- return $data;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private function getCate($parent_id = 0, $id = false)
|
|
|
- {
|
|
|
- if ($id) {
|
|
|
- $where['id'] = $id;
|
|
|
- }
|
|
|
- $where['channel_id'] = $this->channel_id;
|
|
|
- $where['parent_id'] = $parent_id;
|
|
|
- return Dever::db('cate', 'place_source')->select($where, array('col' => $this->field['cate']));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- private function getSource($cate, $limit, $page = false)
|
|
|
+
|
|
|
+ public function cate()
|
|
|
{
|
|
|
- $key = 'cate_parent_id';
|
|
|
- if ($cate['parent_id'] > 0) {
|
|
|
- $key = 'cate_child_id';
|
|
|
- }
|
|
|
- $where = array($key => $cate['id'], 'status' => 1);
|
|
|
- $search = Dever::input('search');
|
|
|
- if ($search) {
|
|
|
- $where['name'] = array('like', $search);
|
|
|
- }
|
|
|
- $set = array('col' => $this->field['info']);
|
|
|
- if ($limit) {
|
|
|
- $set['limit'] = $limit;
|
|
|
- }
|
|
|
- if ($page) {
|
|
|
- $set['num'] = $page;
|
|
|
+ $cate_id = Dever::input('id', 'is_numeric', '分类ID');
|
|
|
+ $cate = Dever::load('cate', 'place_source')->getInfo($cate_id);
|
|
|
+ $data['cate'] = array
|
|
|
+ (
|
|
|
+ 'id' => $cate['id'],
|
|
|
+ 'name' => $cate['name'],
|
|
|
+ 'desc' => $cate['desc'],
|
|
|
+ );
|
|
|
+ $data['list'] = Dever::load('info', 'place_source')->getList($cate, false, 10);
|
|
|
+
|
|
|
+ $data['child'] = array();
|
|
|
+ if ($cate['parent_id'] == 0) {
|
|
|
+ $cate_id = $cate['id'];
|
|
|
+ $data['child'] = Dever::load('cate', 'place_source')->getList($cate['channel_id'], $cate['id']);
|
|
|
+ } else {
|
|
|
+ $cate_id = $cate['parent_id'];
|
|
|
}
|
|
|
- $data = Dever::db('info', 'place_source')->select($where, $set);
|
|
|
|
|
|
-
|
|
|
- if ($data) {
|
|
|
- $cate['score'] = Dever::db('info', 'place_score')->find($cate['score_id']);
|
|
|
- foreach ($data as &$v) {
|
|
|
- $v = Dever::load('info', 'place_source')->get($v, $cate);
|
|
|
- }
|
|
|
- }
|
|
|
- return $data;
|
|
|
- }
|
|
|
+
|
|
|
+ $data['ad'] = Dever::load('ad', 'place_source')->gets(array(11,12), $cate['channel_id'], $cate_id);
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- public function cate()
|
|
|
- {
|
|
|
- $cate_id = Dever::input('cate_id', 'is_numeric', '分类ID');
|
|
|
- $data['cate'] = Dever::db('cate', 'place_source')->find($cate_id, array('col' => $this->field['cate']));
|
|
|
- if (!$data['cate']) {
|
|
|
- Dever::error('分类不存在');
|
|
|
- }
|
|
|
- if ($data['cate']['status'] != 1) {
|
|
|
- Dever::error('分类不存在');
|
|
|
- }
|
|
|
- $data['list'] = $this->getSource($data['cate'], false, 10);
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public function view()
|
|
|
+
|
|
|
+ public function info()
|
|
|
{
|
|
|
- $source_id = Dever::input('source_id', 'is_numeric', '资源ID');
|
|
|
- $data['info'] = Dever::load('info', 'place_source')->get($source_id, false, true);
|
|
|
- $content = Dever::db('content', 'place_source')->find(array('info_id' => $source_id));
|
|
|
+ $source_id = Dever::input('id', 'is_numeric', '资源ID');
|
|
|
+ $info = Dever::load('info', 'place_source')->getInfo($source_id);
|
|
|
+ $data['info'] = array
|
|
|
+ (
|
|
|
+ 'id' => $info['id'],
|
|
|
+ 'name' => $info['name'],
|
|
|
+ 'sku_name' => $info['sku_name'],
|
|
|
+ 'price' => $info['price'],
|
|
|
+ 'price_text' => $info['price_text'],
|
|
|
+ 'm_price' => $info['m_price'],
|
|
|
+ 'm_price_text' => $info['m_price_text'],
|
|
|
+ 'rebate' => $info['rebate'],
|
|
|
+ 'num_sell' => $info['num_sell'],
|
|
|
+ 'stock' => $info['stock'],
|
|
|
+ 'pic' => $info['pic'],
|
|
|
+ 'content' => $info['content'],
|
|
|
+ );
|
|
|
+ $data['have_vip'] = $info['have_vip'];
|
|
|
+ $data['help'] = $info['help'];
|
|
|
+
|
|
|
+
|
|
|
+ $data['collect'] = $info['collect'];
|
|
|
|
|
|
- $data['content'] = 2;
|
|
|
+ $content = Dever::db('content', 'place_source')->find(array('info_id' => $source_id));
|
|
|
+ $data['content'] = false;
|
|
|
if ($content) {
|
|
|
- $data['content'] = 1;
|
|
|
+ $data['content'] = true;
|
|
|
}
|
|
|
-
|
|
|
- $data['desc'] = Dever::db('help', 'place_source')->select(array('type' => 1), array('col' => 'name,info,pic'));
|
|
|
- $data['help'] = Dever::db('help', 'place_source')->select(array('type' => 2), array('col' => 'name,info,pic'));
|
|
|
|
|
|
|
|
|
- $data['review'] = Dever::db('review', 'place_act')->select(array('type' => 1, 'type_id' => $source_id), array('limit' => 3));
|
|
|
- if ($data['review']) {
|
|
|
- foreach ($data['review'] as &$v) {
|
|
|
- $v['cdate_str'] = date('Y-m-d H:i:s', $v['cdate']);
|
|
|
- $v['oper'] = 2;
|
|
|
- if (Place::$uid == $v['uid']) {
|
|
|
- $v['oper'] = 1;
|
|
|
- }
|
|
|
- $v['user'] = Dever::db('info', 'place_user')->find($v['uid'], array('col' => 'mobile,name,avatar'));
|
|
|
- }
|
|
|
- }
|
|
|
+ $data['review'] = Act::load('review', 1, $source_id)->getList(['limit' => 3]);
|
|
|
+
|
|
|
+ $data['review_total'] = Act::load('review', 1, $source_id)->getTotal();
|
|
|
+
|
|
|
+
|
|
|
+ $data['ad'] = Dever::load('ad', 'place_source')->gets(array(21,22), $info['channel_id'], $info['cate_parent_id']);
|
|
|
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public function view_price()
|
|
|
+
|
|
|
+ public function sku()
|
|
|
{
|
|
|
- $source_id = Dever::input('source_id', 'is_numeric', '资源ID');
|
|
|
- $sku_id = Dever::input('sku_id', 'is_numeric', '规格ID');
|
|
|
- $buy_num = Dever::input('buy_num', 'is_numeric', '数量', 1);
|
|
|
- $data = Dever::load('info', 'place_source')->getSkuList($source_id, $sku_id, $buy_num);
|
|
|
+ $source_id = Dever::input('id', 'is_numeric', '资源ID');
|
|
|
+ $data['sku'] = Dever::load('info', 'place_source')->getSku($source_id);
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public function view_content()
|
|
|
+
|
|
|
+ public function content()
|
|
|
{
|
|
|
- $source_id = Dever::input('source_id', 'is_numeric', '资源ID');
|
|
|
- $data['cate'] = Dever::db('content_cate', 'place_source')->select(array('info_id' => $source_id, 'status' => 1));
|
|
|
- $set = array('num' => 10);
|
|
|
- if ($data['cate']) {
|
|
|
- $cate_id = Dever::input('cate_id');
|
|
|
- if (!$cate_id) {
|
|
|
- $cate_id = $data['cate'][0]['id'];
|
|
|
- }
|
|
|
- $data['content'] = Dever::db('content', 'place_source')->select(array('info_id' => $source_id, 'cate_id' => $cate_id), $set);
|
|
|
- } else {
|
|
|
- $data['content'] = Dever::db('content', 'place_source')->select(array('info_id' => $source_id), $set);
|
|
|
- }
|
|
|
- if (Place::$uid && $data['content']) {
|
|
|
-
|
|
|
- foreach ($data['content'] as $k => $v) {
|
|
|
+ $source_id = Dever::input('id', 'is_numeric', '资源ID');
|
|
|
+ $source = Dever::load('info', 'place_source')->getBaseInfo($source_id);
|
|
|
+ list($data['cate'], $data['cate_id']) = Dever::load('content', 'place_source')->getCate($source_id);
|
|
|
+ $data['content'] = Dever::load('content', 'place_source')->getList($source_id, $data['cate_id']);
|
|
|
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+ $data['ad'] = Dever::load('ad', 'place_source')->gets(array(31,32), $source['channel_id'], $source['cate_parent_id']);
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public function view_content_info()
|
|
|
+
|
|
|
+ public function content_info()
|
|
|
{
|
|
|
- $content_id = Dever::input('content_id', 'is_numeric', '内容ID');
|
|
|
- $data['info'] = Dever::db('content', 'place_source')->find($content_id);
|
|
|
-
|
|
|
+ $content_id = Dever::input('id', 'is_numeric', '内容ID');
|
|
|
+ $data['content'] = Dever::load('content', 'place_source')->getInfo($content_id);
|
|
|
+ $data['source'] = Dever::load('info', 'place_source')->getBaseInfo($data['content']['info_id']);
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public function pay()
|
|
|
+
|
|
|
+ public function pay_confirm()
|
|
|
{
|
|
|
if (!Place::$uid) {
|
|
|
$this->showLogin();
|
|
|
}
|
|
|
- $info = $this->view_price();
|
|
|
- if ($info['sku']['buy'] == 1) {
|
|
|
- return Dever::load('info', 'place_source')->pay($info);
|
|
|
- } else {
|
|
|
- Dever::error('您当前的身份角色无法购买');
|
|
|
- }
|
|
|
+
|
|
|
+ $source = Dever::input('source', 'is_string', '资源');
|
|
|
+ $source = Dever::json_decode($source);
|
|
|
+ $data = Dever::load('source/pay', 'place_order')->get($source);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function pay()
|
|
|
+ {
|
|
|
+ $this->pay_confirm();
|
|
|
+ return Dever::load('source/pay', 'place_order')->act();
|
|
|
}
|
|
|
|
|
|
|
|
@@ -214,21 +167,9 @@ class Source extends Core
|
|
|
|
|
|
public function getReviewList()
|
|
|
{
|
|
|
- $where['type'] = 1;
|
|
|
- $where['type_id'] = Dever::input('source_id', 'is_numeric', '资源ID');
|
|
|
-
|
|
|
- $set['num'] = Dever::input('num', 'is_numeric', '分页条数', 10);
|
|
|
- $data = Dever::db('review', 'place_act')->select($where, $set);
|
|
|
- if ($data) {
|
|
|
- foreach ($data as &$v) {
|
|
|
- $v['cdate_str'] = date('Y-m-d H:i:s', $v['cdate']);
|
|
|
- $v['oper'] = 2;
|
|
|
- if (Place::$uid == $v['uid']) {
|
|
|
- $v['oper'] = 1;
|
|
|
- }
|
|
|
- $v['user'] = Dever::db('info', 'place_user')->find($v['uid'], array('col' => 'mobile,name,avatar'));
|
|
|
- }
|
|
|
- }
|
|
|
+ $source_id = Dever::input('source_id', 'is_numeric', '资源ID');
|
|
|
+ $num = Dever::input('num', 'is_numeric', '分页条数', 10);
|
|
|
+ $data = Act::load('review', 1, $source_id)->getList(['num' => $num]);
|
|
|
$result['list'] = $data;
|
|
|
$result['total'] = Dever::page('total');
|
|
|
return $result;
|
|
@@ -265,29 +206,4 @@ class Source extends Core
|
|
|
}
|
|
|
return $result;
|
|
|
}
|
|
|
-
|
|
|
- private function getOrderInfo($order, $view = false)
|
|
|
- {
|
|
|
- if ($order) {
|
|
|
- $info = Dever::db('info', 'place_source')->find($order['source_id'], array('col' => 'id,name,pic,info'));
|
|
|
- $info['pic'] = explode(',', $info['pic']);
|
|
|
- $order['pic'] = $info['pic'][0] ?? '';
|
|
|
- $order['status_name'] = Dever::db('source', 'place_order')->value('status', $order['status']);
|
|
|
- $order['cdate_str'] = date('Y-m-d H:i:s', $order['cdate']);
|
|
|
- if (isset($order['pdate']) && $order['pdate']) {
|
|
|
- $order['pdate_str'] = date('Y-m-d H:i:s', $order['pdate']);
|
|
|
- }
|
|
|
- if (isset($order['ddate']) && $order['ddate']) {
|
|
|
- $order['ddate_str'] = date('Y-m-d H:i:s', $order['ddate']);
|
|
|
- }
|
|
|
- if (isset($order['qdate']) && $order['qdate']) {
|
|
|
- $order['qdate_str'] = date('Y-m-d H:i:s', $order['qdate']);
|
|
|
- }
|
|
|
- if (isset($order['fdate']) && $order['fdate']) {
|
|
|
- $order['fdate_str'] = date('Y-m-d H:i:s', $order['fdate']);
|
|
|
- }
|
|
|
- $order = Dever::load('source/order', 'place_order')->getInfo($order, $view);
|
|
|
- }
|
|
|
- return $order;
|
|
|
- }
|
|
|
}
|