webman/app/controller/admin/api/v1/VolunteerservicecorpsContro...

122 lines
5.5 KiB
PHP

<?php
namespace app\controller\admin\api\v1;
use support\Request;
use App\Utils\ApiResponse;
use App\model\Volunteerservicecorp;
use App\model\Users;
use App\model\Volunteerservicecorpsdetailed;
use App\model\Volunteerjoinrequest;
use App\model\Message;
use hg\apidoc\annotation as Apidoc;
use plugin\admin\app\model\User;
use App\dao\VolunteerservicecorpsDao;
/**
* @Apidoc\Title("admin志愿者队伍控制器")
*/
class VolunteerservicecorpsController
{
protected $noNeedLogin = ['get_volunteerservicecorp_list','get_volunteerservicecorp_details','del_volunteerservicecorp','add_volunteerservicecorp','edi_volunteerservicecorp'];
/**
* @Apidoc\Title("1.0 志愿队查询所有")
* @Apidoc\Url("admin/api/v1/Volunteerservicecorps/get_volunteerservicecorp_list")
* @Apidoc\Method("POST")
*/
public function get_volunteerservicecorp_list(Request $request)
{
$tmp = Volunteerservicecorp::all();
$res = [];
foreach ($tmp as $k => $v) {
$tmp2 = Volunteerservicecorpsdetailed::where('groupid', $v->id)->get();
$number = Volunteerservicecorpsdetailed::where('groupid', $v->id)->count();
$leader = Users::where('id', $v->leaderid)->first(['nickname', 'phone', 'avatar']);
foreach ($tmp2 as $key => $value) {
$member[] = Users::where('id', $value->userid)->first(['nickname', 'phone', 'avatar']);
}
$res['group'][] = array('groupname' => $v->groupname, 'leaderid' => $v->leaderid, 'groupid' => $v->id, "category" => $v->category, 'img' => $v->img, 'number' => $number, 'leader' => $leader, 'member' => $member);
}
return ApiResponse::success(200, $res);
}
/**
* @Apidoc\Title("1.0 获取志愿队伍详细信息根据id")
* @Apidoc\Url("admin/api/v1/Volunteerservicecorps/get_volunteerservicecorp_details")
* @Apidoc\Param("volunteerservicecorp_id", type="int",require=true, desc="队伍id")
* @Apidoc\Method("POST")
*/
public function get_volunteerservicecorp_details(Request $request)
{
$data = $request->post();
$volunteerservicecorp_id = $data['volunteerservicecorp_id'];
$tmp = Volunteerservicecorp::where('id', $volunteerservicecorp_id)->get();
$res = [];
foreach ($tmp as $k => $v) {
$tmp2 = Volunteerservicecorpsdetailed::where('groupid', $v->id)->get();
$number = Volunteerservicecorpsdetailed::where('groupid', $v->id)->count();
$leader = Users::where('id', $v->leaderid)->first(['nickname', 'phone', 'avatar']);
foreach ($tmp2 as $key => $value) {
$member[] = Users::where('id', $value->userid)->first(['nickname', 'phone', 'avatar']);
}
$res['group'] = array('groupname' => $v->groupname, 'leaderid' => $v->leaderid, "category" => $v->category, 'briefly' => $v->briefly, 'created_at' => $v->created_at, 'img' => $v->img, 'number' => $number, 'leader' => $leader, 'member' => $member);
}
return ApiResponse::success(200, $res);
}
/**
* @Apidoc\Title("1.0 删除志愿队伍根据id")
* @Apidoc\Url("admin/api/v1/Volunteerservicecorps/del_volunteerservicecorp")
* @Apidoc\Param("groupid", type="int",require=true, desc="队伍id")
* @Apidoc\Method("POST")
*/
public function del_volunteerservicecorp(Request $request){
$data = $request->post();
VolunteerservicecorpsDao::del($data['groupid']);
return ApiResponse::success(200, []);
}
/**
* @Apidoc\Title("1.0 增加志愿队伍")
* @Apidoc\Url("admin/api/v1/Volunteerservicecorps/add_volunteerservicecorp")
* @Apidoc\Param("leaderid", type="int",require=true, desc="组长用户id")
* @Apidoc\Param("groupname", type="string",require=true, desc="组名称")
* @Apidoc\Param("category", type="string",require=true, desc="组分类")
* @Apidoc\Param("img", type="string",require=true, desc="首页图片url")
* @Apidoc\Param("briefly", type="string",require=true, desc="队伍简介")
* @Apidoc\Method("POST")
*/
public function add_volunteerservicecorp(Request $request){
$data = $request->post();
$col_array=['leaderid','groupname','category','img','briefly'];
$Volunteerservicecorp=new Volunteerservicecorp();
foreach($col_array as $v){
$Volunteerservicecorp->$v=$data[$v];
}
$Volunteerservicecorp->save();
return ApiResponse::success(200, []);
}
/**
* @Apidoc\Title("1.0 修改志愿队伍")
* @Apidoc\Url("admin/api/v1/Volunteerservicecorps/add_volunteerservicecorp")
* @Apidoc\Param("leaderid", type="int",require=true, desc="组长用户id")
* @Apidoc\Param("groupname", type="string",require=true, desc="组名称")
* @Apidoc\Param("category", type="string",require=true, desc="组分类")
* @Apidoc\Param("img", type="string",require=true, desc="首页图片url")
* @Apidoc\Param("briefly", type="string",require=true, desc="队伍简介")
* @Apidoc\Param("id", type="int",require=true, desc="队伍id")
* @Apidoc\Method("POST")
*/
public function edi_volunteerservicecorp(Request $request){
$data = $request->post();
$col_array=['leaderid','groupname','category','img','briefly'];
$Volunteerservicecorp=Volunteerservicecorp::where('id',$data['id']);
foreach($col_array as $v){
$Volunteerservicecorp->$v=$data[$v];
}
$Volunteerservicecorp->save();
return ApiResponse::success(200, []);
}
}