Files
mier-php/application/api/model/Coupling.php
2025-08-11 10:22:05 +08:00

628 lines
36 KiB
PHP

<?php
namespace app\api\model;
use think\Db;
use think\Model;
class Coupling extends Model
{
//获取该用户CP信息
public function get_coupling_info($uid, $receive_uid, $integral){
//是否绑定cp
$map = [];
$map[] = ['uid|receive_uid', '=', $uid];
$map[] = ['is_delete', '=', 1];
$user_coupling_info = db::name('user_coupling')->where($map)->find();
Db::startTrans();
try {
if($user_coupling_info){
//已绑定CP则判断对方是否同一人
if($user_coupling_info['uid'] == $uid){
if($user_coupling_info['receive_uid'] == $receive_uid){//增加cp值
$where = [];
$where[] = ['is_delete', '=', 1];
$cp_level_list = db::name('cp_privilege')->where($where)->order('level asc')->select();
$rest_value = $user_coupling_info['cp_value'] + $integral;
$now_level = 0;
foreach ($cp_level_list as $k => $v){
$rest_value = $rest_value - $v['number'];
if($rest_value < 0){
break;
}
$now_level = $v['level'];
}
$level_difference = $now_level - $user_coupling_info['cp_level'];
$now_levels = $now_level+1;
$contribution_level = $user_coupling_info['cp_level']+1;
if($level_difference > 0){
for ($i = $contribution_level; $i < $now_levels; $i++){
$cp_level_info = db::name('cp_privilege')->where('level', $i)->where('is_delete', 1)->find();
if(!empty($cp_level_info['head_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试1', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试2', 'data' => null];
}
}
if(!empty($cp_level_info['mount_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试3', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试4', 'data' => null];
}
}
if(!empty($cp_level_info['left_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['uid'], $cp_level_info['left_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试3', 'data' => null];
}
}
if(!empty($cp_level_info['right_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['receive_uid'], $cp_level_info['right_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试3', 'data' => null];
}
}
}
}
$map = [];
$map[] = ['id', '=', $user_coupling_info['id']];
$update = [];
$update['cp_level'] = $now_level;
$update['update_time'] = time();
$reslut = db::name('user_coupling')->where($map)->inc('cp_value', $integral)->update($update);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}else{//申请绑定cp
$send_coupling = $this->apply_coupling($uid, $receive_uid);
if($send_coupling['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => $send_coupling['msg'], 'data' => null];
}
}
}else if($user_coupling_info['receive_uid'] == $uid){
if($user_coupling_info['uid'] == $receive_uid){//增加cp值
$where = [];
$where[] = ['is_delete', '=', 1];
$cp_level_list = db::name('cp_privilege')->where($where)->order('level asc')->select();
$rest_value = $user_coupling_info['cp_value'] + $integral;
$now_level = 0;
foreach ($cp_level_list as $k => $v){
$rest_value = $rest_value - $v['number'];
if($rest_value < 0){
break;
}
$now_level = $v['level'];
}
$level_difference = $now_level - $user_coupling_info['cp_level'];
$now_levels = $now_level+1;
$contribution_level = $user_coupling_info['cp_level']+1;
if($level_difference > 0){
for ($i = $contribution_level; $i < $now_levels; $i++){
$cp_level_info = db::name('cp_privilege')->where('level', $i)->where('is_delete', 1)->find();
if(!empty($cp_level_info['head_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试5', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试6', 'data' => null];
}
}
if(!empty($cp_level_info['mount_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试7', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试8', 'data' => null];
}
}
if(!empty($cp_level_info['left_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['uid'], $cp_level_info['left_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试3', 'data' => null];
}
}
if(!empty($cp_level_info['right_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['receive_uid'], $cp_level_info['right_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试3', 'data' => null];
}
}
}
}
$map = [];
$map[] = ['id', '=', $user_coupling_info['id']];
$update = [];
$update['cp_level'] = $now_level;
$update['update_time'] = time();
$reslut = db::name('user_coupling')->where($map)->inc('cp_value', $integral)->update($update);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}else{//申请绑定cp
$send_coupling = $this->apply_coupling($uid, $receive_uid);
if($send_coupling['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => $send_coupling['msg'], 'data' => null];
}
}
}
//增加cp榜单记录
model('Statistics')->day_cp_value($uid, $receive_uid, $integral);
}else{//申请绑定cp
$send_coupling = $this->apply_coupling($uid, $receive_uid);
if($send_coupling['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => $send_coupling['msg'], 'data' => null];
}
}
Db::commit();
return ['code' => 200, 'msg' => "成功", 'data' => null];
} catch (\Exception $e) {
dump($e);
//回滚事务
Db::rollback();
return ['code' => 201, 'msg' => "失败", 'data' => null];
}
}
//申请绑定cp
public function apply_coupling($uid, $receive_uid){
$now_time = time();
$map = [];
$map[] = ['uid', '=', $uid];
$map[] = ['receive_uid', '=', $receive_uid];
$map[] = ['is_delete', '=', 1];
$user_coupling_log_info = db::name('user_coupling_log')->where($map)->find();
Db::startTrans();
try {
if(!$user_coupling_log_info){//未申请则申请
//对方是否申请过
$map = [];
$map[] = ['uid', '=', $receive_uid];
$map[] = ['receive_uid', '=', $uid];
$map[] = ['is_delete', '=', 1];
$receive_coupling_log_info = db::name('user_coupling_log')->where($map)->find();
if($receive_coupling_log_info){//对方申请则直接绑定
//清除之前的绑定cp
$map = [];
$map[] = ['uid|receive_uid', 'in', [$uid,$receive_uid]];
$map[] = ['is_delete', '=', 1];
$update = [];
$update['is_delete'] = 2;
$update['del_time'] = $now_time;
$user_coupling_data = db::name('user_coupling')->where($map)->select();
if($user_coupling_data){
$reslut = db::name('user_coupling')->where($map)->update($update);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
//清除之前的榜单记录
$map = [];
$map[] = ['uid|receive_uid', 'in', [$uid, $receive_uid]];
$user_cp_rank = db::name('user_cp_count_day')->where($map)->find();
if(!empty($user_cp_rank)){
$reslut = db::name('user_cp_count_day')->where($map)->delete();
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}
foreach ($user_coupling_data as $a => $b){
$user_cp_decorate = db::name('user_decorate')->where('cp_id', $b['id'])->select();
if(!empty($user_cp_decorate)){
$reslut = db::name('user_decorate')->where('cp_id', $b['id'])->delete();
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}
}
}
$map = [];
$map[] = ['uid|receive_uid', 'in', [$uid,$receive_uid]];
$map[] = ['id', 'neq', $receive_coupling_log_info['id']];
$map[] = ['is_delete', '=', 1];
$update = [];
$update['is_delete'] = 2;
$update['update_time'] = $now_time;
$user_coupling_log_data = db::name('user_coupling_log')->where($map)->select();
if($user_coupling_log_data){
$reslut = db::name('user_coupling_log')->where($map)->update($update);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}
//新增绑定CP
$insert = [];
$insert['uid'] = $uid;
$insert['receive_uid'] = $receive_uid;
$insert['add_time'] = $now_time;
$reslut = db::name('user_coupling_log')->insert($insert);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
$reslut = db::name('user_coupling')->insert($insert);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}else{//对方为申请则只申请
$insert = [];
$insert['uid'] = $uid;
$insert['receive_uid'] = $receive_uid;
$insert['add_time'] = $now_time;
$reslut = db::name('user_coupling_log')->insert($insert);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}
}
Db::commit();
return ['code' => 200, 'msg' => "成功", 'data' => null];
} catch (\Exception $e) {
dump($e);
//回滚事务
Db::rollback();
return ['code' => 201, 'msg' => "失败", 'data' => null];
}
}
//指定用户cp详情
public function user_coupling_info($uid){
$user_info = db::name('user')->find($uid);
if(!$user_info){
return ['code' => 201, 'msg' => '参数错误', 'data' => null];
}
$map = [];
$map[] = ['uid|receive_uid', '=', $uid];
$map[] = ['is_delete', '=', 1];
$user_coupling_info = db::name('user_coupling')->field('uid, receive_uid, cp_value, cp_level')->where($map)->find();
if($user_coupling_info){
if($user_coupling_info['uid'] == $uid){
$receive_uid = $user_coupling_info['receive_uid'];
}else{
$receive_uid = $user_coupling_info['uid'];
$user_coupling_info['uid'] = $uid;
$user_coupling_info['receive_uid'] = $receive_uid;
}
$receive_info = db::name('user')->find($receive_uid);
$user_coupling_info['nick_name'] = mb_convert_encoding(base64_decode($user_info['base64_nick_name']), 'UTF-8', 'UTF-8');
$user_coupling_info['head_pic'] = localpath_to_netpath($user_info['head_pic']);
$user_coupling_info['is_online'] = $user_info['is_online'];
$user_coupling_info['receive_nick_name'] = mb_convert_encoding(base64_decode($receive_info['base64_nick_name']), 'UTF-8', 'UTF-8');
$user_coupling_info['receive_head_pic'] = localpath_to_netpath($receive_info['head_pic']);
$user_coupling_info['receive_is_online'] = $receive_info['is_online'];
//
$rest_value = $user_coupling_info['cp_value'];
$next_value = 0;
$next_level = $user_coupling_info['cp_value'];
$cp_level_list = db::name('cp_privilege')->where('is_delete', 1)->order('level asc')->select();
foreach ($cp_level_list as $k => $v){
$rest_values = $rest_value;
$rest_value = $rest_value - $v['number'];
//下一等级初始化
$next_value = $v['level'];
if ($rest_value < 0) {
$rest_values = $rest_values;
$next_value = $v['number'];
$next_level = $v['level'];
break;
}
}
$user_coupling_info['now_level'] = $user_coupling_info['cp_level'];
$user_coupling_info['now_value'] = $rest_values;
$user_coupling_info['next_level'] = $next_level;
$user_coupling_info['next_value'] = $next_value;
//头像框
$user_decorate_info = model('user')->get_user_avatar_info($uid);
//cp装扮
$coupling_decorate_info = db::name('cp_privilege')->where('level', $user_coupling_info['cp_level'])->where('is_delete', 1)->find();
if(!empty($coupling_decorate_info['left_wing_decorate_id']) && !empty($coupling_decorate_info['right_wing_decorate_id'])){
$left_wing_decorate = db::name('Decorate')->where('did', $coupling_decorate_info['left_wing_decorate_id'])->find();
$right_wing_decorate = db::name('Decorate')->where('did', $coupling_decorate_info['right_wing_decorate_id'])->find();
$user_coupling_info['win_base_image'] = localpath_to_netpath($left_wing_decorate['base_image']);
$user_coupling_info['win_play_image'] = localpath_to_netpath($left_wing_decorate['play_image']);;
$user_coupling_info['receive_win_base_image'] = localpath_to_netpath($right_wing_decorate['base_image']);;
$user_coupling_info['receive_win_play_image'] = localpath_to_netpath($right_wing_decorate['play_image']);;
}else{
$user_coupling_info['win_base_image'] = '';
$user_coupling_info['win_play_image'] = '';
$user_coupling_info['receive_win_base_image'] = '';
$user_coupling_info['receive_win_play_image'] = '';
}
$user_coupling_info['avatar_play_image'] = $user_decorate_info['data']['avatar_play_image'];
// $user_coupling_info['win_base_image'] = $user_decorate_info['data']['win_base_image'];
// $user_coupling_info['win_play_image'] = $user_decorate_info['data']['win_play_image'];
$receive_decorate_info = model('user')->get_user_avatar_info($receive_uid);
$user_coupling_info['receive_avatar_play_image'] = $receive_decorate_info['data']['avatar_play_image'];
// $user_coupling_info['receive_win_base_image'] = $receive_decorate_info['data']['win_base_image'];
// $user_coupling_info['receive_win_play_image'] = $receive_decorate_info['data']['win_play_image'];
$user_coupling_info['is_have_cp'] = 1;
}else{
$user_coupling_info['is_have_cp'] = 2;
}
return ['code' => 200, 'msg' => '获取成功', 'data' => $user_coupling_info];
}
//增加cp值
public function update_user_cp_value($uid, $receive_uid, $integral){
//是否绑定cp
$map = [];
$map[] = ['uid|receive_uid', '=', $uid];
$map[] = ['is_delete', '=', 1];
$user_coupling_info = db::name('user_coupling')->where($map)->find();
Db::startTrans();
try {
if($user_coupling_info){
//已绑定CP则判断对方是否同一人
if($user_coupling_info['uid'] == $uid){
if($user_coupling_info['receive_uid'] == $receive_uid){//增加cp值
$where = [];
$where[] = ['is_delete', '=', 1];
$cp_level_list = db::name('cp_privilege')->where($where)->order('level asc')->select();
$rest_value = $user_coupling_info['cp_value'] + $integral;
$now_level = 0;
foreach ($cp_level_list as $k => $v){
$rest_value = $rest_value - $v['number'];
if($rest_value < 0){
break;
}
$now_level = $v['level'];
}
$level_difference = $now_level - $user_coupling_info['cp_level'];
$now_levels = $now_level+1;
$contribution_level = $user_coupling_info['cp_level']+1;
if($level_difference > 0){
for ($i = $contribution_level; $i < $now_levels; $i++){
$cp_level_info = db::name('cp_privilege')->where('level', $i)->where('is_delete', 1)->find();
if(!empty($cp_level_info['head_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试9', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试10', 'data' => null];
}
}
if(!empty($cp_level_info['mount_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试11', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试12', 'data' => null];
}
}
if(!empty($cp_level_info['left_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['uid'], $cp_level_info['left_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试301', 'data' => null];
}
}
if(!empty($cp_level_info['right_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['receive_uid'], $cp_level_info['right_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试302', 'data' => null];
}
}
}
}
$map = [];
$map[] = ['id', '=', $user_coupling_info['id']];
$update = [];
$update['cp_level'] = $now_level;
$update['update_time'] = time();
$reslut = db::name('user_coupling')->where($map)->inc('cp_value', $integral)->update($update);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}
}else if($user_coupling_info['receive_uid'] == $uid){
if($user_coupling_info['uid'] == $receive_uid){//增加cp值
$where = [];
$where[] = ['is_delete', '=', 1];
$cp_level_list = db::name('cp_privilege')->where($where)->order('level asc')->select();
$rest_value = $user_coupling_info['cp_value'] + $integral;
$now_level = 0;
foreach ($cp_level_list as $k => $v){
$rest_value = $rest_value - $v['number'];
if($rest_value < 0){
break;
}
$now_level = $v['level'];
}
$level_difference = $now_level - $user_coupling_info['cp_level'];
$now_levels = $now_level+1;
$contribution_level = $user_coupling_info['cp_level']+1;
if($level_difference > 0){
for ($i = $contribution_level; $i < $now_levels; $i++){
$cp_level_info = db::name('cp_privilege')->where('level', $i)->where('is_delete', 1)->find();
if(!empty($cp_level_info['head_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试13', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['head_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试14', 'data' => null];
}
}
if(!empty($cp_level_info['mount_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试15', 'data' => null];
}
$reslut = model('Decorate')->draw_user_decorate($receive_uid, $cp_level_info['mount_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试16', 'data' => null];
}
}
if(!empty($cp_level_info['left_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['uid'], $cp_level_info['left_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试303', 'data' => null];
}
}
if(!empty($cp_level_info['right_wing_decorate_id'])){
$reslut = model('Decorate')->draw_user_decorate($user_coupling_info['receive_uid'], $cp_level_info['right_wing_decorate_id'], 720, 'CP特权赠送', 1, $user_coupling_info['id']);
if($reslut['code'] == 201){
Db::rollback();
return ['code' => 201, 'msg' => '请重试304', 'data' => null];
}
}
}
}
$map = [];
$map[] = ['id', '=', $user_coupling_info['id']];
$update = [];
$update['cp_level'] = $now_level;
$update['update_time'] = time();
$reslut = db::name('user_coupling')->where($map)->inc('cp_value', $integral)->update($update);
if(!$reslut){
Db::rollback();
return ['code' => 201, 'msg' => '失败', 'data' => null];
}
}
}
//增加cp榜单记录
model('Statistics')->day_cp_value($uid, $receive_uid, $integral);
}
Db::commit();
return ['code' => 200, 'msg' => "成功", 'data' => null];
} catch (\Exception $e) {
dump($e);
//回滚事务
Db::rollback();
return ['code' => 201, 'msg' => "失败", 'data' => null];
}
}
//CP榜
public function get_cp_rank($uid, $time, $page = 1, $page_limit = 20){
if(!in_array($time, [1,2,3])){
return ['code' => 201, 'msg' => "参数非法", 'data' => null];
}
if($time == 1){
$whereTime = 'today';
}else if($time == 2){
$whereTime = 'week';
}else{
$whereTime = 'month';
}
$list = db::name('user_cp_count_day')->alias('a')->join('yy_user b', 'a.uid = b.uid')->join('yy_user c', 'a.receive_uid = c.uid')->field('a.uid,a.receive_uid,sum(a.amount) as total_amount,b.nick_name,b.base64_nick_name,b.head_pic,c.nick_name as receive_nick_name, c.base64_nick_name as receive_base64_nick_name,c.head_pic as receive_head_pic')->whereTime('a.add_time', $whereTime)->group('a.uid,a.receive_uid')->order('total_amount desc')->page($page, $page_limit)->select();
foreach ($list as $k => &$v){
$map = [];
$map[] = ['uid|receive_uid', '=', $v['uid']];
$map[] = ['uid|receive_uid', '=', $v['receive_uid']];
$map[] = ['is_delete', '=', 1];
$user_coupling_info = db::name('user_coupling')->where($map)->find();
//cp装扮
$coupling_decorate_info = db::name('cp_privilege')->where('level', $user_coupling_info['cp_level'])->where('is_delete', 1)->find();
if(!empty($coupling_decorate_info['left_wing_decorate_id']) && !empty($coupling_decorate_info['right_wing_decorate_id'])){
$left_wing_decorate = db::name('Decorate')->where('did', $coupling_decorate_info['left_wing_decorate_id'])->find();
$right_wing_decorate = db::name('Decorate')->where('did', $coupling_decorate_info['right_wing_decorate_id'])->find();
$v['win_base_image'] = localpath_to_netpath($left_wing_decorate['base_image']);
$v['win_play_image'] = localpath_to_netpath($left_wing_decorate['play_image']);;
$v['receive_win_base_image'] = localpath_to_netpath($right_wing_decorate['base_image']);;
$v['receive_win_play_image'] = localpath_to_netpath($right_wing_decorate['play_image']);;
}else{
$v['win_base_image'] = '';
$v['win_play_image'] = '';
$v['receive_win_base_image'] = '';
$v['receive_win_play_image'] = '';
}
$v['nick_name'] = mb_convert_encoding(base64_decode($v['base64_nick_name']), 'UTF-8', 'UTF-8');
$v['receive_nick_name'] = mb_convert_encoding(base64_decode($v['receive_base64_nick_name']), 'UTF-8', 'UTF-8');
$v['head_pic'] = localpath_to_netpath($v['head_pic']);
$v['receive_head_pic'] = localpath_to_netpath($v['receive_head_pic']);
}
$data = [];
$data['list'] = $list;
return ['code' => 200, 'msg' => '获取成功', 'data' => $data];
}
}