#!/bin/bash

# 載入 gamerc
source ~/.gamerc

output_filename="/tmp/item2db_diff_monitor.log"

# 台版道具ID與名稱對應
#cat ${WORKING_DIRECTORY}/common-${SOURCE_OF_SYNC_TO_LIVE}/Data/db/S_Item.ini ${WORKING_DIRECTORY}/common-${SOURCE_OF_SYNC_TO_LIVE}/Data/db/S_ItemMall.ini | egrep '^[0-9].*' | awk -F"|" '{if($82=="" || $82=="1") print $1","$10",0"; else print $1","$10","$82;}' | awk -F"," '{if($1 ~ /^[0-9]+$/) {print $0}}' | egrep -v ',$' > /tmp/powerupitem_tw_dos.csv
cat ${WORKING_DIRECTORY}/common-${SOURCE_OF_SYNC_TO_LIVE}/Data/db/S_Item.ini ${WORKING_DIRECTORY}/common-${SOURCE_OF_SYNC_TO_LIVE}/Data/db/S_ItemMall.ini | egrep '^[0-9].*' | awk -F"|" '{if($82=="" || $82=="1") print $1","$10",0"; else print $1","$10","$82;}' | awk -F"," '{if($1 ~ /^[0-9]+$/) {print $0}}' | awk -F"," '{if($2 != "") {print $0;}}' > /tmp/powerupitem_tw_dos.csv
cp -arf /tmp/powerupitem_tw_dos.csv /tmp/powerupitem_tw.csv
dos2unix /tmp/powerupitem_tw.csv
sed $'s/\r//' -i /tmp/powerupitem_tw.csv

# 台版道具對應 CSV 同步到 Ctrl 機, 並更新到 powerupitem
rsync -avz /tmp/powerupitem_tw.csv ctrl:/tmp

ssh ctrl "psql -U postgres WebTool -c \"CREATE TABLE IF NOT EXISTS powerupitem (item_id integer primary key, itemname text, stackable_count integer)\""
ssh ctrl "psql -U postgres WebTool -c \"CREATE TABLE IF NOT EXISTS powerupitem_old (item_id integer primary key, itemname text, stackable_count integer)\""
ssh ctrl "psql -U postgres WebTool -c \"TRUNCATE powerupitem_old\""
ssh ctrl "psql -U postgres WebTool -c \"INSERT INTO powerupitem_old SELECT item_id, itemname, stackable_count FROM powerupitem ORDER BY item_id\""
ssh ctrl "psql -U postgres WebTool -c \"TRUNCATE powerupitem\""
ssh ctrl "psql -U postgres WebTool -c \"COPY powerupitem (item_id,itemname,stackable_count) FROM '/tmp/powerupitem_tw.csv' csv\""

CHECK=$(ssh ctrl "psql -U postgres WebTool -c \"COPY (SELECT COUNT(*) FROM powerupitem_old WHERE item_id NOT IN (SELECT item_id FROM powerupitem)) TO STDOUT;\"")
if [ "${CHECK}" -gt 0 ]; then
	ssh ctrl "psql -U postgres WebTool -c \"COPY (SELECT item_id FROM powerupitem_old WHERE item_id NOT IN (SELECT item_id FROM powerupitem) ORDER BY item_id) TO '${output_filename}' HEADER CSV\""
	rsync -avz ctrl:${output_filename} /tmp/

	LOG_SIZE=$(stat --printf="%s" ${output_filename})
	if [ "${LOG_SIZE}" -gt 0 ]; then
        	send_messages WARNING item2db_diff "S_Item.ini S_ItemMall.ini 道具拔除確認"
	fi
fi
