vr-shopxo-source/service/Application/Service/ResourcesService.class.php

184 lines
5.8 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace Service;
/**
* 资源服务层
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class ResourcesService
{
/**
* 获取地区名称
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public static function RegionName($params = [])
{
return M('Region')->where(['id'=>intval($params['region_id'])])->getField('name');
}
/**
* 快递列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public static function ExpressList($params = [])
{
$where = [];
if(isset($params['is_enable']))
{
$where['is_enable'] = intval($params['is_enable']);
}
$data = M('Express')->where($where)->field('id,icon,name,sort,is_enable')->order('sort asc')->select();
if(!empty($data) && is_array($data))
{
$images_host = C('IMAGE_HOST');
foreach($data as &$v)
{
$v['icon_old'] = $v['icon'];
$v['icon'] = empty($v['icon']) ? null : $images_host.$v['icon'];
}
}
return $data;
}
/**
* 支付方式列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public static function PaymentList($params = [])
{
$where = empty($params['where']) ? [] : $params['where'];
$where['is_enable'] = isset($params['is_enable']) ? intval($params['is_enable']) : 1;
$data = M('Payment')->where($where)->field('id,logo,name,sort,payment,config,apply_terminal,apply_terminal,element,is_enable')->order('sort asc')->select();
if(!empty($data) && is_array($data))
{
$images_host = C('IMAGE_HOST');
foreach($data as &$v)
{
$v['logo_old'] = $v['logo'];
$v['logo'] = empty($v['logo']) ? null : $images_host.$v['logo'];
$v['element'] = empty($v['element']) ? '' : json_decode($v['element'], true);
$v['config'] = empty($v['config']) ? '' : json_decode($v['config'], true);
$v['apply_terminal'] = empty($v['apply_terminal']) ? '' : json_decode($v['apply_terminal'], true);
}
}
return $data;
}
/**
* 获取支付方式列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc 下订单根据终端自动筛选支付方式
* @param [array] $params [输入参数]
*/
public static function BuyPaymentList($params = [])
{
$data = self::PaymentList($params);
$result = [];
if(!empty($data))
{
foreach($data as $v)
{
// 根据终端类型筛选
switch(APPLICATION)
{
// pc, wap
case 'web' :
if(IsMobile())
{
if(in_array('wap', $v['apply_terminal']))
{
$result[] = $v;
}
} else {
if(in_array('pc', $v['apply_terminal']))
{
$result[] = $v;
}
}
break;
// app
case 'app' :
if(in_array('app', $v['apply_terminal']))
{
$result[] = $v;
}
break;
}
}
}
return $result;
}
/**
* 获取地区节点数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-21
* @desc description
* @param [array] $params [输入参数]
*/
public static function RegionNode($params = [])
{
$field = empty($params['field']) ? 'id,name,level,letters' : $params['field'];
$where = empty($params['where']) ? [] : $params['where'];
$where['is_enable'] = 1;
return M('Region')->where($where)->field($field)->order('id asc, sort asc')->select();
}
/**
* 消息添加
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-21
* @desc description
* @param [int] $user_id [用户id]
* @param [string] $title [标题]
* @param [string] $detail [内容]
* @param [int] $business_type [业务类型0默认, 1订单, ...]
* @param [int] $business_id [业务id]
* @param [int] $type [类型默认0 普通消息)]
* @return [boolean] [成功true, 失败false]
*/
public static function MessageAdd($user_id, $title, $detail, $business_type = 0, $business_id = 0, $type = 0)
{
$data = array(
'title' => $title,
'detail' => $detail,
'user_id' => intval($user_id),
'business_type' => intval($business_type),
'business_id' => intval($business_id),
'type' => intval($type),
'add_time' => time(),
);
return M('Message')->add($data) > 0;
}
}
?>