MjSendGoods.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace app\common\model\mj;
  3. use app\common\model\BaseModel;
  4. use app\common\model\Goods;
  5. use think\facade\Log;
  6. /**
  7. * 满就送活动模型
  8. * @package app\store\model\coupon
  9. */
  10. class MjSendGoods extends BaseModel
  11. {
  12. protected $name = 'mj_send_goods';
  13. // 定义主键
  14. protected $pk = 'id';
  15. protected $append = ['goods_info','residue_stock'];
  16. public function getGoodsInfoAttr($value,$data){
  17. $res = Goods::alias('gd')
  18. ->leftJoin('goods_image gi','gd.goods_id=gi.goods_id')
  19. ->leftJoin('goods_sku gs','gd.goods_id=gs.goods_id')
  20. ->leftJoin('upload_file uf','gi.image_id=uf.file_id')
  21. ->where('gd.goods_id',$data['goods_id'])
  22. ->field('gd.goods_name,gd.goods_no,gd.goods_price_min,gd.status,gi.image_id,uf.domain,uf.file_path,gs.goods_props')->find();
  23. $res->goods_props_obj = $res->goods_props?json_decode($res->goods_props):null;
  24. $res->goods_image = $res->domain.'/'.$res->file_path;
  25. return $res;
  26. //return Goods::alias('gd')->leftJoin('goods_images')->where('goods_id',$data['goods_id'])->field('goods_name,goods_no,')->find();
  27. }
  28. public function getResidueStockAttr($value,$data){
  29. if(isset($data['limit_stock']) && isset($data['purchase_stock'])){
  30. $residue_stock = $data['limit_stock']-$data['purchase_stock'];
  31. return $residue_stock>0?$residue_stock:0;
  32. }
  33. return 0;
  34. }
  35. public function add($coupon_activity_id,$data)
  36. {
  37. // 先删除全部
  38. static::deleteAll(['mj_send_activity_id' => $coupon_activity_id]);
  39. if (!empty($data)) {
  40. $dataset = [];
  41. foreach ($data as $item) {
  42. $dataset[] = [
  43. 'mj_send_activity_id'=>$coupon_activity_id,
  44. 'goods_id'=>$item['goods_id'],
  45. 'limit_stock'=>$item['limit_stock']
  46. ];
  47. }
  48. (new static)->addAll($dataset);
  49. }
  50. }
  51. }