细节优化
parent
b32b948197
commit
c4213fc6ac
|
|
@ -45,6 +45,7 @@ class UserAddress
|
|||
'is_search' => 1,
|
||||
'is_delete' => 1,
|
||||
'is_middle' => 0,
|
||||
'is_data_export_excel' => 1,
|
||||
],
|
||||
// 表单配置
|
||||
'form' => [
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
<!-- 商品基础信息 -->
|
||||
{{if !empty($module_data)}}
|
||||
<div class="am-nbfc">
|
||||
{{if !empty($module_data['images'])}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}">
|
||||
<img src="{{$module_data.images}}" class="am-img-thumbnail am-radius am-margin-right-xs am-fl" width="35" height="35" />
|
||||
</a>
|
||||
{{/if}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}" {{if !empty($module_data['title_color'])}} style="color:{{$module_data.title_color}};" {{/if}} class="am-nowrap-initial">{{$module_data.title}}</a>
|
||||
{{if !empty($module_data['simple_desc'])}}
|
||||
<p class="am-text-danger am-nowrap-initial">{{$module_data.simple_desc}}</p>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
<!-- 商品基础信息 -->
|
||||
{{if !empty($module_data)}}
|
||||
<div class="am-nbfc">
|
||||
{{if !empty($module_data['images'])}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}">
|
||||
<img src="{{$module_data['images']}}" class="am-img-thumbnail am-radius am-margin-right-xs am-fl" width="35" height="35" />
|
||||
</a>
|
||||
{{/if}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}" {{if !empty($module_data['title_color'])}} style="color:{{$module_data.title_color}};" {{/if}} class="am-nowrap-initial">{{$module_data.title}}</a>
|
||||
{{if !empty($module_data['simple_desc'])}}
|
||||
<p class="am-text-danger am-nowrap-initial">{{$module_data.simple_desc}}</p>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
<!-- 商品基础信息 -->
|
||||
{{if !empty($module_data)}}
|
||||
<div class="am-nbfc">
|
||||
{{if !empty($module_data['images'])}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}">
|
||||
<img src="{{$module_data['images']}}" class="am-img-thumbnail am-radius am-margin-right-xs am-fl" width="35" height="35" />
|
||||
</a>
|
||||
{{/if}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}" {{if !empty($module_data['title_color'])}} style="color:{{$module_data.title_color}};" {{/if}} class="am-nowrap-initial">{{$module_data.title}}</a>
|
||||
{{if !empty($module_data['simple_desc'])}}
|
||||
<p class="am-text-danger am-nowrap-initial">{{$module_data.simple_desc}}</p>
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@
|
|||
{{if !empty($module_data)}}
|
||||
{{if !empty($module_data['goods'])}}
|
||||
<div class="am-nbfc">
|
||||
{{if !empty($module_data['goods']['images'])}}
|
||||
<a href="{{$module_data.goods.goods_url}}" target="_blank">
|
||||
<img src="{{$module_data.goods.images}}" alt="{{$module_data.goods.title}}" class="am-img-thumbnail am-radius am-align-left am-margin-right-xs am-fl" width="35" height="35" />
|
||||
</a>
|
||||
{{/if}}
|
||||
<a class="am-text-top am-nowrap-initial" href="{{$module_data.goods.goods_url}}" target="_blank">{{$module_data.goods.title}}</a>
|
||||
</div>
|
||||
<p>{{$currency_symbol}}{{$module_data.goods.price}}</p>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
<!-- 商品基础信息 -->
|
||||
{{if !empty($module_data)}}
|
||||
<div class="am-nbfc">
|
||||
{{if !empty($module_data['images'])}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}">
|
||||
<img src="{{$module_data['images']}}" class="am-img-thumbnail am-radius am-margin-right-xs am-fl" width="35" height="35" />
|
||||
</a>
|
||||
{{/if}}
|
||||
<a href="{{$module_data.goods_url}}" target="_blank" title="{{$module_data.title}}" {{if !empty($module_data['title_color'])}} style="color:{{$module_data.title_color}};" {{/if}} class="am-nowrap-initial">{{$module_data.title}}</a>
|
||||
{{if !empty($module_data['simple_desc'])}}
|
||||
<p class="am-text-danger am-nowrap-initial">{{$module_data.simple_desc}}</p>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<li>1. 被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软体及软体的副本。</li>
|
||||
<li>2. 被授权人可根据程式的需要修改授权条款为适当的内容。</li>
|
||||
<li>3. 在软件和软件的所有副本中都必须包含版权声明和许可声明。</li>
|
||||
<li class="am-margin-top-xl">协议地址:<a href="https://ask.shopxo.net/article/15" target="_blank">https://ask.shopxo.net/article/15</a></li>
|
||||
<li class="am-margin-top-xl">协议地址:<a href="https://license.shopxo.net/" target="_blank">https://license.shopxo.net/</a></li>
|
||||
<li>英文原文:<a href="https://opensource.org/licenses/mit-license.php" target="_blank">https://opensource.org/licenses/mit-license.php</a></li>
|
||||
</ul>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,5 +13,8 @@
|
|||
|
||||
<!-- amazeui插件 -->
|
||||
<script type='text/javascript' src="{{$Think.__MY_ROOT_PUBLIC__}}static/common/lib/amazeui-switch/amazeui.switch.min.js"></script>
|
||||
<script type='text/javascript' src="{{$Think.__MY_ROOT_PUBLIC__}}static/common/lib/amazeui-chosen/amazeui.chosen.min.js"></script>
|
||||
<script type='text/javascript' src="{{$Think.__MY_ROOT_PUBLIC__}}static/common/lib/amazeui-chosen/amazeui.chosen.js"></script>
|
||||
<script type='text/javascript' src="{{$Think.__MY_ROOT_PUBLIC__}}static/common/lib/amazeui-dialog/amazeui.dialog.js"></script>
|
||||
|
||||
<!-- 复制插件 -->
|
||||
<script type='text/javascript' src="{{$Think.__MY_ROOT_PUBLIC__}}static/common/lib/clipboard/clipboard.min.js"></script>
|
||||
|
|
@ -19,3 +19,8 @@
|
|||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="am-container am-text-center am-text-danger am-padding-top-lg am-padding-bottom-sm">
|
||||
<span>v8.1版本由</span>
|
||||
<a href="" target="_blank"><strong>XXXXXX</strong></a>
|
||||
<span>独家赞助发布!</span>
|
||||
</div> -->
|
||||
|
|
@ -556,31 +556,17 @@ class BuyService
|
|||
}
|
||||
|
||||
// 先判断规格的起购数、则再判断商品的起购数
|
||||
if(isset($v['spec_buy_min_number']) && $v['spec_buy_min_number'] > 0)
|
||||
$min = (isset($v['spec_buy_min_number']) && $v['spec_buy_min_number'] > 0) ? $v['spec_buy_min_number'] : (isset($v['buy_min_number']) ? $v['buy_min_number'] : 0);
|
||||
if($min > 0 && $v['stock'] < $min)
|
||||
{
|
||||
if($v['stock'] < $v['spec_buy_min_number'])
|
||||
{
|
||||
return DataReturn(MyLang('common_service.buy.goods_buy_min_error_tips').'['.$v['title'].']['.$v['stock'].'<'.$v['spec_buy_min_number'].']', -1);
|
||||
}
|
||||
} else {
|
||||
if(isset($v['buy_min_number']) && $v['buy_min_number'] > 1 && $v['stock'] < $v['buy_min_number'])
|
||||
{
|
||||
return DataReturn(MyLang('common_service.buy.goods_buy_min_error_tips').'['.$v['title'].']['.$v['stock'].'<'.$v['buy_min_number'].']', -1);
|
||||
}
|
||||
return DataReturn(MyLang('common_service.buy.goods_buy_min_error_tips').'['.$v['title'].']['.$v['stock'].'<'.$min.']', -1);
|
||||
}
|
||||
|
||||
// 先判断规格的限购数、则再判断商品的限购数
|
||||
if(isset($v['spec_buy_max_number']) && $v['spec_buy_max_number'] > 0)
|
||||
$max = (isset($v['spec_buy_max_number']) && $v['spec_buy_max_number'] > 0) ? $v['spec_buy_max_number'] : (isset($v['buy_max_number']) ? $v['buy_max_number'] : 0);
|
||||
if($max > 0 && $v['stock'] > $max)
|
||||
{
|
||||
if($v['stock'] > $v['spec_buy_max_number'])
|
||||
{
|
||||
return DataReturn(MyLang('common_service.buy.goods_buy_max_error_tips').'['.$v['title'].']['.$v['stock'].'>'.$v['spec_buy_max_number'].']', -1);
|
||||
}
|
||||
} else {
|
||||
if(isset($v['buy_max_number']) && $v['buy_max_number'] > 0 && $v['stock'] > $v['buy_max_number'])
|
||||
{
|
||||
return DataReturn(MyLang('common_service.buy.goods_buy_max_error_tips').'['.$v['title'].']['.$v['stock'].'>'.$v['buy_max_number'].']', -1);
|
||||
}
|
||||
return DataReturn(MyLang('common_service.buy.goods_buy_max_error_tips').'['.$v['title'].']['.$v['stock'].'>'.$max.']', -1);
|
||||
}
|
||||
|
||||
// 是否支持购物车操作
|
||||
|
|
|
|||
|
|
@ -783,7 +783,7 @@ class SearchService
|
|||
if(!empty($bid))
|
||||
{
|
||||
$data_params = [
|
||||
'field' => 'id,name,describe,logo,website_url',
|
||||
'field' => 'id,name,describe,logo,website_url,seo_title,seo_keywords,seo_desc',
|
||||
'where' => [
|
||||
['id', '=', $bid]
|
||||
],
|
||||
|
|
|
|||
|
|
@ -789,30 +789,33 @@ class WarehouseGoodsService
|
|||
* @date 2020-07-16
|
||||
* @desc description
|
||||
* @param [int] $goods_id [商品id]
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function GoodsSpecInventorySync($goods_id)
|
||||
public static function GoodsSpecInventorySync($goods_id, $params = [])
|
||||
{
|
||||
// 获取商品实际规格
|
||||
$res = GoodsService::GoodsSpecificationsActual($goods_id);
|
||||
if(empty($res['value']))
|
||||
$spec = GoodsService::GoodsSpecificationsActual($goods_id);
|
||||
if(empty($spec['value']))
|
||||
{
|
||||
// 没有规格则读取默认规格数据
|
||||
$res['value'][] = [
|
||||
$spec['value'] = [
|
||||
[
|
||||
'base_id' => Db::name('GoodsSpecBase')->where(['goods_id'=>$goods_id])->value('id'),
|
||||
'value' => 'default',
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
// 商品规格库存
|
||||
$inventory_total = 0;
|
||||
foreach($res['value'] as $v)
|
||||
foreach($spec['value'] as &$v)
|
||||
{
|
||||
$inventory = self::WarehouseGoodsSpecInventory($goods_id, str_replace(GoodsService::$goods_spec_to_string_separator, '', $v['value']));
|
||||
if(Db::name('GoodsSpecBase')->where(['id'=>$v['base_id'], 'goods_id'=>$goods_id])->update(['inventory'=>$inventory]) === false)
|
||||
$v['inventory'] = self::WarehouseGoodsSpecInventory($goods_id, str_replace(GoodsService::$goods_spec_to_string_separator, '', $v['value']));
|
||||
if(Db::name('GoodsSpecBase')->where(['id'=>$v['base_id'], 'goods_id'=>$goods_id])->update(['inventory'=>$v['inventory']]) === false)
|
||||
{
|
||||
return DataReturn(MyLang('common_service.warehousegoods.goods_spec_sync_inventory_fail_tips'), -20);
|
||||
}
|
||||
$inventory_total += $inventory;
|
||||
$inventory_total += $v['inventory'];
|
||||
}
|
||||
|
||||
// 商品库存
|
||||
|
|
@ -830,7 +833,10 @@ class WarehouseGoodsService
|
|||
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'goods_id' => $goods_id
|
||||
'goods_id' => $goods_id,
|
||||
'inventory_total' => $inventory_total,
|
||||
'spec' => $spec,
|
||||
'params' => $params,
|
||||
]));
|
||||
if(isset($ret['code']) && $ret['code'] != 0)
|
||||
{
|
||||
|
|
@ -938,9 +944,11 @@ class WarehouseGoodsService
|
|||
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'warehouse_id' => $warehouse_id,
|
||||
'order_id' => $order_id,
|
||||
'goods_id' => $goods_id,
|
||||
'spec' => $spec,
|
||||
'md5_key' => $md5_key,
|
||||
'buy_number' => $buy_number,
|
||||
]));
|
||||
if(isset($ret['code']) && $ret['code'] != 0)
|
||||
|
|
@ -1011,9 +1019,11 @@ class WarehouseGoodsService
|
|||
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'warehouse_id' => $warehouse_id,
|
||||
'order_id' => $order_id,
|
||||
'goods_id' => $goods_id,
|
||||
'spec' => $spec,
|
||||
'md5_key' => $md5_key,
|
||||
'buy_number' => $buy_number,
|
||||
]));
|
||||
if(isset($ret['code']) && $ret['code'] != 0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue