1.提交缺失的东西

This commit is contained in:
2025-05-16 14:36:34 +08:00
parent 511e690228
commit 7747fefa22
2 changed files with 160 additions and 25 deletions

View File

@ -114,50 +114,51 @@ class GoodsLogic{
}
//商品详情
public static function getGoodsDetail($user_id,$id){
$goods =Goods::find(['id'=>$id,'status'=>1])->with(['goods_image', 'goods_item']);
// $goods = Goods::where(['id'=>$id,'status'=>1])->with(['goods_image','goods_item']);
$goods = Goods::where(['id'=>$id,'status'=>1])->with(['goods_image','goods_item']);
if(empty($goods)){
return [];
}
//点击量
$goods->click_count = $goods->click_count + 1;
$goods->save();
$goods->sales_sum += $goods->virtual_sales_sum;
$goods->is_collect = 0;
$goods->member_price = 0;
$goods->append(['order_give_integral', 'commission_price']);
$goods['click_count'] = $data['click_count'] = $goods['click_count'] + 1;
Goods::where(['id'=>$id,'status'=>1])->update($data);
$goods['sales_sum'] += $goods['virtual_sales_sum'];
$goods['is_collect'] = 0;
$goods['member_price'] = 0;
$goods['order_give_integral'] = "";
$goods['commission_price'] = "";
//检查商品是否整在参加活动,如果正在参加活动替换商品的价格为活动价
$goods = self::checkActivity($goods);
if($user_id) {
//是否收藏
$collect = Db::name('goods_collect')->where(['user_id'=>$user_id,'goods_id'=>$id])->find();
$goods->is_collect= $collect ? 1 : 0;
$goods['is_collect']= $collect ? 1 : 0;
//会员折扣
$member_discount = Db::name('user_level l')
$member_discount = Db::name('user_level')->alias('l')
->join('user u', 'u.level = l.id')
->where(['u.id' => $user_id])
->value('discount');
$price_array = [];
//处理会员折扣价格
if ($goods->is_member > 0 && $member_discount > 0) {
if ($goods['is_member'] > 0 && $member_discount > 0) {
//会员价格
foreach ($goods->goods_item as $item => $value){
$goods->goods_item[$item]['member_price'] = 0;
foreach ($goods['goods_item'] as $item => $value){
$goods['goods_item'][$item]['member_price'] = 0;
if($member_discount){
$member_price = round($value['price'] * $member_discount / 10,2);
$goods->goods_item[$item]['member_price'] = $member_price;
$goods['goods_item'][$item]['member_price'] = $member_price;
$price_array[] = $member_price;
}
}
$price_array && $goods->member_price = min($price_array);
$price_array && $goods['member_price'] = min($price_array);
}
//多规格,按最高的价格计算积分
if($price_array && 2 === $goods->give_integral_type){
$price = $price_array ? max($price_array) : $goods->max_price;
$goods->order_give_integral = intval($price * $goods->give_integral / 100);
if($price_array && 2 === $goods['give_integral_type']){
$price = $price_array ? max($price_array) : $goods['max_price'];
$goods['order_give_integral'] = intval($price * $goods['give_integral'] / 100);
}
}
//猜你喜欢
@ -169,15 +170,15 @@ class GoodsLogic{
'click_count','min_price','max_price','market_price','is_collect','goods_spec','goods_image',
'goods_item','activity','member_price','is_express','is_selffetch','market_price']);
$market_price_array = array_column($goods->goods_item->toarray(),'market_price');
$goods->market_price = max($market_price_array);
$price_array = array_column($goods->goods_item->toarray(),'price');
$goods->min_price = min($price_array);
$goods->max_price = max($price_array);
$market_price_array = array_column($goods['goods_item']->toarray(),'market_price');
$goods['market_price'] = max($market_price_array);
$price_array = array_column($goods['goods_item']->toarray(),'price');
$goods['min_price'] = min($price_array);
$goods['max_price'] = max($price_array);
$goods->poster = !empty($goods->poster) ? UrlServer::getFileUrl($goods->poster) : '';
$goods['poster'] = !empty($goods['poster']) ? UrlServer::getFileUrl($goods['poster']) : '';
// 商品虚拟浏览量
$goods->click_count += $goods->virtual_click;
$goods['click_count'] += $goods['virtual_click'];
//判断是否开启了拼团
if ($goods['is_team']) {
$resTeam = self::getTeam($goods);