post(); $data['org_id'] =cur_org_id(); $result = validate($this->validateName)->check($data,[],''); if(true !== $result){ $this->error = validate($this->validateName)->getError(); return false; } $id = $data['id']; unset($data['id']); $this->startTrans(); if($id > 0){ $data['update_time'] = date('Y-m-d H:i:s'); $old = $this->where('id',$id)->find()->toArray(); $res =$this->addOwnerLog($data,$old,$id); if(!$res){ $this->rollback(); return false; } $ret = $this->allowField(true)->save($data,['id'=>$id]); }else{ $data['create_time'] = date('Y-m-d H:i:s'); $ret = $this->allowField(true)->save($data); } if(!$ret){ $this->rollback(); $this->error = '操作失败'; return false; } $this->commit(); return true; } public function getList(){ $list =$this ->where('org_id',cur_org_id()) ->where('del',0) ->where('enable',1) ->select() ->toArray(); foreach ($list as $k=>$v){ $list[$k]['title'] = $v['name']; } return $list; } //增加业主变更信息 public function addOwnerLog($data,$olddata,$id){ $this->startTrans(); $tp = [ 'name'=>"姓名", 'phone'=>"联系电话", 'card'=>"身份证", 'remark'=>"备注", 'money'=>"预存款", 'enable'=>"装态", 'type'=>"类型", ]; try{ unset($olddata['id'] ,$olddata['del'] ,$olddata['update_time'] ,$olddata['create_time'] ,$olddata['import_log_id'] ); unset($data['id'] ,$data['update_time'] ); $msg = []; foreach ($data as $k=>$v){ if($v!=$olddata[$k]){ if($k=='enable'){ if($v==1){ $msg[]='状态由禁用更改为启用'; }else{ $msg[]='状态由启用更改为禁用'; } }elseif ($k=='type'){ if($v==1){ $msg[]='状态由住户更改为住户'; }else{ $msg[]='状态由住户更改为租户'; } }else{ $oo = empty($olddata[$k])?'空':$olddata[$k]; $msg[]=$tp[$k].'由'.$oo.'更改为'.$v; } } } if(empty($msg)){ $this->commit(); return true; } $s = [ 'org_id'=>$data['org_id'], 'house_id'=>0, 'owner_id'=>$id, 'content'=>implode(',',$msg), 'create_time'=>date('y-m-d h:i:s'), ]; $rs = Db::name('house_owner_log') ->insert($s); if(!$rs) exception('增加变更信息失败2'); $this->commit(); return true; }catch (Exception $e){ $this->rollback(); $this->error = $e->getmessage(); return false; } } }