package service import ( "fmt" "iot_manager_service/app/dao" "iot_manager_service/app/model" "iot_manager_service/app/utils" "strconv" "time" ) // 操作记录服务 var OperationHisService = new(operationHisService) type operationHisService struct{} func (s *operationHisService) Save(handleType, handleModuleType int, handleContent string) { operation := dao.OperationHis{ OperationType: handleType, ModuleType: handleModuleType, HandleContent: handleContent, HandleUserId: "TODO", //todo 使用登录态 HandleTime: time.Now(), TenantId: "000000", //todo 使用登录态 } err := operation.Create() if err != nil { fmt.Printf("Operation save err =%v \n", err) } } func (s *operationHisService) List(handleContent, operationType, moduleType string, current, size int) ([]model.OperationHisDetail, *utils.Errors) { his := dao.OperationHis{ HandleContent: handleContent, } if operationType != "" { operation, err := strconv.Atoi(operationType) if err != nil { return nil, utils.FailResponse(err.Error(), nil) } his.OperationType = operation } if moduleType != "" { module, err := strconv.Atoi(moduleType) if err != nil { return nil, utils.FailResponse(err.Error(), nil) } his.ModuleType = module } offset := (current - 1) * size limit := size list, err := his.GetHistories(offset, limit) if err != nil { return nil, utils.FailResponse(err.Error(), nil) } var details []model.OperationHisDetail for _, his := range list { detail := model.OperationHisDetail{ OperationHis: his, } uId, _ := strconv.ParseInt(his.HandleUserId, 10, 64) detail.HandleName = utils.GetUserName(uId) detail.OperationTypeName = utils.GetControlType(his.OperationType) detail.ModuleTypeName = utils.GetModuleName(his.ModuleType) details = append(details, detail) } return details, nil }