$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); } }