diff --git a/app/model/UserStockJpLogModel.php b/app/model/UserStockJpLogModel.php index 11a67c43..0eaae0d0 100644 --- a/app/model/UserStockJpLogModel.php +++ b/app/model/UserStockJpLogModel.php @@ -1,5 +1,9 @@ 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(); } - - - - -} \ No newline at end of file +}