904118851 4 сар өмнө
parent
commit
98f944dd36

+ 13 - 5
common/dbproxy/tg_main.lua

@@ -64,7 +64,7 @@ end
 
 function M.search(msg_body)
 
-    local isok ,key =  tools.checkData({"statistics_platform_id","converted_time_duration","cbo_status","project_type","oce_product_id",
+    local isok ,key =  tools.checkData({"ads_operation_status","statistics_platform_id","converted_time_duration","cbo_status","project_type","oce_product_id",
     "oce_product_platform_id",
     "delivery_mode","material_platform_id","wx_miniapp_create_status","template_bid","cpa_bid","page_size","page_number","main_name","running_status","custom_budget","pay_type","tg_platform_id","butler_id","tg_app_index","is_open_create_link","is_delete"},msg_body)
    
@@ -78,6 +78,11 @@ function M.search(msg_body)
 
     local offset = (page_number - 1) * page_size
 
+    local ads_operation_status_param = ""
+    if msg_body.ads_operation_status~=""  then
+        ads_operation_status_param = string.format(" AND ads_operation_status =  '%s' ",msg_body.ads_operation_status) 
+    end
+
     local statistics_platform_id_param = ""
     if msg_body.statistics_platform_id~=""  then
         statistics_platform_id_param = string.format(" AND statistics_platform_id =  %d ",msg_body.statistics_platform_id) 
@@ -194,7 +199,7 @@ function M.search(msg_body)
     --     genre_param =  string.format(" AND genre = %d ",msg_body.genre) 
     -- end
 
-    local param = statistics_platform_id_param..converted_time_duration_param..infra_status_param..cbo_script_status_param..cbo_status_param..project_type_param..oce_product_platform_id_param..oce_product_id_param..delivery_mode_param..main_name_param..tg_platform_param..running_status_param..pay_type_param..butler_id_param..tg_app_index_param..is_open_create_link_param..is_delete_param..custom_budget_param..cpa_bid_param..template_bid_param..wx_miniapp_create_status_param..material_platform_id_param;
+    local param = ads_operation_status_param..statistics_platform_id_param..converted_time_duration_param..infra_status_param..cbo_script_status_param..cbo_status_param..project_type_param..oce_product_platform_id_param..oce_product_id_param..delivery_mode_param..main_name_param..tg_platform_param..running_status_param..pay_type_param..butler_id_param..tg_app_index_param..is_open_create_link_param..is_delete_param..custom_budget_param..cpa_bid_param..template_bid_param..wx_miniapp_create_status_param..material_platform_id_param;
     local sql = "SELECT * FROM tg_main where 1=1 "..param..string.format(" LIMIT %d OFFSET %d ",page_size, offset)
     local res = mysqldbx.query(sql)
     skynet.error("sql:",sql)
@@ -217,13 +222,14 @@ end
 -- `daily_new_limit` int DEFAULT '0' COMMENT '今天新上数量上限',
 
 function M.addMain(msg_body)
-    local isok ,key =  tools.checkData({"statistics_platform_id","hide_if_converted","converted_time_duration","cbo_script_time","cbo_script_status","cbo_status","project_type","tf_status","tf_start_time","stat_cost","oce_product_id","oce_product_platform_id","material_platform_id","strategy_config","delivery_mode","price","pack_strategy_status","start_chapter","advertiser_id","wx_miniapp_create_status","ad_act","template_bid","zh_id","roi_goal","ql_bid","infra_status","pay_type","qm_id","ldy_template_site_id","yw_id","parent_platform_id","platform_shared_id","distributor_id","is_delete","ad_convert_type","aweme_id","tg_app_index","butler_id","mini_program_platform_id","landing_page","valid_timer_time","valid_timer_number","channelId","no_bid_budget","max_ad_quantity","tg_link_config","tg_platform_id","app_id","main_name","running_status","ad_quantity","cpa_bid","bid_type","bid_ratio","custom_budget","daily_new_limit","valid_time","group_id"},msg_body)
+    local isok ,key =  tools.checkData({"ads_operation_status","statistics_platform_id","hide_if_converted","converted_time_duration","cbo_script_time","cbo_script_status","cbo_status","project_type","tf_status","tf_start_time","stat_cost","oce_product_id","oce_product_platform_id","material_platform_id","strategy_config","delivery_mode","price","pack_strategy_status","start_chapter","advertiser_id","wx_miniapp_create_status","ad_act","template_bid","zh_id","roi_goal","ql_bid","infra_status","pay_type","qm_id","ldy_template_site_id","yw_id","parent_platform_id","platform_shared_id","distributor_id","is_delete","ad_convert_type","aweme_id","tg_app_index","butler_id","mini_program_platform_id","landing_page","valid_timer_time","valid_timer_number","channelId","no_bid_budget","max_ad_quantity","tg_link_config","tg_platform_id","app_id","main_name","running_status","ad_quantity","cpa_bid","bid_type","bid_ratio","custom_budget","daily_new_limit","valid_time","group_id"},msg_body)
     if not isok then
         return false,string.format("缺少字段: %s.", key)
     end
     local current_time = os.date("%Y-%m-%d %H:%M:%S")
     msg_body.create_time = current_time
-    local sql = string.format("INSERT INTO `tg_main` (statistics_platform_id,hide_if_converted,converted_time_duration,cbo_script_time,cbo_script_status,cbo_status,project_type,tf_status,tf_start_time,stat_cost,oce_product_id,oce_product_platform_id,material_platform_id,strategy_config,delivery_mode,price,pack_strategy_status,start_chapter,advertiser_id,wx_miniapp_create_status,genre,ad_act,template_bid,zh_id,roi_goal,ql_bid,infra_status,pay_type,qm_id,ldy_template_site_id,yw_id,parent_platform_id,platform_shared_id,distributor_id,is_delete,ad_convert_type,aweme_id,tg_app_index,butler_id,mini_program_platform_id,landing_page,valid_timer_time,valid_timer_number,channelId,no_bid_budget,max_ad_quantity,tg_link_config,tg_platform_id,app_id,main_name,running_status,ad_quantity,cpa_bid,bid_type,bid_ratio,custom_budget,daily_new_limit,valid_time,group_id)  VALUES (%d, '%s','%s','%s',%d,%d,%d,%d,'%s',%d,'%s','%s',%d,'%s','%s',%d,%d,%d,%s,%d,%d,%d,%d,'%s',%d,%d,%d,%d,'%s','%s','%s',%d,%d,'%s',%d,'%s','%s', %d, %d, %d,'%s', %d, '%s', '%s',%d, %d, '%s', %d, '%s', '%s', %d, %d, %d,%d, '%s', %d, %d, '%s', '%s')",
+    local sql = string.format("INSERT INTO `tg_main` (ads_operation_status,statistics_platform_id,hide_if_converted,converted_time_duration,cbo_script_time,cbo_script_status,cbo_status,project_type,tf_status,tf_start_time,stat_cost,oce_product_id,oce_product_platform_id,material_platform_id,strategy_config,delivery_mode,price,pack_strategy_status,start_chapter,advertiser_id,wx_miniapp_create_status,genre,ad_act,template_bid,zh_id,roi_goal,ql_bid,infra_status,pay_type,qm_id,ldy_template_site_id,yw_id,parent_platform_id,platform_shared_id,distributor_id,is_delete,ad_convert_type,aweme_id,tg_app_index,butler_id,mini_program_platform_id,landing_page,valid_timer_time,valid_timer_number,channelId,no_bid_budget,max_ad_quantity,tg_link_config,tg_platform_id,app_id,main_name,running_status,ad_quantity,cpa_bid,bid_type,bid_ratio,custom_budget,daily_new_limit,valid_time,group_id)  VALUES ('%s',%d, '%s','%s','%s',%d,%d,%d,%d,'%s',%d,'%s','%s',%d,'%s','%s',%d,%d,%d,%s,%d,%d,%d,%d,'%s',%d,%d,%d,%d,'%s','%s','%s',%d,%d,'%s',%d,'%s','%s', %d, %d, %d,'%s', %d, '%s', '%s',%d, %d, '%s', %d, '%s', '%s', %d, %d, %d,%d, '%s', %d, %d, '%s', '%s')",
+    msg_body.ads_operation_status,
     msg_body.statistics_platform_id,
     msg_body.hide_if_converted,
     msg_body.converted_time_duration,
@@ -406,7 +412,7 @@ local function combine_query_and_params(query, params)
     return combined_query
 end
 function M.modifyMain(msg_body)
-    local isok ,key =  tools.checkData({ "statistics_platform_id","hide_if_converted","converted_time_duration","cbo_script_time","cbo_script_status","cbo_status","project_type","tf_status","tf_start_time","stat_cost","oce_product_id","oce_product_platform_id","material_platform_id","strategy_config","delivery_mode","price","pack_strategy_status","start_chapter","advertiser_id","wx_miniapp_create_status","ad_act","template_bid","zh_id","roi_goal","ql_bid","infra_status","pay_type","pay_type","qm_id","ldy_template_site_id","yw_id","parent_platform_id","platform_shared_id","distributor_id","is_delete","ad_convert_type","aweme_id","tg_app_index","butler_id","mini_program_platform_id","landing_page","valid_timer_time","valid_timer_number","channelId","no_bid_budget","max_ad_quantity","tg_link_config","id","tg_platform_id","app_id","main_name","running_status","ad_quantity","cpa_bid","bid_type","bid_ratio","custom_budget","daily_new_limit","valid_time","group_id"},msg_body)
+    local isok ,key =  tools.checkData({"ads_operation_status" ,"statistics_platform_id","hide_if_converted","converted_time_duration","cbo_script_time","cbo_script_status","cbo_status","project_type","tf_status","tf_start_time","stat_cost","oce_product_id","oce_product_platform_id","material_platform_id","strategy_config","delivery_mode","price","pack_strategy_status","start_chapter","advertiser_id","wx_miniapp_create_status","ad_act","template_bid","zh_id","roi_goal","ql_bid","infra_status","pay_type","pay_type","qm_id","ldy_template_site_id","yw_id","parent_platform_id","platform_shared_id","distributor_id","is_delete","ad_convert_type","aweme_id","tg_app_index","butler_id","mini_program_platform_id","landing_page","valid_timer_time","valid_timer_number","channelId","no_bid_budget","max_ad_quantity","tg_link_config","id","tg_platform_id","app_id","main_name","running_status","ad_quantity","cpa_bid","bid_type","bid_ratio","custom_budget","daily_new_limit","valid_time","group_id"},msg_body)
     if not isok then
         return false,string.format("缺少字段: %s.", key)
     end
@@ -416,6 +422,7 @@ function M.modifyMain(msg_body)
 
     local query = [[
     UPDATE `tg_main` SET
+        ads_operation_status = ?,
         statistics_platform_id = ?,
         hide_if_converted = ?,
         converted_time_duration = ?,
@@ -480,6 +487,7 @@ function M.modifyMain(msg_body)
 ]]
 
 local params = {
+    msg_body.ads_operation_status,
     msg_body.statistics_platform_id,
     msg_body.hide_if_converted,
     msg_body.converted_time_duration,

+ 7 - 0
service/agent.lua

@@ -128,6 +128,13 @@ function RECV_TASK.updatePullConig(msg_body)
     end
 end
 
+function RECV_TASK.updatePullConig2(msg_body)
+    if AGENT_ID~=0 then
+        isRunTask = true --工人进入工作状态
+        websocket.write(AGENT_ID, cjson.encode({cmd="updatePullConig2"}))
+    end
+end
+
 function RECV_TASK.getPullDataConfig(msg_body)
     if AGENT_ID~=0 then
         isRunTask = true --工人进入工作状态

+ 9 - 0
service/agent_manager.lua

@@ -142,6 +142,15 @@ function CMD.updatePullConig(_,msg_body)
     end
 end
 
+--更新拉取配置
+function CMD.updatePullConig2(_,msg_body) 
+    local agent = getOneAgent()
+    if agent~=nil then
+        skynet.call(agent,"lua",nil,nil,"updatePullConig2",msg_body)
+    else
+        skynet.error("把任务放到队列")
+    end
+end
 --同步主体
 function CMD.syncMain(_,msg_body) 
     local agent = getOneAgent()

+ 8 - 0
service/backmgr/init.lua

@@ -20,11 +20,14 @@ local fq_book = require "fq_book"
 local book_black_list = require "book_black_list"
 local video_titles = require "video_titles"
 local pull_data_config = require "pull_data_config"
+local pull_data_config2 = require "pull_data_config2"
 local pull_data_status = require "pull_data_status"
+local pull_data_status2 = require "pull_data_status2"
 local video_applet_product = require "video_applet_product"
 local filter_data = require "filter_data"
 local video_material = require "video_material"
 local no_filter_origin = require "no_filter_origin"
+local no_filter_origin2 = require "no_filter_origin2"
 local origin_video_titles = require "origin_video_titles"
 local promotion_audit_suggestions = require "promotion_audit_suggestions"
 local tg_butler = require "tg_butler"
@@ -32,6 +35,7 @@ local tg_mini_program_platform = require "tg_mini_program_platform"
 local task_material_queue_queue = require "task_material_queue_queue"
 local video_product = require "video_product"
 local origin_data = require "origin_data"
+local origin_data2 = require "origin_data2"
 local video_product_material = require "video_product_material"
 local aweme_auth_list = require "aweme_auth_list"
 local checks = require "checks"
@@ -66,11 +70,14 @@ CMD["fq_book"] = fq_book;
 CMD["book_black_list"] = book_black_list;
 CMD["video_titles"] = video_titles;
 CMD["pull_data_config"] = pull_data_config;
+CMD["pull_data_config2"] = pull_data_config2;
 CMD["pull_data_status"] = pull_data_status;
+CMD["pull_data_status2"] = pull_data_status2;
 CMD["video_applet_product"] = video_applet_product;
 CMD["filter_data"] = filter_data;
 CMD["video_material"] = video_material;
 CMD["no_filter_origin"] = no_filter_origin;
+CMD["no_filter_origin2"] = no_filter_origin2;
 CMD["origin_video_titles"] = origin_video_titles;
 CMD["promotion_audit_suggestions"] = promotion_audit_suggestions;
 CMD["tg_butler"] = tg_butler;
@@ -78,6 +85,7 @@ CMD["tg_mini_program_platform"] = tg_mini_program_platform;
 CMD["task_material_queue_queue"] = task_material_queue_queue;
 CMD["video_product"] = video_product;
 CMD["origin_data"] = origin_data;
+CMD["origin_data2"] = origin_data2;
 CMD["video_product_material"] = video_product_material;
 CMD["aweme_auth_list"] = aweme_auth_list;
 CMD["checks"] = checks;

+ 67 - 0
service/backmgr/no_filter_origin2.lua

@@ -0,0 +1,67 @@
+--无筛选原始数据
+local M = {}
+local mysqldbx = require "mysqldbx"
+local tools = require "tools"
+local skynet = require "skynet"
+local cjson = require "cjson"
+
+function check_table_exists(table_name)
+    local sql = string.format("SHOW TABLES LIKE '%s'", table_name)
+    local res = mysqldbx.query(sql)
+    return res and #res > 0
+end
+
+function M.search_no_filter_origin_data(msg_body)
+    local isok ,key =  tools.checkData({"video_id","date","page_size","page_number","materialId"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local table_name = "pull_data2_"..string.gsub(msg_body.date, "-", "")
+
+    if not check_table_exists(table_name) then
+        return false,string.format("不存在  %s 这个数据.", table_name)
+    end
+
+    local page_size = msg_body.page_size
+    local page_number = msg_body.page_number
+    local offset = (page_number - 1) * page_size
+
+    local video_id_param = ""
+    if msg_body.video_id~="" then
+        video_id_param =  " AND awemeId = "..msg_body.video_id
+    end
+
+    local materialId_param = ""
+    if msg_body.materialId~="" then
+        materialId_param =  string.format(" AND materialId = '%s' ",msg_body.materialId)
+    end
+
+    local param = video_id_param..materialId_param
+    local up_down_param = " ORDER BY " .." likeCount DESC "
+
+    local sql = "SELECT * FROM "..table_name.." WHERE 1=1 "..param..up_down_param..string.format(" LIMIT %d OFFSET %d ",page_size, offset)
+
+    local res =  mysqldbx.query(sql)
+
+    sql =  "SELECT  COUNT(*) AS total  FROM "..table_name
+
+    local total = mysqldbx.query(sql)
+
+    return true,res,total[1].total
+end
+
+function M.delete_no_filter_origin_data(msg_body)
+    local isok ,key =  tools.checkData({"date"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local table_name = "pull_data2_"..string.gsub(msg_body.date, "-", "")
+    if not check_table_exists(table_name) then
+        return false,string.format("不存在  %s 这个数据.", table_name)
+    end
+    local sql = string.format("DROP TABLE %s", table_name)
+    mysqldbx.query(sql)
+    return true,{}
+end
+
+return M

+ 85 - 0
service/backmgr/origin_data2.lua

@@ -0,0 +1,85 @@
+--原始数据
+local M = {}
+local mysqldbx = require "mysqldbx"
+local tools = require "tools"
+local skynet = require "skynet"
+local cjson = require "cjson"
+
+function M.delete_origin_data_by_time(msg_body)
+    local isok ,key =  tools.checkData({"start_create_time","end_create_time"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local delete_time_param = " AND DATE(created_at) >= DATE(FROM_UNIXTIME(" .. (msg_body.start_create_time / 1000) .. ")) AND DATE(created_at) <= DATE(FROM_UNIXTIME(" .. (msg_body.end_create_time / 1000) .. "))"
+end
+
+function M.reset_status(msg_body)
+    local isok ,key =  tools.checkData({"id_list"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    for i = 1, #msg_body.id_list, 1 do
+        local res,sql,id;
+        id = msg_body.id_list[i]
+        sql = string.format("UPDATE  origin_data2 SET status = 0 WHERE id = %d ",id)
+        res = mysqldbx.query(sql)
+    end
+    return true,{}
+end
+
+function M.search_origin_data(msg_body)
+    local isok ,key =  tools.checkData({"is_wx_guajian","page_size","page_number","start_create_time","end_create_time","guajian_info","start_publish_time","end_publish_time","materialId"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local page_size = msg_body.page_size
+    local page_number = msg_body.page_number
+    local offset = (page_number - 1) * page_size
+
+
+    local is_wx_guajian_param = ""
+    if msg_body.is_wx_guajian~="" then
+        is_wx_guajian_param = string.format(" AND is_wx_guajian = %d ",msg_body.is_wx_guajian)
+    end
+
+
+    local date_param = ""
+    if msg_body.start_publish_time~="" and msg_body.end_publish_time~="" then
+        date_param = " AND DATE(publish_time) >= DATE(FROM_UNIXTIME(" .. (msg_body.start_publish_time / 1000) .. ")) AND DATE(publish_time) <= DATE(FROM_UNIXTIME(" .. (msg_body.end_publish_time / 1000) .. ")) "
+    end
+
+
+    local create_date_param = ""
+    if msg_body.start_create_time~="" and msg_body.end_create_time~="" then
+        create_date_param = " AND create_day >= DATE(FROM_UNIXTIME(" .. (msg_body.start_create_time / 1000) .. ")) AND create_day <= DATE(FROM_UNIXTIME(" .. (msg_body.end_create_time / 1000) .. ")) "
+    end
+
+    local guajian_info_param = ""
+    -- 挂件信息条件
+    if msg_body.guajian_info ~= "" then
+        local searchTerm = string.gsub(msg_body.guajian_info, "%%", "\\%%")
+        guajian_info_param = string.format("  AND guajian_link LIKE CONCAT('%%', '%s', '%%')  ",searchTerm)
+    end
+
+    local materialId_param = ""
+    -- 材料ID条件
+    if msg_body.materialId ~= "" then
+        materialId_param =  string.format(" AND materialId = '%s' ",msg_body.materialId)
+    end
+
+    local param = date_param..create_date_param..guajian_info_param..materialId_param..is_wx_guajian_param
+    
+    local sql = "SELECT * FROM origin_data2 WHERE 1=1 "..param.."ORDER BY id DESC"..string.format(" LIMIT %d OFFSET %d ",page_size, offset)
+    
+    skynet.error("sql:",sql)
+    -- 执行查询
+    local res = mysqldbx.query(sql)
+    -- 使用 COUNT(*) 优化总数查询
+    sql =  "SELECT  COUNT(*) AS total  FROM origin_data2 WHERE 1=1 "..param
+
+    local total = mysqldbx.query(sql)
+
+    return true, res, total[1].total
+end
+
+return M

+ 85 - 0
service/backmgr/pull_data_config2.lua

@@ -0,0 +1,85 @@
+--拉取数据配置
+local M = {}
+local mysqldbx = require "mysqldbx"
+local tools = require "tools"
+local skynet = require "skynet"
+local cjson = require "cjson"
+
+function M.get_all_pull_data_list(msg_body)
+    local sql = "SELECT * FROM pull_data_config2 "
+    local list = mysqldbx.query(sql)
+    return true,list
+end
+
+
+function M.modify_pull_data_config(msg_body)
+    local isok ,key =  tools.checkData({"id","start","name","interval_minute","start_time","pull_day"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local sql = string.format("UPDATE `pull_data_config2` SET  start = '%s' ,name ='%s' , interval_minute = %d , start_time = '%s' , pull_day = '%s' WHERE id = %d ",
+    msg_body.start,msg_body.name,msg_body.interval_minute,msg_body.start_time,msg_body.pull_day,msg_body.id)
+    mysqldbx.query(sql)
+    return true, {}
+end
+
+function M.add_pull_data_list_config(msg_body)
+    local isok ,key =  tools.checkData({"config_list"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    for i = 1, #msg_body.config_list, 1 do
+        local config_item = msg_body.config_list[i]
+        local start_time = config_item.start
+        if config_item.start_time~=nil then
+            start_time = config_item.start_time
+        end
+        local sql = string.format("INSERT INTO `pull_data_config2` (start,name,interval_minute,start_time,pull_day)  VALUES ('%s','%s',%d,'%s','%s')",config_item.start,config_item.name,config_item.interval_minute,start_time,config_item.pull_day)
+        skynet.error(sql)
+        mysqldbx.query(sql)
+    end
+    return true, {}
+end
+
+function M.add_pull_data_config(msg_body)
+    local isok ,key =  tools.checkData({"start","name","interval_minute"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local sql = string.format("INSERT INTO `pull_data_config2` (start,name,interval_minute)  VALUES ('%s','%s',%d)",msg_body.start,msg_body.name,msg_body.interval_minute)
+    mysqldbx.query(sql)
+    return true, {}
+end
+
+function M.delete_pull_data_config(msg_body)
+    local isok ,key =  tools.checkData({"id"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local sql = string.format("DELETE FROM pull_data_config2 WHERE id = %d ",msg_body.id)
+    mysqldbx.query(sql)
+    return true, {}
+end
+
+function M.pull_data_list(msg_body)
+    local isok ,key =  tools.checkData({"page_size","page_number"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local page_size = msg_body.page_size
+    local page_number = msg_body.page_number
+    local offset = (page_number - 1) * page_size
+    local sql = "SELECT * FROM pull_data_config2 "..string.format(" LIMIT %d OFFSET %d ",page_size, offset)
+    local list = mysqldbx.query(sql)
+    sql = "SELECT   COUNT(*) AS total  FROM pull_data_config2 "
+    local total = mysqldbx.query(sql)
+    return true,list,total[1].total
+end
+
+function M.sync_pull_data_config(msg_body)
+    local sql = "SELECT * FROM pull_data_config2 "
+    local list = mysqldbx.query(sql)
+    skynet.send("backmgr","lua","on_recv",nil,"ws_push_msg",cjson.encode({cmd="updatePullConig2",data=list}))
+    return true,{}
+end
+return M

+ 17 - 0
service/backmgr/pull_data_status2.lua

@@ -0,0 +1,17 @@
+--拉取数据状态
+local M = {}
+local mysqldbx = require "mysqldbx"
+local tools = require "tools"
+local skynet = require "skynet"
+local cjson = require "cjson"
+function M.getRecord(msg_body)
+    local isok ,key =  tools.checkData({"record_date"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    local sql = string.format("SELECT * FROM daily_records2 WHERE record_date = '%s' ",msg_body.record_date)
+    local list = mysqldbx.query(sql)
+    return true,list[1]
+end
+
+return M