|
@@ -39,6 +39,9 @@ class Profit
|
|
|
public function getInfo($id)
|
|
|
{
|
|
|
$data = Dever::db('account/profit_log')->find($id);
|
|
|
+ if (!$data) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
$data = $this->info($data);
|
|
|
return $data;
|
|
|
}
|
|
@@ -93,65 +96,11 @@ class Profit
|
|
|
$info = $this->get($uid, $profit['id'], $config['id'], $config['project_id']);
|
|
|
|
|
|
# 开始处理入账
|
|
|
- $this->handle($profit, $uid, $cash, $info['id'], $project['source'], $source, $source_id, $name, $status, $desc);
|
|
|
+ $this->handle($profit, $uid, $cash, $info['id'], $project['source'], $status, $source, $source_id, $name, $desc);
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- # 入账
|
|
|
- private function add($uid, $cash, $profit_id, $status, $source, $source_id, $name = '', $desc = '')
|
|
|
- {
|
|
|
- $data['clear'] = true;
|
|
|
- $data['profit_id'] = $profit_id;
|
|
|
- $data['source'] = $source;
|
|
|
- $data['source_id'] = $source_id;
|
|
|
-
|
|
|
- $log = Dever::db('account/profit_log')->one($data);
|
|
|
- $data['uid'] = $uid;
|
|
|
-
|
|
|
- if ($name) {
|
|
|
- $data['name'] = $name;
|
|
|
- }
|
|
|
- if ($desc) {
|
|
|
- $data['desc'] = $desc;
|
|
|
- }
|
|
|
- $data['status'] = $status;
|
|
|
- if ($log) {
|
|
|
- # 结算
|
|
|
- if ($cash > 0 && $log['cash'] != $cash) {
|
|
|
- $status = 3;
|
|
|
- if ($cash > $log['cash']) {
|
|
|
- $cash = $log['cash'];
|
|
|
- }
|
|
|
- }
|
|
|
- if ($status == 2) {
|
|
|
- $data['ycash'] = $cash;
|
|
|
- } elseif ($status == 3) {
|
|
|
- $data['ycash'] = $log['ycash'] + $cash;
|
|
|
- } elseif ($status == 4) {
|
|
|
- $data['ycash'] = 0;
|
|
|
- }
|
|
|
- $data['where_id'] = $log['id'];
|
|
|
- Dever::db('account/profit_log')->update($data);
|
|
|
-
|
|
|
- $update['where_id'] = $profit_id;
|
|
|
- $update['set_ycash'] = $data['ycash'];
|
|
|
- Dever::db('account/profit')->incYcash($update);
|
|
|
- } else {
|
|
|
- # 入账
|
|
|
- $data['cash'] = $cash;
|
|
|
- if ($status == 2) {
|
|
|
- $data['ycash'] = $cash;
|
|
|
- }
|
|
|
- $data['order_num'] = $this->createOrderNum();
|
|
|
- $id = Dever::db('account/profit_log')->insert($data);
|
|
|
-
|
|
|
- $update['where_id'] = $profit_id;
|
|
|
- $update['set_cash'] = $data['cash'];
|
|
|
- Dever::db('account/profit')->incCash($update);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
# 生成订单号
|
|
|
private function createOrderNum()
|
|
|
{
|
|
@@ -165,19 +114,19 @@ class Profit
|
|
|
}
|
|
|
|
|
|
# 计算金额
|
|
|
- private function handle($profit, $uid, $cash, $profit_id, $project_source, $source, $source_id, $name, $status, $desc)
|
|
|
+ private function handle($profit, $uid, $cash, $profit_id, $project_source, $status, $source, $source_id, $name, $desc)
|
|
|
{
|
|
|
$rule = Dever::db('account/config_profit_rule')->select(array('profit_id' => $profit['id']));
|
|
|
if ($rule) {
|
|
|
$child = array();
|
|
|
foreach ($rule as $k => $v) {
|
|
|
- $child[$v['level']] = $this->rule($v, $child, $uid, $cash, $profit_id, $project_source, $source, $source_id, $name, $status, $desc);
|
|
|
+ $child[$v['level']] = $this->rule($v, $child, $uid, $cash, $profit_id, $project_source, $status, $source, $source_id, $name, $desc);
|
|
|
}
|
|
|
}
|
|
|
return $cash;
|
|
|
}
|
|
|
|
|
|
- private function rule($rule, $child, $uid, $cash, $profit_id, $project_source, $source, $source_id, $name, $status, $desc)
|
|
|
+ private function rule($rule, $child, $uid, $cash, $profit_id, $project_source, $status, $source, $source_id, $name, $desc)
|
|
|
{
|
|
|
if ($rule['level'] > 0) {
|
|
|
$parent = Dever::load('invite/api')->getParent($uid, $rule['level']);
|
|
@@ -239,4 +188,59 @@ class Profit
|
|
|
eval($eval);
|
|
|
return $value;
|
|
|
}
|
|
|
+
|
|
|
+ # 入账
|
|
|
+ private function add($uid, $cash, $profit_id, $status, $source, $source_id, $name = '', $desc = '')
|
|
|
+ {
|
|
|
+ $data['clear'] = true;
|
|
|
+ $data['profit_id'] = $profit_id;
|
|
|
+ $data['source'] = $source;
|
|
|
+ $data['source_id'] = $source_id;
|
|
|
+
|
|
|
+ $log = Dever::db('account/profit_log')->one($data);
|
|
|
+ $data['uid'] = $uid;
|
|
|
+
|
|
|
+ if ($name) {
|
|
|
+ $data['name'] = $name;
|
|
|
+ }
|
|
|
+ if ($desc) {
|
|
|
+ $data['desc'] = $desc;
|
|
|
+ }
|
|
|
+ $data['status'] = $status;
|
|
|
+ if ($log) {
|
|
|
+ # 结算
|
|
|
+ if ($cash > 0 && $log['cash'] != $cash) {
|
|
|
+ $status = 3;
|
|
|
+ if ($cash > $log['cash']) {
|
|
|
+ $cash = $log['cash'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ echo $status;die;
|
|
|
+ if ($status == 2) {
|
|
|
+ $data['ycash'] = $cash;
|
|
|
+ } elseif ($status == 3) {
|
|
|
+ $data['ycash'] = $log['ycash'] + $cash;
|
|
|
+ } elseif ($status == 4) {
|
|
|
+ $data['ycash'] = 0;
|
|
|
+ }
|
|
|
+ $data['where_id'] = $log['id'];
|
|
|
+ Dever::db('account/profit_log')->update($data);
|
|
|
+
|
|
|
+ $update['where_id'] = $profit_id;
|
|
|
+ $update['set_ycash'] = $data['ycash'];
|
|
|
+ Dever::db('account/profit')->incYcash($update);
|
|
|
+ } else {
|
|
|
+ # 入账
|
|
|
+ $data['cash'] = $cash;
|
|
|
+ if ($status == 2) {
|
|
|
+ $data['ycash'] = $cash;
|
|
|
+ }
|
|
|
+ $data['order_num'] = $this->createOrderNum();
|
|
|
+ $id = Dever::db('account/profit_log')->insert($data);
|
|
|
+
|
|
|
+ $update['where_id'] = $profit_id;
|
|
|
+ $update['set_cash'] = $data['cash'];
|
|
|
+ Dever::db('account/profit')->incCash($update);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|