100], [['description', 'cover', 'auth'], 'string', 'max' => 255], [['time_type'], 'string', 'max' => 45], [['limit_user_level_num'], 'safe'], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => '商城ID', 'title' => '活动标题', 'description' => '活动描述', 'cover' => '活动封面', 'award' => '总奖金', 'virtual_award' => '虚拟奖金', 'day_award' => '每日奖金池', 'grab_user_num' => '已抢红包总人数', 'grab_money' => '已抢红包总金额', 'surplus_money' => '剩余红包总金额', 'data_at' => '数据更新时间', 'time_type' => '活动时间类型[1:每日红包,2:时间段红包]', 'start_time' => '活动开始时间', 'end_time' => '活动结束时间', 'redpack_type' => '红包活动类型[1:冻结到激活红包,2:增值冻结红包,3:增值激活红包]', 'rule_values' => '规则条件的值集合', 'auth' => '参与权限', 'rule' => '规则说明', 'status' => '状态[-1:删除;0:禁用;1启用]', 'limit_user_level' => '会员限制', 'created_at' => '创建时间', 'updated_at' => '更新时间', ]; } /** * @Author: ltm * @DateTime: 2022/3/18 0018 16:21 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $data * @return string */ public static function setData(array $params){ try{ if (!empty($params['id'])) { $model = self::findOne(['id'=>$params['id'],'mall_id'=>$params['mall_id']]); if($params['type'] == StatusEnum::ENABLED && $model->time_type == StatusEnum::ENABLED){ //每日红包活动重新启用的时候更新开始时间和结束时间 $daytime = strtotime(date("Y-m-d")); $params['start_time'] = $daytime + strtotime(date("Y-m-d H:i:s",$model->start_time)) - strtotime(date("Y-m-d",$model->start_time)); $params['end_time'] = $daytime + strtotime(date("Y-m-d H:i:s",$model->end_time)) - strtotime(date("Y-m-d",$model->end_time)); } if (empty($model)) throw new Exception('记录不存在或已删除'); }else{ $model = new self(); $model->loadDefaultValues(); } $model->mall_id = $params['mall_id']; if(!$model->load($params,'') || !$model->save()){ throw new Exception($model->getErrorMessage()); } return $model; }catch(\Exception $e){ self::$static_error = $e->getMessage(); return false; } } /** * 获取商品的优惠券设置 * @Author: lun * @DateTime: 2022/5/12 0012 14:49 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $params * @return bool|string[] */ public static function getGoodSetting($params) { // 后台页面组件展示 if ($params['type'] == 'show_component') { return [ 'component' => 'com-redpack', 'path' => Yii::$app->basePath . '/../addons/Redpack/backend/views/goods', ]; } else { try { if (empty($params['setting'][AddonsEnum::ADDONS_NAME_REDPACK])) return true; $setting = $params['setting'][AddonsEnum::ADDONS_NAME_REDPACK]; // 数据保存 $res = RedpackGoodsSetting::setGoodsSetting($params['mall_id'], $params['goods_id'], $setting); if ($res === false) throw new Exception(RedpackGoodsSetting::getStaticError()); return true; } catch (Exception $e) { self::setStaticError($e->getMessage()); return false; } } } }