mend.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package mending
  2. import (
  3. "bufio"
  4. "data_tidb/bidding"
  5. u "data_tidb/util"
  6. "fmt"
  7. "go.uber.org/zap"
  8. "io"
  9. "jygit.jydev.jianyu360.cn/data_processing/common_utils/log"
  10. "os"
  11. "strings"
  12. )
  13. // 修复id...
  14. func MendingInfos() {
  15. log.Debug("开始...")
  16. arr := getMendInfos()
  17. arr = []string{"61c3cc040bb57633ab730673", "62280023f32ba517371dced4", "6325b0e067a6b0a2860fb55a"}
  18. for k, v := range arr {
  19. if k%100 == 0 {
  20. log.Debug(fmt.Sprintf("cur index %d ~ %s", k, v))
  21. }
  22. deleteInfoFromId(v)
  23. increaseInfoFromId(v)
  24. }
  25. log.Debug("is over ... ")
  26. }
  27. // 根据id删除异常数据...
  28. func deleteInfoFromId(info_id string) {
  29. query := map[string]interface{}{"s_info_id": info_id}
  30. //1、标讯基础模型
  31. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_baseinfo, query, info_id)
  32. //2、标讯正文
  33. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_detail, query, info_id)
  34. //3、标讯扩展
  35. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_expand_baseinfo, query, info_id)
  36. //4、附件信息
  37. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_file_baseinfo, query, info_id)
  38. //5、附件文本
  39. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_file_text, query, info_id)
  40. //6、采购意向
  41. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_intention_baseinfo, query, info_id)
  42. //7、分包信息
  43. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_package_baseinfo, query, info_id)
  44. //8、分包投标人
  45. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_package_bidder_baseinfo, query, info_id)
  46. //9、分包物品
  47. u.DeleteGlobalMysqlData(u.T_dwd_f_bid_package_goods_baseinfo, query, info_id)
  48. }
  49. // 根据id新增信息...
  50. func increaseInfoFromId(info_id string) {
  51. if data := u.MongoB.FindById("bidding", info_id); data != nil {
  52. if len(data) > 0 {
  53. bidding.TaskIncreaseInfo(data)
  54. } else {
  55. log.Debug("未查询到数据...", zap.String("bidding", info_id))
  56. }
  57. }
  58. }
  59. func getMendInfos() []string {
  60. arrs := []string{}
  61. temp := map[string]string{}
  62. r, err := os.Open("res/mend.txt")
  63. if err != nil {
  64. log.Error(err.Error())
  65. }
  66. defer r.Close()
  67. rd := bufio.NewReader(r)
  68. total := 0
  69. for {
  70. total++
  71. if total%10000 == 0 {
  72. log.Debug(fmt.Sprintf("cur index %d", total))
  73. }
  74. line, err := rd.ReadString('\n') //以'\n'为结束符读入一行
  75. if err != nil || io.EOF == err {
  76. break
  77. }
  78. if line == "\n" {
  79. continue
  80. }
  81. line = strings.ReplaceAll(line, "\n", "")
  82. line = strings.ReplaceAll(line, "", "")
  83. if temp[line] == "" {
  84. temp[line] = line
  85. arrs = append(arrs, line)
  86. }
  87. }
  88. log.Debug(fmt.Sprintf("总计:%d ~ %d", total, len(arrs)))
  89. return arrs
  90. }