Files
2026-03-11 18:24:59 +08:00

931 lines
32 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\teamapi\logic;
use app\common\enum\notice\NoticeEnum;
use app\common\logic\BaseLogic;
use app\common\model\teamaster\Teamaster;
use app\common\model\teamaster\TeamasterAccountLog;
use app\common\model\teamaster\TeamasterUser;
use app\common\model\teamaster\TeamasterAddress;
use app\common\model\teastore\TeaStoreCity;
use app\common\model\teamaster\TeamasterCert;
use app\common\model\teamaster\TeamasterUserBank;
use app\common\model\user\User;
use app\common\service\FileService;
use app\common\model\teamaster\TeamasterUserReflect;
use app\common\service\sms\SmsDriver;
use think\facade\Config;
use think\facade\Db;
class UserLogic extends BaseLogic
{
public static function info(int $userId)
{
$user = TeamasterUser::where(['id' => $userId])
->field('id,sn,sex,account,password,cert_id,nickname,server_type,real_name,avatar,mobile,create_time,user_money,no_reflect_amount,work_day,work_start,work_end,address_id,is_mileage')
->findOrEmpty();
$user['work_time'] = $user->work_start.'~'.$user->work_end;
$result = array_map(function($n) {
$week = ['一', '二', '三', '四', '五', '六', '日'];
return '周' . $week[$n-1];
}, explode(',', $user->work_day));
$user['address'] = '';
if($user['address_id'] !== 0){
$team_address = TeamasterAddress::where([
'id'=>$user->address_id,
'del'=>0
])->find();
if($team_address){
$user['address'] = $team_address['address'];
}else{
$user['address'] = '';
}
}
$user['work_day'] = $user->work_day;
$user['work'] = implode(',',$result);
$user['avatar'] = FileService::getImgUrl($user['avatar']);
return $user->toArray();
}
public static function editAvatar($post,$user_id){
TeamasterUser::where('id',$user_id)->update([
'avatar'=>$post['avatar']
]);
return [];
}
public static function editNickname($post,$user_id){
TeamasterUser::where('id',$user_id)->update([
'nickname'=>$post['nickname']
]);
return [];
}
public static function getTeaStoreCity(){
$lists = TeaStoreCity::where("status",1)
->where("del",0)
->select();
$data = [
'list' => $lists
];
return $data;
}
public static function editServer($post,$user_id){
TeamasterUser::where('id',$user_id)->update([
'is_mileage'=>$post['is_mileage']
]);
return [];
}
public static function editWork($post,$user_id){
TeamasterUser::where('id',$user_id)->update([
'work_day'=>$post['work_day'],
'work_start'=>$post['work_start'],
'work_end'=>$post['work_end'],
]);
return [];
}
public static function addressList($user_id){
$address_list = TeamasterAddress::where([
'team_user_id'=>$user_id,
'del'=>0
])->select()->toArray();
return $address_list;
}
public static function addressDetails($post, $user_id){
try {
$list = TeamasterAddress::where('id',$post['id'])->find();
if(!$list){
throw new \Exception('信息不存在');
}
$city_name =TeaStoreCity::where('id',$list['city_id'])->find();
$list['city_name'] = $city_name['name'];
return $list->toarray();
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function addAddress($post, $user_id){
try {
$addressCount = TeamasterAddress::where([
'team_user_id' => $user_id,
'del' => 0
])->count();
if($addressCount >= 5){
throw new \Exception('地址簿最多添加5条');
}
$data = [
'team_user_id' => $user_id,
'city_id' => $post['city_id'],
'longitude' => $post['longitude'],
'latitude' => $post['latitude'],
'address' => $post['address'],
'dtime' => time()
];
// 如果是第一条地址,设为默认
if($addressCount == 0){
$data['status'] = 1;
}
$addressInsert = TeamasterAddress::create($data);
$addressId = $addressInsert->id;
// 如果是第一条地址,更新用户默认地址
if($addressCount == 0){
TeamasterUser::where('id', $user_id)->update([
'address_id' => $addressId
]);
}
return [];
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function editAddress($post,$user_id){
try {
$address = TeamasterAddress::where(['id'=>$post['id'],'del'=>0])->find();
if(!$address){
throw new \Exception('地址蒲不存在');
}
$post['uptime']=time();
$address->allowField(['city_id', 'longitude', 'latitude','address','uptime'])
->save($post);
return [];
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function selAddress($post,$user_id){
try {
TeamasterAddress::where('team_user_id',$user_id)->update([
'status'=>0,
'uptime' => time()
]);
TeamasterAddress::where('id',$post['id'])->update(['status'=>1]);
TeamasterUser::where('id',$user_id)->update([
'address_id'=>$post['id']
]);
return [];
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function delAddress($post,$user_id){
$user = TeamasterAddress::where([
'team_user_id'=>$user_id,
'del'=>0
])->count();
if($user ==1){
TeamasterUser::where([
'id'=>$user_id
])->update(['address_id',0]);
}
TeamasterAddress::where('id',$post['id'])->update([
'del'=>1,
'uptime'=>time()
]);
return [];
}
public static function Introduction($user_id){
$user = TeamasterUser::where('id',$user_id)->find();
$result = Teamaster::where('team_user_id',$user_id)->find();
$img_arr = explode(",",$result['image']);
foreach($img_arr as $key=>$value){
// if (isset($value) && strpos($value, 'uploads') !== false) {
// // 包含 "uploads"
// $img_arr[$key]= !empty($value) ? FileService::getFileUrl($value) : '';
// } else {
// // 不包含 "uploads"
// $img_arr[$key]= !empty($value) ? FileService::getFileUrl("uploads".$value) : '';
// }
$img_arr[$key] = FileService::getImgUrl($value);
}
$result['image_arr'] = $img_arr;
$result['level'] =$user['level'];
$result['price'] = $user['price'];
$result['mileage_price'] = $user['mileage_price'];
$result['star'] =$user['star'];
$result['age'] = self::calculateAge($result['both']);
$result['age_range'] = substr($result['both'], 2, 1).'0';
return $result->toarray();
}
public static function editIntrod($post,$user_id){
try {
$teamaster = Teamaster::where(['team_user_id'=>$user_id])->find();
if(!$teamaster){
throw new \Exception('信息不存在');
}
$post['uptime']=time();
$teamaster->allowField(['name', 'sex', 'both','weight','height','hobby_introduce','image','uptime'])
->save($post);
return [];
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function certDetails($post,$user_id){
try {
$lists = TeamasterCert::where('id',$post['cert_id'])->find();
if(!$lists){
throw new \Exception('未找到资质信息');
}
$lists['license_img'] = FileService::getFileUrl($lists['license_img']);
$lists['cert_img'] = FileService::getFileUrl($lists['cert_img']);
$lists['fitness_img'] = FileService::getFileUrl($lists['fitness_img']);
return $lists->toarray();
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function addCert($post,$user_id){
try {
$list =TeamasterCert::where(['team_user_id'=>$user_id])->find();
if($list){
throw new \Exception('已经添加资质');
}
$data = [
'license_img'=>$post['license_img'],
'cert_img'=>$post['cert_img'],
'fitness_img'=>$post['fitness_img'],
'status'=>0,
'team_user_id'=>$user_id,
'dtime'=>time()
];
$cert = TeamasterCert::create($data);
$cert_id = $cert->id;
TeamasterUser::where('id',$user_id)->update([
'cert_id'=>$cert_id
]);
return [];
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function editCert($post,$user_id){
try {
$list =TeamasterCert::where(['id'=>$post['id'],'del'=>0])->find();
if(!$list){
throw new \Exception('资质信息不存在');
}
$post['uptime']=time();
$list->allowField(['license_img', 'cert_img', 'fitness_img','uptime'])
->save($post);
return [];
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function addBank($params,$user_id){
Db::startTrans();
try {
// 校验验证码
$smsDriver = new SmsDriver();
// if (!$smsDriver->verify($params['mobile'], $params['code'], NoticeEnum::FIND_MOBILE_CAPTCHA)) {
// throw new \Exception('验证码错误');
// }
// 新增
TeamasterUserBank::create([
"team_user_id"=>$user_id,
"name"=>$params['name'],
"bank_name"=>$params['bank_name'],
"bank_card"=>$params['bank_card'],
"bank_open_name"=>$params['bank_open_name'],
"mobile"=>$params['mobile'],
"dtime"=>time()
]);
Db::commit();
return [];
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
public static function checkBank($user_id){
$lists = TeamasterUserBank::where("team_user_id",$user_id)
->where("del",0)
->where("status",1)
->order("id","desc")
->select()
->toarray();
foreach($lists as $key=>$value){
$lists[$key]['bank_card'] = substr($value['bank_card'], -4);
}
$data = [
'list' => $lists
];
return $data;
}
public static function delBank($params){
Db::startTrans();
try {
$result = TeamasterUserBank::where("id",$params['id'])->find();
if (!$result) {
throw new \Exception('暂无数据');
}
// 删除
$r = TeamasterUserBank::where("id",$params['id'])->update(['del'=>1]);
Db::commit();
if($r){
return [];
}
throw new \Exception('数据错误');
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
public static function checkAccountList($data,$user_id){
Db::startTrans();
try {
$times = date("Y-m");
list($year, $month) = explode('-', $times);
$startTimestamp = strtotime($year . '-' . $month . '-01 00:00:00');
$endTimestamp = strtotime(date('Y-m-t 23:59:59', $startTimestamp));
if(isset($data['times'])){
if($data['times']!=""&&$data['times']!=null){
list($year, $month) = explode('-', $data['times']);
// 转换为日期范围
$startTimestamp = strtotime($year . '-' . $month . '-01 00:00:00');
$endTimestamp = strtotime(date('Y-m-t 23:59:59', $startTimestamp));
}
}
$count = TeamasterAccountLog::where("team_user_id",$user_id)
->whereBetween('create_time', [$startTimestamp, $endTimestamp])
->count();
$lists = TeamasterAccountLog::where("team_user_id",$user_id)
->whereBetween('create_time', [$startTimestamp, $endTimestamp])
->page($data['page'], $data['size'])
->order("id","desc")
->select()
->toarray();
foreach ($lists as &$item){
$item['mobile'] = '';
if($item['change_type'] == 1||$item['change_type'] == 2||$item['change_type'] == 3){
$user = User::where('id',$item['user_id'])->find();
$item['mobile'] = $user['mobile'];
}
}
$data = [
'list' => $lists,
'page' => $data['page'],
'size' => $data['size'],
'count' => $count,
'more' => is_more($count, $data['page'], $data['size'])
];
return $data;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
public static function reflectDetails($data){
$result = TeamasterAccountLog::where("id",$data['id'])->find();
$reflect = TeamasterUserReflect::where('order_sn',$result->source_sn)->find();
$back = TeamasterUserBank::where('id',$reflect['bank_id'])->find();
$data = [
'dtime'=>date('Y-m-d H:i:s',$reflect['dtime']),
'amount'=>$reflect['amount'],
'back_name'=>$back['bank_name'],
'status'=>$reflect['status'],
'bank_card'=>substr($back['bank_card'], -4),
'update_dtime'=>$reflect['update_dtime']
];
return $data;
}
public static function accounDetails($data){
$result = TeamasterAccountLog::where("id",$data['id'])->find();
$user = User::where('id',$result['user_id'])->find();
$result['user_name'] = $user->nickname;
$result['create_time'] = date('Y-m-d H:i:s');
if( $result['change_object'] == 1){
$result['pay_way_title'] = "余额支付";
}
if( $result['change_object'] == 2){
$result['pay_way_title'] = "微信支付";
}
return $result->toarray();
}
public static function submitReflect($params,$user_id){
Db::startTrans();
try {
// 查询是否余额充足
$team_user = TeamasterUser::where("id",$user_id)->where("del",0)->find();
if($team_user == null){
throw new \Exception('暂无数据');
}
if($team_user['user_money'] < $params['amount']){
throw new \Exception('余额不足');
}
// 新增提现记录
$order_sn = createSn("teamaster_user_reflect","order_sn");
TeamasterUserReflect::create([
"team_user_id"=>$user_id,
"order_sn"=>$order_sn,
"bank_id"=>$params['bank_id'],
"amount"=>$params['amount'],
"dtime"=>time()
]);
// 计算扣除余额
$user_money = round($team_user['user_money']-$params['amount'],2);
// 计算总提现金额
$reflect_money = round($team_user['total_reflect_amount']+$params['amount'],2);
$dt['user_money'] = $user_money;
$dt['total_reflect_amount'] = $reflect_money;
$rs = TeamasterUser::where("id",$user_id)->update($dt);
if(!$rs){
throw new \Exception('计算错误');
}
// 新增流水
$data = [
'sn' => createSn("store_user_account_log","sn"),
'team_user_id' => $team_user->id,
'user_id'=>0,
'change_type' => 5,
'action' => 2,
"amount"=>$params['amount'],
'before_amount' => $team_user['user_money'],
'after_amount' => $user_money,
'source_sn' => $order_sn,
'remark' => "茶艺师提现"
];
$r = TeamasterAccountLog::create($data);
Db::commit();
if($r){
return [];
}
throw new \Exception('提现失败');
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* 根据生日计算年龄
* @param string|int $birthday 生日(时间戳或日期字符串)
* @return int
*/
public static function calculateAge($birthday)
{
if (empty($birthday)) {
return 0;
}
// 转换为时间戳
$birthTimestamp = is_numeric($birthday) ? $birthday : strtotime($birthday);
if ($birthTimestamp === false) {
return 0;
}
// 计算年龄
$birthYear = date('Y', $birthTimestamp);
$birthMonth = date('m', $birthTimestamp);
$birthDay = date('d', $birthTimestamp);
$currentYear = date('Y');
$currentMonth = date('m');
$currentDay = date('d');
$age = $currentYear - $birthYear;
// 如果当前月日小于生日月日年龄减1
if ($currentMonth < $birthMonth ||
($currentMonth == $birthMonth && $currentDay < $birthDay)) {
$age--;
}
return max(0, $age); // 确保年龄不小于0
}
public static function balanceLogList($post,$user_id){
$t = "";
if(isset($post['end_time'])){
if($post['end_time']!=""&&$post['end_time']!=null){
$end_time = strtotime($post['end_time']);
$t = "create_time <= '".$end_time."'";
}
}
$count = StoreUserAccountLog::where($t)->where("user_id",$user_id)->count();
$lists = StoreUserAccountLog::where($t)
->where("user_id",$user_id)
->page($post['page'], $post['size'])
->order("id","desc")
->select()
->toarray();
foreach($lists as $key=>$value){
$lists[$key]['mobile'] = "";
$lists[$key]['reflect_status'] = "";
if($value['change_type'] != 3){
$order = OrderStore::where("order_sn",$value['source_sn'])->find();
if($order!=null){
$user = User::where("id",$order['user_id'])->find();
$lists[$key]['mobile'] = $user['mobile'];
}
}else{
$reflect_status = StoreUserReflect::where("order_sn",$value['source_sn'])->find();
if($reflect_status!= null){
$lists[$key]['reflect_status'] = $reflect_status['status'];
}
}
}
$data = [
'list' => $lists,
'page' => $post['page'],
'size' => $post['size'],
'count' => $count,
'more' => is_more($count, $post['page'], $post['size'])
];
return $data;
}
public static function balanceLogDetails($post){
$details = StoreUserAccountLog::where("id",$post['id'])->find();
if($details['change_type'] == 3){
$order = StoreUserReflect::where("order_sn",$details['source_sn'])->find();
if($order!=null){
$bank = StoreUserBank::where("id",$order['bank_id'])->find();
$order['bank_name'] = $bank['bank_name'];
$order['bank_card'] = substr($bank['bank_card'], -4);
$order['dtime'] = date("Y-m-d H:i:s",$order['dtime']);
$order['update_dtime'] = date("Y-m-d H:i:s",$order['update_dtime']);
}else{
$order = [];
$order['bank_name'] = "";
$order['bank_card'] = "";
}
$details['order'] = $order;
}else{
$details['store'] = "";
$store = TeaStore::where("id",$details['store_id'])->find();
if($store!=null){
$details['store'] = $store;
}
$details['room'] = "";
$room = TeaStoreRoom::where("id",$details['room_id'])->find();
if($room!=null){
$details['room'] = $room;
}
$order = OrderStore::where("order_sn",$details['source_sn'])->find();
if($order!=null){
$user = User::where("id",$order['user_id'])->find();
$order['nickname'] = "";
$order['mobile'] = "";
if($user!=null){
$order['nickname'] = $user['nickname'];
$order['mobile'] = $user['mobile'];
}
$order['pay_way_title'] = "";
if( $order['pay_way'] == 1){
$order['pay_way_title'] = "余额支付";
}
if( $order['pay_way'] == 2){
$order['pay_way_title'] = "微信支付";
}
if( $order['pay_way'] == 3){
$order['pay_way_title'] = "门店余额支付";
}
if( $order['pay_way'] == 4){
$order['pay_way_title'] = "管理员添加";
}
$order['group'] = [];
$user_group = UserGroup::where("id",$order['group_coupon_id'])->find();
if($user_group!=null){
$order['group'] = TeaStoreGroup::where("id",$user_group['group_id'])->find();
$order['group']['yanquan_dtime'] = $user_group['update_dtime'];
$order['group']['qr_sn'] = $user_group['qr_sn'];
$order['group']['yanquan_status'] = $user_group['status'];
}
}else{
$order = [];
$order['group'] = [];
$order['pay_way_title'] = "";
$order['nickname'] = "";
$order['mobile'] = "";
}
$details['order'] = $order;
}
$data = [
'details' => $details
];
return $data;
}
public static function checkMoney($data){
$result = TeaStore::where("id",$data['store_id'])->find();
$d['store_msg'] = $result;
return $d;
}
public static function checkStoreUserList($data){
$count = StoreMember::where("store_id",$data['store_id'])->count();
$lists = StoreMember::where("store_id",$data['store_id'])
->page($data['page'], $data['size'])
->order("id","desc")
->select()
->toarray();
foreach($lists as $key=>$value){
$lists[$key]['user'] = User::where("id",$value['user_id'])->find();
}
$data = [
'list' => $lists,
'page' => $data['page'],
'size' => $data['size'],
'count' => $count,
'more' => is_more($count, $data['page'], $data['size'])
];
return $data;
}
public static function checkStoreUserDetails($params){
// 门店用户基本信息
$store_user_member = StoreMember::where("user_id",$params['user_id'])
->where("store_id",$params['store_id'])
->find();
// 用户基本信息
$user = User::where("id",$params['user_id'])->find();
$user['remark'] = $store_user_member['remark'];
$user['store_user_id'] = $store_user_member['id'];
$user['create_time'] = date("Y-m-d",strtotime($user['create_time']));
$user_member = UserAccountLog::where("id",$params['user_id'])->where("store_id",$params['store_id'])->where("action",2)->find();
// 会员到期时间
$user['expiration_time'] = "";
if($user_member != null){
$user['expiration_time'] = $user_member['expiration_time'];
}
$user_store_money = UserStoreMoney::where("user_id",$params['user_id'])->where("store_id",$params['store_id'])->find();
if($user_store_money != null){
$user['user_store_money'] = $user_store_money['money'];
}
// 门店用户总消费
$user['order_amount'] = OrderStore::where("store_id",$params['store_id'])->where("user_id",$params['user_id'])->sum("order_amount");
$data = [
'user' => $user
];
return $data;
}
public static function editStoreUserRemark($data){
Db::startTrans();
try {
// 查询是否余额充足
$StoreMemberUser = StoreMember::where("id",$data['id'])->where("status",1)->find();
if($StoreMemberUser == null){
throw new \Exception('暂无用户');
}
$StoreMemberUser::where("id",$data['id'])->update(['remark'=>$data['remark']]);
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
public static function checkStoreUserBuyList($data){
$count = UserAccountLog::where("store_id",$data['store_id'])
->where("user_id",$data['user_id'])
->where("action",2)
->count();
$lists = UserAccountLog::where("store_id",$data['store_id'])
->where("user_id",$data['user_id'])
->where("action",2)
->page($data['page'], $data['size'])
->order("id","desc")
->select()
->toarray();
foreach($lists as $key=>$value){
$lists[$key]['pay_way_title'] = "";
if( $value['change_object'] == 1){
$lists[$key]['pay_way_title'] = "余额支付";
}
if( $value['change_object'] == 2){
$lists[$key]['pay_way_title'] = "微信支付";
}
if( $value['change_object'] == 3){
$lists[$key]['pay_way_title'] = "支付宝支付";
}
$lists[$key]['store_name'] = TeaStore::where("id",$value['store_id'])->value("name");
}
$data = [
'list' => $lists,
'page' => $data['page'],
'size' => $data['size'],
'count' => $count,
'more' => is_more($count, $data['page'], $data['size'])
];
return $data;
}
public static function checkStoreAccountList($data,$user_id){
$times = date("Y-m");
list($year, $month) = explode('-', $times);
$startTimestamp = strtotime($year . '-' . $month . '-01 00:00:00');
$endTimestamp = strtotime(date('Y-m-t 23:59:59', $startTimestamp));
if(isset($data['times'])){
if($data['times']!=""&&$data['times']!=null){
list($year, $month) = explode('-', $data['times']);
// 转换为日期范围
$startTimestamp = strtotime($year . '-' . $month . '-01 00:00:00');
$endTimestamp = strtotime(date('Y-m-t 23:59:59', $startTimestamp));
}
}
$count = StoreUserAccountLog::where("user_id",$user_id)
->where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTimestamp, $endTimestamp])
->where("action",1)
->count();
$all_price = StoreUserAccountLog::where("user_id",$user_id)
->where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTimestamp, $endTimestamp])
->where("action",1)
->sum("amount");
$lists = StoreUserAccountLog::where("user_id",$user_id)
->where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTimestamp, $endTimestamp])
->where("action",1)
->page($data['page'], $data['size'])
->order("id","desc")
->select()
->toarray();
foreach($lists as $key=>$value){
$lists[$key]['store'] = TeaStore::where("id",$value['store_id'])->find();
$lists[$key]['room'] = TeaStoreRoom::where("id",$value['room_id'])->find();
$lists[$key]['order'] = "";
$lists[$key]['group'] = "";
if($value['action'] == 1){
$order = OrderStore::where("order_sn",$value['source_sn'])->find();
$lists[$key]['order'] = $order;
if($order!=null){
$order_group = UserGroup::where("id",$order['group_coupon_id'])->find();
if($order_group!=null){
$lists[$key]['group'] = TeaStoreGroup::where("id",$order_group['group_id'])->find();
}
}
}
}
$data = [
'list' => $lists,
'page' => $data['page'],
'size' => $data['size'],
"all_price"=>$all_price,
'count' => $count,
'more' => is_more($count, $data['page'], $data['size'])
];
return $data;
}
public static function checkMoth($data,$user_id){
// 本月收入
$times = date("Y-m");
list($year, $month) = explode('-', $times);
$startTimestamp = strtotime($year . '-' . $month . '-01 00:00:00');
$endTimestamp = strtotime(date('Y-m-t 23:59:59', $startTimestamp));
$result['month'] = StoreUserAccountLog::where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTimestamp, $endTimestamp])
->where("action",1)
->sum("amount");
// 今日收入
$today = date('Y-m-d');
$startTime = strtotime($today . ' 00:00:00');
$endTime = strtotime($today . ' 23:59:59');
$result['today_price'] = StoreUserAccountLog::where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTime, $endTime])
->where("change_type","in","1,2")
->where("action",1)
->sum("amount");
// 今日验券
$result['yan_price'] = StoreUserAccountLog::where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTime, $endTime])
->where("change_type",4)
->where("action",1)
->sum("amount");
// 昨日收入
$yesterday = date('Y-m-d', strtotime('-1 day'));
// 计算时间戳范围
$startTime = strtotime($yesterday . ' 00:00:00');
$endTime = strtotime($yesterday . ' 23:59:59');
$result['yesterday_price'] = StoreUserAccountLog::where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTime, $endTime])
->where("change_type","in","1,2")
->where("action",1)
->sum("amount");
// 昨日验券
$result['yesterday_yan_price'] = StoreUserAccountLog::where("store_id",$data['store_id'])
->whereBetween('create_time', [$startTime, $endTime])
->where("change_type",4)
->where("action",1)
->sum("amount");
$d = [
"result"=>$result
];
return $d;
}
}