'ID', 'mall_id' => 'Mall ID', 'day' => '签到天数', 'num' => '赠送数量', 'coupon_id' => '赠送优惠券ID', 'type' => '赠送类型', 'status' => '状态', 'created_at' => '创建时间', 'updated_at' => '修改时间' ]; } /** * @param array $get 参数 * @author hpei * @return array [couponArr=>优惠券签到奖励,scoreArr=>积分签到奖励] */ public static function getSignInConfig($mall_id, $coupon_list) { $list = self::find() ->where(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED]) ->select(['day', 'type', 'coupon_id', 'num']) ->orderBy('day asc') ->asArray() ->all(); $couponArr = []; $scoreArr = []; if (!empty($list)) { foreach ($list as $val) { if ($val['type'] == 1) $scoreArr[] = $val; if ($val['type'] == 2) { //优惠券不可用券ID设置为0,前端必须选择券才能提交 if (isset($coupon_list[$val['coupon_id']])) { $val['coupon_name'] = $coupon_list[$val['coupon_id']]; } else { $val['coupon_name'] = '请选择优惠券'; $val['coupon_id'] = 0; } $couponArr[] = $val; } } } return ['coupon_arr' => $couponArr, 'score_arr' => $scoreArr]; } public static function setSignInAwardConfig($mall_id, $installData) { try { $t = Yii::$app->db->beginTransaction(); $field = ['num', 'coupon_id', 'day', 'type', 'mall_id', 'updated_at', 'created_at']; $cont = self::find()->where(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED])->count(); if ($cont == 0) { $res1 = true; } else { $res1 = self::updateAll(['status' => StatusEnum::DISABLED, 'updated_at' => time()], ['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED]); } $res2 = Yii::$app->db->createCommand()->batchInsert(self::tableName(), $field, $installData)->execute(); if (!$res1 || !$res2) { $t->rollBack(); self::$static_error = (new self())->getErrorMessage(); return false; } $t->commit(); return array_values($installData); } catch (\Exception $e) { $t->rollBack(); self::$static_error = '设置失败,' . $e->getMessage() . ',行数:' . $e->getLine(); return false; } } }