company.go 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. package services
  2. import (
  3. "fmt"
  4. "github.com/tealeg/xlsx"
  5. "hongze/hongze_task/models"
  6. "hongze/hongze_task/utils"
  7. "strings"
  8. "time"
  9. )
  10. //客户
  11. func ImportCompany() {
  12. var err error
  13. defer func() {
  14. if err != nil {
  15. fmt.Println("err:", err.Error())
  16. }
  17. }()
  18. fileName := "./company_0717.xlsx"
  19. xlFile, err := xlsx.OpenFile(fileName)
  20. if err != nil {
  21. fmt.Printf("open failed: %s\n", err)
  22. }
  23. n := 0
  24. startDate := ""
  25. endDate := ""
  26. dateType := 3
  27. permissionMap := make(map[string]int)
  28. permissionMap["宏观经济"] = 1
  29. permissionMap["有色"] = 2
  30. permissionMap["原油"] = 3
  31. permissionMap["橡胶"] = 4
  32. permissionMap["钢材"] = 5
  33. permissionMap["煤炭"] = 6
  34. permissionMap["甲醇"] = 7
  35. permissionMap["沥青"] = 8
  36. permissionMap["PTA"] = 9
  37. permissionMap["MEG"] = 10
  38. permissionMap["聚烯烃"] = 11
  39. permissionMap["铁矿"] = 12
  40. permissionMap["苯乙烯"] = 13
  41. permissionMap["织造终端"] = 14
  42. for _, sheet := range xlFile.Sheet {
  43. rows := sheet.MaxRow
  44. for i := 0; i < rows; i++ {
  45. if i > 2 {
  46. row := sheet.Row(i)
  47. cells := row.Cells
  48. realName := cells[1].String()
  49. realName = strings.Trim(realName, " ")
  50. realName = strings.Replace(realName, " ", "", -1)
  51. mobile := cells[2].String()
  52. mobile = strings.Trim(mobile, " ")
  53. mobile = strings.Replace(mobile, " ", "", -1)
  54. fmt.Println(mobile)
  55. companyName := cells[6].String()
  56. fmt.Println(companyName)
  57. companyName = strings.Trim(companyName, " ")
  58. companyName = strings.Replace(companyName, " ", "", -1)
  59. company, err := models.GetCompanyByName(companyName)
  60. if err != nil {
  61. if utils.ErrNoRow() == err.Error() {
  62. utils.FileLog.Info("客户不存在%s", companyName)
  63. fmt.Println("GetCompanyByName Err:" + err.Error())
  64. return
  65. } else {
  66. fmt.Println("GetCompanyByName Err:" + err.Error())
  67. return
  68. }
  69. }
  70. var companyId int
  71. if company == nil {
  72. sellsId := 0
  73. sellsName := ""
  74. if sellsId <= 0 {
  75. fmt.Println("sellsId <= 0")
  76. return
  77. }
  78. if startDate == "" || endDate == "" {
  79. fmt.Println("startDate,endDate is empty")
  80. return
  81. }
  82. fmt.Println("客户不存在,", companyName)
  83. utils.FileLog.Info("客户不存在 %s", companyName)
  84. newCompany := new(models.Company)
  85. newCompany.CompanyName = companyName
  86. newCompany.CompanyType = 2
  87. newCompany.Enabled = 1
  88. newCompany.CreatedTime = time.Now()
  89. newCompany.LastUpdatedTime = time.Now()
  90. newCompany.Sort = 1
  91. newCompany.SellsId = sellsId
  92. newCompany.Seller = sellsName
  93. newCompany.CompanyBelong = "ficc"
  94. newCompany.StartDate = startDate
  95. newCompany.EndDate = endDate
  96. newCompany.FirstStartDate = startDate
  97. newCompany.FirstEndDate = endDate
  98. newCompany.DateType = dateType
  99. newId, err := models.AddCompany(newCompany)
  100. if err != nil {
  101. fmt.Println("新增公司失败,Err:" + err.Error())
  102. return
  103. }
  104. companyId = int(newId)
  105. //新增权限
  106. return
  107. }
  108. companyId = company.CompanyId
  109. if companyId > 0 {
  110. wxUser, err := models.GetWxUserByMobile(mobile)
  111. if err != nil && err.Error() != utils.ErrNoRow() {
  112. fmt.Println("GetWxUserByMobile Err:" + err.Error())
  113. return
  114. }
  115. if wxUser == nil {
  116. //用户不存在,新增
  117. fmt.Println("AddWxUser")
  118. email := ""
  119. fmt.Println(company.CompanyId, mobile, realName)
  120. err = models.AddWxUser(company.CompanyId, mobile, realName, email)
  121. if err != nil {
  122. fmt.Println("AddWxUser Err:" + err.Error())
  123. return
  124. }
  125. } else {
  126. fmt.Println("用户存在:mobile:", mobile)
  127. fmt.Println(company.CompanyId, mobile, realName)
  128. }
  129. fmt.Println(companyName, company.CompanyId)
  130. } else {
  131. fmt.Println("companyId<=0")
  132. }
  133. n++
  134. }
  135. }
  136. }
  137. fmt.Println("len:", n)
  138. }
  139. //客户
  140. func ImportCompanyUsers() {
  141. var err error
  142. defer func() {
  143. if err != nil {
  144. fmt.Println("err:", err.Error())
  145. }
  146. }()
  147. fileName := "./company_user_1127.xlsx"
  148. xlFile, err := xlsx.OpenFile(fileName)
  149. if err != nil {
  150. fmt.Printf("open failed: %s\n", err)
  151. }
  152. n := 0
  153. for _, sheet := range xlFile.Sheet {
  154. rows := sheet.MaxRow
  155. for i := 0; i < rows; i++ {
  156. if i > 2 {
  157. row := sheet.Row(i)
  158. cells := row.Cells
  159. realName := cells[1].String()
  160. realName = strings.Trim(realName, " ")
  161. realName = strings.Replace(realName, " ", "", -1)
  162. mobile := cells[2].String()
  163. mobile = strings.Trim(mobile, " ")
  164. mobile = strings.Replace(mobile, " ", "", -1)
  165. email := cells[5].String()
  166. email = strings.Trim(email, " ")
  167. email = strings.Replace(email, " ", "", -1)
  168. fmt.Println(mobile)
  169. var companyId int
  170. companyId = 5140
  171. if companyId > 0 {
  172. wxUser, err := models.GetWxUserByMobile(mobile)
  173. if err != nil && err.Error() != utils.ErrNoRow() {
  174. fmt.Println("GetWxUserByMobile Err:" + err.Error())
  175. return
  176. }
  177. if wxUser == nil {
  178. //用户不存在,新增
  179. fmt.Println("AddWxUser")
  180. err = models.AddWxUser(companyId, mobile, realName, email)
  181. if err != nil {
  182. fmt.Println("AddWxUser Err:" + err.Error())
  183. return
  184. }
  185. } else {
  186. fmt.Println("用户存在:mobile:", mobile, realName)
  187. }
  188. } else {
  189. fmt.Println("companyId<=0")
  190. }
  191. n++
  192. }
  193. }
  194. }
  195. fmt.Println("len:", n)
  196. }
  197. //导入客户信用码
  198. func ImportCompanyCreditCode() {
  199. var err error
  200. defer func() {
  201. if err != nil {
  202. fmt.Println("err:", err.Error())
  203. }
  204. }()
  205. fileName := "./客户社会信用码.xlsx"
  206. xlFile, err := xlsx.OpenFile(fileName)
  207. if err != nil {
  208. fmt.Printf("open failed: %s\n", err)
  209. }
  210. n := 0
  211. for _, sheet := range xlFile.Sheet {
  212. rows := sheet.MaxRow
  213. for i := 0; i < rows; i++ {
  214. if i > 2 {
  215. row := sheet.Row(i)
  216. cells := row.Cells
  217. companyName := cells[0].String()
  218. companyName = strings.Trim(companyName, " ")
  219. companyName = strings.Replace(companyName, " ", "", -1)
  220. creditCode := cells[4].String()
  221. creditCode = strings.Trim(creditCode, " ")
  222. creditCode = strings.Replace(creditCode, " ", "", -1)
  223. industryName := cells[5].String()
  224. industryName = strings.Trim(industryName, " ")
  225. industryName = strings.Replace(industryName, " ", "", -1)
  226. companyItem, err := models.GetCompanyByName(companyName)
  227. if err != nil {
  228. fmt.Println("GetCompanyByName Err:" + err.Error())
  229. continue
  230. }
  231. if companyItem == nil {
  232. fmt.Println("companyItem is nil")
  233. }
  234. count, err := models.GetCompanyCountByCreditCode(creditCode)
  235. if err != nil {
  236. fmt.Println("GetCompanyCountByCreditCode Err:" + err.Error())
  237. continue
  238. }
  239. if count > 0 {
  240. fmt.Println("creditCode exist")
  241. continue
  242. } else {
  243. industryItem, err := models.GetCompanyIndustryByName(industryName)
  244. if err != nil {
  245. fmt.Println("GetCompanyIndustryByName Err:" + err.Error())
  246. return
  247. }
  248. fmt.Println(industryItem.IndustryId, industryItem.IndustryName)
  249. err = models.ModifyCompanyCreditCode(companyItem.CompanyId, creditCode)
  250. if err != nil {
  251. fmt.Println("Err:" + err.Error())
  252. return
  253. }
  254. err = models.ModifyCompanyIndustry(industryItem.IndustryId, companyItem.CompanyId, industryName)
  255. if err != nil {
  256. fmt.Println("Err:" + err.Error())
  257. return
  258. }
  259. }
  260. fmt.Println(companyName, creditCode, industryName)
  261. }
  262. }
  263. }
  264. fmt.Println("len:", n)
  265. }