tg_app.lua 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. --小程序
  2. local M = {}
  3. local skynet = require "skynet"
  4. local mysqldbx = require "mysqldbx"
  5. local tools = require "tools"
  6. local cjson = require "cjson"
  7. --获取所有小程序
  8. function M.getAppList()
  9. local sql = string.format("select * from `tg_app` ")
  10. local isok,res;
  11. res = mysqldbx.query(sql)
  12. if #res <= 0 then
  13. return true ,{}
  14. end
  15. return true, res
  16. end
  17. --所属账户ID advertiser_id
  18. --资产ID instance_id
  19. --小程序ID app_id
  20. --小程序名称 name
  21. --添加小程序
  22. function M.addApp(msg_body)
  23. local isok ,key = tools.checkData({"oce_product_advertiser_id","copyright","oce_product_platform_id","system_platform","wx_origin_id","butler_id","tg_platform_id","app_id","instance_id","name","advertiser_id","landing_page","titles"},msg_body)
  24. if not isok then
  25. return false,string.format("缺少字段: %s.", key)
  26. end
  27. local current_time = os.date("%Y-%m-%d %H:%M:%S")
  28. msg_body.create_time = current_time
  29. local sql = string.format("INSERT INTO `tg_app` (oce_product_advertiser_id,copyright,oce_product_platform_id,system_platform,wx_origin_id,butler_id,tg_platform_id,app_id, instance_id, name,advertiser_id,landing_page,titles) VALUES (%d,'%s','%s',%d,'%s',%d,%d,'%s','%s','%s','%s','%s','%s')",
  30. msg_body.oce_product_advertiser_id,
  31. msg_body.copyright,
  32. msg_body.oce_product_platform_id,
  33. msg_body.system_platform,
  34. msg_body.wx_origin_id,
  35. msg_body.butler_id,
  36. msg_body.tg_platform_id,
  37. msg_body.app_id,
  38. msg_body.instance_id,msg_body.name,msg_body.advertiser_id,msg_body.landing_page,msg_body.titles)
  39. mysqldbx.query(sql)
  40. skynet.send("backmgr","lua","on_recv",nil,"ws_push_msg",cjson.encode({cmd="updateAppConfig"}))
  41. return true
  42. end
  43. --修改小程序
  44. function M.modifyApp(msg_body)
  45. local isok ,key = tools.checkData({"oce_product_advertiser_id","copyright","oce_product_platform_id","system_platform","wx_origin_id","butler_id","id","tg_platform_id","app_id","instance_id","name","advertiser_id","landing_page","titles"},msg_body)
  46. if not isok then
  47. return false,string.format("缺少字段: %s.", key)
  48. end
  49. local current_time = os.date("%Y-%m-%d %H:%M:%S")
  50. msg_body.update_time = current_time
  51. local sql = string.format("UPDATE `tg_app` SET oce_product_advertiser_id = %d , copyright = '%s' , oce_product_platform_id = '%s' ,system_platform = %d , wx_origin_id = '%s' , butler_id = %d , tg_platform_id =%d ,app_id ='%s' , instance_id ='%s' , name ='%s' , advertiser_id ='%s' , update_time ='%s' , landing_page ='%s' , titles ='%s' WHERE id = %d ",
  52. msg_body.oce_product_advertiser_id,msg_body.copyright,msg_body.oce_product_platform_id,msg_body.system_platform,msg_body.wx_origin_id,msg_body.butler_id,msg_body.tg_platform_id,msg_body.app_id,msg_body.instance_id,msg_body.name,msg_body.advertiser_id,msg_body.update_time,msg_body.landing_page,msg_body.titles,msg_body.id)
  53. mysqldbx.query(sql)
  54. skynet.send("backmgr","lua","on_recv",nil,"ws_push_msg",cjson.encode({cmd="updateAppConfig"}))
  55. return true
  56. end
  57. function M.search(msg_body)
  58. local isok ,key = tools.checkData({"system_platform","tg_platform_id","butler_id","page_size","page_number"},msg_body)
  59. if not isok then
  60. return false,string.format("缺少字段: %s.", key)
  61. end
  62. local page_size = msg_body.page_size
  63. local page_number = msg_body.page_number
  64. local offset = (page_number - 1) * page_size
  65. local tg_platform_id_param = ""
  66. if msg_body.tg_platform_id~="" then
  67. tg_platform_id_param = "AND tg_platform_id = "..msg_body.tg_platform_id.." "
  68. end
  69. local butler_id_param = ""
  70. if msg_body.butler_id ~= "" then
  71. butler_id_param = " AND butler_id = "..msg_body.butler_id.." "
  72. end
  73. local system_platform_param = ""
  74. if msg_body.system_platform ~= "" then
  75. system_platform_param = " AND system_platform = "..msg_body.system_platform.." "
  76. end
  77. local param = tg_platform_id_param..butler_id_param..system_platform_param
  78. local sql = "SELECT COUNT(*) AS total FROM tg_app WHERE 1=1 "..param
  79. local total = mysqldbx.query(sql)
  80. sql = "SELECT * FROM tg_app WHERE 1=1 "..param..string.format(" ORDER BY id LIMIT %d OFFSET %d ",page_size, offset)
  81. skynet.error(sql)
  82. local res;
  83. res = mysqldbx.query(sql)
  84. return true,res,total[1].total
  85. end
  86. return M