'ID', 'PERF_ORDER_ID' => 'PERF_ORDER表的ID字段值', 'USER_ID' => 'USER表用户ID', 'IS_STUDIO' => '是否是工作室 0 不是 1是', 'PV' => '业绩单PV', 'PERIOD_NUM' => '业绩期', 'CALC_MONTH' => '结算月份', 'CREATE_AT' => '创建时间', ]; } // 更新或者添加业绩数据 /** * @param $periodNum 结算业绩期 * @param $calcMonth 结算月 * @param $userId 结算过程中的用户 * @param $data 数据 * @param $appendPv 往上找店铺,需要给店铺的PV值 */ public static function addOrUpdate($periodNum, $calcMonth, $userId, $data, $appendPv = 0) { $info = StorePerfLog::findUseDbCalc() ->select('ID') ->where('USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM AND CALC_MONTH=:CALC_MONTH', [':USER_ID'=>$userId,':PERIOD_NUM' => $periodNum, ':CALC_MONTH' => $calcMonth] ) ->asArray() ->one(); if (empty($info)) { StorePerfLog::insertOne($data); } else { // 如果循环到此用户有业绩单,则将此用户的PV更新为自己业绩单的值 if ($data['MONTH_PV'] > 0) { StorePerfLog::updateAll(['MONTH_PV' => $data['MONTH_PV']], 'ID=:ID', [':ID' => $info['ID']]); } } return true; } // 更新stpefrlog表,用户小组分组工作室ID public static function stParendStudio($periodNum, $calcMonth, $allUidIn, $studioId) { if (!is_array($allUidIn) || empty($allUidIn) || empty($studioId)) { return false; } $allUidIn = implode("','", $allUidIn); StorePerfLog::updateAll( ['PARENT_UID' => $studioId], "PERIOD_NUM=:PERIOD_NUM AND CALC_MONTH=:CALC_MONTH AND USER_ID IN ('".$allUidIn."')", [ ':PERIOD_NUM' => $periodNum, ':CALC_MONTH' => $calcMonth ] ); return true; } public static function stGroupPv($periodNum, $calcMonth, $uid, $groupPv) { StorePerfLog::updateAll( ['GROUP_PV' => $groupPv], "PERIOD_NUM=:PERIOD_NUM AND CALC_MONTH=:CALC_MONTH AND USER_ID=:USER_ID", [ ':PERIOD_NUM' => $periodNum, ':CALC_MONTH' => $calcMonth, ':USER_ID' => $uid, ] ); return true; } }