'ID', 'mall_id' => '商城ID', 'period_num' => '第N期', 'amounts' => '个人补货业绩,单位:元', 'amounts_num' => '等级补货业绩', 'total_amounts_num' => '结算金额', 'compute_period' => '结算周期:1天,2周,3月', 'start_time' => '结算开始日期', 'end_time' => '结算结束日期', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } /** * 获取上一期期数 * @Author: lun * @DateTime: 2022/1/26 0026 10:28 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $mall_id * @return false|int|string */ public static function getPrevPeriodNum($mall_id,$user_id) { $period_num = self::find()->select("period_num")->where(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED,'user_id'=>$user_id])->orderBy('period_num desc')->asArray()->scalar(); $num = empty($period_num) ? 1 : $period_num + 1; return $num; } /** * 获取当前期数指定等级业绩 */ public static function getAmountsNum($mall_id,$level,$start_day,$end_day){ if(empty($level)) return 0; $servebonus_ids = ServeBonus::find() ->where(['mall_id' => $mall_id, 'status' => StatusEnum::ENABLED,'level'=>$level]) ->select('user_id') ->column(); return self::find()->select('amounts') ->where(['mall_id' => $mall_id,'user_id'=>$servebonus_ids]) ->andWhere(['=', 'start_time', $start_day]) ->andWhere(['=', 'end_time', $end_day]) ->sum('amounts'); } /** * 关联用户表 * @Author: lun * @DateTime: 2022/1/26 0026 15:57 * @Copyright: copyright (c) 2021 广东七件事集团 * @return \yii\db\ActiveQuery */ public function getUser() { return $this->hasOne(User::class, ['id' => 'user_id']); } }