lt 6 днів тому
батько
коміт
e98ee7bf23
2 змінених файлів з 74 додано та 20 видалено
  1. 11 0
      csv_ru/RuneShopGiftsCfg.csv
  2. 63 20
      jenkins/select_pay_user_all.sh

+ 11 - 0
csv_ru/RuneShopGiftsCfg.csv

@@ -73,3 +73,14 @@ int,string,int,float,list,list,list,int,int,int,string
 204,Mvp自選卡禮包1,6,7500,20007:1,,,9999,4,,
 205,Mvp自選卡禮包2,6,7500,20008:1,,,9999,5,,
 206,寵物豪華禮包,6,8000,20009:1,,,9999,6,,
+301,499代金券,4,4.99,40001:499,,,9999,1,,com.ro.web.1
+302,1049代金券,4,9.99,40001:1049,,,9999,2,,com.ro.web.2
+303,1604代金券,4,14.99,40001:1604,,,9999,3,,com.ro.web.3
+304,2199代金券,4,19.99,40001:2199,,,9999,4,,com.ro.web.4
+305,3299代金券,4,29.99,40001:3299,,,9999,5,,com.ro.web.5
+306,5599代金券,4,49.99,40001:5599,,,9999,6,,com.ro.web.6
+307,11499代金券,4,99.99,40001:11499,,,9999,7,,com.ro.web.7
+308,17400代金券,4,150,40001:17400,,,9999,8,,com.ro.web.8
+309,35400代金券,4,300,40001:35400,,,9999,9,,com.ro.web.9
+310,60000代金券,4,500,40001:60000,,,9999,10,,com.ro.web.10
+311,125000代金券,4,1000,40001:125000,,,9999,11,,com.ro.web.11

+ 63 - 20
jenkins/select_pay_user_all.sh

@@ -1,41 +1,84 @@
 #!/bin/bash
 
 # MySQL 连接配置
-MYSQL_USER="root"      # 替换为你的数据库用户名
-MYSQL_PASSWORD="123456"   # 替换为你的数据库密码
-MYSQL_HOST="127.0.0.1"            # 替换为数据库地址,如 127.0.0.1
+MYSQL_USER="root"
+MYSQL_PASSWORD="123456"
+MYSQL_HOST="127.0.0.1"
 
 # 获取所有以 'ro' 开头的数据库
-DATABASES=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -e "SHOW DATABASES LIKE 'ro%';" -s -N)
+DATABASES=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -e "SHOW DATABASES LIKE 'ro%';" -s -N 2>/dev/null)
 
 TOTAL_RMB=0
 TOTAL_ROLE=0
+TOTAL_LOGIN_3DAYS=0
 
-echo "开始查询所有 ro* 数据库的统计信息(全部数据)..."
+echo "开始查询所有 ro* 数据库的统计信息..."
+echo "========================================"
 
-# 遍历每个数据库
 for DB in $DATABASES; do
-    echo "数据库: $DB"
+    # 提取数据库编号(去掉 ro 前缀)
+    DB_NUM=${DB#ro}
+
+    # 根据映射规则计算区服编号
+    case $DB_NUM in
+        1)
+            SERVER_ID=1
+            ;;
+        2)
+            SERVER_ID=6
+            ;;
+        3)
+            SERVER_ID=2
+            ;;
+        4)
+            SERVER_ID=7
+            ;;
+        5)
+            SERVER_ID=3
+            ;;
+        6)
+            SERVER_ID=8
+            ;;
+        7)
+            SERVER_ID=4
+            ;;
+        8)
+            SERVER_ID=9
+            ;;
+        9)
+            SERVER_ID=5
+            ;;
+        *)
+            # 10 及以上,区服编号等于数据库编号
+            SERVER_ID=$DB_NUM
+            ;;
+    esac
+
+    echo "数据库: $DB (区服: ${SERVER_ID}服)"
+
+    # 查询1: 所有 RMB 总和
+    SUM_RMB=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -D $DB -e "SELECT COALESCE(SUM(rmb), 0) FROM role_order_list;" -s -N 2>/dev/null)
 
-    # 查询1: 所有 RMB 总和(去掉日期条件)
-    SQL1="SELECT COALESCE(SUM(rmb), 0) FROM role_order_list;"
-    SUM_RMB=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -D $DB -e "$SQL1" -s -N 2>/dev/null)
+    # 查询2: 所有角色数量
+    COUNT_ROLE=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -D $DB -e "SELECT COALESCE(COUNT(*), 0) FROM role;" -s -N 2>/dev/null)
 
-    # 查询2: 所有角色数量(去掉日期条件)
-    SQL2="SELECT COALESCE(COUNT(*), 0) FROM role;"
-    COUNT_ROLE=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -D $DB -e "$SQL2" -s -N 2>/dev/null)
+    # 查询3: 最近三天登录人数(使用 uid 作为唯一标识)
+    COUNT_LOGIN_3DAYS=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -D $DB -e "SELECT COALESCE(COUNT(DISTINCT uid), 0) FROM role WHERE last_login_date >= DATE_SUB(NOW(), INTERVAL 3 DAY);" -s -N 2>/dev/null)
 
-    # 显示当前数据库的两个统计值
-    echo "  - 总充值金额(美元): $SUM_RMB"
-    echo "  - 总角色数量: $COUNT_ROLE"
+    # 显示当前数据库的统计值
+    echo "  - 总充值金额(美元): ${SUM_RMB:-0}"
+    echo "  - 总角色数量: ${COUNT_ROLE:-0}"
+    echo "  - 最近三天登录人数: ${COUNT_LOGIN_3DAYS:-0}"
     echo ""
 
-    # 分别累加到对应的总和
-    TOTAL_RMB=$((TOTAL_RMB + SUM_RMB))
-    TOTAL_ROLE=$((TOTAL_ROLE + COUNT_ROLE))
+    # 累加对应的总和
+    TOTAL_RMB=$((TOTAL_RMB + ${SUM_RMB:-0}))
+    TOTAL_ROLE=$((TOTAL_ROLE + ${COUNT_ROLE:-0}))
+    TOTAL_LOGIN_3DAYS=$((TOTAL_LOGIN_3DAYS + ${COUNT_LOGIN_3DAYS:-0}))
 done
 
 echo "========================================"
 echo "汇总结果:"
 echo "所有 ro* 数据库的总充值金额(美元): $TOTAL_RMB"
-echo "所有 ro* 数据库的总角色数量: $TOTAL_ROLE"
+echo "所有 ro* 数据库的总角色数量: $TOTAL_ROLE"
+echo "所有 ro* 数据库的最近三天总登录人数: $TOTAL_LOGIN_3DAYS"