Files
heping-api/app/controller/Help.php
2022-09-14 10:55:20 +08:00

112 lines
3.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\controller;
use think\facade\Db;
class Help
{
//为用户助力
public function me()
{
$userid = $GLOBALS['data']['userid'];
if(empty($userid)){
return show("请登录后再助力!",NEED_LOGIN);
}
if(empty($GLOBALS['data']['data']['student_id'])){
return show("请输入要助力的用户id");
}
$student_id = $GLOBALS['data']['data']['student_id'];
$info = Db::name("student")->where("id",$student_id)->field("id")->find();
if(empty($info)){
return show("找不到该学生信息!");
}
$data = [
"userid"=>$userid,
"student_id"=>$student_id,
"createtime"=>date("Y-m-d",time())
];
$data['sha'] = sha1(json_encode($data));
Db::startTrans();
try {
$info = Db::name("app_help_log")->where("sha", $data['sha'])->find();
if (!empty($info)) {
return show("你今天已经为他助力过,谢谢!");
} else {
Db::name("app_help_log")->insert($data);
}
$appHelp = Db::name("app_help")->where(["userid" => $userid, "student_id" => $student_id])->find();
if (empty($appHelp)) {
Db::name("app_help")->insert([
"userid" => $userid,
"student_id" => $student_id,
"count" => 1
]);
} else {
Db::name("app_help")->where(["id" => $appHelp['id']])->inc("count", 1)->update();
}
Db::commit();
return show("助力成功!", SUCCESS_CODE, []);
}catch (\Exception $e) {
Db::rollback();
return show("助力失败!");
}
}
public function lists(){
if(empty($GLOBALS['data']['data']['student_id'])){
return show("请输入要助力的用户id");
}
$student_id = $GLOBALS['data']['data']['student_id'];
$lastIndex = lastindex();
$result = [];
$result['userinfo'] = [];
if($lastIndex==0) {
$userinfo = Db::name("student")->where("id", $student_id)->field("id,nickname,identifier,avatar,age,type,disabled as is_disabled,city,school,hot,hot_count")->find();
if (!empty($userinfo)) {
$result['userinfo'] = $userinfo;
}
}
if($lastIndex == 0) {
$lastIndex = 1;
}
$list = Db::name("appHelp")->where("student_id",$student_id)->limit(env("page_count"))->order('count desc')->paginate([
"list_rows"=>env("PAGE_COUNT"),
"page"=>$lastIndex
]);
if(empty($list)) return show("获取成功", SUCCESS_CODE,$result);
if($list->currentPage() < $list->lastPage()){
$result['lastIndex'] = $lastIndex +1;
}else{
$result['lastIndex'] = 0;
}
$users = getAllUsersMessage($list,'userid','id,nickname,avatar,shiyou_id');
foreach($list as $vo){
$result['list'][] = [
"id"=>$vo['id'],
"userid"=>$vo['userid'],
"username"=>empty($users[$vo['userid']]['nickname'])?'':$users[$vo['userid']]['nickname'],
"count"=>$vo['count'],
"identity"=>empty($users[$vo["userid"]]['shiyou_id'])?1:0,
];
}
return show("获取成功!", SUCCESS_CODE, $result);
}
}