具体要求:
PHP源码修改两个地方:
目前源码是购买当天就有返利,改成第二天开始返利。
目前,第二天登录不自动返利,需要后台手动返利,修改成登录自动返利。
代码如下:
/结算会员的分红
function settle_farm_day($userName){
global $db;
$bonusAll = 0;
$now = date(’Y-m-d H:i:s’);
$sql = "select * from `h_member_farm` where h_userName = ’{$userName}’ and h_isEnd = 0 and timestampdiff(day,h_addTime,sysdate()) >= 0 and (timestampdiff(day,h_lastSettleTime,sysdate()) > 0 or h_lastSettleTime is null)";
$query = $db->query($sql);
//遍历
while($rs = $db->fetch_array($query)){
//计算上次结算与今天的时间差(天数)
//如果上次未结算,默认为购买时便已结算(虚拟)
if(is_null($rs[’h_lastSettleTime’])){
$rs[’h_lastSettleTime’] = $rs[’h_addTime’];
}
$dateDiffDay = FDateDiff0($rs[’h_lastSettleTime’],time(),’d’);
//剩余需要结算的天数
$ShengYuDay = $rs[’h_life’] - $rs[’h_settleLen’];//剩余生存天数
if($dateDiffDay > 0 && $dateDiffDay <= $ShengYuDay){
$mustSettleDay = $dateDiffDay;
}elseif($dateDiffDay > 0 && $dateDiffDay > $ShengYuDay){
$mustSettleDay = $ShengYuDay;
}else{
$mustSettleDay = 1;
}
if($mustSettleDay > 0){
//是否死亡
if(($mustSettleDay + $rs[’h_settleLen’]) >= $rs[’h_life’]){
$isEnd = 1;
}else{
$isEnd = 0;
}
//需要结算的元
$mustSettleMoney = $mustSettleDay * intval($rs[’h_point2Day’]) * intval($rs[’h_num’]);
//累加,**一次性发放
$bonusAll += $mustSettleMoney;
//更新为已发放
$sql = "update `h_member_farm` set h_settleLen = h_settleLen + ({$mustSettleDay}),h_lastSettleTime = ’{$now}’,h_isEnd = ’{$isEnd}’ where id = ’{$rs[’id’]}’";
$db->query($sql);
}
联系我时,请说是在 互站网 看到的,谢谢!