$userId,'b.account_type'=> 1]; $changeType = isset($params['change_type']) ? $params['change_type'] : 0; if ($changeType) { $where['b.change_type'] = $changeType; } $type = isset($params['type']) ? $params['type'] : 0; $types = [ '爱心充值'=> '爱心充值', '活动报名'=> '活动报名', '完善资料奖励'=> '完善资料奖励', '学历认证成功奖励'=> '学历认证成功奖励', '工作认证成功奖励'=> '工作认证成功奖励', '职业认证成功奖励'=> '职业认证成功奖励', '认识'=> '申请微信认识', '审核超时,退还'=> '申请微信认识退还', '单身推荐送'=> '加入单身推荐赠送', '注销扣除'=> '账户注销扣除', '付费设置隐身'=> '付费设置隐身模式', '举报用户'=> '', '注册奖励'=> '', ]; $dataList = AccountLog::alias('b') ->leftJoin('user u', 'u.id=b.user_id') ->where($where) ->where(function ($query) use ($type){ if($type == 1){ $query->where(['type'=> 1])->whereIn('status',[1,2]); }else if ($type == 5){ $query->where(['status'=> 2])->whereIn('type',[3,5,9,10]); }else if ($type > 0){ $query->where(['type'=> $type,'status'=> 2]); } }) ->field('b.*,u.user_nickname') ->order("b.created_at desc") ->paginate($pageSize) ->each(function ($item, $k) use ($types) { $item['money'] = floatval($item['money']); $typeArr = [1=>"充值",2=>"支付",3=>"退款",4=>"平台奖励",5=>"平台处理",6=>"VIP购买",7=>"人工牵线付费",8=>"提现",9=>"活动退款",10=>'赠送',11=>'首页置顶',12=>'签到奖励']; $type = isset($item['type']) ? $item['type'] : 0; $remark = isset($item['remark']) ? $item['remark'] : ''; $remarkReg = $remark? explode('昵称', $remark) : ''; $remarkRegText = isset($remarkReg[1]) && $remarkReg[1]? '邀请用户'.$remarkReg[1] : '邀请用户注册'; $item['remark_text'] = $remark? $remark : (isset($typeArr[$type])? $typeArr[$type] : '爱心变动'); foreach ($types as $k => $v){ if(preg_match("/{$k}/", $remark)){ $remarkRegText = $k == '举报用户' && $remarkReg[1]? '举报用户'.$remarkReg[1] : $remarkRegText; $item['remark_text'] = $v? $v : $remarkRegText; } } return $item; }); $dataList = $dataList ? $dataList->toArray() : []; return $dataList; } /** * 用户是否消费过 * @param $userId * @param $type * @return bool */ public static function check($userId){ $cacheKey = "caches:accounts:check:{$userId}"; if(PRedis::get($cacheKey)){ return true; } if($id = AccountLog::where(['user_id'=> $userId,'status'=>2,'change_type'=>2])->value('id')){ PRedis::set($cacheKey, $id, rand(10, 30)); } return $id? true : false; } }