作者 杨育虎
1 个管道 的构建 通过 耗费 1 秒

ok

... ... @@ -97,7 +97,6 @@ class House extends Backend
$params['com_number'] = $data['num'] + 1;
}
if ($this->dataLimit && $this->dataLimitFieldAutoFill) {
$params[$this->dataLimitField] = $this->auth->id;
}
... ... @@ -114,6 +113,9 @@ class House extends Backend
//小区id
$house_id = $this->model->getLastInsID();
$data = Db::name('house')->where('id',$house_id)->find();
Db::name('house_admin')->where('id',$data['admin_user_id'])->update(['house_id'=>$house_id]);
$url = request()->domain().'/index/index/hourse?id='.$house_id;
//生成二维码
... ... @@ -171,6 +173,9 @@ class House extends Backend
$row->validateFailException(true)->validate($validate);
}
$result = $row->allowField(true)->save($params);
$data = Db::name('house')->where('id',$ids)->find();
Db::name('house_admin')->where('id',$data['admin_user_id'])->update(['house_id'=>$ids]);
Db::commit();
} catch (ValidateException $e) {
Db::rollback();
... ...
... ... @@ -61,6 +61,7 @@ class HouseAdmin extends Backend
$list = collection($list)->toArray();
foreach ($list as &$v){
$v['user_id'] = Db::name('user')->where('id',$v['user_id'])->value('nickname');
$v['house_id'] = Db::name('house')->where('id',$v['house_id'])->value('name');
}
$result = array("total" => $total, "rows" => $list);
... ... @@ -79,13 +80,6 @@ class HouseAdmin extends Backend
$params = $this->request->post("row/a");
if ($params) {
$params = $this->preExcludeFields($params);
$data = Db::name('user')
->where('id',$params['user_id'])
->field('id,id_num')
->find();
$params['number'] = $data['id_num'];
if ($this->dataLimit && $this->dataLimitFieldAutoFill) {
$params[$this->dataLimitField] = $this->auth->id;
}
... ... @@ -99,6 +93,14 @@ class HouseAdmin extends Backend
$this->model->validateFailException(true)->validate($validate);
}
$result = $this->model->allowField(true)->save($params);
// $house_admin_id = $this->model->getLastInsID();
//
// $data = Db::name('house_admin')->where('id',$house_admin_id)->find();
// if(!empty($data['user_id'])){
// Db::name('user')->where('id',$data['user_id'])->update(['identity'=>1]);
// }
Db::commit();
} catch (ValidateException $e) {
Db::rollback();
... ... @@ -141,11 +143,6 @@ class HouseAdmin extends Backend
if ($params) {
$params = $this->preExcludeFields($params);
$data = Db::name('user')
->where('id',$params['user_id'])
->field('id,id_num')
->find();
$params['number'] = $data['id_num'];
$result = false;
Db::startTrans();
... ...
... ... @@ -3,7 +3,7 @@
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Admin_user_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-admin_user_id" data-source="house_admin/index" class="form-control selectpage" name="row[admin_user_id]" type="text" value="">
<input id="c-admin_user_id" data-rule="required" data-source="house_admin/index" class="form-control selectpage" name="row[admin_user_id]" type="text" value="">
</div>
</div>
<div class="form-group">
... ...
... ... @@ -24,20 +24,20 @@
<input id="c-phone" class="form-control" name="row[phone]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-image" class="form-control" size="50" name="row[image]" type="text">
<div class="input-group-addon no-border no-padding">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
</div>
<span class="msg-box n-right" for="c-image"></span>
</div>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
<!--<div class="form-group">-->
<!--<label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>-->
<!--<div class="col-xs-12 col-sm-8">-->
<!--<div class="input-group">-->
<!--<input id="c-image" class="form-control" size="50" name="row[image]" type="text">-->
<!--<div class="input-group-addon no-border no-padding">-->
<!--<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>-->
<!--<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>-->
<!--</div>-->
<!--<span class="msg-box n-right" for="c-image"></span>-->
<!--</div>-->
<!--<ul class="row list-inline plupload-preview" id="p-image"></ul>-->
<!--</div>-->
<!--</div>-->
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
... ...
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('用户id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id}">
</div>
</div>
<!--<div class="form-group">-->
<!--<label class="control-label col-xs-12 col-sm-2">{:__('Number')}:</label>-->
<!--<div class="col-xs-12 col-sm-8">-->
<!--<input id="c-number" class="form-control" name="row[number]" type="number" value="{$row.number|htmlentities}">-->
<!--</div>-->
<!--</div>-->
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<div class="col-xs-12 col-sm-8">
... ... @@ -26,20 +18,6 @@
<input id="c-phone" class="form-control" name="row[phone]" type="text" value="{$row.phone|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
<input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image|htmlentities}">
<div class="input-group-addon no-border no-padding">
<span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
</div>
<span class="msg-box n-right" for="c-image"></span>
</div>
<ul class="row list-inline plupload-preview" id="p-image"></ul>
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
... ...
... ... @@ -12,8 +12,8 @@ namespace app\api\controller;
use app\common\controller\Api;
use think\Cache;
use think\Db;
/**
use think\Validate;
/**
* 社区首页
*/
class House extends Api
... ... @@ -117,9 +117,8 @@ class House extends Api
$info['is_new'] = 1;
}
}
$this->success('success',$info);
}
$this->success('success',$info);
}
/**
... ... @@ -399,6 +398,9 @@ class House extends Api
* @ApiMethod (POST)
* @ApiRoute (/api/house/city_list)
*
* @ApiParams (name="page", type="inter", required=false, description="当前页(默认1)")
* @ApiParams (name="pageNum", type="inter", required=false, description="每页显示数据个数(默认10)")
*
* @ApiReturn({
"code": 1,
"msg": "成功",
... ... @@ -413,7 +415,10 @@ class House extends Api
*/
public function city_list()
{
$data = Db::name('area')->field('id,name')->where('level',2)->select();
// $page = $this->request->param('page', 1, 'intval');
// $pageNum = $this->request->param('pageNum', 10, 'intval');
$data['total_num'] = Db::name('area')->field('id,name')->where('level',2)->count();
$data['info'] = Db::name('area')->field('id,name')->where('level',2)->select();
$this->success('success',$data);
}
... ... @@ -561,7 +566,7 @@ class House extends Api
* @ApiTitle (获取验证码)
* @ApiSummary (获取验证码)
* @ApiMethod (POST)
* @ApiRoute (/api/login/getcode)
* @ApiRoute (/api/house/getcode)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
*
* @ApiParams (name="mobile", type="string", required=false, description="手机号")
... ... @@ -605,7 +610,7 @@ class House extends Api
* @ApiTitle (验证验证码)
* @ApiSummary (验证验证码)
* @ApiMethod (POST)
* @ApiRoute (/api/login/verify)
* @ApiRoute (/api/house/verify)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
*
* @ApiParams (name="mobile", type="string", required=true, description="手机号")
... ... @@ -638,4 +643,140 @@ class House extends Api
}
}
/**
* @ApiTitle (社区物业管理员列表)
* @ApiSummary (社区物业管理员列表)
* @ApiMethod (POST)
* @ApiRoute (/api/house/house_admin_list)
*
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name="house_id", type="string", required=true, description="小区id")
*
* @ApiReturn({
"code": 1,
"msg": "成功",
"time": "1571492001",
"data": {
"id"://id
"user_id"://用户id
"avatar"://管理员头像
"nickname"://昵称
"is_have"://是否带有红标签 1有2没有
}
})
*/
public function house_admin_list()
{
$user_id = $this->auth->id;
$house_id = $this->request->param('house_id');
if(empty($house_id)){
$this->error('缺少必要参数');
}
$data = Db::name('house_admin')
->alias('a')
->join('user b','a.user_id = b.id')
->where('a.house_id',$house_id)
->field('a.id,a.user_id,b.avatar,b.nickname')
->order('a.direct')
->select();
foreach ($data as &$v){
$mes = Db::name('message')
->where('house_id',$house_id)
->where('user_id',$v['user_id'])
->where('to_user_id',$user_id)
->where('is_read',2)
->find();
if(empty($mes)){
$v['is_have'] = 2;
}else{
$v['is_have'] = 1;
}
}
$this->success('success',$data);
}
/**
* @ApiTitle (聊天记录列表)
* @ApiSummary (聊天记录列表)
* @ApiMethod (POST)
* @ApiRoute (/api/house/chat_record)
*
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name="house_id", type="inter", required=true, description="社区id")
* @ApiParams (name="user_id", type="inter", required=true, description="社区物业管理员用户id")
*
* @ApiReturn({
"code": 1,
"msg": "成功",
"time": "1571492001",
"data": {
"id"://id
"user_id"://发送者id
"house_id"://社区id
"to_user_id"://接收者用户id
"type"://消息类型1文字类型2图片类型
"content"://文字消息
"image"://图片消息
"is_read"://是否已读1已读2未读
"createtime"://创建时间
"updatetime"://修改时间
"nickname"://昵称
"is_have"://是否带有红标签 1有2没有
"is_left"://是否在右边 1是2否
}
})
*/
public function chat_record()
{
$qiniu = get_addon_config('qiniu')['cdnurl'];
$user_id = $this->auth->id; //当前登录用户id
$house_id = $this->request->param('house_id'); //社区id
$wuye_user_id = $this->request->param('user_id'); //物业用户id
if(empty($house_id) || empty($wuye_user_id)){
$this->error('缺少必要参数');
}
$house_admin = Db::name('house_admin')->where('user_id',$wuye_user_id)->where('house_id',$house_id)->find();
if(empty($house_admin)){
$this->error('参数有误,社区与管理员id不匹配');
}
$data = Db::name('message')
->where('house_id',$house_id)
->where('user_id',$user_id)
->where('to_user_id',$wuye_user_id)
->order('createtime desc')
->select();
foreach ($data as &$v){
$v['is_right'] = 1;
if($v['type'] == 2){
$v['image'] = $qiniu.$v['image'];
}
}
$arr = Db::name('message')
->where('house_id',$house_id)
->where('user_id',$wuye_user_id)
->where('to_user_id',$user_id)
->order('createtime desc')
->select();
foreach ($arr as &$v){
$v['is_right'] = 2;
if($v['type'] == 2){
$v['image'] = $qiniu.$v['image'];
}
}
$info = array_merge($data,$arr);
array_multisort(array_column($info,'createtime'),SORT_DESC,$info);
foreach ($info as &$val){
$val['createtime'] = date('Y-m-d H:i:s',$val['createtime']);
}
$this->success('success',$info);
}
}
\ No newline at end of file
... ...
此 diff 太大无法显示。
... ... @@ -25,11 +25,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
[
{checkbox: true},
{field: 'id', title: __('Id'), operate:false},
{field: 'user_id', title: __('用户id'), operate:false},
{field: 'number', title: __('Number'), operate:false},
{field: 'user_id', title: __('用户昵称'), operate:false},
{field: 'house_id', title: __('社区名称'), operate:false},
{field: 'name', title: __('Name'), operate:'like'},
{field: 'phone', title: __('Phone')},
{field: 'image', title: __('Image'), events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'is_direct', title: __('管理员类型'), searchList: {"1":"主管理员","2":'子管理员'},formatter: Table.api.formatter.status},
// {field: 'image', title: __('Image'), events: Table.api.events.image, formatter: Table.api.formatter.image},
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
// {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
... ...