Manage.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. namespace User\Lib;
  3. use Dever;
  4. class Manage
  5. {
  6. public function showOrderUser($id)
  7. {
  8. $info = Dever::db('act/order')->one($id);
  9. $table = array();
  10. $user = Dever::db('passport/user')->one($info['uid']);
  11. $table['用户名'] = $user['username'] . '('.$info['uid'].')';
  12. $table['手机号'] = $user['mobile'];
  13. $table['产品名'] = $info['name'];
  14. if ($info['type'] == 1) {
  15. $table['支付方式'] = '购买小刊';
  16. $table['支付金额'] = $info['cash'];
  17. } elseif ($info['type'] == 3) {
  18. $table['支付方式'] = '购买小刊兑换码';
  19. $table['兑换码'] = $info['code'];
  20. $table['支付金额'] = $info['cash'];
  21. } elseif ($info['type'] == 2) {
  22. $table['支付方式'] = '兑换小刊';
  23. $table['兑换码'] = $info['code'];
  24. } elseif ($info['type'] == 4) {
  25. $table['支付方式'] = '使用通用兑换码';
  26. $table['兑换码'] = $info['code'];
  27. }
  28. //$table['购买数量'] = $info['num'];
  29. if ($info['source_uid'] && $info['source_uid'] != $info['uid']) {
  30. $user = Dever::db('passport/user')->one($info['source_uid']);
  31. $table['邀请人'] = $user['username'];
  32. }
  33. if ($info['star_id']) {
  34. $star = Dever::db('journal/star')->one($info['star_id']);
  35. $table['明星'] = $star['name'];
  36. }
  37. return Dever::table($table);
  38. }
  39. public function showOrderStatus($id)
  40. {
  41. $info = Dever::db('act/order')->one($id);
  42. if ($info) {
  43. if ($info['status'] == 1) {
  44. #return '*已支付';
  45. return '待支付';
  46. } elseif ($info['status'] == 2) {
  47. return '已支付';
  48. } elseif ($info['status'] == 3) {
  49. return '支付失败';
  50. } elseif ($info['status'] == 5) {
  51. $table['状态'] = '已退款';
  52. $manage = Dever::db('manage/admin')->one($info['tk_admin']);
  53. $table['备注'] = $info['tk_desc'];
  54. $table['截图'] = '<a><img src="'.$info['tk_pic'].'" style="width:150px" /></a>';
  55. //$table['退款时间'] = date('Y-m-d H:i:s', $info['tk_time']);
  56. $table['操作人'] = $manage['username'];
  57. return Dever::table($table);
  58. }
  59. }
  60. }
  61. # 退款操作
  62. public function refund($id, $name, $data)
  63. {
  64. $status = Dever::param('status', $data);
  65. if ($status == 5 && $id > 0) {
  66. $send = array();
  67. $info = Dever::db('act/order')->one($id);
  68. if ($info['system'] == 1) {
  69. if ($info['cate_id'] == 1) {
  70. $account_id = 1;
  71. }
  72. if ($info['cate_id'] == 2) {
  73. $account_id = 4;
  74. }
  75. if ($info['cate_id'] == 3) {
  76. $account_id = 5;
  77. }
  78. } elseif ($info['system'] == 2) {
  79. $account_id = 2;
  80. if ($info['cate_id'] == 2) {
  81. $account_id = 7;
  82. }
  83. } else {
  84. $account_id = 3;
  85. }
  86. $send['pay_project_id'] = 3;
  87. $send['pay_uid'] = $info['uid'];
  88. $send['pay_order_id'] = $info['order_id'] ? $info['order_id'] : Dever::load('act/order')->createOrderId($info, $info['id']);
  89. $send['pay_tk_pic'] = Dever::param('tk_pic', $data);
  90. $send['pay_tk_time'] = Dever::param('tk_time', $data);
  91. $send['pay_tk_desc'] = Dever::param('tk_desc', $data);
  92. $send['pay_account_id'] = $account_id;
  93. $send['pay_cash'] = $info['cash'];
  94. $send['pay_status'] = $status;
  95. $send['dever_token'] = $this->key;
  96. Dever::load('pay/lib/set.updateStatus', $send);
  97. if ($info['buy_id'] > 0) {
  98. $buy = Dever::db('journal/buy_num')->one($info['buy_id']);
  99. if ($buy) {
  100. if ($info['buy_num'] > 0) {
  101. $num = $info['buy_num'];
  102. } else {
  103. $num = $buy['num'];
  104. }
  105. # 减少积分
  106. $score = $num * 20;
  107. $user = Dever::db('score/user')->one(array('uid' => $info['uid']));
  108. if ($user) {
  109. $user_id = $user['id'];
  110. $user_score = $user['score'];
  111. $user_score = $user_score - $score;
  112. if ($user_score < 0) {
  113. $user_score = 0;
  114. }
  115. Dever::db('score/user')->update(array('where_id' => $user_id, 'score' => $user_score));
  116. }
  117. # 减少排行榜
  118. $journal_num = Dever::db('act/journal_num')->one(array('uid' => $info['uid'], 'journal_id' => $info['product_id']));
  119. if ($journal_num) {
  120. $journal_num_id = $journal_num['id'];
  121. $journal_num = $journal_num['num'];
  122. $journal_num = $journal_num - $num;
  123. if ($journal_num < 0) {
  124. $journal_num = 0;
  125. }
  126. Dever::db('act/journal_num')->update(array('where_id' => $journal_num_id, 'num' => $journal_num));
  127. }
  128. # 减少订阅本数 这个定时跑就行了 不管了
  129. $journal = Dever::db('journal/info')->one($info['product_id']);
  130. if ($journal) {
  131. $journal_id = $journal['id'];
  132. $journal_num = $journal['num_ding'];
  133. $journal_num = $journal_num - $num;
  134. if ($journal_num < 0) {
  135. $journal_num = 0;
  136. }
  137. Dever::db('journal/info')->update(array('where_id' => $journal_id, 'num_ding' => $journal_num));
  138. }
  139. }
  140. }
  141. }
  142. return 'reload';
  143. }
  144. }