From da10e294ae90dabff15aa19b225f9bd9e5988a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Wed, 7 Jan 2026 16:56:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=92=B1=E5=8C=85=E6=93=8D=E4=BD=9C=E6=96=B9=E6=B3=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common/model/UserWallet.php | 213 ++++++++++++++---------- 1 file changed, 122 insertions(+), 91 deletions(-) diff --git a/application/common/model/UserWallet.php b/application/common/model/UserWallet.php index 514c0b29..dc8a7fa1 100644 --- a/application/common/model/UserWallet.php +++ b/application/common/model/UserWallet.php @@ -1,6 +1,7 @@ hasOne('User', 'id', 'user_id'); } + //钱包类型 public static function getMoneyType($value) { @@ -152,60 +159,65 @@ class UserWallet extends Model return isset($status[$value]) ? $status[$value] : ''; } - public static function ChangeTypeLable($type="") + + public static function ChangeTypeLable($type = "") { $status = [ - self::OPERATION_SYSTEM => '系统调节', - self::OPERATION_RECHARGE => '会员充值', - self::OPERATION_WITHDRAW => '会员提现', - self::OPERATION_CONSUME => '金币转增(送出)', - self::DAILY_TASKS_REWARD => '任务奖励', - self::OPERATION_INVITE_REBATE => '邀请用户充值返利', - self::OPERATION_DECORATION => '购买装扮', - self::GIFT_BOX_REWARD => '礼盒奖励', - self::ROOM_SUBSIDY => '房间补贴', - self::OPERATION_GIFT => '购买礼物', - self::GIVE_GIFT_EARNING => '送礼增加收益', - self::GUILD_SUBSIDY => '工会补贴', - self::USER_RECEIVE => '会员转赠(接收)', - self::MONEY_CONVERSION => '钻石兑换金币', - self::FIRST_CHARGE => '首充', - self::DROP_GIFT_REWARD => '天降好礼充值', - self::GUILD_EXIT => '退出工会扣款', - self::ROOM_OWNER_EARNINGS => '房主收益', - self::HOST_EARNINGS => '主持人收益', - self::HEADLINE_REWARD => '抢头条', - self::GUILD_EARNINGS => '公会长收益', - self::WITHDRAW_FAILURE => '提现驳回或提现失败返还', - self::FINANCE_LEVEL_REWARD => '财富等级奖励金币领取', - self::DELETE_RELATION_COIN => '删除关系扣金币', - self::TRANSFER_COIN => '赠送好友金币', - self::RECEIVE_COIN => '好友转赠所得金币', - self::HOUR_RANK_COIN => '小时榜获得金币', - self::NEW_USER_CHARGE_GIFT => '新人充值好礼', - self::RED_PACKET_COIN => '发红包(金币)', - self::RED_PACKET_DIAMOND => '发红包(钻石)', - self::RED_PACKET_COIN_RECEIVE => '抢红包(金币)', + self::OPERATION_SYSTEM => '系统调节', + self::OPERATION_RECHARGE => '会员充值', + self::OPERATION_WITHDRAW => '会员提现', + self::OPERATION_CONSUME => '金币转增(送出)', + self::DAILY_TASKS_REWARD => '任务奖励', + self::OPERATION_INVITE_REBATE => '邀请用户充值返利', + self::OPERATION_DECORATION => '购买装扮', + self::GIFT_BOX_REWARD => '礼盒奖励', + self::ROOM_SUBSIDY => '房间补贴', + self::OPERATION_GIFT => '购买礼物', + self::GIVE_GIFT_EARNING => '送礼增加收益', + self::GUILD_SUBSIDY => '工会补贴', + self::USER_RECEIVE => '会员转赠(接收)', + self::MONEY_CONVERSION => '钻石兑换金币', + self::FIRST_CHARGE => '首充', + self::DROP_GIFT_REWARD => '天降好礼充值', + self::GUILD_EXIT => '退出工会扣款', + self::ROOM_OWNER_EARNINGS => '房主收益', + self::HOST_EARNINGS => '主持人收益', + self::HEADLINE_REWARD => '抢头条', + self::GUILD_EARNINGS => '公会长收益', + self::WITHDRAW_FAILURE => '提现驳回或提现失败返还', + self::FINANCE_LEVEL_REWARD => '财富等级奖励金币领取', + self::DELETE_RELATION_COIN => '删除关系扣金币', + self::TRANSFER_COIN => '赠送好友金币', + self::RECEIVE_COIN => '好友转赠所得金币', + self::HOUR_RANK_COIN => '小时榜获得金币', + self::NEW_USER_CHARGE_GIFT => '新人充值好礼', + self::RED_PACKET_COIN => '发红包(金币)', + self::RED_PACKET_DIAMOND => '发红包(钻石)', + self::RED_PACKET_COIN_RECEIVE => '抢红包(金币)', self::RED_PACKET_DIAMOND_RECEIVE => '抢红包(钻石)', - self::RED_PACKET_LEFT_COIN => '红包剩余退回(金币)', - self::RED_PACKET_LEFT_DIAMOND => '红包剩余退回(钻石)', - self::NOBILITY_PURCHASE_COIN => '爵位购买赠送(金币)', - self::SIGN => '签约支出', - self::SIGN_FAILURE => '签约失败退回', - self::FIRST_SIGN_INCOME => '首次被签约收入', - self::SIGN_MASTER_DAILY_RETURN => '签约师傅每日返还', - self::BELIEVER_COMPENSATION => '解约补偿', - self::SIGN_BE_SIGNED_INCOME => '被签约者收礼返佣给上级', - self::RENEWAL => '续约', - self::DAILY_SIGN => '每日签到', - self::BOMB_COIN => '参与幸运币活动获得', - self::RED_PACKET_FEE => '发红包手续费' + self::RED_PACKET_LEFT_COIN => '红包剩余退回(金币)', + self::RED_PACKET_LEFT_DIAMOND => '红包剩余退回(钻石)', + self::NOBILITY_PURCHASE_COIN => '爵位购买赠送(金币)', + self::SIGN => '签约支出', + self::SIGN_FAILURE => '签约失败退回', + self::FIRST_SIGN_INCOME => '首次被签约收入', + self::SIGN_MASTER_DAILY_RETURN => '签约师傅每日返还', + self::BELIEVER_COMPENSATION => '解约补偿', + self::SIGN_BE_SIGNED_INCOME => '被签约者收礼返佣给上级', + self::RENEWAL => '续约', + self::DAILY_SIGN => '每日签到', + self::BOMB_COIN => '参与幸运币活动获得', + self::RED_PACKET_FEE => '发红包手续费', + self::BACKGROUND_RECHARGE_COIN => '后台充值金币', + self::BACKGROUND_RECHARGE_DIAMOND => '后台充值钻石', + self::BACKGROUND_DEDUCTION_COIN => '后台扣除金币', + self::BACKGROUND_DEDUCTION_DIAMOND => '后台扣除钻石' ]; - if($type){ + if ($type) { return $status[$type] ?? ''; - }else{ + } else { return $status; } @@ -227,13 +239,30 @@ class UserWallet extends Model * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ - public function change_user_money($user_id, $change_value, $money_type,$change_type, $remarks = "", $room_id=0,$from_uid = 0, $from_id = 0) + public function change_user_money($user_id, $change_value, $money_type, $change_type, $remarks = "", $room_id = 0, $from_uid = 0, $from_id = 0) { //如果是金币 则表为user_wallet_coin 否则 表为user_wallet_earnings - if($money_type==self::MONEYTYPECOIN){ + if ($money_type == self::MONEYTYPECOIN) { $table_name = 'user_wallet_coin'; - }else{ + } else { $table_name = 'user_wallet_earnings'; + } + if ($change_type == 1) {//后台充值逻辑处理 + if ($money_type == self::MONEYTYPECOIN) {//金币 + if ($change_value > 0) {//大于0为增加金币 + $change_type = self::BACKGROUND_RECHARGE_COIN; + } else {//小于0为扣除金币 + $change_type = self::BACKGROUND_DEDUCTION_COIN; + } + } else {//钻石 + if ($change_value > 0) {// 大于0为增加钻石 + $change_type = self::BACKGROUND_RECHARGE_DIAMOND; + } else {// 小于0为扣除钻石 + $change_type = self::BACKGROUND_DEDUCTION_DIAMOND; + } + } + + } $user_info = db::name('user')->find($user_id); if (empty($user_info['id'])) { @@ -247,36 +276,36 @@ class UserWallet extends Model if (empty($money_type_str)) { return ['code' => 0, 'msg' => "非法资金类型", 'data' => null]; } - if ($money_type==self::MONEYTYPECOIN) { + if ($money_type == self::MONEYTYPECOIN) { $after_coin = $user_wallet['coin']; $after_coin += $change_value; - if($after_coin > 99999999){ + if ($after_coin > 99999999) { return ['code' => 0, 'msg' => "当前用户金币已达上限", 'data' => null]; } - } elseif ($money_type==self::MONEYTYPEARNINGS) { + } elseif ($money_type == self::MONEYTYPEARNINGS) { $after_earnings = $user_wallet['earnings']; $after_earnings += $change_value; - if($after_earnings > 99999999){ + if ($after_earnings > 99999999) { return ['code' => 0, 'msg' => "当前用户钻石已达上限", 'data' => null]; } } else { return ['code' => 0, 'msg' => "非法资金类型", 'data' => null]; } $change_name = $this->ChangeTypeLable($change_type); - if(empty($change_name)){ + if (empty($change_name)) { return ['code' => 0, 'msg' => "非法资金变动类型", 'data' => null]; } if (!is_numeric($change_value)) { return ['code' => 0, 'msg' => "变动的数值必须为数字", 'data' => null]; } - if($money_type==self::MONEYTYPECOIN){ - $return = model('api/UserWallet')->change_user_cion_log($user_id,$change_value,$room_id,$change_type,$remarks); - }else{ - $return = model('api/UserWallet')->change_user_earnings_log($user_id,$change_value,$room_id,$change_type,$remarks); + if ($money_type == self::MONEYTYPECOIN) { + $return = model('api/UserWallet')->change_user_cion_log($user_id, $change_value, $room_id, $change_type, $remarks); + } else { + $return = model('api/UserWallet')->change_user_earnings_log($user_id, $change_value, $room_id, $change_type, $remarks); } - if($return) { + if ($return) { return ['code' => 0, 'msg' => "请重试", 'data' => null]; - }else{ + } else { return ['code' => 1, 'msg' => "操作成功", 'data' => null]; } } @@ -284,47 +313,48 @@ class UserWallet extends Model /* * 用户资金变动日志 */ - public function money_change_log($user_id,$seach, $money_type=0, $page=0,$page_limit=30){ - if($money_type==self::MONEYTYPECOIN){ + public function money_change_log($user_id, $seach, $money_type = 0, $page = 0, $page_limit = 30) + { + if ($money_type == self::MONEYTYPECOIN) { $table_name_log = 'user_coin_log'; - }else{ + } else { $table_name_log = 'user_earnings_log'; } - if($seach['stime']){ - $where['createtime'] = ['>=',strtotime($seach['stime'])]; + if ($seach['stime']) { + $where['createtime'] = ['>=', strtotime($seach['stime'])]; } - if($seach['etime']){ - $where['createtime'] = ['<=',strtotime($seach['etime'])]; + if ($seach['etime']) { + $where['createtime'] = ['<=', strtotime($seach['etime'])]; } - if($seach['change_type']){ - $where['change_type'] =$seach['change_type']; + if ($seach['change_type']) { + $where['change_type'] = $seach['change_type']; } - $log['count'] = Db::name($table_name_log)->where($where)->where('user_id',$user_id)->count('id'); - $log_select = Db::name($table_name_log) + $log['count'] = Db::name($table_name_log)->where($where)->where('user_id', $user_id)->count('id'); + $log_select = Db::name($table_name_log) ->where($where) - ->where('user_id',$user_id) + ->where('user_id', $user_id) ->order('log_id desc'); - if($page){ - $log_select->page($page,$page_limit); + if ($page) { + $log_select->page($page, $page_limit); } $log['list'] = $log_select->select(); foreach ($log['list'] as $key => &$value) { $value['money_type'] = $this->getMoneyType($money_type); $change_type = $value['change_type']; $value['change_type'] = $this->ChangeTypeLable($value['change_type']); - $value['createtime'] = date('Y-m-d H:i:s',$value['createtime']); - if($money_type==self::MONEYTYPECOIN){ - if(in_array($change_type,$this->coin_consumption_type_array)){ + $value['createtime'] = date('Y-m-d H:i:s', $value['createtime']); + if ($money_type == self::MONEYTYPECOIN) { + if (in_array($change_type, $this->coin_consumption_type_array)) { $value['change_in_out'] = "支出"; - $value['change_value'] = $value['change_value']*-1; - }else{ + $value['change_value'] = $value['change_value'] * -1; + } else { $value['change_in_out'] = "收入"; } - }else{ - if(in_array($change_type,$this->diamond_consumption_type_array)){ + } else { + if (in_array($change_type, $this->diamond_consumption_type_array)) { $value['change_in_out'] = "支出"; - $value['change_value'] = $value['change_value']*-1; - }else{ + $value['change_value'] = $value['change_value'] * -1; + } else { $value['change_in_out'] = "收入"; } } @@ -336,7 +366,8 @@ class UserWallet extends Model /* * 获取用户资金类型 */ - public function getChangeTypeLableList(){ + public function getChangeTypeLableList() + { return $this->ChangeTypeLable(); } } \ No newline at end of file