98 lines
2.7 KiB
Dart
98 lines
2.7 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:aiplot/bean/create_order_bean.dart';
|
|
import 'package:aiplot/network/NetworkConfig.dart';
|
|
import 'package:aiplot/network/RequestCenter.dart';
|
|
|
|
import '../../bean/product_bean.dart';
|
|
import '../../network/BaseEntity.dart';
|
|
|
|
class ShopModel {
|
|
StreamController streamController = StreamController.broadcast();
|
|
|
|
ShopModel() {
|
|
setup();
|
|
}
|
|
|
|
void setup() {
|
|
//初始化
|
|
}
|
|
|
|
//获取商品列表
|
|
Future<void> getProductList() async {
|
|
RequestCenter.instance.requestPlay(NetworkConfig.getProductList, {}, (BaseEntity dataEntity) {
|
|
if (dataEntity.code == 0) {
|
|
List<ProductBean> data = (dataEntity.data as List<dynamic>).map((e) => ProductBean.fromJson(e as Map<String, dynamic>)).toList();
|
|
streamController.sink.add({
|
|
'code': "getProductList", //有数据
|
|
'data': data,
|
|
});
|
|
} else {
|
|
streamController.sink.add({
|
|
'code': "-1", //
|
|
'data': dataEntity.code,
|
|
});
|
|
}
|
|
}, (ErrorEntity errorEntity) {
|
|
streamController.sink.add({
|
|
'code': "0", //无数据
|
|
'data': errorEntity.code,
|
|
});
|
|
});
|
|
}
|
|
|
|
//生成订单
|
|
Future<void> createOrder(String productId) async {
|
|
RequestCenter.instance.requestPlay(NetworkConfig.createOrder, {
|
|
"ProductId": productId,
|
|
}, (BaseEntity dataEntity) {
|
|
if (dataEntity.code == 0) {
|
|
Map<String, dynamic> json = dataEntity.data;
|
|
CreateOrderBean data = CreateOrderBean.fromJson(json);
|
|
streamController.sink.add({
|
|
'code': "createOrder", //有数据
|
|
'data': data,
|
|
});
|
|
} else {
|
|
streamController.sink.add({
|
|
'code': "-1", //
|
|
'data': dataEntity.code,
|
|
});
|
|
}
|
|
}, (ErrorEntity errorEntity) {
|
|
streamController.sink.add({
|
|
'code': "0", //无数据
|
|
'data': errorEntity.code,
|
|
});
|
|
});
|
|
}
|
|
|
|
//完成订单
|
|
Future<void> completeOrder(String orderCode, String productId, String token) async {
|
|
RequestCenter.instance.requestPlay(NetworkConfig.completeOrder, {
|
|
"OrderCode": orderCode,
|
|
"ProductId": productId,
|
|
"Token": token,
|
|
}, (BaseEntity dataEntity) {
|
|
if (dataEntity.code == 0) {
|
|
Map<String, dynamic> json = dataEntity.data;
|
|
CreateOrderBean data = CreateOrderBean.fromJson(json);
|
|
streamController.sink.add({
|
|
'code': "completeOrder", //有数据
|
|
'data': data,
|
|
});
|
|
} else {
|
|
streamController.sink.add({
|
|
'code': "-1", //
|
|
'data': dataEntity.code,
|
|
});
|
|
}
|
|
}, (ErrorEntity errorEntity) {
|
|
streamController.sink.add({
|
|
'code': "0", //无数据
|
|
'data': errorEntity.code,
|
|
});
|
|
});
|
|
}
|
|
}
|