config.go 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. package main
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. "gopkg.in/gomail.v2"
  5. "log"
  6. )
  7. type (
  8. Config struct {
  9. LastOrderId int `json:"lastOrderId"`
  10. LastOrderClueId string `json:"lastOrderClueId"`
  11. LastUserId string `json:"lastUserId"`
  12. LastXcxUserId string `json:"lastXcxUserId"`
  13. LastId string `json:"lastId"`
  14. LastOrderTime string `json:"lastOrderTime"`
  15. LastUserTime string `json:"lastUserTime"`
  16. LastSubscribeId string `json:"lastSubscribeId"`
  17. LastMessageTime string `json:"lastMessageTime"`
  18. LastkcTime string `json:"lastkcTime"`
  19. LastEverythingTime string `json:"lastEverythingTime"`
  20. LastEventRegTime string `json:"lastEventRegTime"`
  21. LastReadClueTime string `json:"lastReadClueTime"`
  22. BigSaleTime int64 `json:"bigSaleTime"`
  23. BigOrderTime string `json:"bigOrderTime"`
  24. MarketSaleTime int64 `json:"marketSaleTime"`
  25. AdvisoryCommitteeTime int64 `json:"advisoryCommitteeTime"`
  26. SelectionDepartmentTime int64 `json:"selectionDepartmentTime"`
  27. AllocationTime string `json:"allocationTime"`
  28. AllocationRatio float64 `json:"allocationRatio"`
  29. ActiveTime string `json:"activeTime"`
  30. RebindTime string `json:"rebindTime"`
  31. InviteTime string `json:"inviteTime"`
  32. ActivityTime string `json:"activityTime"`
  33. LastKcChangeTime string `json:"lastKcChangeTime"`
  34. }
  35. DB struct {
  36. CornExp1 int64 `json:"cornexp1"`
  37. CornExp2 int64 `json:"cornexp2"`
  38. CornExp2Start string `json:"cornexp2Strat"`
  39. CornExp2End string `json:"cornexp2End"`
  40. CornExp3 string `json:"cornexp3"`
  41. CornExp4 string `json:"cornexp4"`
  42. CornExp5 int64 `json:"cornexp5"`
  43. CornExp6 int64 `json:"cornexp6"`
  44. CornExp7 string `json:"cornexp7"`
  45. CornExp8 int64 `json:"cornexp8"`
  46. TiDb struct {
  47. Host string `json:"host"`
  48. Port int `json:"port"`
  49. Database string `json:"database"`
  50. User string `json:"user"`
  51. Password string `json:"password"`
  52. PollSize int `json:"poolsize"`
  53. MaxIdle int `json:"maxidle"`
  54. MaxLeftTime int `json:"maxleft"`
  55. } `json:"tiDb"`
  56. TiDbData struct {
  57. Host string `json:"host"`
  58. Port int `json:"port"`
  59. Database string `json:"database"`
  60. User string `json:"user"`
  61. Password string `json:"password"`
  62. PollSize int `json:"poolsize"`
  63. MaxIdle int `json:"maxidle"`
  64. MaxLeftTime int `json:"maxleft"`
  65. } `json:"tiDbData"`
  66. TiDbPower struct {
  67. Host string `json:"host"`
  68. Port int `json:"port"`
  69. Database string `json:"database"`
  70. User string `json:"user"`
  71. Password string `json:"password"`
  72. PollSize int `json:"poolsize"`
  73. MaxIdle int `json:"maxidle"`
  74. MaxLeftTime int `json:"maxleft"`
  75. } `json:"tiDbPower"`
  76. WorderOrder struct {
  77. Host string `json:"host"`
  78. Port int `json:"port"`
  79. Database string `json:"database"`
  80. User string `json:"user"`
  81. Password string `json:"password"`
  82. PollSize int `json:"poolsize"`
  83. MaxIdle int `json:"maxidle"`
  84. MaxLeftTime int `json:"maxleft"`
  85. } `json:"workOrder"`
  86. BaseService struct {
  87. Host string `json:"host"`
  88. Port int `json:"port"`
  89. Database string `json:"database"`
  90. User string `json:"user"`
  91. Password string `json:"password"`
  92. PollSize int `json:"poolsize"`
  93. MaxIdle int `json:"maxidle"`
  94. MaxLeftTime int `json:"maxleft"`
  95. } `json:"baseService"`
  96. BiService struct {
  97. Host string `json:"host"`
  98. Port int `json:"port"`
  99. Database string `json:"database"`
  100. User string `json:"user"`
  101. Password string `json:"password"`
  102. PollSize int `json:"poolsize"`
  103. MaxIdle int `json:"maxidle"`
  104. MaxLeftTime int `json:"maxleft"`
  105. } `json:"biService"`
  106. ThirdParty struct {
  107. Host string `json:"host"`
  108. Port int `json:"port"`
  109. Database string `json:"database"`
  110. User string `json:"user"`
  111. Password string `json:"password"`
  112. PollSize int `json:"poolsize"`
  113. MaxIdle int `json:"maxidle"`
  114. MaxLeftTime int `json:"maxleft"`
  115. } `json:"thirdParty"`
  116. Jyactivities struct {
  117. Host string `json:"host"`
  118. Port int `json:"port"`
  119. Database string `json:"database"`
  120. User string `json:"user"`
  121. Password string `json:"password"`
  122. PollSize int `json:"poolsize"`
  123. MaxIdle int `json:"maxidle"`
  124. MaxLeftTime int `json:"maxleft"`
  125. } `json:"jyactivities"`
  126. DebrisProduct struct {
  127. Host string `json:"host"`
  128. Port int `json:"port"`
  129. Database string `json:"database"`
  130. User string `json:"user"`
  131. Password string `json:"password"`
  132. } `json:"debrisProduct"`
  133. Mysql struct {
  134. Host string `json:"host"`
  135. Port int `json:"port"`
  136. Database string `json:"database"`
  137. User string `json:"user"`
  138. Password string `json:"password"`
  139. PollSize int `json:"poolsize"`
  140. MaxIdle int `json:"maxidle"`
  141. MaxLeftTime int `json:"maxleft"`
  142. } `json:"mysql"`
  143. DataAnalysis struct {
  144. Host string `json:"host"`
  145. Port int `json:"port"`
  146. Database string `json:"database"`
  147. User string `json:"user"`
  148. Password string `json:"password"`
  149. PollSize int `json:"poolsize"`
  150. MaxIdle int `json:"maxidle"`
  151. MaxLeftTime int `json:"maxleft"`
  152. } `json:"dataAnalysis"`
  153. Mgo struct {
  154. Address string `json:"address"`
  155. DbName string `json:"dbName"`
  156. DbSize int `json:"dbSize"`
  157. } `json:"mgo"`
  158. MgoLog struct {
  159. Address string `json:"address"`
  160. DbName string `json:"dbName"`
  161. DbSize int `json:"dbSize"`
  162. User string `json:"user"`
  163. Password string `json:"password"`
  164. } `json:"mgoLog"`
  165. MgoQyxy struct {
  166. Address string `json:"address"`
  167. DbName string `json:"dbName"`
  168. DbSize int `json:"dbSize"`
  169. User string `json:"user"`
  170. Password string `json:"password"`
  171. } `json:"mgoQyxy"`
  172. Es struct {
  173. Address string `json:"address"`
  174. DbSize int `json:"dbSize"`
  175. Version string `json:"version"`
  176. UserName string `json:"user Name"`
  177. Password string `json:"password"`
  178. } `json:"es"`
  179. ProductArr []string `json:"productArr"`
  180. RedisServer string `json:"redisServer"`
  181. AllocationCap int64 `json:"allocationCap"`
  182. WarningValue int64 `json:"warningValue"`
  183. CornMail string `json:"corn_mail"`
  184. RegTimes int `json:"regTimes"`
  185. NameToMail map[string]string `json:"nameToMail"`
  186. ThawDay int64 `json:"thawDay"`
  187. LoopType int64 `json:"loopType"`
  188. Sourceid string `json:"sourceid"`
  189. AbhEmail string `json:"abhEmail"`
  190. AfEmail string `json:"afEmail"`
  191. NewRegistration int64 `json:"newRegistration"`
  192. OperationEmail []string `json:"operationEmail"`
  193. ExpirationPeriod int `json:"expirationPeriod"` //客成到期周期
  194. HandoverCycle int64 `json:"handoverCycle"` //移交周期
  195. CustomerTime int64 `json:"customerTime"` //客成时间
  196. KeCheng struct {
  197. DeptId int64 `json:"deptId"`
  198. Title string `json:"title"`
  199. Mail struct {
  200. Table string `json:"table"`
  201. Content string `json:"content"`
  202. ServiceList string `json:"serviceList"`
  203. ReturnMoney string `json:"returnMoney"`
  204. } `json:"mail"`
  205. Message string `json:"message"`
  206. MessageServiceList string `json:"messageServiceList"`
  207. MessageReturnMoney string `json:"messageReturnMoney"`
  208. Admin string `json:"admin"`
  209. } `json:"keCheng"`
  210. EntId int `json:"entId"`
  211. Mail GmailAuth `json:"mail"` //邮箱配置
  212. }
  213. )
  214. type GmailAuth struct {
  215. SmtpHost string //邮箱服务器
  216. SmtpPort int //邮箱端口
  217. User string //用户
  218. Pwd string //密码
  219. PoolChan chan *gomail.Dialer
  220. PoolSize int
  221. ReTry int
  222. }
  223. var AreaCode = map[string]string{}
  224. var CodeArea = map[string]string{}
  225. var CodeTrail = map[string]string{}
  226. var DateMap = map[string]int{}
  227. var ProductMap = map[string]string{}
  228. func InitArea() {
  229. info := TiDb.Find("d_area_code", nil, "", "", -1, -1)
  230. if info != nil && len(*info) > 0 {
  231. for _, m := range *info {
  232. AreaCode[common.ObjToString(m["name"])] = common.ObjToString(m["code"])
  233. CodeArea[common.ObjToString(m["code"])] = common.ObjToString(m["name"])
  234. }
  235. }
  236. log.Println("AreaCodeLen ", len(AreaCode))
  237. log.Println("CodeAreaLen ", len(CodeArea))
  238. trailData := TiDb.Find("dwd_d_crm_trailstatus_code", nil, "", "", -1, -1)
  239. if trailData != nil && len(*trailData) > 0 {
  240. for _, m := range *trailData {
  241. CodeTrail[common.ObjToString(m["code"])] = common.ObjToString(m["name"])
  242. }
  243. }
  244. holidayRecords := TiDb.Find("holiday_records", nil, "", "", -1, -1)
  245. if holidayRecords != nil && len(*holidayRecords) > 0 {
  246. for _, m := range *holidayRecords {
  247. DateMap[common.ObjToString(m["date"])] = common.IntAll(m["change"])
  248. }
  249. }
  250. }
  251. func InitProduct(product []string) {
  252. for _, v := range product {
  253. ProductMap[v] = "dk"
  254. }
  255. }