123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <?php
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- namespace app\common\model\goods;
-
-
- use app\admin\validate\SeckillTime;
- use app\api\logic\SeckillLogic;
- use app\common\basics\Models;
- use app\common\enum\OrderEnum;
- use app\api\logic\OrderLogic;
- use app\common\model\seckill\SeckillGoods;
- use app\common\model\seckill\SeckillTime as SeckillTimeModel;
- use app\common\server\UrlServer;
-
-
-
- class GoodsItem extends Models
- {
-
-
- function getMarketPriceAttr($value, $data)
- {
- return $value <= 0 ? '' : $value;
- }
-
- function getChengbenPriceAttr($value, $data)
- {
- return $value <= 0 ? '' : $value;
- }
-
- function getWeightAttr($value, $data)
- {
- return $value <= 0 ? '' : $value;
- }
-
- function getVolumeAttr($value, $data)
- {
- return $value <= 0 ? '' : $value;
- }
-
-
-
- static function getGoodsItemPrice($item)
- {
- $seckill_goods_price = self::isSeckill($item['id']);
-
- return $seckill_goods_price != 0 ? $seckill_goods_price : $item['price'];
- }
-
-
-
- public function sumGoodsPrice($goods_id, $item_id, $num,$discount)
- {
- $goods_price = $this
- ->where([
- ['goods_id', '=', $goods_id],
- ['id', '=', $item_id],
- ])
- ->value('price');
- $seckill_goods_price = self::isSeckill($item_id);
- if($seckill_goods_price != 0){
- $goods_price = $seckill_goods_price;
- OrderLogic::$order_type = OrderEnum::SECKILL_ORDER;
- }
- $is_member = Goods::where('id',$goods_id)->value('is_member');
-
- if ($is_member === 0 || empty($is_member)){
- $price = round($goods_price*$num,2);
- }
- if ($is_member == 1){
- $price = max(round($goods_price*$discount/10,2), 0.01) * $num;
- }
- return $price;
- }
-
- public function sumMemberPrice($goods_id, $item_id, $num,$discount)
- {
- $goods_price = $this
- ->where([
- ['goods_id', '=', $goods_id],
- ['id', '=', $item_id],
- ])
- ->value('price');
- $seckill_goods_price = self::isSeckill($item_id);
- if($seckill_goods_price != 0){
- $goods_price = $seckill_goods_price;
- OrderLogic::$order_type = OrderEnum::SECKILL_ORDER;
- }
- $is_member = Goods::where('id',$goods_id)->value('is_member');
-
- if ($is_member === 0 || empty($is_member)){
- $price = 0;
- }
- if ($is_member == 1){
- $price = ($goods_price - max(round($goods_price*$discount/10,2), 0.01)) * $num;
- }
- return $price;
- }
-
-
- public static function isSeckill($item_id){
-
-
- $seckill = SeckillLogic::getSeckillGoods();
- $seckill_goods = $seckill['seckill_goods'];
-
-
- if (isset($seckill_goods[$item_id])) {
- return $seckill_goods[$item_id]['price'];
- }else{
- return 0;
- }
- }
- }
|