AccountLog.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace app\weixin\model;
  3. use think\Model;
  4. class AccountLog extends Model
  5. {
  6. protected $table = 'sg_account_log';
  7. /**
  8. * 账户明细
  9. * @param $params
  10. * @param int $pageSize
  11. * @return array
  12. * @throws \think\exception\DbException
  13. */
  14. public static function getLogs($params, $pageSize = 15)
  15. {
  16. $userId = isset($params['user_id']) ? $params['user_id'] : 0;
  17. $where = ['b.user_id' => $userId,'b.account_type'=> 1];
  18. $changeType = isset($params['change_type']) ? $params['change_type'] : 0;
  19. if ($changeType) {
  20. $where['b.change_type'] = $changeType;
  21. }
  22. $type = isset($params['type']) ? $params['type'] : 0;
  23. $types = [
  24. '爱心充值'=> '爱心充值',
  25. '活动报名'=> '活动报名',
  26. '完善资料奖励'=> '完善资料奖励',
  27. '学历认证成功奖励'=> '学历认证成功奖励',
  28. '工作认证成功奖励'=> '工作认证成功奖励',
  29. '职业认证成功奖励'=> '职业认证成功奖励',
  30. '认识'=> '申请微信认识',
  31. '审核超时,退还'=> '申请微信认识退还',
  32. '单身推荐送'=> '加入单身推荐赠送',
  33. '注销扣除'=> '账户注销扣除',
  34. '付费设置隐身'=> '付费设置隐身模式',
  35. '举报用户'=> '',
  36. '注册奖励'=> '',
  37. ];
  38. $dataList = AccountLog::alias('b')
  39. ->leftJoin('user u', 'u.id=b.user_id')
  40. ->where($where)
  41. ->where(function ($query) use ($type){
  42. if($type == 1){
  43. $query->where(['type'=> 1])->whereIn('status',[1,2]);
  44. }else if ($type == 5){
  45. $query->where(['status'=> 2])->whereIn('type',[3,5,9,10]);
  46. }else if ($type > 0){
  47. $query->where(['type'=> $type,'status'=> 2]);
  48. }
  49. })
  50. ->field('b.*,u.user_nickname')
  51. ->order("b.created_at desc")
  52. ->paginate($pageSize)
  53. ->each(function ($item, $k) use ($types) {
  54. $item['money'] = floatval($item['money']);
  55. $typeArr = [1=>"充值",2=>"支付",3=>"退款",4=>"平台奖励",5=>"平台处理",6=>"VIP购买",7=>"人工牵线付费",8=>"提现",9=>"活动退款",10=>'赠送',11=>'首页置顶',12=>'签到奖励'];
  56. $type = isset($item['type']) ? $item['type'] : 0;
  57. $remark = isset($item['remark']) ? $item['remark'] : '';
  58. $remarkReg = $remark? explode('昵称', $remark) : '';
  59. $remarkRegText = isset($remarkReg[1]) && $remarkReg[1]? '邀请用户'.$remarkReg[1] : '邀请用户注册';
  60. $item['remark_text'] = $remark? $remark : (isset($typeArr[$type])? $typeArr[$type] : '爱心变动');
  61. foreach ($types as $k => $v){
  62. if(preg_match("/{$k}/", $remark)){
  63. $remarkRegText = $k == '举报用户' && $remarkReg[1]? '举报用户'.$remarkReg[1] : $remarkRegText;
  64. $item['remark_text'] = $v? $v : $remarkRegText;
  65. }
  66. }
  67. return $item;
  68. });
  69. $dataList = $dataList ? $dataList->toArray() : [];
  70. return $dataList;
  71. }
  72. }