904118851 hai 3 meses
pai
achega
3b391fd783

+ 52 - 4
common/dbproxy/tg_main.lua

@@ -64,7 +64,7 @@ end
 
 function M.search(msg_body)
 
-    local isok ,key =  tools.checkData({"tg_day","id","ads_operation_status","statistics_platform_id","converted_time_duration","cbo_status","project_type","oce_product_id",
+    local isok ,key =  tools.checkData({"parent_main_id","tg_day","id","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 parent_main_id_param = ""
+    if msg_body.parent_main_id~="" then
+        parent_main_id_param =  " AND parent_main_id = "..msg_body.parent_main_id
+    end
+
     local tg_day_param = ""
     if msg_body.tg_day~="" then
         tg_day_param =  " AND tg_day = "..msg_body.tg_day
@@ -209,7 +214,7 @@ function M.search(msg_body)
     --     genre_param =  string.format(" AND genre = %d ",msg_body.genre) 
     -- end
 
-    local param = tg_day_param..id_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 param = parent_main_id_param..tg_day_param..id_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)
@@ -232,13 +237,14 @@ end
 -- `daily_new_limit` int DEFAULT '0' COMMENT '今天新上数量上限',
 
 function M.addMain(msg_body)
-    local isok ,key =  tools.checkData({"valid_timer_like_num","tg_day","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)
+    local isok ,key =  tools.checkData({"parent_main_id","valid_timer_like_num","tg_day","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` (valid_timer_like_num,tg_day,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 (%d,%d,'%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')",
+    local sql = string.format("INSERT INTO `tg_main` (parent_main_id,valid_timer_like_num,tg_day,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 (%d,%d,%d,'%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.parent_main_id,
     msg_body.valid_timer_like_num,
     msg_body.tg_day,
     msg_body.ads_operation_status,
@@ -303,6 +309,9 @@ function M.addMain(msg_body)
     msg_body.group_id)
     skynet.error(sql)
     tools.dump(mysqldbx.query(sql))
+    if msg_body.parent_main_id ~= 0 then
+        M.updateParentMain(msg_body.parent_main_id)
+    end
     skynet.send("backmgr","lua","on_recv",nil,"ws_push_msg",cjson.encode({cmd="updateMainConfig"}))
     -- pushAddMainMsg(msg_body)
     return true
@@ -317,6 +326,16 @@ function M.syncMain(msg_body)
     local res = mysqldbx.query(sql)
     res[1].min_stat_cost = msg_body.min_stat_cost
     res[1].max_stat_cost = msg_body.max_stat_cost
+
+    res[1].start_publish_time = ""
+    res[1].end_publish_time = ""
+    if msg_body.start_publish_time~="" and msg_body.start_publish_time~=nil then
+        res[1].start_publish_time = msg_body.start_publish_time
+    end
+    if msg_body.end_publish_time~="" and msg_body.end_publish_time~=nil then
+        res[1].end_publish_time = msg_body.end_publish_time
+    end
+    
     syncMainAppletProduct(res[1])
     return true,{}
 end
@@ -649,6 +668,35 @@ function M.search_info_by_tg_app_index(msg_body)
     return true,res
 end
 
+function M.updateParentMain(parent_main_id)
+    local sql = string.format("select * from `tg_main` where id = '%s'  LIMIT 1 ",parent_main_id)
+    local res = mysqldbx.query(sql)
+    local main_info = nil
+    if #res>0 then
+        main_info = res[1]
+    end
+
+    if main_info~=nil then
+        sql = string.format("select * from `tg_main` where parent_main_id = %d LIMIT 500 ",parent_main_id)
+        res = mysqldbx.query(sql)
+        local child_list = nil
+        local id_list = {}
+        if #res>0 then
+            child_list = res
+            for i = 1, #child_list, 1 do
+                table.insert(id_list,i,child_list[i].id)
+            end
+        end
+
+        if child_list ~= nil then
+            local idString = table.concat(id_list, ",")
+            sql = string.format("UPDATE `tg_main` SET child_main_list = '%s' WHERE id = %d ",idString,parent_main_id)
+            mysqldbx.query(sql)
+        end
+    end
+
+end
+
 function mysqldtaskbx.start()
     local function on_connect(db)
         db:query("set charset utf8mb4");

+ 9 - 1
service/backmgr/video_applet_product.lua

@@ -147,6 +147,7 @@ end
 --dy_small_applet_app_id 小程序ID
 function M.search_app_book_data(msg_body)
     local isok ,key =  tools.checkData({
+    "error_info",
     "status",
     "product_name",
     "product_id",
@@ -172,6 +173,13 @@ function M.search_app_book_data(msg_body)
     local page_size = msg_body.page_size
     local page_number = msg_body.page_number
     local offset = (page_number - 1) * page_size
+
+    local error_info_param = ""
+    if msg_body.error_info~="" then
+        local searchTerm = string.gsub(msg_body.error_info, "%%", "\\%%")
+        error_info_param = string.format("  AND error_info LIKE CONCAT('%%', '%s', '%%')  ",searchTerm)
+    end
+
     local product_param = ""
     if msg_body.product_id~="" then
         product_param =string.format(" AND product_id = '%s' ",msg_body.product_id)
@@ -199,7 +207,7 @@ function M.search_app_book_data(msg_body)
         status_param = " AND status = "..msg_body.status.." "
     end
 
-    local param = product_param..product_name_param..tg_platform_param..main_param..app_param..status_param;
+    local param = error_info_param..product_param..product_name_param..tg_platform_param..main_param..app_param..status_param;
 
 
     local sql = "SELECT * FROM "..table_name.." WHERE 1=1 "..param.." ORDER BY id DESC "..string.format(" LIMIT %d OFFSET %d ",page_size, offset)

+ 42 - 2
service/backmgr/video_product.lua

@@ -32,6 +32,8 @@ end
 
 function M.search_book_data_on_main(msg_body)
     local isok ,key =  tools.checkData({
+    "start_publish_time",
+    "end_publish_time",
     "alias_name",
     "product_name",
     "product_id",
@@ -50,6 +52,10 @@ function M.search_book_data_on_main(msg_body)
     local page_number = msg_body.page_number
     local offset = (page_number - 1) * page_size
 
+    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 stat_cost_param = ""
     if msg_body.min_stat_cost~="" and msg_body.max_stat_cost~="" then
@@ -88,7 +94,7 @@ function M.search_book_data_on_main(msg_body)
         alias_name_param = string.format(" AND  ( alias_name LIKE CONCAT( '%%%s%%')) ",msg_body.alias_name)
     end
 
-    local param = stat_cost_param..product_param..product_name_param..tg_platform_param..is_auto_param..is_store_param..genre_param..alias_name_param;
+    local param = date_param..stat_cost_param..product_param..product_name_param..tg_platform_param..is_auto_param..is_store_param..genre_param..alias_name_param;
 
     local sql = "SELECT * FROM video_product where 1=1 "..param..string.format(" LIMIT %d OFFSET %d ",page_size, offset)
     
@@ -107,6 +113,7 @@ end
 --product_name 书名
 function M.search_book_data(msg_body)
     local isok ,key =  tools.checkData({
+        "is_top",
         "status",
         "start_publish_time",
         "end_publish_time",
@@ -127,6 +134,10 @@ function M.search_book_data(msg_body)
         local page_number = msg_body.page_number
         local offset = (page_number - 1) * page_size
     
+        local is_top_param = ""
+        if msg_body.is_top~="" then
+            is_top_param = string.format(" AND is_top = %d ",msg_body.is_top)
+        end
 
         local status_param = ""
         if msg_body.status~="" then
@@ -188,7 +199,7 @@ function M.search_book_data(msg_body)
             alias_name_param = string.format(" AND  ( alias_name LIKE CONCAT( '%%%s%%')) ",msg_body.alias_name)
         end
     
-        local param = status_param..date_param..product_param..product_name_param..tg_platform_param..is_auto_param..is_store_param..genre_param..alias_name_param;
+        local param = is_top_param..status_param..date_param..product_param..product_name_param..tg_platform_param..is_auto_param..is_store_param..genre_param..alias_name_param;
     
 
         local up_down_param = ""
@@ -272,6 +283,35 @@ function M.set_status(msg_body)
     return true, {}
 end
 
+--设置书优先级
+function M.set_top(msg_body)
+    local isok ,key =  tools.checkData({"expired_time","id_list"},msg_body)
+    if not isok then
+        return false,string.format("缺少字段: %s.", key)
+    end
+    -- local current_time = os.date("%Y-%m-%d %H:%M:%S")
+    local sql  = ""
+    local isok,res;
+    for i = 1, #msg_body.id_list, 1 do
+        local id = msg_body.id_list[i]
+        sql = string.format("SELECT * FROM video_product where id = %d ", id)
+        res = mysqldtaskbx.Singleton().query(sql)
+        if #res >0 then
+            local publish_time = res[1].publish_time
+            local y_publish_time = res[1].y_publish_time
+            if y_publish_time~=nil then
+                publish_time = y_publish_time
+            end
+            sql = string.format("UPDATE  video_product SET is_top = 1 , expired_time = '%s' , y_publish_time = '%s' WHERE id = %d ",msg_body.expired_time,publish_time,id)
+            mysqldtaskbx.Singleton().query(sql)
+        end
+     end
+    -- local idString = table.concat(msg_body.id_list, ",")
+    -- local sql = string.format("UPDATE  video_product SET is_top = 1 , expired_time = '%s' WHERE id IN (%s) ",msg_body.expired_time,idString)
+    -- mysqldtaskbx.Singleton().query(sql)
+    return true, {}
+end
+
 function mysqldtaskbx.start()
     local function on_connect(db)
         db:query("set charset utf8mb4");