Files
shopxo/app/service/SystemBaseService.php

572 lines
27 KiB
PHP
Raw Permalink Normal View History

2020-09-14 18:53:42 +08:00
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
2021-03-16 10:34:52 +08:00
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
2020-09-14 18:53:42 +08:00
// +----------------------------------------------------------------------
2021-03-16 10:34:52 +08:00
// | Licensed ( https://opensource.org/licenses/mit-license.php )
2020-09-14 18:53:42 +08:00
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\service;
2021-07-18 23:42:10 +08:00
use think\facade\Db;
2020-09-14 18:53:42 +08:00
use app\service\ResourcesService;
use app\service\QuickNavService;
use app\service\PluginsService;
2020-09-14 18:53:42 +08:00
/**
2021-04-11 15:51:06 +08:00
* 系统基础公共信息服务层
2020-09-14 18:53:42 +08:00
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-09-12
* @desc description
*/
2021-04-11 15:51:06 +08:00
class SystemBaseService
2020-09-14 18:53:42 +08:00
{
2021-04-11 15:51:06 +08:00
// 商品优惠使用记录key
public static $plugins_goods_discount_record_key = 'plugins_use_goods_discount_record_';
2020-09-14 18:53:42 +08:00
/**
* 公共配置信息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-09-12
* @desc description
* @param [array] $params [输入参数]
*/
public static function Common($params = [])
{
// 配置信息
$config = [
// 基础
2023-02-11 17:01:04 +08:00
'common_site_type' => self::SiteTypeValue(),
'common_shop_notice' => MyC('common_shop_notice', null, true),
2021-05-08 14:04:42 +08:00
2022-11-20 21:29:44 +08:00
// 协议、注册协议、隐私协议、注销协议
2023-02-11 17:01:04 +08:00
'agreement_userregister_url' => MyUrl('index/agreement/index', ['document'=>'userregister', 'is_content'=>1]),
'agreement_userprivacy_url' => MyUrl('index/agreement/index', ['document'=>'userprivacy', 'is_content'=>1]),
'agreement_userlogout_url' => MyUrl('index/agreement/index', ['document'=>'userlogout', 'is_content'=>1]),
2021-05-26 19:53:49 +08:00
2021-05-08 14:04:42 +08:00
// 手机端相关配置
2023-02-11 17:01:04 +08:00
'common_app_is_enable_search' => (int) MyC('common_app_is_enable_search', 1),
'common_app_is_header_nav_fixed' => (int) MyC('common_app_is_header_nav_fixed', 0),
'common_app_is_online_service' => (int) MyC('common_app_is_online_service', 0),
'common_app_customer_service_tel' => MyC('common_app_customer_service_tel', null, true),
2021-05-08 14:04:42 +08:00
// 基础-站点域名和CDN
2023-02-11 17:01:04 +08:00
'common_domain_host' => MyC('common_domain_host', null, true),
'common_cdn_attachment_host' => MyC('common_cdn_attachment_host', null, true),
'common_cdn_public_host' => MyC('common_cdn_public_host', null, true),
2021-05-08 14:04:42 +08:00
// 扩展项-订单
2023-02-11 17:01:04 +08:00
'common_order_close_limit_time' => (int) MyC('common_order_close_limit_time', 30, true),
'common_order_success_limit_time' => (int) MyC('common_order_success_limit_time', 21600, true),
'common_pay_log_order_close_limit_time' => (int) MyC('common_pay_log_order_close_limit_time', 30, true),
2021-05-08 14:04:42 +08:00
// 验证码
2023-02-11 17:01:04 +08:00
'common_verify_expire_time' => (int) MyC('common_verify_expire_time', 600, true),
'common_verify_interval_time' => (int) MyC('common_verify_interval_time', 60, true),
'common_img_verify_state' => (int) MyC('common_img_verify_state', 0, true),
2021-05-08 14:04:42 +08:00
// 密码找回
2023-02-11 17:01:04 +08:00
'home_site_user_forgetpwd_ad_images' => self::SiteAdConfigImagesMgerge('home_site_user_forgetpwd'),
2021-05-08 14:04:42 +08:00
// 用户登录
2023-02-11 17:01:04 +08:00
'home_user_login_type' => MyC('home_user_login_type', [], true),
'home_user_login_img_verify_state' => (int) MyC('home_user_login_img_verify_state', 0, true),
'home_site_user_login_ad_images' => self::SiteAdConfigImagesMgerge('home_site_user_login'),
2021-05-08 14:04:42 +08:00
// 注册
2023-02-11 17:01:04 +08:00
'home_user_reg_type' => MyC('home_user_reg_type', [], true),
'home_user_register_img_verify_state' => (int) MyC('home_user_register_img_verify_state', 0, true),
'common_register_is_enable_audit' => (int) MyC('common_register_is_enable_audit', 0, true),
'home_is_enable_userregister_agreement' => (int) MyC('home_is_enable_userregister_agreement', 0, true),
'home_site_user_register_bg_images' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_user_register_bg_images')),
2021-05-08 14:04:42 +08:00
2023-08-27 16:59:15 +08:00
// APP、小程序
'common_user_is_mandatory_bind_mobile' => (int) MyC('common_user_is_mandatory_bind_mobile', 0),
'common_user_onekey_bind_mobile_list' => MyC('common_user_onekey_bind_mobile_list', [], true),
'common_user_address_platform_import_list' => MyC('common_user_address_platform_import_list', [], true),
2023-08-27 16:59:15 +08:00
'common_app_user_base_popup_pages' => MyC('common_app_user_base_popup_pages', [], true),
'common_app_user_base_popup_client' => MyC('common_app_user_base_popup_client', [], true),
'common_app_user_base_popup_interval_time' => (int) MyC('common_app_user_base_popup_interval_time', 1800),
2021-05-08 14:04:42 +08:00
// 站点信息
2023-02-11 17:01:04 +08:00
'home_site_name' => MyC('home_site_name', null, true),
'home_site_logo' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo')),
'home_site_logo_wap' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo_wap')),
2023-11-08 15:43:08 +08:00
'home_site_logo_app' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo_app')),
2023-02-11 17:01:04 +08:00
'home_site_logo_square' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo_square')),
'home_site_state' => (int) MyC('home_site_state', 1),
'home_site_web_home_state' => (int) MyC('home_site_web_home_state', 1),
'home_site_web_pc_state' => (int) MyC('home_site_web_pc_state', 1),
'home_site_close_reason' => MyC('home_site_close_reason', null, true),
2021-05-08 14:04:42 +08:00
// 备案信息
2023-02-11 17:01:04 +08:00
'home_site_icp' => MyC('home_site_icp', null, true),
'home_site_security_record_name' => MyC('home_site_security_record_name', null, true),
'home_site_security_record_url' => MyC('home_site_security_record_url', null, true),
'home_site_company_license' => MyC('home_site_company_license', null, true),
'home_site_telecom_license' => MyC('home_site_telecom_license', null, true),
2021-05-08 14:04:42 +08:00
// css/js版本值
2023-02-11 17:01:04 +08:00
'home_static_cache_version' => MyC('home_static_cache_version', null, true),
2021-05-08 14:04:42 +08:00
// 底部代码
2023-02-11 17:01:04 +08:00
'home_footer_info' => MyC('home_footer_info', null, true),
2021-05-08 14:04:42 +08:00
// 首页设置参数
2023-02-11 17:01:04 +08:00
'home_index_floor_data_type' => (int) MyC('home_index_floor_data_type', 0, true),
'home_index_banner_left_status' => (int) MyC('home_index_banner_left_status', 1),
'home_index_banner_right_status' => (int) MyC('home_index_banner_right_status', 1),
2021-05-08 14:04:42 +08:00
// 搜索相关
2023-02-11 17:01:04 +08:00
'home_search_limit_number' => (int) MyC('home_search_limit_number', 20, true),
'home_search_is_brand' => (int) MyC('home_search_is_brand', 1),
'home_search_is_category' => (int) MyC('home_search_is_category', 1),
'home_search_is_price' => (int) MyC('home_search_is_price', 1),
'home_search_is_params' => (int) MyC('home_search_is_params', 1),
'home_search_is_spec' => (int) MyC('home_search_is_spec', 1),
2021-05-08 14:04:42 +08:00
// 站点设置-扩展-基础
2023-02-11 17:01:04 +08:00
'home_index_friendship_link_status' => (int) MyC('home_index_friendship_link_status', 0, true),
'home_header_top_is_home' => (int) MyC('home_header_top_is_home', 1),
2021-05-08 14:04:42 +08:00
// 站点设置-扩展-快捷导航
2023-02-11 17:01:04 +08:00
'home_navigation_main_quick_status' => (int) MyC('home_navigation_main_quick_status', 0),
2023-08-27 16:59:15 +08:00
'home_navigation_main_quick_name' => MyC('home_navigation_main_quick_name', '更多入口', true),
2021-05-08 14:04:42 +08:00
// 站点设置-扩展-用户地址
2023-02-11 17:01:04 +08:00
'home_user_address_map_status' => (int) MyC('home_user_address_map_status', 0),
'home_user_address_idcard_status' => (int) MyC('home_user_address_idcard_status', 0),
'home_extraction_address_position' => (int) MyC('home_extraction_address_position', 0),
2020-09-14 18:53:42 +08:00
2020-09-22 18:11:20 +08:00
// 订单相关
2023-02-11 17:01:04 +08:00
'home_is_enable_order_bulk_pay' => (int) MyC('home_is_enable_order_bulk_pay', 0),
'common_order_is_booking' => (int) MyC('common_order_is_booking'),
2020-09-22 18:11:20 +08:00
2020-09-14 18:53:42 +08:00
// 用户中心相关
2023-02-11 17:01:04 +08:00
'common_user_center_notice' => MyC('common_user_center_notice', null, true),
'common_app_is_head_vice_nav' => (int) MyC('common_app_is_head_vice_nav', 0),
2020-09-14 18:53:42 +08:00
// 商品分类相关
2023-02-11 17:01:04 +08:00
'category_show_level' => MyC('common_show_goods_category_level', 0, true),
2020-09-14 18:53:42 +08:00
// 商品相关
2023-02-11 17:01:04 +08:00
'common_app_is_use_mobile_detail' => (int) MyC('common_app_is_use_mobile_detail'),
'common_is_show_goods_comments' => (int) MyC('common_is_show_goods_comments', 1),
'common_is_goods_detail_show_photo' => (int) MyC('common_is_goods_detail_show_photo', 0, true),
'common_is_exhibition_mode_btn_text' => MyC('common_is_exhibition_mode_btn_text', '立即咨询', true),
2021-05-08 14:04:42 +08:00
2022-07-26 15:39:56 +08:00
// 地图密钥
2023-02-11 17:01:04 +08:00
'common_map_type' => MyC('common_map_type', 'baidu', true),
'common_baidu_map_ak' => MyC('common_baidu_map_ak', null, true),
'common_amap_map_ak' => MyC('common_amap_map_ak', null, true),
'common_amap_map_safety_ak' => MyC('common_amap_map_safety_ak', null, true),
'common_tencent_map_ak' => MyC('common_tencent_map_ak', null, true),
'common_tianditu_map_ak' => MyC('common_tianditu_map_ak', null, true),
2021-05-08 14:04:42 +08:00
// 商店信息
2023-02-11 17:01:04 +08:00
'common_customer_store_tel' => MyC('common_customer_store_tel', null, true),
'common_customer_store_email' => MyC('common_customer_store_email', null, true),
'common_customer_store_address' => MyC('common_customer_store_address', null, true),
'common_customer_store_qrcode' => ResourcesService::AttachmentPathViewHandle(MyC('common_customer_store_qrcode')),
2021-05-08 14:04:42 +08:00
// SEO信息
2023-02-11 17:01:04 +08:00
'home_seo_site_title' => MyC('home_seo_site_title', null, true),
'home_seo_site_keywords' => MyC('home_seo_site_keywords', null, true),
'home_seo_site_description' => MyC('home_seo_site_description', null, true),
// 小程序基础信息
// 微信小程序
2023-02-11 17:01:04 +08:00
'common_app_mini_weixin_title' => MyC('common_app_mini_weixin_title', null, true),
'common_app_mini_weixin_describe' => MyC('common_app_mini_weixin_describe', null, true),
2023-09-10 20:13:30 +08:00
'common_app_mini_weixin_privacy_content' => MyC('common_app_mini_weixin_privacy_content', null, true),
// 支付宝小程序
2023-02-11 17:01:04 +08:00
'common_app_mini_alipay_title' => MyC('common_app_mini_alipay_title', null, true),
'common_app_mini_alipay_describe' => MyC('common_app_mini_alipay_describe', null, true),
// 百度小程序
2023-02-11 17:01:04 +08:00
'common_app_mini_baidu_title' => MyC('common_app_mini_baidu_title', null, true),
'common_app_mini_baidu_describe' => MyC('common_app_mini_baidu_describe', null, true),
// 头条小程序
2023-02-11 17:01:04 +08:00
'common_app_mini_toutiao_title' => MyC('common_app_mini_toutiao_title', null, true),
'common_app_mini_toutiao_describe' => MyC('common_app_mini_toutiao_describe', null, true),
// QQ小程序
2023-02-11 17:01:04 +08:00
'common_app_mini_qq_title' => MyC('common_app_mini_qq_title', null, true),
'common_app_mini_qq_describe' => MyC('common_app_mini_qq_describe', null, true),
// 快手小程序
2023-02-11 17:01:04 +08:00
'common_app_mini_kuaishou_title' => MyC('common_app_mini_kuaishou_title', null, true),
'common_app_mini_kuaishou_describe' => MyC('common_app_mini_kuaishou_describe', null, true),
2020-09-14 18:53:42 +08:00
];
// 支付宝小程序在线客服
if(APPLICATION_CLIENT_TYPE == 'alipay')
{
2023-02-11 17:01:04 +08:00
$config['common_app_mini_alipay_tnt_inst_id'] = MyC('common_app_mini_alipay_tnt_inst_id', null, true);
$config['common_app_mini_alipay_scene'] = MyC('common_app_mini_alipay_scene', null, true);
2020-09-14 18:53:42 +08:00
}
// 数据集合
$data = [
// 全局状态值(1接口执行成功,用于前端校验接口请求完成状态,以后再加入其它状态)
2020-09-17 22:22:37 +08:00
'status' => 1,
2020-09-14 18:53:42 +08:00
// 配置信息
2020-09-17 22:22:37 +08:00
'config' => $config,
2020-09-14 18:53:42 +08:00
2020-09-17 22:22:37 +08:00
// 货币符号
'currency_symbol' => ResourcesService::CurrencyDataSymbol(),
2020-09-14 18:53:42 +08:00
// 快捷入口信息
2021-11-22 13:09:14 +08:00
'quick_nav' => QuickNavService::QuickNav($params),
// 插件配置信息
2021-11-22 13:09:14 +08:00
'plugins_base' => PluginsService::PluginsBaseList($params),
2020-09-14 18:53:42 +08:00
];
// 公共配置信息钩子
2022-08-21 17:11:09 +08:00
$hook_name = 'plugins_service_base_common';
2021-07-18 23:42:10 +08:00
MyEventTrigger($hook_name, [
2020-09-14 18:53:42 +08:00
'hook_name' => $hook_name,
'is_backend' => true,
'data' => &$data,
'params' => $params,
]);
2021-01-06 21:26:19 +08:00
return DataReturn('success', 0, $data);
}
2021-05-08 14:04:42 +08:00
/**
* 站点相关多张广告图片配置信息合并
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-05-08
* @desc description
* @param [string] $type [类型]
* @param [int] $count [数量、默认3]
*/
public static function SiteAdConfigImagesMgerge($type, $count = 3)
{
$data = [];
$key = $type.'_ad';
for($i=1; $i<=$count; $i++)
{
$img = ResourcesService::AttachmentPathViewHandle(MyC($key.$i.'_images'));
if(!empty($img))
{
$data[] = [
'images' => $img,
'url' => MyC($key.$i.'_url', null, true),
'bg_color' => MyC($key.$i.'_bg_color', null, true),
];
}
}
return $data;
}
2021-01-06 21:26:19 +08:00
/**
* 数据返回处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-01-06
* @desc description
* @param [array] $data [返回数据]
*/
public static function DataReturn($data = [])
{
// 当前操作名称, 兼容插件模块名称
2021-07-18 23:42:10 +08:00
$module_name = RequestModule();
$controller_name = RequestController();
$action_name = RequestAction();
2021-01-06 21:26:19 +08:00
2021-04-07 14:17:35 +08:00
// 钩子
$hook_name = 'plugins_service_base_data_return_'.$module_name.'_'.$controller_name.'_'.$action_name;
2021-07-18 23:42:10 +08:00
MyEventTrigger($hook_name, [
2021-01-06 21:26:19 +08:00
'hook_name' => $hook_name,
'is_backend' => true,
'data' => &$data,
'params' => input(),
2021-01-06 21:26:19 +08:00
]);
return DataReturn('success', 0, $data);
2020-09-14 18:53:42 +08:00
}
2021-04-07 14:17:35 +08:00
/**
* 站点类型
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-04-04
* @desc description
*/
public static function SiteTypeValue()
{
// 当前站点类型、默认快递0快递, 1展示型, 2自提点, 3虚拟销售, 4销售+自提)
2023-11-08 15:43:08 +08:00
$site_type = MyC('common_site_type');
$value = empty($site_type) ? 0 : (is_array($site_type) ? (array_key_exists(APPLICATION_CLIENT_TYPE, $site_type) ? $site_type[APPLICATION_CLIENT_TYPE] : 0) : $site_type);
2021-04-07 14:17:35 +08:00
// 钩子
$hook_name = 'plugins_service_base_site_type_value';
2021-07-18 23:42:10 +08:00
MyEventTrigger($hook_name, [
2021-04-07 14:17:35 +08:00
'hook_name' => $hook_name,
'is_backend' => true,
'value' => &$value,
]);
return $value;
}
2021-04-11 15:51:06 +08:00
/**
2021-10-30 22:47:49 +08:00
* 是否使用商品优惠记录
2021-04-11 15:51:06 +08:00
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-04-09
* @desc description
* @param [int] $goods_id [商品id]
* @param [string] $plugins [插件名称]
*/
public static function IsGoodsDiscountRecord($goods_id, $plugins)
{
// 获取记录
$data = self::GetGoodsDiscountRecord($goods_id);
// 当前插件是否存在优惠记录
return in_array($plugins, $data);
}
/**
* 商品优惠记录
2021-04-11 15:51:06 +08:00
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-04-09
* @desc description
* @param [int] $goods_id [商品id]
* @param [string] $plugins [插件名称]
* @param [int] $is_use [是否使用0否, 1是)]
2021-04-11 15:51:06 +08:00
*/
public static function GoodsDiscountRecord($goods_id, $plugins, $is_use = 0)
{
// 记录key
$key = self::$plugins_goods_discount_record_key.$goods_id;
// 获取记录
$data = self::GetGoodsDiscountRecord($goods_id);
// 是否存在
$index = array_search($plugins, $data);
// 是否使用优惠
if($is_use == 1)
{
// 存储记录
if($index === false)
{
$data[] = $plugins;
}
2021-07-18 23:42:10 +08:00
MySession($key, $data);
2021-04-11 15:51:06 +08:00
} else {
if($index !== false)
{
unset($data[$index]);
sort($data);
}
}
2021-07-18 23:42:10 +08:00
MySession($key, empty($data) ? null : $data);
2021-04-11 15:51:06 +08:00
return true;
}
/**
* 获取使用商品优化记录
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-04-09
* @desc description
* @param [int] $goods_id [商品id]
*/
public static function GetGoodsDiscountRecord($goods_id)
{
2021-07-18 23:42:10 +08:00
$res = MySession(self::$plugins_goods_discount_record_key.$goods_id);
2021-04-11 15:51:06 +08:00
return empty($res) ? [] : $res;
}
/**
* 商品是否支持折扣
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-04-08
* @desc description
* @param [array] $params [输入参数]
* @param [string] $plugins [插件名称]
*/
public static function IsGoodsDiscount($params = [], $plugins = '')
{
// 默认支持
2022-12-09 12:21:55 +08:00
$status = 1;
2021-04-11 15:51:06 +08:00
// 是否关闭商品优惠重叠
// 采用钩子进行处理
if(MyC('is_close_goods_discount_overlap', 0) == 1 && !empty($params) && !empty($params['hook_name']))
{
switch($params['hook_name'])
{
// 商品处理结束
case 'plugins_service_goods_handle_end' :
if(!empty($params['goods']) && !empty($params['goods']['id']))
{
2023-01-17 16:37:00 +08:00
// 静态类似存储数据避免重复读取浪费mysql
static $system_base_service_goods_handle_info_static_data = [];
if(array_key_exists($params['goods']['id'], $system_base_service_goods_handle_info_static_data))
{
$old = $system_base_service_goods_handle_info_static_data[$params['goods']['id']];
} else {
$old = Db::name('Goods')->field('price,min_price,max_price')->find($params['goods']['id']);
$system_base_service_goods_handle_info_static_data[$params['goods']['id']] = $old;
}
2021-04-11 15:51:06 +08:00
if(!empty($old))
{
// 展示销售价格
2022-12-09 12:21:55 +08:00
if($status == 1 && isset($params['goods']['price']))
2021-04-11 15:51:06 +08:00
{
$temp = explode('-', $params['goods']['price']);
$temp_old = explode('-', $old['price']);
if($temp[count($temp)-1] < $temp_old[count($temp_old)-1])
{
2022-12-09 12:21:55 +08:00
$status = 0;
2021-04-11 15:51:06 +08:00
}
}
// 最低价
2022-12-09 12:21:55 +08:00
if($status == 1 && isset($params['goods']['min_price']))
2021-04-11 15:51:06 +08:00
{
if($params['goods']['min_price'] < $old['min_price'])
{
2022-12-09 12:21:55 +08:00
$status = 0;
2021-04-11 15:51:06 +08:00
}
}
// 最高价
2022-12-09 12:21:55 +08:00
if($status == 1 && isset($params['goods']['max_price']))
2021-04-11 15:51:06 +08:00
{
if($params['goods']['max_price'] < $old['max_price'])
{
2022-12-09 12:21:55 +08:00
$status = 0;
2021-04-11 15:51:06 +08:00
}
}
}
}
break;
2022-12-09 12:21:55 +08:00
// 商品列表处理结束
case 'plugins_service_goods_list_handle_end' :
$result = [];
if(!empty($params['data']))
{
// key字段
$key_field = empty($params['params']['data_key_field']) ? 'id' : $params['params']['data_key_field'];
2023-01-17 16:37:00 +08:00
$goods_ids = array_column($params['data'], $key_field);
// 静态类似存储数据避免重复读取浪费mysql
$key = md5(implode('', $goods_ids));
static $system_base_service_goods_list_handle_column_static_data = [];
if(array_key_exists($key, $system_base_service_goods_list_handle_column_static_data))
{
$old = $system_base_service_goods_list_handle_column_static_data[$key];
} else {
$old = Db::name('Goods')->where(['id'=>$goods_ids])->column('id,price,min_price,max_price', 'id');
$system_base_service_goods_list_handle_column_static_data[$key] = $old;
}
2022-12-09 12:21:55 +08:00
if(!empty($old))
{
foreach($params['data'] as $goods)
{
if(array_key_exists($goods[$key_field], $old))
{
$status = 1;
$item_old = $old[$goods[$key_field]];
// 展示销售价格
if($status == 1 && isset($goods['price']))
{
$temp = explode('-', $goods['price']);
$temp_old = explode('-', $item_old['price']);
if($temp[count($temp)-1] < $temp_old[count($temp_old)-1])
{
$status = 0;
}
}
// 最低价
if($status == 1 && isset($goods['min_price']))
{
if($goods['min_price'] < $item_old['min_price'])
{
$status = 0;
}
}
// 最高价
if($status == 1 && isset($goods['max_price']))
{
if($goods['max_price'] < $item_old['max_price'])
{
$status = 0;
}
}
$result[$goods[$key_field]] = $status;
}
}
}
}
return $result;
break;
2021-04-11 15:51:06 +08:00
// 获取规格详情
case 'plugins_service_goods_spec_base' :
if(!empty($params['data']) && !empty($params['data']['spec_base']) && !empty($params['data']['spec_base']['id']) && !empty($params['data']['spec_base']['goods_id']) && isset($params['data']['spec_base']['price']))
{
2023-01-17 16:37:00 +08:00
$base_id = $params['data']['spec_base']['id'];
// 静态类似存储数据避免重复读取浪费mysql
static $system_base_service_goods_spec_base_price_static_data = [];
if(array_key_exists($base_id, $system_base_service_goods_spec_base_price_static_data))
{
$price_old = $system_base_service_goods_spec_base_price_static_data[$base_id];
} else {
$price_old = Db::name('GoodsSpecBase')->where(['id'=>$base_id])->value('price');
$system_base_service_goods_spec_base_price_static_data[$base_id] = $price_old;
}
if($params['data']['spec_base']['price'] < $price_old)
2021-04-11 15:51:06 +08:00
{
2022-12-09 12:21:55 +08:00
$status = 0;
2021-04-11 15:51:06 +08:00
}
}
break;
}
}
// 返回状态、默认支持
return $status;
}
2021-04-26 14:10:45 +08:00
2021-07-06 23:57:03 +08:00
/**
* 附件地址
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-07-06
* @desc description
*/
public static function AttachmentHost()
{
2021-07-18 23:42:10 +08:00
return MyConfig('shopxo.attachment_host');
2021-07-06 23:57:03 +08:00
}
2020-09-14 18:53:42 +08:00
}
?>