22 KiB
22 KiB
internal/domain/audit/service.go(audit.Service)- 结构体改造:
- 移除
service结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewService):- 修改函数签名,移除
logger *logs.Logger参数,改为接收ctx context.Context。 - 在函数内部,为
audit.Service创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "AuditService")。 - 将这个
selfCtx赋值给service结构体的selfCtx成员。
- 修改函数签名,移除
- 公共方法改造 (
LogAction):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "LogAction")获取新的context.Context和logger实例。 - 将所有对
s.logger.Warnw和s.logger.Errorw的调用替换为logger.Warnw和logger.Errorw。 - 确保所有对
s.userActionLogRepository.Create的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/device/general_device_service.go(device.Service)- 结构体改造:
- 移除
GeneralDeviceService结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewGeneralDeviceService):- 修改函数签名,移除
logger *logs.Logger参数,改为接收ctx context.Context。 - 在函数内部,为
GeneralDeviceService创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "GeneralDeviceService")。 - 将这个
selfCtx赋值给GeneralDeviceService结构体的selfCtx成员。
- 修改函数签名,移除
- 公共方法改造 (
Switch,Collect):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, g.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
g.logger.Errorf,g.logger.Infof,g.logger.Warnf,g.logger.Debugf,g.logger.DPanicf的调用替换为logger.Errorf,logger.Infof,logger.Warnf,logger.Debugf,logger.DPanicf。 - 确保所有对
g.deviceRepo,g.deviceCommandLogRepo,g.pendingCollectionRepo,g.comm等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/notify/notify.go(domain_notify.Service-failoverService实现)- 结构体改造:
- 移除
failoverService结构体中的log *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewFailoverService):- 修改函数签名,移除
log *logs.Logger参数,改为接收ctx context.Context。 - 在函数内部,为
failoverService创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "FailoverService")。 - 将这个
selfCtx赋值给failoverService结构体的selfCtx成员。
- 修改函数签名,移除
- 公共方法改造 (
SendBatchAlarm,BroadcastAlarm,SendTestMessage):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
s.log.Infow,s.log.Errorw,s.log.Warnw的调用替换为logger.Infow,logger.Errorw,logger.Warnw。 - 确保所有对
s.userRepo,s.primaryNotifier.Send,s.notifiers,s.notificationRepo等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 内部辅助方法改造 (
sendAlarmToUser,recordNotificationAttempt):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
s.log.Errorw,s.log.Infow,s.log.Warnw的调用替换为logger.Errorw,logger.Infow,logger.Warnw。 - 确保所有对
s.userRepo,s.primaryNotifier.Send,s.notifiers,s.notificationRepo等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/pig/pen_transfer_manager.go(pig.PigPenTransferManager)- 结构体改造:
- 移除
pigPenTransferManager结构体中可能存在的logger *logs.Logger成员(如果未来添加)。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewPigPenTransferManager):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
pigPenTransferManager创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "PigPenTransferManager")。 - 将这个
selfCtx赋值给pigPenTransferManager结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
所有方法,例如
LogTransfer,GetPenByID,GetPensByBatchID,UpdatePenFields,GetCurrentPigsInPen,GetTotalPigsInPensForBatchTx,ReleasePen):- 修改方法签名,添加
ctx context.Context作为第一个参数(在tx *gorm.DB之前)。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
s.logger.Errorf和s.logger.Infof的调用替换为logger.Errorf和logger.Infof。 - 确保所有对
s.penRepo,s.logRepo,s.pigBatchRepo等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/pig/pig_trade_manager.go(pig.PigTradeManager)- 结构体改造:
- 新增
selfCtx context.Context成员。
- 新增
- 构造函数改造 (
NewPigTradeManager):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
pigTradeManager创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "PigTradeManager")。 - 将这个
selfCtx赋值给pigTradeManager结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
SellPig,BuyPig):- 修改方法签名,添加
ctx context.Context作为第一个参数(在tx *gorm.DB之前)。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 确保所有对
s.tradeRepo的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/pig/pig_sick_manager.go(pig.SickPigManager)- 结构体改造:
- 新增
selfCtx context.Context成员。
- 新增
- 构造函数改造 (
NewSickPigManager):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
sickPigManager创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "SickPigManager")。 - 将这个
selfCtx赋值给sickPigManager结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
ProcessSickPigLog,GetCurrentSickPigCount):- 修改方法签名,添加
ctx context.Context作为第一个参数(在tx *gorm.DB之前)。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 确保所有对
s.sickLogRepo,s.medicationLogRepo等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/pig/pig_batch_service.go(pig.PigBatchService)- 结构体改造:
- 新增
selfCtx context.Context成员。
- 新增
- 构造函数改造 (
NewPigBatchService):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
pigBatchService创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "PigBatchService")。 - 将这个
selfCtx赋值给pigBatchService结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
所有方法,例如
CreatePigBatch,GetPigBatch,UpdatePigBatch,DeletePigBatch,ListPigBatches,AssignEmptyPensToBatch,MovePigsIntoPen,ReclassifyPenToNewBatch,RemoveEmptyPenFromBatch,GetCurrentPigQuantity,GetCurrentPigsInPen,GetTotalPigsInPensForBatch,UpdatePigBatchQuantity,SellPigs,BuyPigs,TransferPigsAcrossBatches,TransferPigsWithinBatch,RecordSickPigs,RecordSickPigRecovery,RecordSickPigDeath,RecordSickPigCull,RecordDeath,RecordCull):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 确保所有对
s.pigBatchRepo,s.pigBatchLogRepo,s.uow,s.transferSvc,s.tradeSvc,s.sickSvc等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/plan/analysis_plan_task_manager.go(plan.AnalysisPlanTaskManager)- 结构体改造:
- 移除
analysisPlanTaskManagerImpl结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewAnalysisPlanTaskManager):- 修改函数签名,移除
logger *logs.Logger参数,改为接收ctx context.Context。 - 在函数内部,为
analysisPlanTaskManagerImpl创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "AnalysisPlanTaskManager")。 - 将这个
selfCtx赋值给analysisPlanTaskManagerImpl结构体的selfCtx成员。
- 修改函数签名,移除
- 公共方法改造 (
Refresh,CreateOrUpdateTrigger,EnsureAnalysisTaskDefinition):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, m.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
m.logger.Info,m.logger.Errorf,m.logger.Warnf的调用替换为logger.Info,logger.Errorf,logger.Warnf。 - 确保所有对
m.planRepo,m.pendingTaskRepo,m.executionLogRepo等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 内部辅助方法改造 (
getRefreshData,cleanupInvalidTasks,addOrUpdateTriggers,createTriggerTask):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, m.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
m.logger.Info,m.logger.Errorf,m.logger.Warnf的调用替换为logger.Info,logger.Errorf,logger.Warnf。 - 确保所有对
m.planRepo,m.pendingTaskRepo,m.executionLogRepo等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/plan/plan_execution_manager.go(plan.ExecutionManager)- 结构体改造:
- 移除
planExecutionManagerImpl结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewPlanExecutionManager):- 修改函数签名,移除
logger *logs.Logger参数,改为接收ctx context.Context。 - 在函数内部,为
planExecutionManagerImpl创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "PlanExecutionManager")。 - 将这个
selfCtx赋值给planExecutionManagerImpl结构体的selfCtx成员。
- 修改函数签名,移除
- 公共方法改造 (
Start,Stop):- 在
Start方法中,使用newCtx, logger := logs.Trace(context.Background(), s.selfCtx, "Start")获取logger实例进行日志记录。 - 在
Stop方法中,使用newCtx, logger := logs.Trace(context.Background(), s.selfCtx, "Stop")获取logger实例进行日志记录。
- 在
- 内部辅助方法改造 (
run,claimAndSubmit,handleRequeue,processTask,runTask,analysisPlan,updateTaskExecutionLogStatus,handlePlanTermination,handlePlanCompletion):- 修改方法签名,添加
ctx context.Context作为第一个参数(如果方法内部需要传递上下文)。 - 在每个方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
s.logger.Errorf,s.logger.Warnf,s.logger.Infof,s.logger.DPanicf的调用替换为logger.Errorf,logger.Warnf,logger.Infof,logger.DPanicf。 - 确保所有对
s.pendingTaskRepo,s.executionLogRepo,s.deviceRepo,s.sensorDataRepo,s.planRepo,s.analysisPlanTaskManager,s.taskFactory,s.deviceService等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/plan/plan_service.go(plan.Service)- 结构体改造:
- 移除
planServiceImpl结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewPlanService):- 修改函数签名,移除
logger *logs.Logger参数,改为接收ctx context.Context。 - 在函数内部,为
planServiceImpl创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "PlanService")。 - 将这个
selfCtx赋值给planServiceImpl结构体的selfCtx成员。
- 修改函数签名,移除
- 公共方法改造 (
Start,Stop,RefreshPlanTriggers,CreatePlan,GetPlanByID,ListPlans,UpdatePlan,DeletePlan,StartPlan,StopPlan):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
s.logger.Errorf,s.logger.Infof,s.logger.Warnf的调用替换为logger.Errorf,logger.Infof,logger.Warnf。 - 确保所有对
s.executionManager,s.taskManager,s.planRepo,s.deviceRepo,s.unitOfWork,s.taskFactory等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/task/task.go(task.TaskFactory)- 结构体改造:
- 移除
taskFactory结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewTaskFactory):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
taskFactory创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "TaskFactory")。 - 将这个
selfCtx赋值给taskFactory结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
Production,CreateTaskFromModel):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法内部,使用
newCtx, logger := logs.Trace(ctx, t.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
t.logger.Panicf的调用替换为logger.Panicf。 - 将所有对
NewDelayTask,NewReleaseFeedWeightTask,NewFullCollectionTask的调用,传递newCtx。
- 修改方法签名,添加
- 结构体改造:
internal/domain/task/release_feed_weight_task.go- 结构体改造:
- 移除
ReleaseFeedWeightTask结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewReleaseFeedWeightTask):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
ReleaseFeedWeightTask创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "ReleaseFeedWeightTask")。 - 将这个
selfCtx赋值给ReleaseFeedWeightTask结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
Execute,OnFailure,ResolveDeviceIDs):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, r.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
r.logger.Infof,r.logger.Errorf,r.logger.Warnf,r.logger.Debugf的调用替换为logger.Infof,logger.Errorf,logger.Warnf,logger.Debugf。 - 确保所有对
r.deviceRepo,r.sensorDataRepo,r.feedPort等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 内部辅助方法改造 (
getNowWeight,parseParameters):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, r.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
r.logger.Errorf,r.logger.Warnf的调用替换为logger.Errorf,logger.Warnf。 - 确保所有对
r.sensorDataRepo,r.deviceRepo等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/task/full_collection_task.go- 结构体改造:
- 移除
FullCollectionTask结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewFullCollectionTask):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
FullCollectionTask创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "FullCollectionTask")。 - 将这个
selfCtx赋值给FullCollectionTask结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
Execute,OnFailure,ResolveDeviceIDs):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, t.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
t.logger.Infow,t.logger.Errorw的调用替换为logger.Infow,logger.Errorw。 - 确保所有对
t.deviceRepo,t.deviceService等依赖的调用都将newCtx作为第一个参数传递。
- 修改方法签名,添加
- 结构体改造:
internal/domain/task/delay_task.go- 结构体改造:
- 移除
DelayTask结构体中的logger *logs.Logger成员。 - 新增
selfCtx context.Context成员。
- 移除
- 构造函数改造 (
NewDelayTask):- 修改函数签名,移除
logger *logs.Logger参数,改为接收ctx context.Context。 - 在函数内部,为
DelayTask创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "DelayTask")。 - 将这个
selfCtx赋值给DelayTask结构体的selfCtx成员。
- 修改函数签名,移除
- 公共方法改造 (
Execute,OnFailure,ResolveDeviceIDs):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, d.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
d.logger.Infof和d.logger.Errorf的调用替换为logger.Infof和logger.Errorf。
- 修改方法签名,添加
- 内部辅助方法改造 (
parseParameters):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, d.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
d.logger.Errorf的调用替换为logger.Errorf。
- 修改方法签名,添加
- 结构体改造:
internal/domain/token/token_service.go(token.Service)- 结构体改造:
- 新增
selfCtx context.Context成员。
- 新增
- 构造函数改造 (
NewTokenService):- 修改函数签名,添加
ctx context.Context作为第一个参数。 - 在函数内部,为
tokenService创建其专属的selfCtx:selfCtx := logs.AddCompName(ctx, "TokenService")。 - 将这个
selfCtx赋值给tokenService结构体的selfCtx成员。
- 修改函数签名,添加
- 公共方法改造 (
GenerateToken,ParseToken):- 修改方法签名,添加
ctx context.Context作为第一个参数。 - 在方法入口处,使用
newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")获取新的context.Context和logger实例。 - 将所有对
s.logger.*的调用替换为logger.*(如果存在)。
- 修改方法签名,添加
- 结构体改造: