...
|
...
|
@@ -15,6 +15,10 @@ use think\Db; |
|
|
use think\Validate;
|
|
|
use app\api\model\House;
|
|
|
use app\api\model\HouseAdmin as HouseAdminModel;
|
|
|
use app\api\model\HouseBoard;
|
|
|
use app\api\model\UserHouse;
|
|
|
use app\api\model\HousePhone;
|
|
|
use app\api\model\Message;
|
|
|
|
|
|
/**
|
|
|
* 社区管理员
|
...
|
...
|
@@ -49,26 +53,22 @@ class HouseAdmin extends Api |
|
|
*/
|
|
|
public function index()
|
|
|
{
|
|
|
$user = $this->auth->getUser();
|
|
|
$user_id = $this->auth->id;
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
if($house_id){
|
|
|
$info = HouseAdminModel::get(['user_id'=>$user['id'],'house_id'=>$house_id]);
|
|
|
$info = HouseAdminModel::get(['user_id'=>$user_id,'house_id'=>$house_id]);
|
|
|
empty($info) && $this->error('您不是该小区的管理员');
|
|
|
$info->visible(['id','house_id','is_direct'])->toArray();
|
|
|
$info->visible(['id','house_id','is_direct','nickname','avatar'])->toArray();
|
|
|
}else{
|
|
|
$info = HouseAdminModel::where(['user_id'=>$user['id']])
|
|
|
$info = HouseAdminModel::where(['user_id'=>$user_id])
|
|
|
->order(['is_direct'=>'asc','createtime'=>'asc'])
|
|
|
->field('id,house_id,is_direct')
|
|
|
->field('id,house_id,is_direct,nickname,avatar')
|
|
|
->find();
|
|
|
empty($info) && $this->error('您还不是管理员');
|
|
|
}
|
|
|
$data = [
|
|
|
'nickname' => $user['admin_nickname'],
|
|
|
'avatar' => cdnurl($user['admin_avatar'],true),
|
|
|
'house' => House::where('id',$info['house_id'])->field('id,name')->find(),
|
|
|
];
|
|
|
$data = array_merge($info->toArray(),$data);
|
|
|
$this->success('success',$data);
|
|
|
$info['avatar'] = cdnurl($info['avatar'],true);
|
|
|
$info['house'] = House::where('id',$info['house_id'])->field('id,name')->find();
|
|
|
$this->success('success',$info);
|
|
|
}
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -116,6 +116,7 @@ class HouseAdmin extends Api |
|
|
* @ApiRoute (/api/house_admin/profile)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=false, description="社区ID")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
...
|
...
|
@@ -130,58 +131,71 @@ class HouseAdmin extends Api |
|
|
*/
|
|
|
public function profile()
|
|
|
{
|
|
|
$user = $this->auth->getUser();
|
|
|
$data = [
|
|
|
'nickname' => $user['admin_nickname'],
|
|
|
'avatar' => cdnurl($user['admin_avatar'],true),
|
|
|
'mobile' => $user['admin_mobile'],
|
|
|
];
|
|
|
$this->success('success',$data);
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
$info = HouseAdminModel::get(['user_id'=>$this->auth->id])->visible([
|
|
|
'nickname',
|
|
|
'avatar',
|
|
|
'mobile'
|
|
|
]);
|
|
|
$info['avatar'] = cdnurl($info['avatar'],true);
|
|
|
$this->success('success',$info);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 社区管理员-修改会员个人信息
|
|
|
*
|
|
|
* 社区管理员-个人信息编辑
|
|
|
* @param string $house_id 社区ID
|
|
|
* @param string $avatar 头像地址
|
|
|
* @param string $nickname 昵称
|
|
|
*/
|
|
|
public function profileEdit()
|
|
|
{
|
|
|
$user = $this->auth->getUser();
|
|
|
$nickname = $this->request->request('nickname');
|
|
|
$avatar = $this->request->request('avatar', '', 'trim,strip_tags,htmlspecialchars');
|
|
|
$user->admin_nickname = $nickname;
|
|
|
$user->admin_avatar = $avatar;
|
|
|
$user->save();
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
$nickname = $this->request->param('nickname');
|
|
|
$avatar = $this->request->param('avatar', '', 'trim,strip_tags,htmlspecialchars');
|
|
|
|
|
|
empty($house_id) && $this->error('缺少必要参数');
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$this->auth->id,'house_id'=>$house_id]);
|
|
|
empty($admin) && $this->error('您不是该小区的管理员');
|
|
|
|
|
|
$admin->nickname = $nickname;
|
|
|
$admin->avatar = $avatar;
|
|
|
$admin->save();
|
|
|
$this->success();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 社区管理员-修改手机号
|
|
|
*
|
|
|
* @param string $house_id 社区ID
|
|
|
* @param string $mobile 手机号
|
|
|
* @param string $captcha 验证码
|
|
|
*/
|
|
|
public function changemobile()
|
|
|
{
|
|
|
$user = $this->auth->getUser();
|
|
|
$mobile = $this->request->request('mobile');
|
|
|
$captcha = $this->request->request('captcha');
|
|
|
if (!$mobile || !$captcha) {
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
$mobile = $this->request->param('mobile');
|
|
|
$captcha = $this->request->param('captcha');
|
|
|
if (!$house_id || !$mobile || !$captcha) {
|
|
|
$this->error(__('Invalid parameters'));
|
|
|
}
|
|
|
if (!Validate::regex($mobile, "^1\d{10}$")) {
|
|
|
$this->error(__('Mobile is incorrect'));
|
|
|
}
|
|
|
if (\app\common\model\User::where('admin_mobile', $mobile)->where('id', '<>', $user->id)->find()) {
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$this->auth->id,'house_id'=>$house_id]);
|
|
|
empty($admin) && $this->error('您不是该小区的管理员');
|
|
|
// 检查手机号是否存在
|
|
|
$mobile_exists = HouseAdminModel::where('mobile',$mobile)
|
|
|
->where('house_id',$house_id)
|
|
|
->where('id', '<>', $admin->id)
|
|
|
->find();
|
|
|
if ($mobile_exists) {
|
|
|
$this->error(__('Mobile already exists'));
|
|
|
}
|
|
|
$code = Cache::get($mobile);
|
|
|
if ($code != $captcha) {
|
|
|
$this->error(__('Captcha is incorrect'));
|
|
|
}
|
|
|
$user->admin_mobile = $mobile;
|
|
|
$user->save();
|
|
|
$admin->mobile = $mobile;
|
|
|
$admin->save();
|
|
|
|
|
|
Cache::rm($mobile);
|
|
|
$this->success();
|
...
|
...
|
@@ -206,10 +220,17 @@ class HouseAdmin extends Api |
|
|
"info": [{
|
|
|
"id": 1, //公告id
|
|
|
"title": "周六交电费", //社区公告标题
|
|
|
"content": "", //社区公告内容
|
|
|
"look_num": 2, //浏览人数
|
|
|
"createtime": "2020-08-19", //时间
|
|
|
"images": "", //社区公告图片
|
|
|
"images_arr": [ //社区公告图片数组
|
|
|
"http://community.qiniu.brotop.cn"
|
|
|
],
|
|
|
"nickname": "", //管理员昵称
|
|
|
"avatar": "http://community.qiniu.brotop.cn", //管理员头像
|
|
|
"is_delete": 2, //是否下架:1=下架,2=未下架
|
|
|
"avatar": [{ //用户头像
|
|
|
"avatar_list": [{ //用户头像
|
|
|
"avatar": "",
|
|
|
"id": 1
|
|
|
}]
|
...
|
...
|
@@ -226,16 +247,84 @@ class HouseAdmin extends Api |
|
|
$data['total_num'] = Db::name('house_board')
|
|
|
->where('house_id',$house_id)
|
|
|
->count();
|
|
|
$data['info'] = Db::name('house_board')
|
|
|
->where('house_id',$house_id)
|
|
|
->field('id,title,look_num,createtime,deletetime')
|
|
|
$data['info'] = $this->getBoardList(['hb.house_id'=>$house_id],$page,$pageNum);
|
|
|
$this->success('success',$data);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-公告管理-详情)
|
|
|
* @ApiSummary (社区管理员-公告管理-详情)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_board_id", type="inter", required=true, description="公告id")
|
|
|
*
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666",
|
|
|
"data": {
|
|
|
"id": 1, //公告id
|
|
|
"title": "周六交电费", //社区公告标题
|
|
|
"content": "", //社区公告内容
|
|
|
"look_num": 2, //浏览人数
|
|
|
"createtime": "2020-08-19", //时间
|
|
|
"images": "", //社区公告图片
|
|
|
"images_arr": [ //社区公告图片数组
|
|
|
"http://community.qiniu.brotop.cn"
|
|
|
],
|
|
|
"nickname": "", //管理员昵称
|
|
|
"avatar": "http://community.qiniu.brotop.cn", //管理员头像
|
|
|
"is_delete": 2, //是否下架:1=下架,2=未下架
|
|
|
"avatar_list": [{ //用户头像
|
|
|
"avatar": "",
|
|
|
"id": 1
|
|
|
}]
|
|
|
}
|
|
|
})
|
|
|
*/
|
|
|
public function house_board_detail()
|
|
|
{
|
|
|
$house_board_id = $this->request->param('house_board_id');
|
|
|
empty($house_board_id) && $this->error('缺少必要参数');
|
|
|
$data = $this->getBoardList(['hb.id'=>$house_board_id],1,1);
|
|
|
empty($data) && $this->error('公告信息不存在');
|
|
|
$this->success('success',$data[0]);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取公告数据
|
|
|
*/
|
|
|
private function getBoardList($where,$page,$pageNum){
|
|
|
$list = HouseBoard::where($where)
|
|
|
->alias('hb')
|
|
|
->join('house_admin ha','ha.id = hb.admin_user_id')
|
|
|
->field('
|
|
|
hb.id,
|
|
|
hb.title,
|
|
|
hb.content,
|
|
|
hb.look_num,
|
|
|
hb.createtime,
|
|
|
hb.deletetime,
|
|
|
hb.images,
|
|
|
ha.nickname,
|
|
|
ha.avatar
|
|
|
')
|
|
|
->order('weigh desc')
|
|
|
->page($page,$pageNum)
|
|
|
->select();
|
|
|
foreach ($data['info'] as &$v){
|
|
|
foreach ($list as &$v){
|
|
|
$v['avatar'] = cdnurl($v['avatar'],true);
|
|
|
$v['createtime'] = date('Y-m-d',$v['createtime']);
|
|
|
// 公告图片
|
|
|
$images_arr = [];
|
|
|
foreach (explode(',', $v['images']) as $key => $value) {
|
|
|
$images_arr[] = cdnurl($value,true);
|
|
|
}
|
|
|
$v['images_arr'] = $images_arr;
|
|
|
$v['is_delete'] = $v['deletetime'] > 0 ? 1 : 2;
|
|
|
$v['avatar'] = Db::name('house_board_detail')
|
|
|
$v['avatar_list'] = Db::name('house_board_detail')
|
|
|
->alias('a')
|
|
|
->join('user b','a.user_id = b.id')
|
|
|
->where('a.house_board_id',$v['id'])
|
...
|
...
|
@@ -244,6 +333,502 @@ class HouseAdmin extends Api |
|
|
->select();
|
|
|
unset($v['deletetime']);
|
|
|
}
|
|
|
$this->success('success',$data);
|
|
|
return $list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-公告管理-发布-获取剩余次数)
|
|
|
* @ApiSummary (社区管理员-公告管理-发布-获取剩余次数)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598771268",
|
|
|
"data": {
|
|
|
"times": 2 //本周剩余发布次数
|
|
|
}
|
|
|
})
|
|
|
*/
|
|
|
public function house_board_times()
|
|
|
{
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
empty($house_id) && $this->error('缺少必要参数');
|
|
|
$count = HouseBoard::whereTime('createtime', 'week')->count();
|
|
|
$times = $count >= 2 ? 0 : 2-$count;
|
|
|
$this->success('success',compact('times'));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-公告管理-发布)
|
|
|
* @ApiSummary (社区管理员-公告管理-发布)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="title", type="string", required=true, description="公告标题")
|
|
|
* @ApiParams (name="content", type="string", required=true, description="公告内容")
|
|
|
* @ApiParams (name="images", type="string", required=false, description="公告图片")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function house_board_add()
|
|
|
{
|
|
|
$post = $this->request->param();
|
|
|
empty($post['house_id']) && $this->error('缺少必要参数');
|
|
|
empty($post['title']) && $this->error('请填写公告标题');
|
|
|
empty($post['content']) && $this->error('请填写公告内容');
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$this->auth->id,'house_id'=>$post['house_id']]);
|
|
|
empty($admin) && $this->error('您不是该小区的管理员');
|
|
|
(new HouseBoard)->allowField(true)->save(array_merge([
|
|
|
'admin_user_id' => $this->auth->id
|
|
|
],$post));
|
|
|
$this->success('success');
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-公告管理-下架)
|
|
|
* @ApiSummary (社区管理员-公告管理-下架)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="house_board_id", type="inter", required=true, description="社区公告ID")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function house_board_delete()
|
|
|
{
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
$house_board_id = $this->request->param('house_board_id');
|
|
|
if(!$house_id || !$house_board_id){
|
|
|
$this->error('缺少必要参数');
|
|
|
}
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$this->auth->id,'house_id'=>$house_id]);
|
|
|
empty($admin) && $this->error('您不是该小区的管理员');
|
|
|
$info = HouseBoard::get(['house_id'=>$house_id,'id'=>$house_board_id]);
|
|
|
empty($info) && $this->error('公告信息不存在');
|
|
|
|
|
|
$info->deletetime = time();
|
|
|
$info->save();
|
|
|
$this->success('success');
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-管理员管理)
|
|
|
* @ApiSummary (社区管理员-管理员管理)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function adminList()
|
|
|
{
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
empty($house_id) && $this->error('缺少必要参数');
|
|
|
$list = HouseAdminModel::where('house_id',$house_id)
|
|
|
->field('id,nickname,user_id,mobile')
|
|
|
->select();
|
|
|
$this->success('success',$list);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-管理员管理-添加)
|
|
|
* @ApiSummary (社区管理员-管理员管理-添加)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="nickname", type="string", required=true, description="姓名")
|
|
|
* @ApiParams (name="user_id", type="inter", required=true, description="用户ID")
|
|
|
* @ApiParams (name="mobile", type="string", required=true, description="手机号")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function adminAdd()
|
|
|
{
|
|
|
$post = $this->request->param();
|
|
|
empty($post['house_id']) && $this->error('缺少必要参数');
|
|
|
empty($post['nickname']) && $this->error('请填写姓名');
|
|
|
empty($post['user_id']) && $this->error('请填写用户ID');
|
|
|
empty($post['mobile']) && $this->error('请填写手机号');
|
|
|
if (!Validate::regex($post['mobile'], "^1\d{10}$")) {
|
|
|
$this->error(__('Mobile is incorrect'));
|
|
|
}
|
|
|
$user = $this->auth->getUser();
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$user['id'],'house_id'=>$post['house_id'],'is_direct'=>1]);
|
|
|
empty($admin) && $this->error('您不是该小区的主管理员');
|
|
|
(new HouseAdminModel)->allowField(true)->save(array_merge([
|
|
|
'avatar' => $user['avatar'],
|
|
|
'is_direct' => 2
|
|
|
],$post));
|
|
|
$this->success('success');
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-管理员管理-删除)
|
|
|
* @ApiSummary (社区管理员-管理员管理-删除)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="house_admin_id", type="inter", required=true, description="社区管理员ID")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function adminDelete()
|
|
|
{
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
$house_admin_id = $this->request->param('house_admin_id');
|
|
|
if(!$house_id || !$house_admin_id){
|
|
|
$this->error('缺少必要参数');
|
|
|
}
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$this->auth->id,'house_id'=>$house_id,'is_direct'=>1]);
|
|
|
empty($admin) && $this->error('您不是该小区的主管理员');
|
|
|
$info = HouseAdminModel::get(['id'=>$house_admin_id,'is_direct'=>2]);
|
|
|
empty($info) && $this->error('子管理员不存在');
|
|
|
|
|
|
$info->delete();
|
|
|
$this->success('success');
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-业主列表)
|
|
|
* @ApiSummary (社区管理员-业主列表)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="keyword", type="string", required=false, description="搜索内容")
|
|
|
* @ApiParams (name="page", type="inter", required=false, description="当前页(默认1)")
|
|
|
* @ApiParams (name="pageNum", type="inter", required=false, description="每页显示数据个数(默认10)")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function userList()
|
|
|
{
|
|
|
$page = $this->request->param('page', 1, 'intval');
|
|
|
$pageNum = $this->request->param('pageNum', 10, 'intval');
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
$keyword = $this->request->param('keyword');
|
|
|
empty($house_id) && $this->error('缺少必要参数');
|
|
|
$where['house_id'] = $house_id;
|
|
|
$where['status'] = 2;
|
|
|
if(!empty($keyword)){
|
|
|
$where['name|remark'] = ['like','%'.$keyword.'%'];
|
|
|
}
|
|
|
$list = UserHouse::where($where)
|
|
|
->field('id,name,remark')
|
|
|
->order('createtime desc')
|
|
|
->page($page,$pageNum)
|
|
|
->select();
|
|
|
$this->success('success',$list);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-业主列表-添加备注)
|
|
|
* @ApiSummary (社区管理员-业主列表-添加备注)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="user_house_id", type="inter", required=true, description="社区业主ID")
|
|
|
* @ApiParams (name="remark", type="string", required=true, description="备注")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function remarkAdd()
|
|
|
{
|
|
|
$user_house_id = $this->request->param('user_house_id');
|
|
|
$remark = $this->request->param('remark');
|
|
|
empty($user_house_id) && $this->error('缺少必要参数');
|
|
|
if(!$user_house_id || !$remark){
|
|
|
$this->error('缺少必要参数');
|
|
|
}
|
|
|
$info = UserHouse::get($user_house_id);
|
|
|
empty($info) && $this->error('业主信息不存在');
|
|
|
|
|
|
$info->remark = $remark;
|
|
|
$info->save();
|
|
|
$this->success('success',$list);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-留言消息)
|
|
|
* @ApiSummary (社区管理员-留言消息)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="page", type="inter", required=false, description="当前页(默认1)")
|
|
|
* @ApiParams (name="pageNum", type="inter", required=false, description="每页显示数据个数(默认10)")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
'code': '1',
|
|
|
'msg': '返回成功',
|
|
|
"data": {
|
|
|
"list": [{
|
|
|
"id": 3,
|
|
|
"user_id": 1,
|
|
|
"object_id": 1,
|
|
|
"object_user_id": 1,
|
|
|
"type": 消息类型1 = 平台2 = 商家3 = 社区,
|
|
|
"content": "文字内容",
|
|
|
"image": "图片",
|
|
|
"is_read_user": 是否已读1 = 是2 = 否,
|
|
|
"name": "平台/店铺/社区名称"
|
|
|
"createtime": "2020-08-30 10:43:55",
|
|
|
},
|
|
|
{
|
|
|
"id": 1,
|
|
|
"user_id": 1,
|
|
|
"object_id": 1,
|
|
|
"object_user_id": 1,
|
|
|
"type": 1,
|
|
|
"content": "123",
|
|
|
"image": "",
|
|
|
"is_read_user": 1,
|
|
|
"name": "平台消息"
|
|
|
"createtime": "2020-08-30 09:36:45",
|
|
|
}
|
|
|
],
|
|
|
"this_page": 当前页数,
|
|
|
"total_page": 总页数
|
|
|
}
|
|
|
})
|
|
|
*/
|
|
|
public function messageList()
|
|
|
{
|
|
|
$page = $this->request->param('page', 1, 'intval');
|
|
|
$pageNum = $this->request->param('pageNum', 10, 'intval');
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
empty($house_id) && $this->error('缺少必要参数');
|
|
|
$list = Message::where('object_id',$house_id)
|
|
|
->where('object_user_id',$this->auth->id)
|
|
|
->page($page,$pageNum)
|
|
|
->order('createtime desc')
|
|
|
->select();
|
|
|
foreach ($list as &$v){
|
|
|
$v['name'] = '平台消息';
|
|
|
if($v['type'] == 2) {
|
|
|
$v['name'] = Db::name('store')->where('id',$v['object_id'])->value('store_name');
|
|
|
}
|
|
|
if($v['type'] == 3) {
|
|
|
$v['name'] = Db::name('user')->where('id',$v['user_id'])->value('nickname');
|
|
|
}
|
|
|
}
|
|
|
$this->success('success',$list);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-留言消息)
|
|
|
* @ApiSummary (社区管理员-留言消息)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="page", type="inter", required=false, description="当前页(默认1)")
|
|
|
* @ApiParams (name="pageNum", type="inter", required=false, description="每页显示数据个数(默认10)")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
'code': '1',
|
|
|
'msg': '返回成功',
|
|
|
"data": {
|
|
|
"list": [{
|
|
|
"id": 3,
|
|
|
"user_id": 1,
|
|
|
"object_id": 1,
|
|
|
"object_user_id": 1,
|
|
|
"type": 消息类型1 = 平台2 = 商家3 = 社区,
|
|
|
"content": "文字内容",
|
|
|
"image": "图片",
|
|
|
"is_read_user": 是否已读1 = 是2 = 否,
|
|
|
"name": "平台/店铺/社区名称"
|
|
|
"createtime": "2020-08-30 10:43:55",
|
|
|
},
|
|
|
{
|
|
|
"id": 1,
|
|
|
"user_id": 1,
|
|
|
"object_id": 1,
|
|
|
"object_user_id": 1,
|
|
|
"type": 1,
|
|
|
"content": "123",
|
|
|
"image": "",
|
|
|
"is_read_user": 1,
|
|
|
"name": "平台消息"
|
|
|
"createtime": "2020-08-30 09:36:45",
|
|
|
}
|
|
|
],
|
|
|
"this_page": 当前页数,
|
|
|
"total_page": 总页数
|
|
|
}
|
|
|
})
|
|
|
*/
|
|
|
public function messageDetail()
|
|
|
{
|
|
|
$page = $this->request->param('page', 1, 'intval');
|
|
|
$pageNum = $this->request->param('pageNum', 10, 'intval');
|
|
|
$message_id = $this->request->param('message_id');
|
|
|
empty($message_id) && $this->error('缺少必要参数');
|
|
|
$info = Message::get($message_id);
|
|
|
empty($info) && $this->error('消息不存在');
|
|
|
$info->is_read_object = 1;
|
|
|
$info->save();
|
|
|
if($info['type'] == 2) {
|
|
|
$model = new StoreComment();
|
|
|
$object_model = new \app\api\model\Store();
|
|
|
$object_field = 'id,store_name as nickname,store_icon as avatar';
|
|
|
$object_id = 'store_id';
|
|
|
$object_user_id = 'store_user_id';
|
|
|
} elseif($info['type'] == 3) {
|
|
|
$model = new HouseComment();
|
|
|
$object_model = new \app\api\model\User();
|
|
|
$object_field = 'id,admin_nickname as nickname,admin_avatar as avatar';
|
|
|
$object_id = 'house_id';
|
|
|
$object_user_id = 'house_user_id';
|
|
|
} else {
|
|
|
$this->error('消息类型错误');
|
|
|
}
|
|
|
$list = $model->where([
|
|
|
'user_id' => $info['user_id'],
|
|
|
$object_id => $info['object_id'],
|
|
|
$object_user_id => $info['object_user_id'],
|
|
|
])->order(['createtime'=>'desc'])
|
|
|
->page($page,$pageNum)
|
|
|
->select();
|
|
|
$user_model = new \app\api\model\User();
|
|
|
foreach ($list as &$v) {
|
|
|
if($v['type'] == 1) {
|
|
|
$user = $user_model->field('id,nickname,avatar')->where('id',$v['user_id'])->find();
|
|
|
$user['avatar'] = cdnurl($user['avatar']);
|
|
|
} else {
|
|
|
$user = $object_model->field($object_field)->where('id',$v[$object_user_id])->find();
|
|
|
$user['avatar'] = cdnurl($user['avatar']);
|
|
|
}
|
|
|
$v['user'] = $user;
|
|
|
}
|
|
|
$this->success('success',$list);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-社区信息)
|
|
|
* @ApiSummary (社区管理员-社区信息)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function phoneList()
|
|
|
{
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
empty($house_id) && $this->error('缺少必要参数');
|
|
|
$list = HousePhone::where('house_id',$house_id)
|
|
|
->field('id,name,phone,weigh')
|
|
|
->order('weigh asc')
|
|
|
->select();
|
|
|
$this->success('success',$list);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-社区信息-添加)
|
|
|
* @ApiSummary (社区管理员-社区信息-添加)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="name", type="string", required=true, description="标题")
|
|
|
* @ApiParams (name="phone", type="string", required=true, description="手机号")
|
|
|
* @ApiParams (name="weigh", type="inter", required=true, description="排序号")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function phoneAdd()
|
|
|
{
|
|
|
$post = $this->request->param();
|
|
|
empty($post['house_id']) && $this->error('缺少必要参数');
|
|
|
empty($post['name']) && $this->error('请填写标题');
|
|
|
empty($post['phone']) && $this->error('请填写手机号');
|
|
|
empty($post['weigh']) && $this->error('请填写排序号');
|
|
|
if (!Validate::regex($post['phone'], "^1\d{10}$")) {
|
|
|
$this->error(__('Mobile is incorrect'));
|
|
|
}
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$this->auth->id,'house_id'=>$post['house_id'],'is_direct'=>1]);
|
|
|
empty($admin) && $this->error('您不是该小区的主管理员');
|
|
|
|
|
|
(new HousePhone)->allowField(true)->save($post);
|
|
|
$this->success('success');
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @ApiTitle (社区管理员-社区信息-删除)
|
|
|
* @ApiSummary (社区管理员-社区信息-删除)
|
|
|
* @ApiMethod (POST)
|
|
|
*
|
|
|
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
|
|
|
* @ApiParams (name="house_id", type="inter", required=true, description="社区ID")
|
|
|
* @ApiParams (name="house_phone_id", type="inter", required=true, description="社区电话ID")
|
|
|
*
|
|
|
* @ApiReturn({
|
|
|
"code": 1,
|
|
|
"msg": "success",
|
|
|
"time": "1598755666"
|
|
|
})
|
|
|
*/
|
|
|
public function phoneDelete()
|
|
|
{
|
|
|
$house_id = $this->request->param('house_id');
|
|
|
$house_phone_id = $this->request->param('house_phone_id');
|
|
|
if(!$house_id || !$house_phone_id){
|
|
|
$this->error('缺少必要参数');
|
|
|
}
|
|
|
$admin = HouseAdminModel::get(['user_id'=>$this->auth->id,'house_id'=>$house_id,'is_direct'=>1]);
|
|
|
empty($admin) && $this->error('您不是该小区的主管理员');
|
|
|
$info = HousePhone::get($house_phone_id);
|
|
|
empty($info) && $this->error('电话信息不存在');
|
|
|
|
|
|
$info->delete();
|
|
|
$this->success('success');
|
|
|
}
|
|
|
} |
|
|
\ No newline at end of file |
...
|
...
|
|