|
@@ -1,15 +1,16 @@
|
|
<?php namespace Content\Lib;
|
|
<?php namespace Content\Lib;
|
|
use Dever;
|
|
use Dever;
|
|
|
|
+use Dever\Helper\Secure;
|
|
class Value
|
|
class Value
|
|
{
|
|
{
|
|
- public function getInfo($member)
|
|
|
|
|
|
+ public function getInfo($member, $id = false)
|
|
{
|
|
{
|
|
$id = Dever::input('id');
|
|
$id = Dever::input('id');
|
|
$where = array('status' => 1);
|
|
$where = array('status' => 1);
|
|
$where['id'] = $id;
|
|
$where['id'] = $id;
|
|
$info = Dever::db('info', 'content')->find($where);
|
|
$info = Dever::db('info', 'content')->find($where);
|
|
if (!$info) {
|
|
if (!$info) {
|
|
- Dever::alert('内容不存在');
|
|
|
|
|
|
+ Dever::error('内容不存在');
|
|
}
|
|
}
|
|
|
|
|
|
$password = Dever::input('password');
|
|
$password = Dever::input('password');
|
|
@@ -24,7 +25,21 @@ class Value
|
|
}
|
|
}
|
|
|
|
|
|
if ($result['status'] == 1) {
|
|
if ($result['status'] == 1) {
|
|
- $result['value'] = Dever::db('value', 'content')->select(array('info_id' => $info['id']));
|
|
|
|
|
|
+ if ($id) {
|
|
|
|
+ $result['value'] = Dever::db('value', 'content')->find(array('info_id' => $info['id'], 'id' => $id));
|
|
|
|
+ } else {
|
|
|
|
+ $result['value'] = Dever::db('value', 'content')->select(array('info_id' => $info['id']));
|
|
|
|
+ if ($result['value']) {
|
|
|
|
+ $param['p'] = Dever::input('p');
|
|
|
|
+ $param['t'] = Dever::input('t');
|
|
|
|
+ foreach ($result['value'] as &$v) {
|
|
|
|
+ if ($v['file']) {
|
|
|
|
+ $param['g'] = Secure::encode($v['id']);
|
|
|
|
+ $v['file'] = Dever::url('api/value.down', $param);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return $result;
|
|
return $result;
|
|
}
|
|
}
|
|
@@ -36,45 +51,12 @@ class Value
|
|
$result['id'] = $info['id'];
|
|
$result['id'] = $info['id'];
|
|
$result['name'] = $info['name'];
|
|
$result['name'] = $info['name'];
|
|
$result['status'] = 2;
|
|
$result['status'] = 2;
|
|
- $order = Dever::db('order', 'content')->find(array('info_id' => $info['id'], 'uid' => $member['id'], 'status' => 2));
|
|
|
|
|
|
+ $order = Dever::load('order', 'place')->getInfoByType(1, $info['id'], $member['id'], 5);
|
|
if ($order) {
|
|
if ($order) {
|
|
$result['status'] = 1;
|
|
$result['status'] = 1;
|
|
} else {
|
|
} else {
|
|
if ($info['price'] > 0) {
|
|
if ($info['price'] > 0) {
|
|
- if ($member['vip_id'] > 0) {
|
|
|
|
- $vip_price = 0;
|
|
|
|
- $price = Dever::db('price', 'content')->select(array('type' => 1, 'info_id' => $info['id']));
|
|
|
|
- if ($price) {
|
|
|
|
- foreach ($price as &$v) {
|
|
|
|
- if ($v['type_id'] == $member['vip_id']) {
|
|
|
|
- $vip_price = $v['price'];
|
|
|
|
- break;
|
|
|
|
- } elseif ($v['type_id'] <= 0) {
|
|
|
|
- $vip_price = $v['price'];
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if ($vip_price < $info['price']) {
|
|
|
|
- $info['price'] = $vip_price;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if ($member['agent_id'] > 0) {
|
|
|
|
- $agent_price = 0;
|
|
|
|
- $price = Dever::db('price', 'content')->select(array('type' => 2, 'info_id' => $info['id']));
|
|
|
|
- if ($price) {
|
|
|
|
- foreach ($price as &$v) {
|
|
|
|
- if ($v['type_id'] == $member['agent_id']) {
|
|
|
|
- $agent_price = $v['price'];
|
|
|
|
- break;
|
|
|
|
- } elseif ($v['type_id'] <= 0) {
|
|
|
|
- $agent_price = $v['price'];
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if ($agent_price < $info['price']) {
|
|
|
|
- $info['price'] = $agent_price;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ $info['price'] = Dever::load('util', 'place')->getPrice($info['price'], $member, $info['id'], 'price', 'content', 1);
|
|
}
|
|
}
|
|
|
|
|
|
if ($info['price'] <= 0) {
|
|
if ($info['price'] <= 0) {
|
|
@@ -92,51 +74,4 @@ class Value
|
|
}
|
|
}
|
|
return $result;
|
|
return $result;
|
|
}
|
|
}
|
|
-
|
|
|
|
- # 下单
|
|
|
|
- public function getPay($member, $info, $account = 'wechat', $env = 3)
|
|
|
|
- {
|
|
|
|
- # 支付账户
|
|
|
|
- $account = 'pay_' . $account;
|
|
|
|
- # 下单
|
|
|
|
- $order = array
|
|
|
|
- (
|
|
|
|
- 'uid' => $member['id'],
|
|
|
|
- 'username' => $member['name'],
|
|
|
|
- 'openid' => $member['openid'] ?? '',
|
|
|
|
- 'order_num' => Dever::load('util', 'api')->createNumber('C', 'content/order'),
|
|
|
|
- 'cash' => ($info['price']/$member['score_per'])*100,#每个人的积分换算公式可能不一样
|
|
|
|
- 'name' => $info['name'],
|
|
|
|
- 'time_expire' => time() + 3600,
|
|
|
|
- );
|
|
|
|
- # 设置支付成功的回调信息,多个参数用|隔开
|
|
|
|
- $param['notify'] = 'content/value.paySuccess|' . Dever::input('p') . '|' . $order['order_num'];
|
|
|
|
- $data = Dever::load('account', 'api')->run($account, 'order', $order, $env);
|
|
|
|
- if ($data) {
|
|
|
|
- $order['info_id'] = $info['id'];
|
|
|
|
- $order['account_id'] = $data['account_id'];
|
|
|
|
- $order['api_id'] = $data['api_id'];
|
|
|
|
- $data['order_id'] = Dever::db('order', 'content')->insert($order);
|
|
|
|
- }
|
|
|
|
- return $data;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- # 支付成功
|
|
|
|
- public function paySuccess($place, $order_num, $status, $body)
|
|
|
|
- {
|
|
|
|
- Dever::input('authorization', 'is_string', '入口码', $place);
|
|
|
|
- $order = Dever::db('order', 'content')->find(array('order_num' => $order_num));
|
|
|
|
- if ($order && $order['status'] == 1) {
|
|
|
|
- if ($status == 1) {
|
|
|
|
- $update['status'] = 2;
|
|
|
|
- } else {
|
|
|
|
- $update['status'] = 3;
|
|
|
|
- }
|
|
|
|
- $update['pdate'] = time();
|
|
|
|
- $state = Dever::db('order', 'content')->update($order['id'], $update);
|
|
|
|
- if (!$state && $order['project_id']) {
|
|
|
|
- return '订单更新失败';
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|