Files
yusheng-php/application/adminapi/model/Guild.php

147 lines
4.3 KiB
PHP
Raw Normal View History

2025-08-07 20:21:47 +08:00
<?php
namespace app\adminapi\model;
use think\Model;
use think\Session;
use think\Db;
class Guild extends Model
{
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
protected $name = 'vs_guild';
public function getList($where = [], $page = 1, $limit = 10)
{
$list = $this->where($where)->page($page, $limit)->select();
$list = collection($list)->toArray();
return $list;
}
public function getCount($where = [])
{
return $this->where($where)->count();
}
public function getOne($where = [])
{
$one = $this->where($where)->find();
return $one;
}
public function add($data)
{
$res = $this->save($data);
if (!$res) {
return false;
}
$guild_id = $this->id;
return $guild_id;
}
public function edit($where = [], $data = [])
{
$res = $this->where($where)->update($data);
return $res;
}
public function del($where = [])
{
$res = $this->where($where)->delete();
return $res;
}
//软删除
public function setDel($where = []){
$res = $this->where($where)->setField('delete_time',time());
if(!$res){
return false;
}
return $res;
}
//靓号处理
public function getGuildSpecialId(){
$code = $this->order('guild_special_id desc')->value('guild_special_id');
if(empty($code)){
$code = 10000;
}
$code = $code + 1;
$vip_code = db::name('vip_code')->where(['type' => 3, 'status' => 1,'is_use' => 1])->field('code')->select();
if (empty($vip_code)) {
return $code;
}
if (in_array($code, (array)$vip_code)) {
return $code + 2;
}
return $code;
}
/*
* 通过用户ID 获取公会信息
*
*/
public function getGuildByUserId($user_id){
$guild = db::name('vs_guild_user')
->alias('g')
->join('vs_guild gg','g.guild_id = gg.id')
->field('gg.*')
->where(['g.user_id' => $user_id])
->find();
return $guild;
}
/*
*
*工会当日流水
*/
public function getTodayMoney($guild_id,$stoday="",$etoday=""){
$where = [];
if(empty($stoday) && empty($etoday)){
$stoday = strtotime(date('Y-m-d 00:00:00'));
$etoday = strtotime(date('Y-m-d 23:59:59'));
$where['createtime'] = ['between', [$stoday, $etoday]];
}else{
if(!empty($stoday)){
$where['createtime'] = ['>=', strtotime($stoday."00:00:00")];
}
if(!empty($etoday)){
$where['createtime'] = ['<=', strtotime($etoday." 23:59:59")];
}
if(!empty($stoday) && !empty($etoday)){
$where['createtime'] = ['between', [strtotime($stoday." 00:00:00"), strtotime($etoday." 23:59:59")]];
}
}
//获取所有工会房间ID
$room_ids = db::name('vs_guild_user')->where('guild_id', $guild_id)->field('room_id')->select();
$room_ids = array_column($room_ids, 'room_id');
$transaction = db::name('vs_give_gift')
->whereIn('from_id',$room_ids)
->where(['from'=>['in',[2,3,6]]])
->where($where)
->sum('total_price');
return $transaction;
}
/*
* 工会个人流水
*/
public function getUserMoney($guild_id,$user_id,$stoday="",$etoday=""){
if(empty($stoday)){
$stoday = strtotime(date('Y-m-d 00:00:00'));
}
if(empty($etoday)){
$etoday = strtotime(date('Y-m-d 23:59:59'));
}
//获取所有工会房间ID
$room_ids = db::name('vs_guild_user')->where('guild_id', $guild_id)->field('room_id')->select();
$room_ids = array_column($room_ids, 'room_id');
$transaction =0;
$transaction = db::name('vs_give_gift')
->whereIn('from_id',$room_ids)
->where(['from'=>['in',[2,3,6]],'createtime' => ['between', [$stoday, $etoday]]])
->sum('total_price');
return $transaction;
}
}