This commit is contained in:
hujiabin 2024-08-16 15:45:17 +08:00
parent f8bf1cd1a2
commit de95223e13
7 changed files with 116 additions and 1 deletions

21
doc/Contribution.py Normal file
View File

@ -0,0 +1,21 @@
import _common
class Contribution(object):
def __init__(self):
self.apis = [
{
'name': 'getMyContributionPoint',
'desc': '我的贡献点',
'group': 'Contribution',
'url': 'webapp/index.php?c=Contribution&a=getMyContributionPoint',
'params': [
_common.ReqHead(),
],
'response': [
_common.RspHead(),
['point', 0, '贡献点']
]
},
]

View File

@ -14,6 +14,7 @@ class RspHead(object):
self.fields = [
['errcode', 0, '错误码/0 成功1 失败2余额不足'],
['errmsg', '', '错误描述'],
['contributionPoint', '', '贡献点'],
]
for (key, value) in kwargs.items():
for i in range(0, len(self.fields)):
@ -471,6 +472,7 @@ class GoodsInfo(object):
['gg_product_id', 0, 'ios商品id'],
['bonus', 0, 'bonus'],
['bonus_num', 0, 'bonus_num'],
['function', 0, '购买方式'],
]
class Goods(object):

View File

@ -13,6 +13,7 @@ class BaseController {
private $confDbConn = null;
private $timeOffset = 0;
private $moduleHash = array();
private $contributionPoint = 0;
function __construct()
{
@ -31,6 +32,11 @@ class BaseController {
{
}
public function _giveContributionPoint($point)
{
$this->contributionPoint += $point;
}
public function _getNowTime()
{
return $this->nowtime + $this->timeOffset;
@ -104,6 +110,7 @@ class BaseController {
echo json_encode(array(
'errcode' => $errcode,
'errmsg' => $errmsg,
'contributionPoint' => $this->contributionPoint
));
}
@ -112,6 +119,7 @@ class BaseController {
echo json_encode(array(
'errcode' => 0,
'errmsg' => '',
'contributionPoint' => $this->contributionPoint
));
}
@ -120,6 +128,7 @@ class BaseController {
$rawData = array(
'errcode' => 0,
'errmsg' => '',
'contributionPoint' => $this->contributionPoint
);
foreach ($data as $key => $val) {
$rawData[$key] = $val;

View File

@ -0,0 +1,12 @@
<?php
require_once('models/Contribution.php');
use models\Contribution;
class ContributionController extends BaseAuthedController
{
public function getMyContributionPoint(){
$point = Contribution::find();
$this->_rspData(array('point'=>$point));
}
}

View File

@ -0,0 +1,65 @@
<?php
namespace models;
use mt;
use phpcommon\SqlHelper;
class Contribution extends BaseModel
{
public static function find(){
$row = SqlHelper::ormSelectOne(
myself()->_getSelfMysql(),
't_contribution',
array(
'account_id' => myself()->_getAccountId(),
)
);
if (!$row){
return 0;
}
return $row['ingame_contribution'];
}
public static function add($point){
SqlHelper::upsert(
myself()->_getSelfMysql(),
't_contribution',
array(
'account_id' => myself()->_getAccountId(),
),
array(
'contribution' => function () use ($point){
return "contribution + ${point}";
},
'ingame_contribution' => function () use ($point){
return "ingame_contribution + ${point}";
},
),
array(
'account_id' => myself()->_getAccountId(),
'contribution' => $point,
'ingame_contribution' => $point,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(),
)
);
}
public static function addHistory($gold,$point){
SqlHelper::insert(
myself()->_getSelfMysql(),
't_contribution_history',
array(
'account_id' => myself()->_getAccountId(),
'consume_gold' => $gold,
'contribution' => $point,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(),
)
);
}
}

View File

@ -6,13 +6,18 @@ class ContributionService extends BaseService {
private static $ignoreCa = array(
'BlockChain@mintGoldBullion',
'InGameMall@buyS',
'InGameMall@shoppingCartBuyS',
);
public static function onGoldConsume($params) {
$ca = getReqVal('c', '') . '@' . getReqVal('a');
$ca = getReqVal('c', '') . '@' . getReqVal('a','');
if (array_key_exists($ca, self::$ignoreCa)) {
return;
}
myself()->_giveContributionPoint(round($params/10,2));
myself()->_callModelStatic('Contribution', 'add', round($params/10,2));
myself()->_callModelStatic('Contribution', 'addHistory', $params, round($params/10,2));
}
}

View File

@ -150,6 +150,7 @@ class ShopService {
'ios_product_id' => $goodsMeta['ios_product_id'],
'bonus' => $goodsMeta['bonus'],
'bonus_num' => $goodsMeta['bonus_num'],
'function' => $goodsMeta['function'],
);
}