AccountLog.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. $dataList = AccountLog::alias('b')
  38. ->leftJoin('user u', 'u.id=b.user_id')
  39. ->where($where)
  40. ->where(function ($query) use ($type){
  41. if($type == 1){
  42. $query->where(['type'=> 1])->whereIn('status',[1,2]);
  43. }else if ($type == 5){
  44. $query->where(['status'=> 2])->whereIn('type',[3,5,9,10]);
  45. }else if ($type > 0){
  46. $query->where(['type'=> $type,'status'=> 2]);
  47. }
  48. })
  49. ->field('b.*,u.user_nickname')
  50. ->order("b.created_at desc")
  51. ->paginate($pageSize)
  52. ->each(function ($item, $k) use ($types) {
  53. $item['money'] = floatval($item['money']);
  54. $typeArr = [1=>"充值",2=>"支付",3=>"退款",4=>"平台奖励",5=>"平台处理",6=>"VIP购买",7=>"人工牵线付费",8=>"提现",9=>"活动退款"];
  55. $type = isset($item['type']) ? $item['type'] : 0;
  56. $remark = isset($item['remark']) ? $item['remark'] : '';
  57. $remarkReg = $remark? explode('昵称', $remark) : '';
  58. $remarkReg = isset($remarkReg[1]) && $remarkReg[1]? '邀请用户'.$remarkReg[1] : '邀请用户注册';
  59. $item['remark_text'] = $remark? $remark : (isset($typeArr[$type])? $typeArr[$type] : '爱心变动');
  60. foreach ($types as $k => $v){
  61. if(preg_match("/{$k}/", $remark)){
  62. $item['remark_text'] = $v? $v : $remarkReg;
  63. }
  64. }
  65. return $item;
  66. });
  67. $dataList = $dataList ? $dataList->toArray() : [];
  68. return $dataList;
  69. }
  70. }