| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- /*
- * @Author: your name
- * @Date: 2021-04-21 13:51:42
- * @LastEditTime: 2021-04-22 15:04:40
- * @LastEditors: Please set LastEditors
- * @Description: In User Settings Edit
- * @FilePath: \admin_php\modules\admin\controllers\NoticeController.php
- */
- namespace app\modules\admin\controllers;
- use app\models\Notice;
- use app\utils\Notice\GetTamplate;
- use app\utils\Notice\NoticeSetting;
- use yii\helpers\Json;
- /**
- * @description:
- * @param {*}
- * @return {*}
- */
- class NoticeController extends BaseController
- {
- public function actionTest() {
- $order_no = 'ML20230731164212235455';
- $order = \app\models\Order::findOne(['order_no' => $order_no]);
- \app\utils\Notice\NoticeSend::PlaceOrder($order->order_no, 0, $order->store_id, $order);
- }
- public function actionNotice()
- {
- $store_id = get_store_id();
- $notice = Notice::findOne(['store_id' => $store_id, 'is_delete' => 0]);
- if ($notice) {
- $notice_arr = $notice->toArray();
- $new_notice = [];
- $key_notice = NoticeSetting::SEND_TYPE;
- $default = NoticeSetting::DEFAULT;
- foreach($notice_arr as $key => $val) {
- if (in_array($key, $key_notice)) {
- if ($val) {
- $valArr = Json::decode($val);
- $saveArr = \app\utils\ArrayHelper::merge($valArr, $default[$key]);
- if (isset($saveArr['wxaapi']['receive_openids'])) {
- $saveArr['wxaapi']['receive_openids'] = [];
- }
- if (isset($saveArr['wxaapi']['kid_list'])) {
- $saveArr['wxaapi']['kid_list'] = [];
- }
- $valArr = \app\utils\ArrayHelper::merge($saveArr, $valArr);
- } else {
- $valArr = $default[$key];
- }
- $new_notice[$key] = $valArr;
- if (is_array($new_notice[$key]) && is_array($default[$key])) {
- foreach ($new_notice[$key] as $k => $v) {
- $new_notice[$key][$k]['disable'] = $default[$key][$k]['disable'];
- isset($default[$key][$k]['receive_userid']) && $new_notice[$key][$k]['receive_userid'] = $new_notice[$key][$k]['receive_userid'] ?? $default[$key][$k]['receive_userid'];
- $new_notice[$key][$k]['receive_username'] = $new_notice[$key][$k]['receive_username'] ?? $default[$key][$k]['receive_username'];
- isset($default[$key][$k]['receive_openids']) && $new_notice[$key][$k]['receive_openids'] = $new_notice[$key][$k]['receive_openids'] ?? $default[$key][$k]['receive_openids'];
- }
- }
- }
- }
- $data = $new_notice;
- } else {
- $data = NoticeSetting::DEFAULT;
- }
- $store = \app\models\Store::findOne($store_id);
- //平台运营
- if($store->business_model == 2){
- foreach($data as &$item){
- foreach($item as $itemk => &$itemv){
- if($itemk != 'sms'){
- $itemv['disable'] = 1;
- }
- }
- }
- }
- return $this->asJson([
- 'code' => 0,
- 'data' => $data
- ]);
- }
- public function actionNoticeSave()
- {
- $form = Notice::findOne(['store_id' => get_store_id()]) ?: new Notice();
- $form->store_id = get_store_id();
- $send_type = input_params('send_type');
- $type = input_params('type');
- $info = input_params('settingInfo');
- if (!in_array($send_type, NoticeSetting::SEND_TYPE) || !in_array($type, ['sms', 'miapp', 'wxaapi', 'kefu']) || empty($info)) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '请求参数错误'
- ]);
- }
- $form->$send_type = $info;
- if ($form->save()) {
- return $this->asJson([
- 'code' => 0,
- 'msg' => '保存成功'
- ]);
- }else {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '保存失败',
- 'err' => $form->getErrors()
- ]);
- }
- }
- public function actionGetTamplateId()
- {
- $template_id = get_params('template_id');
- $send_type = get_params('send_type');
- $type = get_params('type');
- $res = GetTamplate::{$send_type}($type, $template_id);
- return $this->asJson($res);
- }
- }
|