提交 75613257 authored 作者: chengye's avatar chengye

test

上级 1486eb36
<?php <?php
use app\admin\model\PermissionModel;
use app\admin\model\StaffRoleModel;
use think\db;
use think\facade\Session;
function check_data(){
$user = session('user');
//查找数据权限规则表
$map=[];
$permission=db::name('permission_data')->field('permission_ids')->where(['s_id'=>$user['user_id']])->find();
$arr= json_decode($permission['permission_ids'],true);
if($arr['department_id']){
$department_ids=strpos($arr['department_id'],',');
if($department_ids===false){
$map[]=['department_id','=', $arr['department_id']];
}else{
$map[]=['department_id','in',$arr['department_id']];
}
}
if($arr['region_id']){
$area_ids=strpos($arr['region_id'],',');
if($area_ids===false){
$map[]=['area_id','=', $arr['region_id']];
}else{
$map[]=['area_id','in',$arr['region_id']];
}
}
if($arr['business_id']){
$business_ids=strpos($arr['business_id'],',');
if($business_ids===false){
$map[]=['business_line_id','=', $arr['business_id']];
}else{
$map[]=['business_line_id','in',$arr['business_id']];
}
}
//如果数据规则表不存在数据信息 ,默认返回此用户的部门id
if(!$map){
$staff = db::name('staff')->field('d_id')->where(['id'=>$user['user_id']])->find();
if($staff && $staff['d_id']!==0){
$map[]=['department_id','=',$staff['d_id']];
}
}
return $map;
}
function loginlog($name,$id,$desc,$status){
$login['staff_id']=$id;
$login['name']=$name;
$login['description']=$desc;
$login['ip']=\think\facade\Request::ip();
$login['status']=$status;
$login['create_time']=time();
db::name('loginlog')->insert($login);
}
function activity_log($name,$desc,$type){
$login['name']=$name;
$login['description']=$desc;
$login['type']=$type;
$login['create_time']=time();
db::name('activity_log')->insert($login);
}
function curlGet($url=''){
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
$tmpInfo = curl_exec($curl); //返回api的json对象
//关闭URL请求
curl_close($curl);
return $tmpInfo; //返回json对象
}
function httpPOST($url , $post_data = array()){
$headers = array('Content-Type: application/x-www-form-urlencoded');
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data)); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);//捕抓异常
}
curl_close($curl); // 关闭CURL会话
return $result;
}
function decrypt ($pass) {
return md5($pass.config('admin.passwd_salt'));
}
//生成10位的随机密码
function createPass(){
return substr(md5(config('admin.passwd_salt').time()),0,10);
}
/**
* 基站状态递归实现无限极分类
* @param $array 分类数据
* @param $pid 父ID
* @param $level 分类级别
* @return $list 分好类的数组 直接遍历即可 $level可以用来遍历缩进
*/
function getTreeStatus($array, $pid =0, $level = 0){
//声明静态数组,避免递归调用时,多次声明导致数组覆盖
static $list = [];
foreach ($array as $key => $value){
//第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点
if ($value['pid'] == $pid){
//父节点为根节点的节点,级别为0,也就是第一级
$value['level'] = $level;
//把数组放到list中
$list[] = $value;
//把这个节点从数组中移除,减少后续递归消耗
unset($array[$key]);
//开始递归,查找父ID为该节点ID的节点,级别则为原级别+1
getTreeStatus($array, $value['cate_id'], $level+1);
}
}
return $list;
}
/**
* 递归实现无限极分类
* @param $array 分类数据
* @param $pid 父ID
* @param $level 分类级别
* @return $list 分好类的数组 直接遍历即可 $level可以用来遍历缩进
*/
function getTree($array, $pid =0, $level = 0){ function getTree($array, $pid =0, $level = 0){
//声明静态数组,避免递归调用时,多次声明导致数组覆盖 //声明静态数组,避免递归调用时,多次声明导致数组覆盖
static $list = []; static $list = [];
...@@ -17,3 +157,205 @@ function getTree($array, $pid =0, $level = 0){ ...@@ -17,3 +157,205 @@ function getTree($array, $pid =0, $level = 0){
} }
return $list; return $list;
} }
function getNodesTree($array,$pid=0){
$list = [];
foreach ($array as $k => $v) {
if ($v['pid'] == $pid) {
$v['children'] = getNodesTree($array, $v['id']);
$list[] = $v;
}
}
return $list;
}
function getNodeIds($data,$pid=0){
static $nodes = [];
if(empty($nodes)){
$nodes[] = $pid;
}
foreach ($data as $k=>$v){
if ($v['pid'] == $pid){
$nodes [] = $v['id'];
getNodesTree($data,$v['id']);
unset($data[$k]);
}
}
return $nodes;
}
function jsonSuc($message,$data=''){
if(!empty($data)){
return json([
'status' => 1,
'message' => $message,
'data' => $data
]);
} else {
return json([
'status' => 1,
'message' => $message
]);
}
}
function jsonErr($err){
return json([
'status' => 0,
'message' => $err
]);
}
function dd($mix)
{
echo "<pre/>";
var_dump($mix);
die;
}
function zero($num){
if(!is_numeric($num)) return '';
$len = strlen($num);
$str = str_repeat('0',5-$len).$num;
return $str;
}
//解析账单状态
function parseStatus($stauts,$type=0,$return=0){
$msg = [];
$arr = [];
for ($i=0;$i<strlen($stauts);$i++){
$arr[$i] = $stauts[$i];
}
switch ($arr[0]){
case 0:
$msg[] = '未缴费';
break;
case 1:
$msg[] = '部分缴费';
break;
case 2:
$msg[] = '已缴费';
break;
}
if($type == 1 && $return == 0) return $msg[0];
if($type == 1 && $return == 1) return $arr[0];
switch ($arr[1]){
case 0:
$msg[] = '未结算';
break;
case 1:
$msg[] = '部分结算';
break;
case 2:
$msg[] = '已结算';
break;
}
if($type == 1 && $return == 0) return $msg[1];
if($type == 1 && $return == 1) return $arr[1];
switch ($arr[2]){
case 0:
$msg[] = '未确收';
break;
case 1:
$msg[] = '确收中';
break;
case 2:
$msg[] = '已确收';
break;
}
if($type == 2 && $return == 0) return $msg[2];
if($type == 2 && $return == 1) return $arr[2];
return implode(' ',$msg);
}
/**
* 设置账单状态
* @param $statusCode
* @param $index
* @param $value
*/
function setInvoiceStatus($statusCode,$value,$index=0){
return substr_replace($statusCode,$value,$index,1);
}
/**
* 读取账单状态
* @param $statusCode
* @param $index
* @param $value
*/
function getInvoiceStatus($statusCode,$index=0){
return substr($statusCode,$index,1);
}
function getInvoicesStatusName($statusCode,$index=0){
$status = getInvoiceStatus($statusCode,$index);
if($index == 0){
switch ($status){
case 0:
return '未缴费';
break;
case 1:
return '部分缴费';
break;
case 2:
return '已缴清';
break;
}
}
elseif ($index == 1){
switch ($status){
case 0:
return '未结算';
break;
case 1:
return '部分结算';
break;
case 2:
return '已结算';
break;
}
} else {
switch ($status){
case 0:
return '未确收';
break;
case 1:
return '确收中';
break;
case 2:
return '已确收';
break;
}
}
}
//检测元素与按钮权限
function check_ele_permission($path){
$user = Session::get('user');
//获取当前用户的所有权限id
$permissions = StaffRoleModel::getStaffRolesById($user['user_id']);
$permissions = explode(',',$permissions);
//查询$path所对应id
$permission = PermissionModel::field('id,nav_url')->get(['nav_url'=>$path]);
if(isset($permission->id)){
if(!in_array($permission->id,$permissions) || $permission == null){
return false;
}
return true;
}
return false;
}
\ No newline at end of file
...@@ -45,11 +45,11 @@ class Payment ...@@ -45,11 +45,11 @@ class Payment
$account->save(); $account->save();
} }
$res = (new WriteOff())->writeOffFromPayment($payment->payment_id);
$payment->status = $status; $payment->status = $status;
$payment->pay_date = time(); $payment->pay_date = time();
$payment->save(); $payment->save();
$res = (new WriteOff())->writeOffFromPayment($payment->payment_id);
Log::record(date('Y-m-d H:i:s').' OA单号:'.$numb . $res); Log::record(date('Y-m-d H:i:s').' OA单号:'.$numb . $res);
return json([ return json([
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论