File: /var/www/dk/wp-content/themes/food/Business/RankingBs.php
<?php
class RankingBs
{
public $FoodActivityObj = null;
public $FoodActivityPlayerObj = null;
public $FoodActivityVoteObj = null;
public function __construct()
{
$this->FoodActivityObj = new FoodActivityModel();
$this->FoodActivityPlayerObj = new FoodActivityPlayerModel();
$this->FoodActivityVoteObj = new FoodActivityVoteModel();
}
//投票
public function UpdatePlayerScore($data, $debug = false)
{
$activity_id = $data['activity_id'];
$user_id = $data['user_id'];
$player_id = $data['player_id'];
$outObj = new stdClass();
$userVoteNum = $this->FoodActivityVoteObj->getCountActivityVote($this->FoodActivityVoteObj->tableName, 'activity_id', $activity_id, 'user_id', $user_id, 'player_id', $player_id, $debug);
if ($userVoteNum >= 1) {
// $outObj->rc = 7;
// $outObj->msg = '用户在活动中已为该项目投票';
// return $outObj;
//比赛
$res = $this->FoodActivityObj->reduceActivityScore($activity_id, $debug);
//比赛记录
$this->FoodActivityVoteObj->delFoodActivityVote($data, $debug);
//比赛项目
$player_score = $this->FoodActivityPlayerObj->getSingleCommon($this->FoodActivityPlayerObj->tableName, 'score', 'aid', $activity_id, 'id', $player_id, $debug);
if ($player_score > 0) {
$this->FoodActivityPlayerObj->reducePlayerScore($activity_id, $player_id, $debug);
}
$outObj->rc = ApiErrorDesc::SUCCESS[0];
$outObj->msg = ApiErrorDesc::SUCCESS[1] . ' 减去投票成功';
} else {
// $outObj->rc = ApiErrorDesc::SUCCESS[0];
// $outObj->msg = ApiErrorDesc::SUCCESS[1] . '用户可投票';
//增加比赛投票
$outObj = $this->addActivityVote($data, $debug);
}
// $userActivityVoteNum = $this->FoodActivityVoteObj->getCountCommon3($this->FoodActivityVoteObj->tableName, 'activity_id', $activity_id, 'user_id', $user_id, $debug);
//
// if ($debug) {
// echo '$userActivityVoteNum -> ' . $userActivityVoteNum . PHP_EOL;
// }
//
// if ($userActivityVoteNum < 10) {
// $outObj = $this->addActivityVote($data, $debug);
// } else {
// $outObj->rc = 5;
// $outObj->msg = '用户在活动中已投票10票';
// }
return $outObj;
}
/**
* 檢測 是否已投票
*/
public function CheckVote($data, $debug = false)
{
$activity_id = $data['activity_id'];
$user_id = $data['user_id'];
$player_id = $data['player_id'];
$outObj = new stdClass();
$userVoteNum = $this->FoodActivityVoteObj->getCountActivityVote($this->FoodActivityVoteObj->tableName, 'activity_id', $activity_id, 'user_id', $user_id, 'player_id', $player_id, $debug);
if ($userVoteNum >= 1) {
$outObj->rc = ApiErrorDesc::VOTE_HAD[0];
$outObj->msg = ApiErrorDesc::VOTE_HAD[1];
} else {
$outObj->rc = ApiErrorDesc::VOTE_NO[0];
$outObj->msg = ApiErrorDesc::VOTE_NO[1];
}
return $outObj;
}
/**
* 增加比赛投票
* @param $data
* @param $debug
* @return stdClass
*/
public function addActivityVote($data, $debug = false)
{
$outObj = new stdClass();
$activity_id = $data['activity_id'];
// $user_id = $data['user_id'];
$player_id = $data['player_id'];
$playerNum = $this->FoodActivityPlayerObj->getCountCommon2($this->FoodActivityPlayerObj->tableName, 'aid', $activity_id, 'id', $player_id, $debug);
if ($debug) {
echo '$playerNum -> ' . $playerNum . PHP_EOL;
}
if ($playerNum == 0) {
$outObj->rc = 6;
$outObj->msg = '投票用户不存在';
} else {
//比赛
$res = $this->FoodActivityObj->increaseActivityScore($activity_id, $debug);
//比赛项目
$res2 = $this->FoodActivityPlayerObj->increasePlayerScore($activity_id, $player_id, $debug);
//投票记录
$res3 = $this->FoodActivityVoteObj->setFoodActivityVote('add', $data, $debug);
if ($res && $res2 && $res3) {
$outObj->rc = ApiErrorDesc::SUCCESS[0];
$outObj->msg = ApiErrorDesc::SUCCESS[1];
} else {
$outObj->rc = ApiErrorDesc::ERR_DONE[0];
$outObj->msg = ApiErrorDesc::ERR_DONE[1];
}
}
return $outObj;
}
/**
* @param $data
* @return stdClass
*/
public function getFoodActivityPlayerInfoByPage($where, $data, $debug = false)
{
$infoCount = $this->FoodActivityPlayerObj->getCountByPage($where, $data, $debug);
if ($debug) {
echo '$infoCount ' . $infoCount;
}
$outputArr = [];
if ($infoCount > 0) {
$infoArr = $this->FoodActivityPlayerObj->getInfoByPage($where, $data, $debug);
// print_r($infoArr);
$outputArr = $this->outputFoodActivityPlayerFunc($infoArr, $data, $debug);
}
$outObj = new stdClass();
if ($infoCount == 0) {
$outObj->rc = ApiErrorDesc::ERR_NODATA[0];
$outObj->msg = ApiErrorDesc::ERR_NODATA[1];
} else {
$outObj->rc = ApiErrorDesc::SUCCESS[0];
$outObj->msg = ApiErrorDesc::SUCCESS[1];
}
$outObj->total = strval($infoCount);
$outObj->pageNum = strval($where['pageNum']);
$outObj->pageSize = strval($where['pageSize']);
$outObj->dataList = $outputArr;
return $outObj;
}
/**
* 文章输出
* @param $infoArr
* @param $data
* @param false $debug
*/
public function outputFoodActivityPlayerFunc($infoArr, $data, $debug = false)
{
if ($debug) {
print_r($infoArr);
}
$outputArr = [];
foreach ($infoArr as $item) {
// print_r($item);
$user_id = $item->user_id;
$wp_user_avatar_id = '0';
$wp_user_display_name = '';
$wp_user_avatar_url = '';
if ($user_id > 0) {
$wp_user_display_name = get_user_meta($user_id, 'wp_user_display_name', true);
$wp_user_avatar_id = get_user_meta($user_id, 'wp_user_avatar_id', true);
$wp_user_avatar_url = get_user_meta($user_id, 'wp_user_avatar_url', true);
if ($wp_user_display_name == '') {
$thisUser = get_userdata(intval($user_id));
// print_r($thisUser);
$display_name = '';
if(isset($thisUser->display_name)){
$wp_user_display_name = $display_name = $thisUser->display_name;
}
if ($display_name == '') {
$wp_user_display_name = $thisUser->user_login;
}
}
}
$item->wp_user_avatar_id = $wp_user_avatar_id;
$item->wp_user_display_name = $wp_user_display_name;
$item->wp_user_avatar_url = $wp_user_avatar_url == '' ? 'http://dk.smart1space.site/wp-content/themes/food/food-app/img/user.png' : $wp_user_avatar_url;
$outputArr[] = $item;
// $itemArr = array(
// 'id' => $item->id,
// 'post_id' => $item->id,
// 'post' => $item,
//
// 'cat' => $item->cat,
//
// 'author' => $item->author,
// 'teacher_info' => $tang_teacher_arr[$item->author],
//
// 'title' => $item->title,
// 'content' => $item->content,
//
// 'img1' => $img1,
// 'img1_url' => $img1_url,
//
// 'post_money' => $post_money,
// 'post_set_money' => $post_money,
// 'original_price' => $original_price,
//
// 'bought' => $bought,
//
// 'status' => $item->status,
// 'mtime' => $item->mtime, // H:i:s
//
// );
}
return $outputArr;
}
/**
* 活动
* @param $data
* @return stdClass
*/
public function getActivityListInfoByPage($where, $data, $debug = false)
{
$infoCount = $this->FoodActivityObj->getCountByPage($where, $data, $debug);
if ($debug) {
echo '$infoCount ' . $infoCount;
}
$outputArr = [];
if ($infoCount > 0) {
$infoArr = $this->FoodActivityObj->getInfoByPage($where, $data, $debug);
// print_r($infoArr);
$outputArr = $this->outputActivityFunc($infoArr, $data, $debug);
}
$outObj = new stdClass();
if ($infoCount == 0) {
$outObj->rc = ApiErrorDesc::ERR_NODATA[0];
$outObj->msg = ApiErrorDesc::ERR_NODATA[1];
} else {
$outObj->rc = ApiErrorDesc::SUCCESS[0];
$outObj->msg = ApiErrorDesc::SUCCESS[1];
}
$outObj->total = strval($infoCount);
$outObj->pageNum = strval($where['pageNum']);
$outObj->pageSize = strval($where['pageSize']);
$outObj->dataList = $outputArr;
return $outObj;
}
/**
* 活动输出
* @param $infoArr
* @param $data
* @param false $debug
*/
public function outputActivityFunc($infoArr, $data, $debug = false)
{
if ($debug) {
print_r($infoArr);
}
$outputArr = [];
foreach ($infoArr as $item) {
$outputArr[] = $item;
// $itemArr = array(
// 'id' => $item->id,
// 'post_id' => $item->id,
// 'post' => $item,
//
// 'status' => $item->status,
// 'mtime' => $item->mtime, // H:i:s
//
// );
}
return $outputArr;
}
/**
* 设置活动
* @param $action
* @param $data
* @param $debug
* @return stdClass
*/
public function setActivity($action, $data, $debug = false)
{
$outObj = new stdClass();
$outObj->rc = ApiErrorDesc::ERR_DONE[0];
$outObj->msg = ApiErrorDesc::ERR_DONE[1];
$res = false;
if ($action == 'add' || ($action == 'update')) {
$res = $this->FoodActivityObj->setFoodActivity($action, $data, $debug);
if ($action == 'add') {
$outObj->id = $res;
}
} elseif ($action == 'del') {
$resCount = $this->FoodActivityObj->getCountCommon($this->FoodActivityObj->tableName, 'id', $data['id'], '1', '1', $debug);
if ($resCount > 0) {
$res = $this->FoodActivityObj->setFoodActivity('del', $data, $debug);
}
}
if ($res) {
$outObj->rc = ApiErrorDesc::SUCCESS[0];
$outObj->msg = ApiErrorDesc::SUCCESS[1];
}
return $outObj;
}
/**
* 设置活动
* @param $action
* @param $data
* @param $debug
* @return stdClass
*/
public function setActivityPlayer($action, $data, $debug = false)
{
$outObj = new stdClass();
$outObj->rc = ApiErrorDesc::ERR_DONE[0];
$outObj->msg = ApiErrorDesc::ERR_DONE[1];
$res = false;
if ($action == 'add') {
$refRes = $this->getActivityPlayerRef($data['aid'], $debug);
$data['ref'] = '0001';
if ($refRes->rc == ApiErrorDesc::SUCCESS[0]) {
$data['ref'] = $refRes->ref;
}
$res = $this->FoodActivityPlayerObj->setFoodActivityPlayer($action, $data, $debug);
$outObj->id = $res;
} elseif ($action == 'update') {
$res = $this->FoodActivityPlayerObj->setFoodActivityPlayer($action, $data, $debug);
} elseif ($action == 'del') {
$resCount = $this->FoodActivityPlayerObj->getCountCommon($this->FoodActivityPlayerObj->tableName, 'id', $data['id'], '1', '1', $debug);
if ($resCount > 0) {
$res = $this->FoodActivityPlayerObj->setFoodActivityPlayer('del', $data, $debug);
}
}
if ($res) {
$outObj->rc = ApiErrorDesc::SUCCESS[0];
$outObj->msg = ApiErrorDesc::SUCCESS[1];
}
return $outObj;
}
/**
* 获取活动用户 编号
* @param $aid
* @param $debug
* @return stdClass
*/
public function getActivityPlayerRef($aid, $debug = false)
{
$outObj = new stdClass();
$outObj->rc = ApiErrorDesc::ERR_PARAMS[0];
$outObj->msg = ApiErrorDesc::ERR_PARAMS[1];
$outObj->ref = '0000';
$resCount = $this->FoodActivityObj->getCountCommon($this->FoodActivityObj->tableName, 'id', $aid, '1', '1', $debug);
// echo '$resCount -> ' . $resCount . PHP_EOL;
if ($resCount == 0) {
$outObj->rc = ApiErrorDesc::ERR_PARAMS[0];
$outObj->msg = '活动不存在';
return $outObj;
}
$resCount = $this->FoodActivityPlayerObj->getCountCommon($this->FoodActivityPlayerObj->tableName, 'aid', $aid, '1', '1', $debug);
// $resCount = 1021;
$resCount = $resCount + 1;
// echo '$resCount -> ' . $resCount;
if (strlen($resCount) == 0) {
$resCount = '0001';
} elseif (strlen($resCount) == 1) {
if ($resCount < 10) {
$resCount = '000' . $resCount;
} else {
$resCount = '00' . $resCount;
}
} elseif (strlen($resCount) == 2) {
if ($resCount < 100) {
$resCount = '00' . $resCount;
} else {
$resCount = '0' . $resCount;
}
} elseif (strlen($resCount) == 3) {
if ($resCount < 1000) {
$resCount = '0' . $resCount;
}
}
$outObj->rc = ApiErrorDesc::SUCCESS[0];
$outObj->msg = ApiErrorDesc::SUCCESS[1];
$outObj->ref = $resCount;
// print_r($outObj);
return $outObj;
}
}