message.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package data_manage_permission
  2. import (
  3. "eta/eta_api/models/data_manage/data_manage_permission"
  4. "eta/eta_api/utils"
  5. )
  6. type MessageDetailItem struct {
  7. DataPermissionMoveRecordId int64 `json:"data_permission_move_record_id" orm:"column(data_permission_move_record_id);pk"` // 数据操作记录id
  8. Source int32 `json:"source"` // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
  9. SubSource int32 `json:"sub_source"` // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
  10. OpUniqueCode string `json:"op_unique_code"` // 操作的唯一编码,主要是记录统一操作的日志
  11. DataId string `json:"data_id"` // 资产id(指标、图表、表格)
  12. DataCode string `json:"data_code"` // 资产code(指标、图表、表格)
  13. DataName string `json:"data_name"` // 资产名称(指标、图表、表格)
  14. OriginalUserId int32 `json:"original_user_id"` // 原创建人id
  15. OriginalUserName string `json:"original_user_name"` // 原创建人名称
  16. NewUserId int32 `json:"new_user_id"` // 新创建人id
  17. NewUserName string `json:"new_user_name"` // 新创建人名称
  18. CreateTime string `json:"create_time"`
  19. }
  20. // GetMoveEdbChartList 获取待转移的指标/图表列表
  21. // @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
  22. func GetMessageDetail(messageInfo *data_manage_permission.DataPermissionMessage) (resp interface{}, err error) {
  23. switch messageInfo.OpType {
  24. // 操作类型,1:单个资产转移,2:资产模块转移,3:资产授权,4:资产分类授权
  25. case 1, 2:
  26. list, tmpErr := data_manage_permission.GetListByOpUniqueCode(messageInfo.OpUniqueCode)
  27. if tmpErr != nil {
  28. err = tmpErr
  29. return
  30. }
  31. resp, err = formatMessageDetailItem(list)
  32. }
  33. return
  34. }
  35. func formatMessageDetailItem(items []*data_manage_permission.DataPermissionMoveRecord) (resp map[int32]map[int32][]*MessageDetailItem, err error) {
  36. resp = make(map[int32]map[int32][]*MessageDetailItem)
  37. for _, v := range items {
  38. // 大的渠道
  39. tmpSourceResp, ok := resp[v.Source]
  40. if !ok {
  41. tmpSourceResp = make(map[int32][]*MessageDetailItem)
  42. }
  43. // 渠道下的不同类型
  44. tmpSubSourceResp, ok2 := tmpSourceResp[v.SubSource]
  45. if !ok2 {
  46. tmpSubSourceResp = make([]*MessageDetailItem, 0)
  47. }
  48. tmpSourceResp[v.SubSource] = append(tmpSubSourceResp, &MessageDetailItem{
  49. DataPermissionMoveRecordId: v.DataPermissionMoveRecordId,
  50. Source: v.Source,
  51. SubSource: v.SubSource,
  52. OpUniqueCode: v.OpUniqueCode,
  53. DataId: v.DataId,
  54. DataCode: v.DataCode,
  55. DataName: v.DataName,
  56. OriginalUserId: v.OriginalUserId,
  57. OriginalUserName: v.OriginalUserName,
  58. NewUserId: v.NewUserId,
  59. NewUserName: v.NewUserName,
  60. CreateTime: utils.TimeTransferString(utils.FormatDateTime, v.CreateTime),
  61. })
  62. resp[v.Source] = tmpSourceResp
  63. }
  64. return
  65. }