|
|
@ -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 |
|
|
|
|
|
|
|
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; |
|
|
@ -41,7 +86,7 @@ class UserStockJpLogModel extends BaseModel |
|
|
|
$self->stock_id = $data['stock_id']; |
|
|
|
$self->change_type = $data['change_type']; |
|
|
|
$self->change_num = $data['change_num']; |
|
|
|
if(isset($data['order_id'])){ |
|
|
|
if (isset($data['order_id'])) { |
|
|
|
$self->order_id = $data['order_id']; |
|
|
|
} |
|
|
|
$self->before_num = $data['before_num']; |
|
|
@ -49,8 +94,4 @@ class UserStockJpLogModel extends BaseModel |
|
|
|
$self->update_time = date('Y-m-d H:i:s'); |
|
|
|
return $self->save(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|