Score.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?php
  2. namespace Task\Src;
  3. use Dever;
  4. use Task\Lib\Base;
  5. class Score extends Base
  6. {
  7. /**
  8. * 我的积分
  9. *
  10. * @return mixed
  11. */
  12. public function user()
  13. {
  14. # 检测用户是否登录
  15. $this->checkUser();
  16. return $this->data['uesr_score'];
  17. }
  18. /**
  19. * 金币兑换
  20. *
  21. * @return mixed
  22. */
  23. public function exchange()
  24. {
  25. $user = $this->user();
  26. $user['score_name'] = $this->data['config']['score_name'];
  27. $user['score_name_ext'] = $this->data['config']['score_name_ext'];
  28. $user['exchange'] = $this->data['config']['exchange'];
  29. $user['exchange_min'] = $this->data['config']['exchange_min'];
  30. $user['cash'] = floor($user['score']/$user['exchange']);
  31. if ($user['exchange_min'] > 0) {
  32. $user['desc'] = '最低兑换数量'.$user['exchange_min'].$user['score_name'];
  33. } else {
  34. $user['desc'] = '';
  35. }
  36. $user['exchange'] = '可兑换'.$user['cash'].$user['score_name_ext'];
  37. return $user;
  38. }
  39. /**
  40. * 金币兑换
  41. *
  42. * @return mixed
  43. */
  44. public function submit_commit()
  45. {
  46. $user = $this->exchange();
  47. $type = Dever::input('type');
  48. $score = Dever::input('score');
  49. if (!$score) {
  50. Dever::alert('请输入' . $user['score_name'] . '数量');
  51. }
  52. if (!$type) {
  53. Dever::alert('请选择兑现途径');
  54. }
  55. if ($type != 1 && $type != 2) {
  56. Dever::alert('请选择兑现途径');
  57. }
  58. if ($user['exchange_min'] > 0 && $score < $user['exchange_min']) {
  59. Dever::alert($user['desc']);
  60. }
  61. if ($score > $user['score']) {
  62. Dever::alert('实际兑换数量不能超过剩余' . $user['score_name'] . '数量');
  63. }
  64. $insert['cash'] = floor($score/$user['exchange']);
  65. $insert['score'] = $score;
  66. $insert['uid'] = $user['uid'];
  67. $insert['type'] = $type;
  68. $insert['status'] = 1;
  69. Dever::db('task/user_cash')->insert($insert);
  70. $insert['type'] = 1;
  71. $insert['status'] = 1;
  72. $insert['cash'] = $type;
  73. Dever::db('task/user_score_log')->insert($insert);
  74. # 剩余数量
  75. $sur_score = $user['score'] - $score;
  76. $update['score'] = $sur_score;
  77. $update['where_id'] = $user['id'];
  78. Dever::db('task/user_score')->update($update);
  79. return 'yes';
  80. }
  81. /**
  82. * 我的积分日志列表
  83. *
  84. * @return mixed
  85. */
  86. public function logs()
  87. {
  88. # 检测用户是否登录
  89. $this->checkUser();
  90. $where['uid'] = $this->data['uid'];
  91. $name = $this->data['config']['score_name'];
  92. $ext = $this->data['config']['score_name_ext'];
  93. $data = Dever::db('task/user_score_log')->getAll($where);
  94. if ($data) {
  95. foreach ($data as $k => $v) {
  96. $data[$k]['name'] = '';
  97. $data[$k]['info'] = '';
  98. $data[$k]['desc'] = '';
  99. $data[$k]['yes_date'] = '';
  100. $data[$k]['date'] = '';
  101. if ($v['type'] <= 3) {
  102. $data[$k]['name'] = $name . '兑换';
  103. if ($v['type'] == 1) {
  104. # 兑现申请
  105. $data[$k]['info'] = '本次兑现'.$name.' '.$v['score'].'枚,申请兑现';
  106. $data[$k]['desc'] = '兑换200金币';
  107. $data[$k]['date'] = $this->date($v['cdate']);
  108. } elseif ($v['type'] == 2) {
  109. # 兑现完成
  110. $data[$k]['info'] = '本次兑现'.$name.' '.$v['score'].'枚,兑现完成';
  111. $data[$k]['desc'] = '成功兑现¥'.$v['cash'].'元';
  112. # 完成时间
  113. $data[$k]['yes_date'] = $this->date($v['cdate']);
  114. $data[$k]['date'] = $this->date($v['cash_date']);
  115. } elseif ($v['type'] == 3) {
  116. # 兑现完成
  117. $data[$k]['info'] = '本次兑现'.$name.' '.$v['score'].'枚,兑现失败';
  118. $data[$k]['desc'] = $v['type_desc'];
  119. # 完成时间
  120. $data[$k]['yes_date'] = $this->date($v['cdate']);
  121. $data[$k]['date'] = $this->date($v['cash_date']);
  122. }
  123. if ($v['cash_type'] == 1) {
  124. $data[$k]['cash_desc'] = '微信';
  125. } else {
  126. $data[$k]['cash_desc'] = '支付宝';
  127. }
  128. } else {
  129. $data[$k]['date'] = $this->date($v['cdate']);
  130. if ($v['type'] == 4) {
  131. $task = Dever::db('task/info')->one($v['task_id']);
  132. $user = Dever::db('passport/user')->one($v['uid']);
  133. # 任务奖励
  134. $data[$k]['name'] = $name . '入账';
  135. $data[$k]['info'] = $name.$ext.',已入账';
  136. $data[$k]['desc'] = $user['username'] . '完成任务'.$task['name'].'的奖励';
  137. } elseif ($v['type'] == 5) {
  138. $task = Dever::db('task/info')->one($v['task_id']);
  139. $user = Dever::db('passport/user')->one($v['group_uid']);
  140. # 任务提成
  141. $data[$k]['name'] = $name . '入账';
  142. $data[$k]['info'] = $name.$ext.',已入账';
  143. $data[$k]['desc'] = $user['username'] . '完成任务'.$task['name'].'的提成奖励';
  144. } elseif ($v['type'] == 6) {
  145. $task = Dever::db('task/info')->one($v['task_id']);
  146. $user = Dever::db('passport/user')->one($v['group_uid']);
  147. # 系统奖励
  148. $data[$k]['name'] = $name . '入账';
  149. $data[$k]['info'] = $name.$ext.',已入账';
  150. $data[$k]['desc'] = '系统奖励:'.$v['type_desc'];
  151. }
  152. }
  153. }
  154. }
  155. }
  156. private function date($value)
  157. {
  158. return date('Y-m-d H:i', $value);
  159. }
  160. }