/** * 假设未来不同的模块要增加或者删减跟进时间字段,就得动这边的代码,也就是说,这里每一行的灵活性,都不足 * 可以改成getTableWhiteNameAndKey,返回可通过的表、对应的公司名称 * @param $rs * @param $table * @return mixed */ private function addData($rs,$table){ if($table=='customer'||$table=='wdxsc'||$table=='customer2'||$table=='mqxq'||$table=='jjfa'||$table=='baojia'||$table=='shidan'){ switch ($table){ case 'customer': $gsmc = $rs['name']; break; case 'customer2': $gsmc = $rs['name']; break; case 'wdxsc': $gsmc = $rs['gsmc']; break; case 'mqxq': $gsmc = $rs['khmc']; break; case 'jjfa': $gsmc = $rs['khmc']; break; case 'baojia': $gsmc = $rs['khmc']; break; case 'shidan': $gsmc = $rs['khmc']; break; } $userLastInfo = m('aaa')->getUserLastTime($gsmc); $rs['LastTime'] = $userLastInfo[0]['LastTime']===null?'':'已'.$userLastInfo[0]['LastTime'].'天'; return $rs; } }
/** * 如果这个表在白名单,那么拿到对应的公司名称字段,得到公司名称值 * @param $rs * @param $table * @return bool */ private function addDataAbstract($rs,$table){ $whiteTableAndGsmc = $this->getWhiteTableAndGsmc($rs,$table); if(empty($whiteTableAndGsmc)){ return $rs; } $genjinLastTime = $this->getGenjinLastTimeByGsmc($whiteTableAndGsmc); $rs['genjinLastTime'] = $genjinLastTime; return $rs; }
调整后该函数可以和具体的表解耦,不需要关心具体是哪些表可以通过白名单,只要有办法提供一个公司名就行了。
另外,通过公司名称拿到一个跟进时间字段,具体从哪里拿,也不必写死从某个模块的某个方法读取,未来可以扩展。