'商品收货', self::OPERATE_TYPE_GOODS_SORTING => '商品分拣', self::OPERATE_TYPE_SET_ROUTE => '线路修改', ]; const IS_DRIVER_NO = 0; const IS_DRIVER_YES = 1; /** * @inheritdoc */ public static function tableName() { return '{{%agent_front_staff_operate_log}}'; } public function behaviors() { return [ [ 'class' => TimestampBehavior::class, 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => ['updated_at', 'created_at'], ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_at' ] ] ]; } /** * @inheritdoc */ public function rules() { return [ [['id', 'staff_id', 'operate_type', 'created_at', 'updated_at', 'is_delete', 'type_id', 'front_agent_admin_id', 'is_driver'], 'integer'], [['desc'], 'string'] ]; } public function attributeLabels() { return [ 'id' => '', 'staff_id' => '绑定用户(平台用户)', 'operate_type' => '操作类型:0=供货商收货;1=商品分拣;2=线路修改;', 'type_id' => '操作id 如:收货订单id、拣货订单id、线路id', 'desc' => '操作内容', 'is_driver' => '是否是司机操作', 'is_delete' => '', 'created_at' => '', 'updated_at' => '', ]; } /** * 添加操作日志 * @param $operate_type integer 操作类型 * @param $staff_id integer 仓库员工ID * @param $desc string 操作内容 * @return bool */ public static function addOperateLog($operate_type, $staff_id, $front_agent_admin_id, $type_id, $desc = '', $is_driver = self::IS_DRIVER_NO) { try { if (!in_array($operate_type, self::OPERATE_TYPE_ARR)) { throw new \Exception('操作类型错误'); } $operate_log = new AgentFrontStaffOperateLog(); $operate_log->operate_type = $operate_type; $operate_log->front_agent_admin_id = $front_agent_admin_id; $operate_log->type_id = $type_id; $operate_log->desc = $desc; $operate_log->is_driver = $is_driver; $operate_log->staff_id = $staff_id; if (!$operate_log->save()) { throw new \Exception(implode(';', array_values($operate_log->firstErrors))); }; return true; } catch (\Exception $e) { debug_log([ 'message' => $e->getMessage(), 'line' => $e->getLine() ], 'agentFrontStaffLog.log'); return false; } } }