Commit 85b78bc09182ba285ee9fc0f144b851df1965088

Authored by wdn127929
1 parent 166dc67b

取消预订发送短信

@@ -445,14 +445,13 @@ class HttpUrl { @@ -445,14 +445,13 @@ class HttpUrl {
445 static const String get_seller_counts_list = 445 static const String get_seller_counts_list =
446 "?service=App.GuestManage.GetSellerCountsList"; // 获取全店全年订单统计数据 446 "?service=App.GuestManage.GetSellerCountsList"; // 获取全店全年订单统计数据
447 447
448 -  
449 - static const String get_seller_counts_list_by_month = 448 + static const String get_seller_counts_list_by_month =
450 "?service=App.GuestManage.GetSellerCountsListByMonth"; // 获取全店全月订单统计数据 449 "?service=App.GuestManage.GetSellerCountsListByMonth"; // 获取全店全月订单统计数据
451 450
452 -  
453 -static const String get_seller_counts_list_by_day = 451 + static const String get_seller_counts_list_by_day =
454 "?service=App.GuestManage.GetSellerCountsListByDay"; // 获取全店日订单统计数据 452 "?service=App.GuestManage.GetSellerCountsListByDay"; // 获取全店日订单统计数据
455 -  
456 - 453 +
  454 + static const String wx_send_cancel_sms =
  455 + "?service=App.SendSMS.WxSendCancelSms"; // 取消订单发送短信
457 456
458 } 457 }
@@ -14,12 +14,14 @@ import 'package:one_key/models/notebook_detail.dart'; @@ -14,12 +14,14 @@ import 'package:one_key/models/notebook_detail.dart';
14 import 'package:one_key/models/remark.dart'; 14 import 'package:one_key/models/remark.dart';
15 import 'package:one_key/pages/detail/notebook_detail_change_page.dart'; 15 import 'package:one_key/pages/detail/notebook_detail_change_page.dart';
16 import 'package:one_key/pages/detail/notebook_detail_change_page_f.dart'; 16 import 'package:one_key/pages/detail/notebook_detail_change_page_f.dart';
  17 +import 'package:one_key/provider/marketing_center_provider.dart';
17 import 'package:one_key/provider/message_dialog_model.dart'; 18 import 'package:one_key/provider/message_dialog_model.dart';
18 import 'package:one_key/provider/notebook_detail_model.dart'; 19 import 'package:one_key/provider/notebook_detail_model.dart';
19 import 'package:one_key/provider/online_check_edit_provider.dart'; 20 import 'package:one_key/provider/online_check_edit_provider.dart';
20 import 'package:one_key/provider/remark_manager_model.dart'; 21 import 'package:one_key/provider/remark_manager_model.dart';
21 import 'package:one_key/provider/user_model.dart'; 22 import 'package:one_key/provider/user_model.dart';
22 import 'package:one_key/res/colors.dart'; 23 import 'package:one_key/res/colors.dart';
  24 +import 'package:one_key/route/route_handles.dart';
