SteamCloudGame/lib/tools/shop/shop_model.dart
2024-11-23 15:25:11 +08:00

111 lines
3.2 KiB
Dart

import 'dart:async';
import '../../beans/create_order_bean.dart';
import '../../beans/mall_bean.dart';
import '../../beans/user_info_bean.dart';
import '../../network/BaseEntity.dart';
import '../../network/NetworkConfig.dart';
import '../../network/RequestCenter.dart';
class ShopModel {
StreamController streamController = StreamController.broadcast();
ShopModel() {
setup();
}
void setup() {
//初始化
}
///商城数据
Future<void> getDiamondMall() async {
RequestCenter.instance.requestGet(NetworkConfig.getDiamondMall, {}, (BaseEntity dataEntity) {
if (dataEntity.code == 0) {
List<MallBean> data = (dataEntity.data as List<dynamic>).map((e) => MallBean.fromJson(e as Map<String, dynamic>)).toList();
streamController.sink.add({
'code': "getDiamondMall", //有数据
'data': data,
});
} else {
streamController.sink.add({
'code': "error", //
'data': dataEntity.message,
});
}
}, (ErrorEntity errorEntity) {
print("errorEntity==${errorEntity.message}");
});
}
///创建订单
Future<void> createOrder(productId, paymentMethod) async {
RequestCenter.instance.request(NetworkConfig.createOrder, {
"productId": productId,
"paymentMethod": paymentMethod,
}, (BaseEntity dataEntity) {
if (dataEntity.code == 0) {
CreateOrderBean createOrderBean = CreateOrderBean.fromJson(dataEntity.data);
NetworkConfig.orderId = createOrderBean.orderId.toString();
print("dataEntity.data==${dataEntity.data}");
if (paymentMethod == "wx") {
streamController.sink.add({
'code': "createOrderWx", //有数据
'data': createOrderBean,
});
} else {
streamController.sink.add({
'code': "createOrderZfb", //有数据
'data': createOrderBean,
});
}
} else {
streamController.sink.add({
'code': "error", //
'data': dataEntity.message,
});
}
}, (ErrorEntity errorEntity) {
print("errorEntity==${errorEntity.message}");
});
}
///查询订单
Future<void> getOrderRewardsInfo() async {
RequestCenter.instance.requestGet(NetworkConfig.getOrderRewardsInfo, {
"orderId": NetworkConfig.orderId,
}, (BaseEntity dataEntity) {
if (dataEntity.code == 0) {
print("dataEntity.data==${dataEntity.data}");
getUserInfo();
streamController.sink.add({
'code': "getOrderRewardsInfo", //有数据
'data': dataEntity.message,
});
} else {
streamController.sink.add({
'code': "error", //
'data': dataEntity.message,
});
}
}, (ErrorEntity errorEntity) {
print("errorEntity==${errorEntity.message}");
});
}
///用户信息
Future<void> getUserInfo() async {
RequestCenter.instance.requestGet(NetworkConfig.getUserInfo, {}, (BaseEntity dataEntity) {
if (dataEntity.code == 0) {
UserInfoBean userInfoBean = UserInfoBean.fromJson(dataEntity.data);
NetworkConfig.userInfoBean = userInfoBean;
}
}, (ErrorEntity errorEntity) {
print("errorEntity==${errorEntity.message}");
});
}
}