123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- <?php
- namespace Task\Src;
- use Dever;
- use Task\Lib\Base;
- class Score extends Base
- {
- /**
- * 我的积分
- *
- * @return mixed
- */
- public function user()
- {
- # 检测用户是否登录
- $state = $this->checkUser();
- if ($state) {
- $this->data['user_score']['exchange'] = Dever::url("user/exchange", "main");
- } else {
- $this->data['user_score']['exchange'] = 'javascript:certify.Show(\''.Dever::url("user/info_certify", "main").'\')';
- }
- return $this->data['user_score'];
- }
- /**
- * 金币兑换
- *
- * @return mixed
- */
- public function exchange()
- {
- $user = $this->user();
- $user['score_name'] = $this->data['config']['score_name'];
- $user['score_name_ext'] = $this->data['config']['score_name_ext'];
- $user['exchange'] = $this->data['config']['exchange'];
- $user['exchange_min'] = $this->data['config']['exchange_min'];
- $user['cash'] = round($user['score']/$user['exchange'], 2);
- if ($user['exchange_min'] > 0) {
- $user['desc'] = '最低兑换数量'.$user['exchange_min'].$user['score_name'];
- } else {
- $user['desc'] = '';
- }
-
- //$user['cash']
- $user['exchange'] = '兑换数量(可兑换'.$user['score'].$user['score_name_ext'] . ')';
- return $user;
- }
- /**
- * 金币兑换
- *
- * @return mixed
- */
- public function submit_commit()
- {
- $user = $this->exchange();
- $type = Dever::input('type');
- $score = Dever::input('score');
- if (!$score) {
- Dever::alert('请输入' . $user['score_name'] . '数量');
- }
- if (!$type) {
- Dever::alert('请选择兑现途径');
- }
- if ($type != 1 && $type != 2) {
- Dever::alert('请选择兑现途径');
- }
- if ($user['exchange_min'] > 0 && $score < $user['exchange_min']) {
- Dever::alert($user['desc']);
- }
- if ($score > $user['score']) {
- Dever::alert('实际兑换数量不能超过剩余' . $user['score_name'] . '数量');
- }
- $exchange = $this->data['config']['exchange'];
- $insert['cash'] = round($score/$exchange, 2);
- $insert['score'] = $score;
- $insert['uid'] = $user['uid'];
- $insert['type'] = $type;
- $insert['status'] = 1;
- Dever::db('task/user_cash')->insert($insert);
- $insert['type'] = 1;
- $insert['status'] = 1;
- $insert['cash_type'] = $type;
- Dever::db('task/user_score_log')->insert($insert);
- # 剩余数量
- $sur_score = round($user['score'] - $score, 2);
- $update['score'] = $sur_score;
- $update['where_id'] = $user['id'];
- Dever::db('task/user_score')->update($update);
- return '提交成功,请等待管理员审核';
- }
- /**
- * 我的积分日志列表
- *
- * @return mixed
- */
- public function logs()
- {
- # 检测用户是否登录
- $this->checkUser();
- $where['uid'] = $this->data['uid'];
- $name = $this->data['config']['score_name'];
- $ext = $this->data['config']['score_name_ext'];
- $data = Dever::db('task/user_score_log')->getAll($where);
- if ($data) {
- foreach ($data as $k => $v) {
- $data[$k]['cdate'] = $this->date($v['cdate']);
- # 时间
- $data[$k]['date'] = $data[$k]['cdate'];
- # 描述
- $data[$k]['desc'] = '';
- # 金币数量
- $data[$k]['score'] = '';
- # 状态
- $data[$k]['status'] = '';
- # 弹窗中的介绍
- $data[$k]['info'] = '';
- # 兑现途径
- $data[$k]['cash_desc'] = '';
- # 图标
- $data[$k]['icon'] = '';
- $data[$k]['class'] = '';
- if ($v['type'] <= 3) {
- $data[$k]['info'] = '本次兑现:'.$v['score'].$name;
- $data[$k]['score'] = '兑换' . $v['score'] . $name;
- if ($v['type'] == 1) {
- # 兑现申请
- $data[$k]['desc'] = '申请兑现时间:'.$data[$k]['cdate'];
- $data[$k]['status'] = '申请兑现';
- } elseif ($v['type'] == 2) {
- # 兑现完成
- $data[$k]['date'] = $this->date($v['cash_date']);
- $data[$k]['desc'] = '申请兑现时间:'.$data[$k]['date'] . '<br />兑现完成时间:' . $data[$k]['cdate'];
- $data[$k]['status'] = '兑现完成';
- $data[$k]['icon'] = 'suc';
- } elseif ($v['type'] == 3) {
- # 兑现失败
- $data[$k]['date'] = $this->date($v['cash_date']);
- $data[$k]['desc'] = '申请兑现时间:'.$data[$k]['date'] . '<br />' . $v['type_desc'];
- $data[$k]['status'] = '兑现失败';
- $data[$k]['icon'] = 'err';
- $data[$k]['class'] = 'fail';
- }
- if ($v['cash_type'] == 1) {
- $data[$k]['cash_type'] = '微信';
- } else {
- $data[$k]['cash_type'] = '支付宝';
- }
- $data[$k]['cash_desc'] = '兑现途径:' . $data[$k]['cash_type'];
- } elseif ($v['type'] <= 5) {
- $task = Dever::db('task/info')->one($v['task_id']);
- $data[$k]['desc'] = '入账时间:' . $this->date($v['cdate']) . '<br />';
- $data[$k]['info'] = '本次入账:'.$v['score'].$name;
- $data[$k]['status'] = '已入账';
- $data[$k]['icon'] = 'wan';
- if ($v['type'] == 4) {
- $data[$k]['score'] = '任务#'.$task['name'].'奖励'.$v['score'].$name;
- $user = Dever::db('passport/user')->one($v['uid']);
- # 任务奖励
- $data[$k]['desc'] .= '来源:'.$user['username'] . '完成任务#'.$task['name'].'的奖励';
- } elseif ($v['type'] == 5) {
- $data[$k]['score'] = '任务#'.$task['name'].'提成奖励'.$v['score'].$name;
- $user = Dever::db('passport/user')->one($v['group_uid']);
- # 任务提成
- $data[$k]['desc'] .= '来源:'.$user['username'] . '完成任务#'.$task['name'].'的提成奖励';
- }
- } elseif ($v['type'] == 6) {
- $data[$k]['score'] = '系统奖励:'.$v['type_desc'];
- $data[$k]['desc'] = '入账时间:' . $this->date($v['cdate']) . '<br />' . $data[$k]['score'];
- $data[$k]['info'] = '本次入账:'.$v['score'].$name;
- $data[$k]['status'] = '已入账';
- $data[$k]['icon'] = 'wan';
- }
- }
- }
- return $data;
- }
- private function date($value)
- {
- return date('Y-m-d H:i', $value);
- }
- }
|