member_id = $userid; $this->model_pd = Model('predeposit'); } public function bonus_expire($bouns) { try { $bonus_obj = user_bonus::create_by_param($bouns); if ($bonus_obj->spend_over()) { return false; } $this->mDirty = true; $minfo = new member_info($this->member_id); $data = []; $data['member_id'] = $this->member_id; $data['member_name'] = $minfo->nickname(); $data['amount'] = $bonus_obj->remain_amount(); $data['order_sn'] = $bonus_obj->bonus_sn(); $data['admin_name'] = "熊猫美妆"; $data['pdr_sn'] = $bonus_obj->bonus_sn(); $data['lg_desc'] = "红包过期扣款"; $this->model_pd->changeBonus("bonus_expire", $data); return true; } catch (Exception $ex) { return false; } } public function add_bonus(user_bonus $bonus, type $type) { $minfo = new member_info($this->member_id); $data = []; $data['member_id'] = $this->member_id; $data['member_name'] = $minfo->nickname(); $data['amount'] = $bonus->bonus_value(); $data['order_sn'] = $bonus->bonus_sn(); $data['admin_name'] = $this->send_name($type->sender_name(), $type->relayer_id()); $data['pdr_sn'] = $bonus->bonus_sn(); $data['lg_desc'] = ""; $data['make_type'] = $type->make_type(); $this->model_pd->changeBonus("bonus_add_money", $data); $this->mDirty = true; } private function send_name($sender_name, $relay_id) { if ($relay_id > 0) { $info = new member_info($relay_id); $nick = $info->nickname(); if (!empty($nick)) return $nick; } return $sender_name; } public function reduce_pred($amount) { $minfo = new member_info($this->member_id); $data = array(); $data['member_id'] = $this->member_id; $data['member_name'] = $minfo->nickname(); $data['amount'] = $amount; $data['pdr_sn'] = ''; $data['lg_desc'] = ""; $this->model_pd->changeBonus("sys_del_money", $data); $this->mDirty = true; } public function handout_bonus($amount, $type_sn, $sender_name, $info, $make_type = 0) { $this->mDirty = true; $minfo = new member_info($this->member_id); $data = array(); $data['member_id'] = $this->member_id; $data['member_name'] = $minfo->nickname(); $data['amount'] = $amount; $data['order_sn'] = $type_sn; $data['admin_name'] = $sender_name; $data['pdr_sn'] = $type_sn; $data['lg_desc'] = $info; $data['make_type'] = $make_type; $this->model_pd->changeBonus("hand_out_bonus", $data); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public function transform_money($member_id, $name, $amount) { $data = array(); $data['member_id'] = $member_id; $data['member_name'] = is_null($name) ? '' : $name; $data['amount'] = $amount; $order_sn = $this->model_pd->makeSn(); $this->mDirty = true; $data['order_sn'] = $order_sn; $data['admin_name'] = '平台管理员'; $data['pdr_sn'] = $order_sn; $data['lg_desc'] = '版本升级,余额迁移.'; // $this->model_pd->changePd("sys_add_money", $data); } public function bonus_add_money($amount, $bonus_sn, $sender_name, $info, $make_type = 0) { $minfo = new member_info($this->member_id); $data = array(); $data['member_id'] = $this->member_id; $data['member_name'] = $minfo->nickname(); $data['amount'] = $amount; $data['order_sn'] = $bonus_sn; $data['admin_name'] = $sender_name; $data['pdr_sn'] = $bonus_sn; $data['lg_desc'] = $info; $this->mDirty = true; // $this->model_pd->changePd("bonus_add_money", $data); } private function filter_sn($lg_desc) { $pos = mb_strpos($lg_desc, ':'); if ($pos != false) { return mb_substr($lg_desc, $pos + 1); } return ''; } private function isbonus($lg_desc) { $pos = mb_strpos($lg_desc, '预存款'); return ($pos === false); } public function filter_pd_log($items) { $pdlogs = []; foreach ($items as $val) { $item = []; $av_amount = $val['lg_av_amount']; $freeze_amount = $val['lg_freeze_amount']; $admin_name = $val['lg_admin_name']; $add_time = $val['lg_add_time']; $type = $val['lg_type']; $sn = $this->filter_sn($val['lg_desc']); $fbonus = $this->isbonus($val['lg_desc']); $item['av_amount'] = $av_amount; $item['freeze_amount'] = $freeze_amount; $item['add_time'] = $add_time; $fAdd = true; if ($type == 'order_pay') { if($fbonus) { $item['title'] = "红包支付订单"; } else { $item['title'] = "预存款支付订单"; } $item['sn'] = "订单号:{$sn}"; } elseif ($type == 'order_freeze') { if($fbonus) { $item['title'] = "下单扣除红包"; } else { $item['title'] = "下单扣除预存款"; } $item['sn'] = "订单号:{$sn}"; } elseif ($type == 'order_cancel') { if($fbonus) { $item['title'] = "取消订单,解冻红包"; } else { $item['title'] = "取消订单,解冻预存款"; } $item['sn'] = "订单号:{$sn}"; } elseif ($type == 'order_comb_pay') { if($fbonus) { $item['title'] = "下单,支付被冻结的红包"; } else { $item['title'] = "下单,支付被冻结的预存款"; } $item['sn'] = "订单号:{$sn}"; $item['av_amount'] = $freeze_amount; } elseif ($type == 'recharge') { $item['title'] = "充值"; $item['sn'] = "充值单号:{$sn}"; } elseif ($type == 'refund') { $item['title'] = "确认退款"; } elseif ($type == 'vr_refund') { $item['title'] = "虚拟兑码退款成功"; } elseif ($type == 'hand_out_bonus') { $make_type = $this->filter_make_type($val['lg_desc']); $item['title'] = $this->gen_send_title($admin_name, $make_type); $item['sn'] = ''; } elseif ($type == 'bonus_refund') { $item['title'] = "红包退款"; $item['sn'] = ''; } elseif ($type == 'bonus_add_money') { $make_type = $this->filter_make_type($val['lg_desc']); $item['title'] = $this->gen_gain_title($admin_name, $make_type); $item['sn'] = ''; } elseif ($type == 'bonus_expire') { $item['title'] = "红包过期扣款"; $item['sn'] = ''; } elseif ($type == 'sys_add_money') { $item['title'] = "管理员增加预存款"; $item['sn'] = ''; } elseif ($type == 'sys_del_money') { $item['title'] = "管理员减少预存款"; $item['sn'] = ''; } elseif ($type == 'sys_freeze_money') { $item['title'] = "管理员冻结预存款"; $item['sn'] = "充值单号:{$sn}"; } elseif ($type == 'sys_unfreeze_money') { $item['title'] = "管理员解冻预存款"; $item['sn'] = "充值单号:{$sn}"; } else { $fAdd = false; } if ($fAdd) { $pdlogs[] = $item; } } return $pdlogs; } private function filter_make_type($lg_desc) { $reg = '/make_type=(\d+)/i'; $ret = preg_match($reg, $lg_desc, $arr); if ($ret > 0) { return intval($arr[1]); } else { return 0; } } private function gen_send_title($sender_name, $make_type) { switch ($make_type) { case type::MakeSendType: return "发出红包"; case type::MakeShakeGainType: return "被{$sender_name}摇走的红包"; case type::MakeShakeLostType: return "摇飞红包到{$sender_name}"; default: return ""; } } private function gen_gain_title($sender_name, $make_type) { switch ($make_type) { case type::MakeSendType: return "{$sender_name}的红包"; case type::MakeInviteType: return "{$sender_name}发出的邀请红包"; case type::MakeBonusRefundType: return "未领红包退款"; case type::MakeShakeGainType: return "摇到{$sender_name}的红包"; case type::MakeShakeLostType: return "{$sender_name}摇到你这儿的红包"; case type::MakePayRefundType: return "购物退款红包"; case type::MakePayType: return "购物分享红包"; case type::MakeOrderCancelType: return "订单取消退款"; case type::MakeRegisterType: return "新人福利"; case type::MakeEvaluateType: return "评论奖励红包"; case type::MakeInviteRewardType: return "邀请好友,奖励红包"; case type::MakeVoteType: return "投票或答题红包"; case type::MakePayRewardInviterType: return "粉丝购物,奖励红包"; case type::MakePayRewardInviteeType: return "雨露均沾红包"; case type::MakeAllowanceType: return "购物津贴红包"; default: return ""; } } }