浏览代码

添加game测试邮件, 修改刷表结构

gwang 4 年之前
父节点
当前提交
8a50371f49

+ 5 - 0
Gameserver/Amfphp/base/CmdCode.php

@@ -664,6 +664,11 @@ class CmdCode {
      * [6706] 请求邮件未处理的数量(未打开邮件时检查邮件图标应该提示啥)
      */
     const cmd_mail_notReadMailNum = 6706;
+
+    /**
+     * [6707] 发送测试用道具
+     */
+    const cmd_mail_sendTestItems = 6707;
 //    const
 // </editor-fold>    
     //

+ 1 - 1
Gameserver/Amfphp/model/Const/GameConfig.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-03 09:56:54
+ // 日期: 2020-09-17 16:40:42
 ////////////////////
 
 /**

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_gate.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:00:29
+ // 日期: 2020-09-17 13:43:50
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_gate_combat.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:33:56
+ // 日期: 2020-09-11 10:02:26
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_gate_world.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:00:34
+ // 日期: 2020-09-11 10:01:57
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_gatelevel.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:34:40
+ // 日期: 2020-09-17 15:13:22
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_item_base.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:00:42
+ // 日期: 2020-09-09 11:42:15
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_item_yanling.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:00:45
+ // 日期: 2020-09-09 11:43:08
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_item_yanlingbook.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:00:46
+ // 日期: 2020-09-08 13:34:24
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_yanling_upgrade.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2020-09-02 18:01:00
+ // 日期: 2020-09-17 15:11:21
 ////////////////////
 
 

+ 27 - 0
Gameserver/Amfphp/process/EmailProc.php

@@ -65,6 +65,8 @@ class EmailProc {
                 return EmailProc::DelReadedEmail($req);
             case CmdCode::cmd_mail_notReadMailNum:                              # 6706 请求邮件未处理的数量
                 return EmailProc::queryNotReadEmails($req);
+            case CmdCode::cmd_mail_sendTestItems:                               # 6707 发放测试用道具邮件
+                return self::SendTestItems($req);
             default:
                 return Resp::err(ErrCode::cmd_err);
         }
@@ -72,6 +74,18 @@ class EmailProc {
 
 // <editor-fold defaultstate="collapsed" desc="   API   ">
 
+    /**
+     * 6707  发放测试用道具
+     * @param req $req
+     */
+    static function SendTestItems($req) {
+//        Err(ErrCode::err_method_obsoleted, "此功能仅测试期间可用");
+        list($itemId, $num) = $req->paras;
+        self::SendTestItemsMail($req->zoneid, $req->uid, $itemId, $num);
+        $mails = self::getMailQueue($req->zoneid, $req->uid);                   # 拉取邮件列表
+        return Resp::ok(array('mailQueue' => $mails));
+    }
+
     /**
      * 【6706】查询未处理邮件数量
      * @param req $req
@@ -307,6 +321,19 @@ class EmailProc {
         self::InsertMail($zoneid, $uid, $mail);
     }
 
+    /**
+     * 测试道具邮件
+     * @param type $zoneid
+     * @param type $uid
+     * @param type $itemid
+     * @param type $num
+     */
+    public static function SendTestItemsMail($zoneid, $uid, $itemid, $num) {
+        $mail = new EmailModel(null, enum_Mail_Type::SysTemMail, "内部测试-道具发放邮件", #
+                "请领取", "$itemid, $num");
+        self::InsertMail($zoneid, $uid, $mail);
+    }
+
 // </editor-fold>
 //
 // <editor-fold defaultstate="collapsed" desc="   公会邮件   ">

+ 20 - 4
Gameserver/Amfphp/service_call/pay/samsung/config_sanxing.php

@@ -19,6 +19,7 @@ class config_sanxing {
      */
     public $sanxing_api_trade = 'http://siapcn1.ipengtai.com:7002/payapi/order';
 //put your code here
+
     /**
      * @var string sanxing 后台应用ID
      */
@@ -161,14 +162,29 @@ class config_sanxing {
      * $vkey  cp私钥,格式化之前的私钥
      * return 返回组装后的报文
      */
-    function composeReq($reqJson) {
-        $content = json_encode($reqJson);                       //获取待签名字符串
-        $vkey = self::formatPriKey($this->cpvkey);              //格式化key,建议将格式化后的key保存,直接调用
-        $sign = self::sign($content, $vkey);                    //生成签名
+    function composePayReq($reqJson) {
+        $content = json_encode($reqJson);                                       # 获取待签名字符串
+        $vkey = self::formatPriKey($this->cpvkey);                              # 格式化key,建议将格式化后的key保存,直接调用
+        $sign = self::sign($content, $vkey);                                    # 生成签名
         $reqData = "transdata=" . urlencode($content) . "&sign=" . urlencode($sign) . "&signtype=RSA"; //组装请求报文,目前签名方式只支持RSA这一种s
         return $reqData;
     }
 
+    /**
+     * 组装request报文
+     * $reqJson 需要组装的json报文
+     * $vkey  cp私钥,格式化之前的私钥
+     * return 返回组装后的报文
+     */
+    function composeReq($data) {
+        $vkey = self::formatPriKey($this->cpvkey);                              # 格式化key,建议将格式化后的key保存,直接调用
+        ksort($data);
+        $content = loyalsoft\HttpUtil::makeQueryString($data);
+        $sign = self::sign($content, $vkey);                                    # 生成签名
+        $reqData = $content . "&sign=" . urlencode($sign);                      # 组装请求报文,目前签名方式只支持RSA这一种s
+        return $reqData;
+    }
+
     /**
      * 解析response报文
      * $content  收到的response报文

+ 1 - 1
Gameserver/Amfphp/service_call/pay/samsung/pay.php

@@ -40,7 +40,7 @@ if ($req->InserDataBase()) {
         'notifyurl' => $req->notifyUrl, #                                       # 支付结果通知地址
         'cpprivateinfo' => $req->callbackInfo   #                               # 透传参数
     );
-    $reqData = $cfg->composeReq($params);                                       # 组装请求报文
+    $reqData = $cfg->composePayReq($params);                                       # 组装请求报文
     $resp = HttpUtil::makeRequest($cfg->sanxing_api_trade, $reqData);           # 创建订单
     if ($resp['result']) {
 //        var_dump($resp);

+ 43 - 4
Gameserver/Amfphp/test.php

@@ -8,9 +8,48 @@ include __DIR__ . '/main.php';
 //set_time_limit(15);                                                           # 设置执行超时时间
 echoLine("phpver:" . PHP_VERSION);
 
-echoLine(intval(4.16));
+/**
+ * 从参数构造请求串
+ * @param type $params  如果是字符串直接返回,(关联)数组或者object(仅取public字段)
+ * @return string 编码规范-RFC3986
+ */
+function makeQueryString2($params) {
+    if (is_string($params)) {
+        return $params;
+    }
+    return http_build_query($params, "", '&', PHP_QUERY_RFC3986);           # 3986
+}
 
+function makeQueryString($params) {
+    if (is_string($params)) {
+        return $params;
+    }
+    $querys = array();
+    foreach ($params as $key => $value) {
+        array_push($querys, rawurlencode($key) . '=' . rawurlencode($value));
+    }
+    $query_string = join('&', $querys);
+    return $query_string;
+}
 
-var_dump(date("d"));
-var_dump(date("N"));
-var_dump(3600 * 24 * (tsDay() + 1));
+$data = array('uid' => "1234567-ylsj",
+    'name' => "王刚",
+);
+
+test(function() {
+    makeQueryString($data);
+});
+test(function() {
+    makeQueryString2($data);
+});
+test(function() {
+    makeQueryString($data);
+});
+test(function() {
+    makeQueryString2($data);
+});
+
+$str = makeQueryString($data);
+
+var_dump(makeQueryString($str));
+var_dump(makeQueryString2($str));