23 import 'package:one_key/utils/NumLengthInputFormatter.dart'; 25 import 'package:one_key/utils/NumLengthInputFormatter.dart';
24 import 'package:one_key/utils/dialog_util.dart'; 26 import 'package:one_key/utils/dialog_util.dart';
25 import 'package:one_key/utils/event_bus.dart'; 27 import 'package:one_key/utils/event_bus.dart';
@@ -438,7 +440,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { @@ -438,7 +440,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
438 } 440 }
439 441
440 ///处理在线预订 442 ///处理在线预订
441 - setReserveStatus(String status, {String tid = "", String desc}) async { 443 + setReserveStatus(String status,
  444 + {String tid = "", String desc, String phone}) async {
442 // bus.emit("remove_untreated_message",widget.mid); 445 // bus.emit("remove_untreated_message",widget.mid);
443 UserModel userModel = Provider.of<UserModel>(context, listen: false); 446 UserModel userModel = Provider.of<UserModel>(context, listen: false);
444 Map<String, String> causeMap = { 447 Map<String, String> causeMap = {
@@ -453,19 +456,41 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { @@ -453,19 +456,41 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
453 // "mid": widget.mid, 456 // "mid": widget.mid,
454 "cause": json.encode(causeMap), 457 "cause": json.encode(causeMap),
455 "uid": userModel.user.openid, 458 "uid": userModel.user.openid,
  459 + 'note_name': userModel.user.account,
456 }; 460 };
457 bool success = 461 bool success =
458 await detailModel.setReserveStatus(context, params, ifPush: false); 462 await detailModel.setReserveStatus(context, params, ifPush: false);
459 if (success) { 463 if (success) {
460 bus.emit("refresh_book_list"); 464 bus.emit("refresh_book_list");
461 - if (status == "4") { 465 + if (status == "4" && phone != null && phone != '') {
462 //取消预订 466 //取消预订
463 bus.emit("refresh_tablemanager"); //刷新桌位 467 bus.emit("refresh_tablemanager"); //刷新桌位
  468 + getDzSellerConf(widget.rid);
464 } 469 }
465 _getReserveDetail(); 470 _getReserveDetail();
466 } 471 }
467 } 472 }
468 473
  474 + getDzSellerConf(String rid) async {
  475 + MarketingCenterProvider marketingCenterProvider =
  476 + Provider.of<MarketingCenterProvider>(context, listen: false);
  477 + bool success = await marketingCenterProvider.getDzSellerConf(context);
  478 + if (success && marketingCenterProvider.dzSellerConfModel != null) {
  479 + bool selectSms =
  480 + marketingCenterProvider.dzSellerConfModel.isOpenCancel == '1'
  481 + ? true
  482 + : false;
  483 +
  484 + if (selectSms) {
  485 + Map<String, String> pramas = {
  486 + 'rid': rid,
  487 + 'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
  488 + };
  489 + detailModel.wxSendCancelSms(context, pramas);
  490 + }
  491 + }
  492 + }
  493 +
469 /// 取消预订, 变更预订按钮 494 /// 取消预订, 变更预订按钮
470 Widget _cancelAndChangeBtn(GestureTapCallback onTap, String title, 495 Widget _cancelAndChangeBtn(GestureTapCallback onTap, String title,
471 {Color bgColor = MyColours.color_ffffff, 496 {Color bgColor = MyColours.color_ffffff,
@@ -492,7 +517,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { @@ -492,7 +517,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
492 } 517 }
493 518
494 ///取消预订弹框 519 ///取消预订弹框
495 - _showCancelWidget(context) { 520 + _showCancelWidget(context, phone) {
496 _scrollController = ScrollController(); 521 _scrollController = ScrollController();
497 showGeneralDialog( 522 showGeneralDialog(
498 context: context, 523 context: context,
@@ -682,7 +707,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { @@ -682,7 +707,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
682 Navigator.of(context).pop(); 707 Navigator.of(context).pop();
683 Loading.showLoading(context); 708 Loading.showLoading(context);
684 709
685 - setReserveStatus('4', desc: desc); 710 + setReserveStatus('4', desc: desc, phone: phone);
686 }, 711 },
687 text: '确认', 712 text: '确认',
688 height: ScreenUtil().setWidth(80), 713 height: ScreenUtil().setWidth(80),
@@ -3268,7 +3293,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { @@ -3268,7 +3293,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
3268 context, '取消预订') || 3293 context, '取消预订') ||
3269 widget.uid == 3294 widget.uid ==
3270 userModel.user.openid) { 3295 userModel.user.openid) {
3271 - _showCancelWidget(context); 3296 + _showCancelWidget(
  3297 + context, detailEntity.phone);
3272 } 3298 }
3273 }, '取消预订', 3299 }, '取消预订',
3274 fontColor: !(Utils.getAuthority( 3300 fontColor: !(Utils.getAuthority(
@@ -46,6 +46,8 @@ import '../../app.dart'; @@ -46,6 +46,8 @@ import '../../app.dart';
46 import '../../models/get_seller_info_model.dart'; 46 import '../../models/get_seller_info_model.dart';
47 import '../../models/user.dart'; 47 import '../../models/user.dart';
48 import '../../provider/feast_model.dart'; 48 import '../../provider/feast_model.dart';
  49 +import '../../provider/marketing_center_provider.dart';
  50 +import '../../provider/notebook_detail_model.dart';
49 import '../../provider/remark_manager_model.dart'; 51 import '../../provider/remark_manager_model.dart';
50 import '../../provider/store_base_info_provider.dart'; 52 import '../../provider/store_base_info_provider.dart';
51 import '../../utils/event_bus.dart'; 53 import '../../utils/event_bus.dart';
@@ -155,14 +157,18 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { @@ -155,14 +157,18 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
155 // child: SafeArea(child: EnterPage(detailEntity:NotebookDetail.def(context),rid: "-1",)), 157 // child: SafeArea(child: EnterPage(detailEntity:NotebookDetail.def(context),rid: "-1",)),
156 // )) 158 // ))
157 ..add(ChangeNotifierProvider<NoteBookModel>( 159 ..add(ChangeNotifierProvider<NoteBookModel>(
158 - create: (_) => NoteBookModel(),  
159 - child: SafeArea(  
160 - child: NoteBookPage(  
161 - tabIndex: widget.mine ? 1 : 0,  
162 - date: widget.date,  
163 - solt: widget.solt,  
164 - )),  
165 - )) 160 + create: (_) => NoteBookModel(),
  161 + child: ChangeNotifierProvider<MarketingCenterProvider>(
  162 + create: (_) => MarketingCenterProvider(),
  163 + child: ChangeNotifierProvider<NotebookDetailModel>(
  164 + create: (_) => NotebookDetailModel(),
  165 + child: SafeArea(
  166 + child: NoteBookPage(
  167 + tabIndex: widget.mine ? 1 : 0,
  168 + date: widget.date,
  169 + solt: widget.solt,
  170 + )),
  171 + ))))
166 ..add(ChangeNotifierProvider<MyModel>( 172 ..add(ChangeNotifierProvider<MyModel>(
167 create: (_) => MyModel(), 173 create: (_) => MyModel(),
168 child: ChangeNotifierProvider<BaseIndoProvider>( 174 child: ChangeNotifierProvider<BaseIndoProvider>(
@@ -18,6 +18,8 @@ import 'package:one_key/widgets/round_button.dart'; @@ -18,6 +18,8 @@ import 'package:one_key/widgets/round_button.dart';
18 import 'package:one_key/widgets/v_empty_view.dart'; 18 import 'package:one_key/widgets/v_empty_view.dart';
19 import 'package:provider/provider.dart'; 19 import 'package:provider/provider.dart';
20 20
  21 +import '../../provider/marketing_center_provider.dart';
  22 +
21 /** 23 /**
22 * 详细模式 24 * 详细模式
23 */ 25 */
@@ -114,7 +116,7 @@ class NoteBookItemFState extends State<NoteBookItemF> @@ -114,7 +116,7 @@ class NoteBookItemFState extends State<NoteBookItemF>
114 } 116 }
115 117
116 ///处理在线预订 118 ///处理在线预订
117 - setReserveStatus(String status, {String desc}) async { 119 + setReserveStatus(String status, {String desc, String phone}) async {
118 // bus.emit("remove_untreated_message",widget.mid); 120 // bus.emit("remove_untreated_message",widget.mid);
119 UserModel userModel = Provider.of<UserModel>(context, listen: false); 121 UserModel userModel = Provider.of<UserModel>(context, listen: false);
120 122
@@ -138,6 +140,11 @@ class NoteBookItemFState extends State<NoteBookItemF> @@ -138,6 +140,11 @@ class NoteBookItemFState extends State<NoteBookItemF>
138 await detailModel.setReserveStatus(context, params, ifPush: false); 140 await detailModel.setReserveStatus(context, params, ifPush: false);
139 if (success) { 141 if (success) {
140 bus.emit("refresh_book_list"); 142 bus.emit("refresh_book_list");
  143 + if (status == "4" && phone != null && phone != '') {
  144 + getDzSellerConf(widget.notebook.id);
  145 + // //取消预订
  146 + // bus.emit("refresh_tablemanager"); //刷新桌位
  147 + }
141 // if (status == "4") { 148 // if (status == "4") {
142 // //取消预订 149 // //取消预订
143 // bus.emit("refresh_tablemanager"); //刷新桌位 150 // bus.emit("refresh_tablemanager"); //刷新桌位
@@ -146,8 +153,30 @@ class NoteBookItemFState extends State<NoteBookItemF> @@ -146,8 +153,30 @@ class NoteBookItemFState extends State<NoteBookItemF>
146 } 153 }
147 } 154 }
148 155
  156 + getDzSellerConf(String rid) async {
  157 + MarketingCenterProvider marketingCenterProvider =
  158 + Provider.of<MarketingCenterProvider>(context, listen: false);
  159 + bool success = await marketingCenterProvider.getDzSellerConf(context);
  160 + if (success && marketingCenterProvider.dzSellerConfModel != null) {
  161 + bool selectSms =
  162 + marketingCenterProvider.dzSellerConfModel.isOpenCancel == '1'
  163 + ? true
  164 + : false;
  165 +
  166 + if (selectSms) {
  167 + Map<String, String> pramas = {
  168 + 'rid': rid,
  169 + 'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
  170 + };
  171 + NotebookDetailModel detailModel =
  172 + Provider.of<NotebookDetailModel>(context, listen: false);
  173 + detailModel.wxSendCancelSms(context, pramas);
  174 + }
  175 + }
  176 + }
  177 +
149 ///取消预订弹框 178 ///取消预订弹框
150 - _showCancelWidget(context) { 179 + _showCancelWidget(context, phone) {
151 _scrollController = ScrollController(); 180 _scrollController = ScrollController();
152 _initCancel(); 181 _initCancel();
153 showGeneralDialog( 182 showGeneralDialog(
@@ -386,7 +415,8 @@ class NoteBookItemFState extends State<NoteBookItemF> @@ -386,7 +415,8 @@ class NoteBookItemFState extends State<NoteBookItemF>
386 Navigator.of(context).pop(); 415 Navigator.of(context).pop();
387 Loading.showLoading(context); 416 Loading.showLoading(context);
388 417
389 - setReserveStatus('4', desc: desc); 418 + setReserveStatus('4',
  419 + desc: desc, phone: phone);
390 }, 420 },
391 text: '确认', 421 text: '确认',
392 height: ScreenUtil().setWidth(80), 422 height: ScreenUtil().setWidth(80),
@@ -857,7 +887,8 @@ class NoteBookItemFState extends State<NoteBookItemF> @@ -857,7 +887,8 @@ class NoteBookItemFState extends State<NoteBookItemF>
857 userModel.user.openid)) 887 userModel.user.openid))
858 InkWell( 888 InkWell(
859 onTap: () { 889 onTap: () {
860 - _showCancelWidget(context); 890 + _showCancelWidget(
  891 + context, notebook.phone);
861 }, 892 },
862 child: Text( 893 child: Text(
863 '取消预订', 894 '取消预订',
@@ -30,6 +30,8 @@ import 'package:one_key/widgets/round_button.dart'; @@ -30,6 +30,8 @@ import 'package:one_key/widgets/round_button.dart';
30 import 'package:one_key/widgets/v_empty_view.dart'; 30 import 'package:one_key/widgets/v_empty_view.dart';
31 import 'package:provider/provider.dart'; 31 import 'package:provider/provider.dart';
32 32
  33 +import '../../provider/marketing_center_provider.dart';
  34 +
33 /** 35 /**
34 * 详细模式 36 * 详细模式
35 */ 37 */
@@ -126,7 +128,7 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple> @@ -126,7 +128,7 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple>
126 } 128 }
127 129
128 ///处理在线预订 130 ///处理在线预订
129 - setReserveStatus(String status, {String desc}) async { 131 + setReserveStatus(String status, {String desc, String phone}) async {
130 // bus.emit("remove_untreated_message",widget.mid); 132 // bus.emit("remove_untreated_message",widget.mid);
131 UserModel userModel = Provider.of<UserModel>(context, listen: false); 133 UserModel userModel = Provider.of<UserModel>(context, listen: false);
132 134
@@ -150,6 +152,10 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple> @@ -150,6 +152,10 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple>
150 await detailModel.setReserveStatus(context, params, ifPush: false); 152 await detailModel.setReserveStatus(context, params, ifPush: false);
151 if (success) { 153 if (success) {
152 bus.emit("refresh_book_list"); 154 bus.emit("refresh_book_list");
  155 + if (status == "4" && phone != null && phone != '') {
  156 + //取消预订
  157 + getDzSellerConf(widget.notebook.id);
  158 + }
153 // if (status == "4") { 159 // if (status == "4") {
154 // //取消预订 160 // //取消预订
155 // bus.emit("refresh_tablemanager"); //刷新桌位 161 // bus.emit("refresh_tablemanager"); //刷新桌位
@@ -158,8 +164,30 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple> @@ -158,8 +164,30 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple>
158 } 164 }
159 } 165 }
160 166
  167 + getDzSellerConf(String rid) async {
  168 + MarketingCenterProvider marketingCenterProvider =
  169 + Provider.of<MarketingCenterProvider>(context, listen: false);
  170 + bool success = await marketingCenterProvider.getDzSellerConf(context);
  171 + if (success && marketingCenterProvider.dzSellerConfModel != null) {
  172 + bool selectSms =
  173 + marketingCenterProvider.dzSellerConfModel.isOpenCancel == '1'
  174 + ? true
  175 + : false;
  176 +
  177 + if (selectSms) {
  178 + Map<String, String> pramas = {
  179 + 'rid': rid,
  180 + 'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
  181 + };
  182 + NotebookDetailModel detailModel =
  183 + Provider.of<NotebookDetailModel>(context, listen: false);
  184 + detailModel.wxSendCancelSms(context, pramas);
  185 + }
  186 + }
  187 + }
  188 +
161 ///取消预订弹框 189 ///取消预订弹框
162 - _showCancelWidget(context) { 190 + _showCancelWidget(context, phone) {
163 _scrollController = ScrollController(); 191 _scrollController = ScrollController();
164 _initCancel(); 192 _initCancel();
165 showGeneralDialog( 193 showGeneralDialog(
@@ -398,7 +426,8 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple> @@ -398,7 +426,8 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple>
398 Navigator.of(context).pop(); 426 Navigator.of(context).pop();
399 Loading.showLoading(context); 427 Loading.showLoading(context);
400 428
401 - setReserveStatus('4', desc: desc); 429 + setReserveStatus('4',
  430 + desc: desc, phone: phone);
402 }, 431 },
403 text: '确认', 432 text: '确认',
404 height: ScreenUtil().setWidth(80), 433 height: ScreenUtil().setWidth(80),
@@ -819,7 +848,8 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple> @@ -819,7 +848,8 @@ class NoteBookItemSimpleState extends State<NoteBookItemSimple>
819 userModel.user.openid)) 848 userModel.user.openid))
820 InkWell( 849 InkWell(
821 onTap: () { 850 onTap: () {
822 - _showCancelWidget(context); 851 + _showCancelWidget(
  852 + context, notebook.phone);
823 }, 853 },
824 child: Text( 854 child: Text(
825 '取消预订', 855 '取消预订',
@@ -149,11 +149,25 @@ class NotebookDetailModel extends ChangeNotifier { @@ -149,11 +149,25 @@ class NotebookDetailModel extends ChangeNotifier {
149 } 149 }
150 } 150 }
151 151
  152 + //取消预订发送短信
  153 + wxSendCancelSms(BuildContext context, Map<String, String> params) async {
  154 + BaseResp<dynamic> baseResp = await DioUtil()
  155 + .request<dynamic>(context, Method.get, HttpUrl.wx_send_cancel_sms,
  156 + data: params, showLoading: false)
  157 + .catchError((error) {
  158 + print(error.toString());
  159 + });
  160 + if (baseResp.code == Constant.status_success) {
  161 + Utils.showToast('取消预订短信已发送给客户');
  162 + } else {
  163 + Utils.showToast(baseResp.msg);
  164 + }
  165 + }
  166 +
152 //安排在线预订 167 //安排在线预订
153 Future<bool> setReserveStatus( 168 Future<bool> setReserveStatus(
154 BuildContext context, Map<String, String> params, 169 BuildContext context, Map<String, String> params,
155 {ifPush = true, showLoading = false}) async { 170 {ifPush = true, showLoading = false}) async {
156 -  
157 BaseResp<Map<String, dynamic>> baseResp = await DioUtil() 171 BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
158 .request<Map<String, dynamic>>( 172 .request<Map<String, dynamic>>(
159 context, Method.get, HttpUrl.set_reserve_status, 173 context, Method.get, HttpUrl.set_reserve_status,
@@ -292,12 +292,14 @@ var reserveDetailHandler = new Handler( @@ -292,12 +292,14 @@ var reserveDetailHandler = new Handler(
292 create: (_) => OnlineCheckEditProvider(), 292 create: (_) => OnlineCheckEditProvider(),
293 child: ChangeNotifierProvider<NotebookDetailModel>( 293 child: ChangeNotifierProvider<NotebookDetailModel>(
294 create: (_) => NotebookDetailModel(), 294 create: (_) => NotebookDetailModel(),
295 - child: NotebookDetailPage(  
296 - rid,  
297 - mid: mid,  
298 - uid: uid,  
299 - fromNotify: fromNotify,  
300 - )))); 295 + child: ChangeNotifierProvider<MarketingCenterProvider>(
  296 + create: (_) => MarketingCenterProvider(),
  297 + child: NotebookDetailPage(
  298 + rid,
  299 + mid: mid,
  300 + uid: uid,
  301 + fromNotify: fromNotify,
  302 + )))));
301 }); 303 });
302 304
303 // 填写预订人信息 305 // 填写预订人信息