'正常', VerifyCardSale::STATUS_EXPIRED => '已过期', VerifyCardSale::STATUS_USED => '已使用' ]; const ORDER_TYPE_TEXT = [ VerifyCardSale::ORDER_TYPE_STORE => '商城订单', VerifyCardSale::ORDER_TYPE_PINTUAN => '拼团订单', VerifyCardSale::ORDER_TYPE_MIAOSHA => '秒杀订单' ]; /** * {@inheritdoc} */ public function rules() { return [ [['store_id', 'verify_card_id', 'user_id', 'use_num', 'left_num', 'sale_time', 'end_time', 'is_delete', 'status', 'goods_id', 'order_type'], 'integer'], ['is_delete', 'default', 'value'=> VerifyCardSale::IS_DELETE_NO], ['status', 'default', 'value'=> VerifyCardSale::STATUS_YES], [['verify_card_id', 'user_id', 'goods_id', 'order_type', 'left_num'],'required', 'on'=> [self::SCENARIO_ADD, self::SCENARIO_EDIT]], [['id'],'required', 'on'=> [self::SCENARIO_DEL, self::SCENARIO_EDIT]], ['search_key', 'string', 'on' => self::SCENARIO_LIST] ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'store_id' => 'Store ID', 'verify_card_id' => '核销卡id', 'user_id' => '用户id', 'use_num' => '核销次数', 'left_num' => '剩余次数', 'sale_time' => '售卖时间', 'end_time' => '有效期', 'is_delete' => '状态', 'status' => '状态', 'goods_id' => '商品id', 'order_type' => '订单类型', 'created_at' => '添加时间', 'updated_at' => '更新时间', 'card_info' => '卡密信息', ]; } public function scenarios() { $scenarios = parent::scenarios(); return $scenarios; } public function saveVerifyCardSale() { if ($this->validate()) { $t = \Yii::$app->db->beginTransaction(); if ($this->scenario == self::SCENARIO_EDIT) { $model = VerifyCardSale::findOne(['id' => $this->id]); } else { $model = new VerifyCardSale(); } $model->attributes = $this->attributes; if (!$model->save()) { $t->rollBack(); return [ 'code' => 1, 'msg' => $model->getErrorSummary(false)[0] ]; } $t->commit(); return [ 'code' => 0, 'msg' => '保存成功' ]; } else { // 验证失败:$errors 是一个包含错误信息的数组 return [ 'code' => 1, "msg" => $this->getErrorSummary(false)[0] ]; } } public function searchVerifyCardSale() { $query = VerifyCardSale::find() ->alias('s') ->leftJoin(['u'=> User::tableName()], 'u.id=s.user_id') ->leftJoin(['v'=> VerifyCard::tableName()], 'v.id=s.verify_card_id') ->select('s.*, u.nickname user_name, v.name verify_card_name'); $query->where(['s.is_delete' => VerifyCardSale::IS_DELETE_NO, 's.store_id' => $this->store_id])->orderBy("s.id desc"); // 搜索 if ($this->search_key) { $query->andWhere(['like', 'name', $this->search_key]); } $list = pagination_make($query); foreach ($list['list'] as &$val) { $val['created_at'] = date('Y-m-d H:i:s', $val['created_at']); $val['order_type_text'] = self::ORDER_TYPE_TEXT[$val['order_type']]; $val['status_text'] = self::STATUS_TEXT[$val['status']]; } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $list['list'], 'pageNo' => $list['pageNo'], 'totalCount' => $list['totalCount'] ] ]; } public function delVerifyCardSale() { if ($this->validate()) { $t = \Yii::$app->db->beginTransaction(); if ($this->scenario !== self::SCENARIO_DEL) { return [ 'code' => 1, 'msg' => '删除失败' ]; } $model = VerifyCardSale::findOne(['id' => $this->id]); $model->is_delete = VerifyCardSale::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 static function getVerifyCardSaleList() { return VerifyCardSale::find()->where(['is_delete' => VerifyCardSale::IS_DELETE_NO])->orderBy(['sort desc, id desc'])->select('*')->asArray()->all(); } }