resp.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package RouterManchong
  2. import (
  3. "database/sql"
  4. "manchong"
  5. "manchong/utils"
  6. "sync"
  7. )
  8. type par struct {
  9. PackageId interface{} `json:"packageId"`
  10. STATUS int `json:"STATUS"`
  11. }
  12. type respBody struct {
  13. RESP struct {
  14. RCODE string `json:"RCODE "`
  15. RMSG string `json:"RMSG"`
  16. } `json:"RESP"`
  17. CONTENT []par `json:"CONTENT,omitempty"`
  18. }
  19. /*
  20. CREATE TABLE `flow_product_manchong_status` (
  21. `flow_status_id` bigint(20) NOT NULL AUTO_INCREMENT,
  22. `package_id` varchar(64) NOT NULL DEFAULT "" COMMENT '产品id',
  23. `package_name` varchar(64) NOT NULL DEFAULT "" COMMENT '产品名称',
  24. `status` varchar(32) NOT NULL DEFAULT "" COMMENT '状态:1-上架,2-下架',
  25. `create_time` datetime NOT NULL DEFAULT NOW() COMMENT '创建时间',
  26. `update_time` datetime NOT NULL DEFAULT NOW() ON UPDATE NOW() COMMENT '修改时间',
  27. PRIMARY KEY (`flow_status_id`)
  28. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
  29. */
  30. func (r *respBody) getData() {
  31. r.RESP.RCODE = "00"
  32. r.RESP.RMSG = "OK"
  33. result, err := DB.Query("select package_id,status from flow_product_status")
  34. if err != nil {
  35. r.RESP.RCODE = "99"
  36. r.RESP.RMSG = err.Error()
  37. return
  38. }
  39. for result.Next() {
  40. par := par{}
  41. err := result.Scan(&par.PackageId, &par.STATUS)
  42. if err != nil {
  43. r.RESP.RCODE = "99"
  44. r.RESP.RMSG = err.Error()
  45. return
  46. }
  47. r.CONTENT = append(r.CONTENT, par)
  48. }
  49. }
  50. var oneDO = &sync.Once{}
  51. var DB *sql.DB
  52. func init() {
  53. manchong.RegisterReloadConfigCall(func() {
  54. oneDO.Do(func() {
  55. t := manchong.CFG.MySQL
  56. t.ParseTime = true
  57. dns := t.FormatDSN()
  58. utils.DefaultLogger().Infof("MySQL dns:%s", dns)
  59. db, err := sql.Open("mysql", dns)
  60. if err != nil {
  61. utils.DefaultLogger().Panic(err)
  62. }
  63. err = db.Ping()
  64. if err != nil {
  65. utils.DefaultLogger().Panic(err)
  66. }
  67. DB = db
  68. })
  69. })
  70. }