Message.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace addon\store\shopapi\controller;
  13. use app\model\message\Message as MessageModel;
  14. use app\model\message\Sms;
  15. use app\model\site\Site;
  16. class Message extends BaseStoreApi
  17. {
  18. /**
  19. * 消息管理 列表
  20. */
  21. public function lists()
  22. {
  23. $site_model = new Site();
  24. $site_addon = $site_info = $site_model->getSiteAddonStr($this->site_id);
  25. $site_addon = $site_addon[ 'data' ];
  26. $message_model = new MessageModel();
  27. //买家消息
  28. $member_message_list_result = $message_model->getSmsMessageList($this->site_id, [ [ 'app', 'in', [ 'system', $this->app_module ] ], [ 'addon', 'in', array_merge(explode(',', $site_addon), [ '' ]) ], [ 'message_type', '=', 1 ] ]);
  29. $member_message_list = $member_message_list_result[ "data" ];
  30. //卖家通知
  31. $shop_message_list_result = $message_model->getSmsMessageList($this->site_id, [ [ 'app', 'in', [ 'system', $this->app_module ] ], [ 'addon', 'in', array_merge(explode(',', $site_addon), [ '' ]) ], [ 'message_type', '=', 2 ] ]);
  32. $shop_message_list = $shop_message_list_result[ "data" ];
  33. $data = [];
  34. $data[ 'member_message_list' ] = $member_message_list;
  35. $data[ 'shop_message_list' ] = $shop_message_list;
  36. return $this->response($this->success($data));
  37. }
  38. /**
  39. * 编辑短信模板(跳转)
  40. */
  41. public function editSmsMessage()
  42. {
  43. $keywords = isset($this->params[ 'keywords' ]) ? $this->params[ 'keywords' ] : '';
  44. $sms_model = new Sms();
  45. $edit_data_result = $sms_model->doEditSmsMessage();
  46. if (empty($edit_data_result[ "data" ][ 0 ])) return $this->response($this->error([], "没有开启的短信方式!"));
  47. $edit_data = $edit_data_result[ "data" ][ 0 ];
  48. $edit_url = $edit_data[ "shop_url" ];
  49. return $this->response($this->success(addon_url($edit_url, [ "keywords" => $keywords ])));
  50. }
  51. /**
  52. * 短信记录
  53. */
  54. public function smsRecords()
  55. {
  56. $sms_model = new Sms();
  57. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  58. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  59. $search_text = isset($this->params[ 'search_text' ]) ? $this->params[ 'search_text' ] : '';
  60. $status = isset($this->params[ 'status' ]) ? $this->params[ 'status' ] : '';
  61. $condition = [ [ 'site_id', '=', $this->site_id ] ];
  62. if (!empty($search_text)) {
  63. $condition[] = [ "keywords_name", "like", "%" . $search_text . "%" ];
  64. }
  65. if ($status !== '') {
  66. $condition[] = [ 'status', '=', $status ];
  67. }
  68. $list = $sms_model->getSmsRecordsPageList($condition, $page, $page_size);
  69. return $this->response($list);
  70. }
  71. public function smsData()
  72. {
  73. $site_model = new Site();
  74. $site_info = $site_model->getSiteInfo([ [ 'site_id', '=', $this->site_id ] ], 'sms_num,sms_used_num');
  75. $sms_data = [
  76. 'total_num' => $site_info[ 'data' ][ 'sms_num' ] + $site_info[ 'data' ][ 'sms_used_num' ],
  77. 'sms_num' => $site_info[ 'data' ][ 'sms_num' ],
  78. 'sms_used_num' => $site_info[ 'data' ][ 'sms_used_num' ]
  79. ];
  80. return $this->response($this->success($sms_data));
  81. }
  82. /**
  83. * 删除短信记录
  84. */
  85. public function deleteSmsRecords()
  86. {
  87. $ids = isset($this->params[ 'ids' ]) ? $this->params[ 'ids' ] : '';
  88. $sms_model = new Sms();
  89. $condition = array (
  90. [ "id", "in", $ids ], [ 'site_id', '=', $this->site_id ]
  91. );
  92. $result = $sms_model->deleteSmsRecords($condition);
  93. return $this->response($result);
  94. }
  95. /**
  96. * 编辑短信模板(跳转)
  97. */
  98. public function editEmailMessage()
  99. {
  100. $message_model = new MessageModel();
  101. $keywords = isset($this->params[ 'keywords' ]) ? $this->params[ 'keywords' ] : '';
  102. $email_title = isset($this->params[ 'email_title' ]) ? $this->params[ 'email_title' ] : '';//邮件标题
  103. $email_content = isset($this->params[ 'email_content' ]) ? $this->params[ 'email_content' ] : '';//邮件内容
  104. $email_is_open = isset($this->params[ 'email_is_open' ]) ? $this->params[ 'email_is_open' ] : 0;//邮件开关
  105. $info_result = $message_model->getMessageInfo($this->site_id, $keywords);
  106. $info = $info_result[ "data" ];
  107. if (empty($info)) return $this->response($this->error([], "不存在的模板信息!"));
  108. $data = array (
  109. 'email_title' => $email_title,
  110. 'email_content' => $email_content,
  111. "email_is_open" => $email_is_open,
  112. );
  113. $condition = array (
  114. [ "keywords", "=", $keywords ],
  115. [ 'site_id', '=', $this->site_id ],
  116. [ 'app_module', '=', $this->app_module ]
  117. );
  118. $this->addLog("编辑邮箱模板:" . $keywords);
  119. $res = $message_model->editMessage($data, $condition);
  120. return $this->response($res);
  121. }
  122. /**
  123. * 短信详情
  124. */
  125. public function messageInfo()
  126. {
  127. $message_model = new MessageModel();
  128. $keywords = isset($this->params[ 'keywords' ]) ? $this->params[ 'keywords' ] : '';
  129. $info_result = $message_model->getMessageInfo($this->site_id, $keywords);
  130. return $this->response($info_result);
  131. }
  132. public function edit()
  133. {
  134. $keywords = isset($this->params[ 'keywords' ]) ? $this->params[ 'keywords' ] : '';
  135. $sms_is_open = isset($this->params[ 'sms_is_open' ]) ? $this->params[ 'sms_is_open' ] : 0;
  136. $res = event('EditMessage', [ 'sms_is_open' => $sms_is_open, 'site_id' => $this->site_id, 'keywords' => $keywords ]);
  137. return $this->response($this->success(isset($res[ 0 ]) ? $res[ 0 ] : []));
  138. }
  139. /**
  140. * 短信重新发送
  141. */
  142. public function sendMessage()
  143. {
  144. $id = isset($this->params[ 'id' ]) ? $this->params[ 'id' ] : '';
  145. $sms_model = new Sms();
  146. $result = $sms_model->againSendSms($id);
  147. return $this->response($this->success($result));
  148. }
  149. }