|
@@ -25,8 +25,54 @@ class Pay
|
|
|
$send['pay_status'] = $status;
|
|
|
$send['dever_token'] = $this->key;
|
|
|
|
|
|
- # 减少积分
|
|
|
+ if ($info['buy_id'] > 0) {
|
|
|
+ $buy = Dever::db('journal/buy_num')->one($info['buy_id']);
|
|
|
|
|
|
+ if ($buy) {
|
|
|
+ if ($info['buy_num'] > 0) {
|
|
|
+ $num = $info['buy_num'];
|
|
|
+ } else {
|
|
|
+ $num = $buy['num'];
|
|
|
+ }
|
|
|
+ # 减少积分
|
|
|
+ $score = $num * 20;
|
|
|
+
|
|
|
+ $user = Dever::db('score/user')->one(array('uid' => $info['uid']));
|
|
|
+ if ($user) {
|
|
|
+ $user_id = $user['id'];
|
|
|
+ $user_score = $user['score'];
|
|
|
+ $user_score = $user_score - $score;
|
|
|
+ if ($user_score < 0) {
|
|
|
+ $user_score = 0;
|
|
|
+ }
|
|
|
+ Dever::db('score/user')->update(array('where_id' => $user_id, 'score' => $user_score));
|
|
|
+ }
|
|
|
+
|
|
|
+ # 减少排行榜
|
|
|
+ $journal_num = Dever::db('act/journal_num')->one(array('uid' => $info['uid'], 'journal_id' => $info['product_id']));
|
|
|
+ if ($journal_num) {
|
|
|
+ $journal_num_id = $journal_num['id'];
|
|
|
+ $journal_num = $journal_num['num'];
|
|
|
+ $journal_num = $journal_num - $num;
|
|
|
+ if ($journal_num < 0) {
|
|
|
+ $journal_num = 0;
|
|
|
+ }
|
|
|
+ Dever::db('act/journal_num')->update(array('where_id' => $journal_num_id, 'num' => $journal_num));
|
|
|
+ }
|
|
|
+
|
|
|
+ # 减少订阅本数 这个定时跑就行了 不管了
|
|
|
+ $journal = Dever::db('journal/info')->one($info['product_id']);
|
|
|
+ if ($journal) {
|
|
|
+ $journal_id = $journal['id'];
|
|
|
+ $journal_num = $journal_num['num_ding'];
|
|
|
+ $journal_num = $journal_num - $num;
|
|
|
+ if ($journal_num < 0) {
|
|
|
+ $journal_num = 0;
|
|
|
+ }
|
|
|
+ Dever::db('journal/info')->update(array('where_id' => $journal_id, 'num_ding' => $journal_num));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
Dever::load('pay/lib/set.updateStatus', $send);
|
|
|
}
|
|
|
}
|