255], ['is_delete', 'default', 'value' => Shop::IS_DELETE_NO], ['shop_audit', 'default', 'value' => Shop::SHOP_AUDIT_YES], // 操作 [['name', 'mobile', 'longitude', 'latitude', 'shop_time', 'content'], 'required', 'on' => [self::SCENARIO_ADD, self::SCENARIO_EDIT]], [['id'], 'required', 'on' => [self::SCENARIO_DEL, self::SCENARIO_EDIT]], ['id', 'string', 'on' => self::SCENARIO_DEL], [['id', 'shop_audit'], 'required', 'on' => self::SCENARIO_AUDIT], [['search_key', 'shop_audit_status'], 'string', 'on' => self::SCENARIO_LIST] ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'store_id' => 'Store ID', 'user_id' => '用户id', 'name' => 'Name', 'mobile' => 'Mobile', 'address' => 'Address', 'is_delete' => 'Is Delete', 'longitude' => 'Longitude', 'latitude' => 'Latitude', 'score' => '评分 1~5', 'cover_url' => '自提点大图', 'pic_url' => '自提点小图', 'shop_time' => '营业时间', 'content' => '自提点介绍', 'is_default' => '是否设为默认 0--否 1--是 (只能设置一个自提点为默认自提点)', 'is_dada' => '是否同步到达达(0、不同步,1、同步)', 'business' => '达达业务类型', 'city_name' => '达达城市名称', 'area_name' => '达达区域名称', 'contact_name' => '达达联系姓名', 'source_id' => '达达商户id', 'is_uu' => '是否同步到UU(0、不同步,1、同步)', 'province' => '省份', 'city' => '城市', 'district' => '区县', 'shop_audit' => '审核状态(-1未通过,0待审核,1通过)', 'refuse_desc' => '拒接原因', ]; } public function scenarios() { $scenarios = parent::scenarios(); return $scenarios; } public function saveShop() { if ($this->validate()) { $t = \Yii::$app->db->beginTransaction(); $is_default = null; $user_id = 0; $audit_status = 0; $refuse_desc = null; if ($this->scenario == self::SCENARIO_EDIT) { $model = Shop::findOne(['id' => $this->id]); $is_default = $model->is_default; $user_id = $model->user_id; $audit_status = $model->shop_audit; $refuse_desc = $model->refuse_desc; } else { $model = new Shop(); } $this->content = str_replace(' ', ' ', $this->content); $this->content = str_replace(' ', ' ', $this->content); $this->city_name = District::getDistrict($this->city)->name; $this->area_name = District::getDistrict($this->district)->name; $this->is_default = $is_default == 1 ? 1 : 0; $this->user_id = $user_id; $this->refuse_desc = $refuse_desc; $this->shop_audit = $audit_status; $model->attributes = $this->attributes; if (!$model->save()) { $t->rollBack(); return [ 'code' => 1, 'msg' => $model->errors[0] ]; } $t->commit(); return [ 'code' => 0, 'msg' => '保存成功' ]; } else { // 验证失败:$errors 是一个包含错误信息的数组 return [ 'code' => 1, "msg" => $this->getErrorSummary(false)[0] ]; } } public function searchShop() { $query = Md::find(); $query->where(['store_id' => get_store_id(), 'is_delete' => MD::IS_DELETE_NO, 'open_status' => 1])->orderBy("id desc"); // 搜索 $this->search_key = $this->search_key ?? $this->name; if ($this->search_key) { $query->andWhere(['like', 'name', $this->search_key]); } if (isset($this->shop_audit_status) && (int)$this->shop_audit_status > -2) { $query->andWhere(['shop_audit' => (int)$this->shop_audit_status]); } $list = pagination_make($query); foreach ($list['list'] as &$val) { $val['created_at'] = date('Y-m-d H:i:s', $val['created_at']); } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $list['list'], 'pageNo' => $list['pageNo'], 'totalCount' => $list['totalCount'] ] ]; } public function delShop() { if ($this->validate()) { $t = \Yii::$app->db->beginTransaction(); if ($this->scenario !== self::SCENARIO_DEL) { return [ 'code' => 1, 'msg' => '删除失败' ]; } $model = Shop::findOne(['id' => $this->id]); $model->is_delete = Shop::IS_DELETE_YES; if (!$model || !$model->save()) { $t->rollBack(); return [ 'code' => 1, 'msg' => $model->getErrorSummary(false)[0] ]; } $t->commit(); return [ 'code' => 0, 'msg' => '删除成功' ]; // 所有输入数据都有效 all inputs are valid } else { // 验证失败:$errors 是一个包含错误信息的数组 return [ 'code' => 1, "msg" => $this->getErrorSummary(false)[0] ]; } } public function auditShop() { if ($this->validate()) { $t = \Yii::$app->db->beginTransaction(); if ($this->scenario !== self::SCENARIO_AUDIT) { return [ 'code' => 1, 'msg' => '操作失败' ]; } $model = Shop::findOne(['id' => $this->id]); if (!$model || !in_array($this->shop_audit, [$model::SHOP_AUDIT_NO, $model::SHOP_AUDIT_YES])) { return [ 'code' => 1, 'msg' => '操作失败' ]; } if ($this->shop_audit == $model::SHOP_AUDIT_NO && empty($this->refuse_desc)) { return [ 'code' => 1, 'msg' => '拒绝原因必须' ]; } $model->shop_audit = $this->shop_audit; if ($model->user_id > 0) { $user = User::findOne(['id' => $model->user_id]); if ($model->shop_audit == $model::SHOP_AUDIT_YES) { $user->is_clerk = 1; $user->shop_id = $model->id; } else { $user->is_clerk = 0; $user->shop_id = 0; } $user->save(); } $model->refuse_desc = $this->refuse_desc ?: ''; if (!$model || !$model->save()) { $t->rollBack(); return [ 'code' => 1, 'msg' => $model->getErrorSummary(false)[0] ]; } $t->commit(); return [ 'code' => 0, 'msg' => $this->id ]; // 所有输入数据都有效 all inputs are valid } else { // 验证失败:$errors 是一个包含错误信息的数组 return [ 'code' => 1, "msg" => $this->getErrorSummary(false)[0] ]; } } /** * Undocumented function * * @Author LGL 24963@qq.com * @DateTime 2021-01-15 * @desc: 获取自提点列表 */ public static function getShopList() { return Shop::find()->where(['store_id' => get_store_id(), 'is_delete' => Shop::IS_DELETE_NO])->orderBy('id desc')->select('*')->asArray()->all(); } }