request->isAjax) { $service = new SettingService(); if (Yii::$app->request->isGet) { $ret = $service->get($this->mall_id); if (empty($ret)) { $ret = [ 'position_range' => 1, 'can_receive_day' => 1, 'pick_up_time_range_type' => 0, 'settlement_type' => 1, 'calculate_type' => 0, 'head_commission_type' => 0, 'commission' => '', 'pick_up_time_range_custom' => [], 'pick_up_time_range_custom_at' => [], 'area' => [], 'not_area' => [], 'apply_pic' => '', 'protocol_content' => '', 'protocol_title' => '', 'is_enable_reward' => 0, 'is_enable' => 0, 'sms' => [], 'is_enable_write_off' => 0, 'is_platform_distribution' => 0, 'is_force_free_shipping' => 0, ]; } else { if (!empty($ret['area'])) { $ret['area'] = Json::decode($ret['area']); } else { $ret['area'] = []; } if (!empty($ret['not_area']) && !empty($ret['area'])) { // 因为区域如果只选择第三级。但是area中因为需求要存一、二级ID。 所以返回前段时要去掉一、二级ID。 $ret['not_area'] = Json::decode($ret['not_area']); $ret['area'] = array_filter($ret['area'], function ($item) use ($ret) { return !in_array($item, $ret['not_area']); }); $ret['all_area'] = array_values($ret['not_area']); unset($ret['not_area']); } else { $ret['not_area'] = []; } if (!empty($ret['sms'])) { $ret['sms'] = Json::decode($ret['sms']); } else { $ret['sms'] = []; } if (!empty($ret['pick_up_time_range_custom'])) { $ret['pick_up_time_range_custom'] = Json::decode($ret['pick_up_time_range_custom']); $ret['pick_up_time_range_custom_at'] = Json::decode($ret['pick_up_time_range_custom_at']); foreach ($ret['pick_up_time_range_custom_at'] as &$item) { $item = sprintf("%s %s", date('Y-m-d'), $item); } } } return $this->success('获取成功', $ret); } else if(Yii::$app->request->isPost) { $data = Yii::$app->request->post('body'); $data = Json::decode($data); $valid = Yii::$app->services->validate->validate($data, [ [['position_range', 'can_receive_day', 'pick_up_time_range_type', 'settlement_type', 'calculate_type', 'head_commission_type', 'commission'], 'number'], [['pick_up_time_range_custom', 'pick_up_time_range_custom_at', 'area', 'protocol_title', 'sms', 'not_area'], 'safe'], [['apply_pic', 'protocol_content'], 'string'], [['is_enable_reward', 'is_enable', 'is_enable_write_off', 'is_force_free_shipping', 'is_platform_distribution'], 'integer'] ]); if ($valid === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $data['area'] = !empty($data['area']) ? Json::encode(array_unique($data['area'])) : ''; $data['not_area'] = !empty($data['not_area']) ? Json::encode(array_unique($data['not_area'])) : ''; $data['sms'] = !empty($data['sms']) ? Json::encode($data['sms']) : Json::encode([]); if (!empty($data['pick_up_time_range_custom_at'])) { foreach ($data['pick_up_time_range_custom_at'] as &$datum) { $d = strtotime($datum); $datum = date('H:i:s', $d); } } $data['pick_up_time_range_custom_at'] = !empty($data['pick_up_time_range_custom_at']) ? Json::encode($data['pick_up_time_range_custom_at']) : Json::encode([]); $data['pick_up_time_range_custom'] = !empty($data['pick_up_time_range_custom']) ? Json::encode($data['pick_up_time_range_custom']) : Json::encode([]); return $service->save($this->mall_id, $data) ? $this->success() : $this->error(); } } return $this->render('index',[]); } public function actionSmsKeys() { // 订单 // 团长 // 买家 return $this->success('获取成功', CommunityEnum::SMS_KEYS); } public function actionTest() { $data = [ 'id' => 42670, ]; $order_paid_listener = new OrderPaidListener(); $res = $order_paid_listener->exec($data); print_r($res);exit; } }