Browse Source

fix: 日股资产明细查询

master
liyang 19 hours ago
parent
commit
9876f2fe3f
  1. 79
      app/model/UserStockJpLogModel.php

79
app/model/UserStockJpLogModel.php

@ -1,5 +1,9 @@
<?php
namespace app\model;
use think\facade\Db;
/**
* @property int id
* @property int user_id
@ -13,27 +17,68 @@ class UserStockJpLogModel extends BaseModel
{
protected $name = 'user_stock_jp_log';
protected $pk = 'id';
public static function getUserBalanceLog(array $data): array
{
$where['user_id']=$data['user_id'];
$where['stock_id']='JPY';
$count=self::where($where)->count();
if($data['page']<1){
$data['page']=1;
}
if($data['page_size']<1){
$data['page_size']=10;
}
$list = self::where($where)->field('change_type,stock_id as name,change_num,create_time,order_id')->order('id desc')->page($data['page'],$data['page_size'])->select();
$userId = $data['user_id'];
$page = max(1, (int)($data['page'] ?? 1));
$pageSize = max(1, (int)($data['page_size'] ?? 10));
$offset = ($page - 1) * $pageSize;
// 第一张表
$query1 = self::where('user_id', $userId)
->where('stock_id', 'JPY')
->field("change_type, stock_id as name, change_num, create_time, order_id");
// 第二张表
$query2 = Db::name('user_stock_block_log')
->where('user_id', $userId)
->where('stock_id', 'JPY')
->field("change_type, stock_id as name, change_num, create_time, order_id");
// 合并 SQL
$unionSql = $query1->unionAll($query2->buildSql(), true)->buildSql();
// 查询分页数据
$list = Db::table("({$unionSql}) t")
->order('create_time desc')
->limit($offset, $pageSize)
->select()
->toArray();
// 总数
$count1 = self::where('user_id', $userId)->where('stock_id', 'JPY')->count();
$count2 = Db::name('user_stock_block_log')->where('user_id', $userId)->where('stock_id', 'JPY')->count();
$total = $count1 + $count2;
if(empty($list)){
return [];
}
return [
'total'=>$count,
'list'=>$list->toArray(),
'total' => $total,
'list' => $list,
];
}
// public static function getUserBalanceLog(array $data):array
// {
// $where['user_id']=$data['user_id'];
// $where['stock_id']='JPY';
// $count=self::where($where)->count();
// if($data['page']<1){
// $data['page']=1;
// }
// if($data['page_size']<1){
// $data['page_size']=10;
// }
// $list = self::where($where)->field('change_type,stock_id as name,change_num,create_time,order_id')->order('id desc')->page($data['page'],$data['page_size'])->select();
// if(empty($list)){
// return [];
// }
// return [
// 'total'=>$count,
// 'list'=>$list->toArray(),
// ];
// }
public static function InsertUserBalanceLog(array $data)
{
$self = new self;
@ -49,8 +94,4 @@ class UserStockJpLogModel extends BaseModel
$self->update_time = date('Y-m-d H:i:s');
return $self->save();
}
}
Loading…
Cancel
Save