feat : wearhouse home page

This commit is contained in:
2025-12-03 15:13:36 +03:30
parent 8c9517b529
commit c28a4a3177
35 changed files with 764 additions and 834 deletions

View File

@@ -26,7 +26,7 @@ import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_ar
import 'package:rasadyar_core/core.dart';
abstract class ChickenRemoteDatasource {
Future<List<ProductModel>?> getInventory({
Future<List<ProductModel>?> getRolesProduct({
required String token,
required String role,
CancelToken? cancelToken,
@@ -75,7 +75,10 @@ abstract class ChickenRemoteDatasource {
required List<String> allocationTokens,
});
Future<List<ProductModel>?> getRolesProducts({required String token});
Future<List<ProductModel>?> getRolesProducts({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<List<GuildModel>?> getGuilds({
required String token,

View File

@@ -33,7 +33,7 @@ class ChickenRemoteDatasourceImp implements ChickenRemoteDatasource {
ChickenRemoteDatasourceImp(this._httpClient);
@override
Future<List<ProductModel>?> getInventory({
Future<List<ProductModel>?> getRolesProduct({
required String token,
required String role,
CancelToken? cancelToken,
@@ -41,7 +41,7 @@ class ChickenRemoteDatasourceImp implements ChickenRemoteDatasource {
var res = await _httpClient.get(
'/roles-products/?role=$role',
headers: {'Authorization': 'Bearer $token'},
queryParameters: {'role': role},
fromJsonList: (json) => (json)
.map((item) => ProductModel.fromJson(item as Map<String, dynamic>))
.toList(),
@@ -176,10 +176,14 @@ class ChickenRemoteDatasourceImp implements ChickenRemoteDatasource {
}
@override
Future<List<ProductModel>?> getRolesProducts({required String token}) async {
Future<List<ProductModel>?> getRolesProducts({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await _httpClient.get(
'/roles-products/?role=Steward',
'/roles-products/',
headers: {'Authorization': 'Bearer $token'},
queryParameters: queryParameters,
fromJsonList: (json) => json
.map((item) => ProductModel.fromJson(item as Map<String, dynamic>))
.toList(),

View File

@@ -6,6 +6,10 @@ import 'package:rasadyar_chicken/data/models/kill_house_module/warehouse_and_dis
import 'package:rasadyar_core/core.dart';
abstract class KillHouseRemoteDataSource {
//region requestKill
Future<List<KillHouseResponse>?> getKillHouseList({
required String token,
@@ -35,11 +39,15 @@ abstract class KillHouseRemoteDataSource {
//region warehouseAndDistribution
Future<KillHouseSalesInfoDashboard?> getKillHouseSalesInfoDashboard({
Future<KillHouseSalesInfoDashboard?> getInfoDashboard({
required String token,
CancelToken? cancelToken,
Map<String, dynamic>? queryParameters,
});
//endregion
}

View File

@@ -92,7 +92,7 @@ class KillHouseRemoteDataSourceImpl extends KillHouseRemoteDataSource {
//endregion
//region warehouseAndDistribution
@override
Future<KillHouseSalesInfoDashboard?> getKillHouseSalesInfoDashboard({
Future<KillHouseSalesInfoDashboard?> getInfoDashboard({
required String token,
CancelToken? cancelToken,
Map<String, dynamic>? queryParameters,

View File

@@ -31,7 +31,7 @@ abstract class ChickenRepository {
//region Remote
//region Steward
Future<List<ProductModel>?> getInventory({
Future<List<ProductModel>?> getRolesProduct({
required String token,
required String role,
CancelToken? cancelToken,
@@ -81,7 +81,10 @@ abstract class ChickenRepository {
required List<String> allocationTokens,
});
Future<List<ProductModel>?> getRolesProducts({required String token});
Future<List<ProductModel>?> getRolesProducts({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<List<GuildModel>?> getGuilds({
required String token,

View File

@@ -38,12 +38,12 @@ class ChickenRepositoryImp implements ChickenRepository {
//region Remote
@override
Future<List<ProductModel>?> getInventory({
Future<List<ProductModel>?> getRolesProduct({
required String token,
required String role,
CancelToken? cancelToken,
}) async {
var res = await remote.getInventory(
var res = await remote.getRolesProduct(
token: token,
role: role,
cancelToken: cancelToken,
@@ -143,8 +143,14 @@ class ChickenRepositoryImp implements ChickenRepository {
}
@override
Future<List<ProductModel>?> getRolesProducts({required String token}) async {
var res = await remote.getRolesProducts(token: token);
Future<List<ProductModel>?> getRolesProducts({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await remote.getRolesProducts(
token: token,
queryParameters: queryParameters,
);
return res;
}

View File

@@ -6,9 +6,13 @@ import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/
show KillRequestList;
import 'package:rasadyar_chicken/data/models/kill_house_module/warehouse_and_distribution/response/kill_house_sales_info_dashboard.dart';
import 'package:rasadyar_chicken/data/models/response/broadcast_price/broadcast_price.dart';
import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_core/core.dart';
abstract class KillHouseRepository {
//region requestKill
Future<List<KillHouseResponse>?> getKillHouseList({
required String token,
@@ -38,13 +42,18 @@ abstract class KillHouseRepository {
//endregion
//region warehouseAndDistribution
Future<KillHouseSalesInfoDashboard?> getKillHouseSalesInfoDashboard({
Future<KillHouseSalesInfoDashboard?> getInfoDashboard({
required String token,
CancelToken? cancelToken,
Map<String, dynamic>? queryParameters,
});
Future<BroadcastPrice?> getBroadcastPrice({required String token});
Future<List<ProductModel>?> getRolesProducts({required String token});
Future<List<IranProvinceCityModel>?> getProvince({CancelToken? cancelToken});
//endregion
}

View File

@@ -6,6 +6,8 @@ import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/
as listModel;
import 'package:rasadyar_chicken/data/models/kill_house_module/warehouse_and_distribution/response/kill_house_sales_info_dashboard.dart';
import 'package:rasadyar_chicken/data/models/response/broadcast_price/broadcast_price.dart';
import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
import 'package:rasadyar_core/core.dart';
import '../chicken/chicken_repository.dart';
@@ -76,13 +78,14 @@ class KillHouseRepositoryImpl extends KillHouseRepository {
//endregion
//region warehouseAndDistribution
@override
Future<KillHouseSalesInfoDashboard?> getKillHouseSalesInfoDashboard({
Future<KillHouseSalesInfoDashboard?> getInfoDashboard({
required String token,
CancelToken? cancelToken,
Map<String, dynamic>? queryParameters,
}) async {
return await remoteDataSource.getKillHouseSalesInfoDashboard(
return await remoteDataSource.getInfoDashboard(
token: token,
cancelToken: cancelToken,
queryParameters: queryParameters,
@@ -94,5 +97,21 @@ class KillHouseRepositoryImpl extends KillHouseRepository {
return await chickenRepository.getBroadcastPrice(token: token);
}
@override
Future<List<ProductModel>?> getRolesProducts({required String token}) async {
var res = await chickenRepository.getRolesProducts(
token: token,
queryParameters: buildQueryParams(role: 'KillHouse'),
);
return res;
}
@override
Future<List<IranProvinceCityModel>?> getProvince({
CancelToken? cancelToken,
}) async {
return await chickenRepository.getProvince(cancelToken: cancelToken);
}
//endregion
}