截流自动化的商城平台
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeshop开源商城系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | gitee下载:https://gitee.com/likeshop_gitee
  7. // | github下载:https://github.com/likeshop-github
  8. // | 访问官网:https://www.likeshop.cn
  9. // | 访问社区:https://home.likeshop.cn
  10. // | 访问手册:http://doc.likeshop.cn
  11. // | 微信公众号:likeshop技术社区
  12. // | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
  13. // | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
  14. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  15. // | likeshop团队版权所有并拥有最终解释权
  16. // +----------------------------------------------------------------------
  17. // | author: likeshop.cn.team
  18. // +----------------------------------------------------------------------
  19. namespace app\common\model\coupon;
  20. use app\common\basics\Models;
  21. use app\common\model\coupon\CouponList;
  22. use app\common\model\shop\Shop;
  23. class Coupon extends Models{
  24. // 使用场景
  25. public function getUseGoodsTypeDescAttr($value,$data){
  26. switch ($value){
  27. case 1:
  28. return '全店通用';
  29. case 2:
  30. return '部分商品可用';
  31. case 3:
  32. return '部分商品不可用';
  33. default:
  34. return '';
  35. }
  36. }
  37. // 优惠金额
  38. public function getConditionTypeDescAttr($value,$data){
  39. if($value == 1){
  40. return '无门槛,减'.$data['money'].'元';
  41. }
  42. if($value == 2){
  43. return '订单满'.$data['condition_money'].'元,减'.$data['money'].'元';
  44. }
  45. }
  46. // 使用门槛
  47. public function getConditionTypeDescTwoAttr($value,$data){
  48. if($value == 1){
  49. return '无门槛';
  50. }
  51. if($value == 2){
  52. return '订单满'.$data['condition_money'].'元可用';
  53. }
  54. }
  55. // 已领取/剩余
  56. public static function getSendTotalTypeDescAttr($value,$data){
  57. $send_total = CouponList::where(['coupon_id'=>$data['id']])->count();
  58. $tips = $send_total;
  59. if($data['send_total_type'] == 1){
  60. $tips .= '/不限';
  61. }else{
  62. $residue = $data['send_total'] - $send_total;
  63. $tips .= '/'.$residue;
  64. }
  65. return $tips;
  66. }
  67. // 发放情况
  68. public function getSendInfoAttr($value, $data)
  69. {
  70. switch($value) {
  71. case 1: // 不限制
  72. $already_issue = CouponList::where(['coupon_id'=>$data['id']])->count();
  73. $wait_issue = '不限量';
  74. $total_issue = '不限量';
  75. break;
  76. case 2: // 限制数量
  77. $already_issue = CouponList::where(['coupon_id'=>$data['id']])->count();
  78. $wait_issue = $data['send_total'] - $already_issue;
  79. $total_issue = $data['send_total'];
  80. break;
  81. }
  82. $info = <<<EOD
  83. 已发放:{$already_issue} <br />
  84. 待发放:{$wait_issue} <br />
  85. 发放总量:{$total_issue} <br />
  86. EOD;
  87. return $info;
  88. }
  89. //领取方式
  90. public function getGetTypeDescAttr($value,$data){
  91. switch ($value){
  92. case 1:
  93. return '直接领取';
  94. case 2:
  95. return '商家赠送';
  96. default:
  97. return '';
  98. }
  99. }
  100. // 状态
  101. public function getStatusDescAttr($value){
  102. $desc = [0=>'已下架', 1=>'上架中'];
  103. return $desc[$value];
  104. }
  105. // 发放时间
  106. public function getSendTimeAttr($value, $data)
  107. {
  108. $start_time = date('Y-m-d H:i:s', $data['send_time_start']);
  109. $end_time = date('Y-m-d H:i:s', $data['send_time_end']);
  110. return $start_time.' 至 '.$end_time;
  111. }
  112. //用券时间
  113. public function getUseTimeDescAttr($value,$data){
  114. if($data['use_time_type'] == 1){ // 固定时间
  115. return date('Y-m-d H:i:s',$data['use_time_start']).' 至 ' .date('Y-m-d H:i:s',$data['use_time_end']);
  116. }
  117. if($data['use_time_type'] == 2){
  118. return '领取当天起'.$data['use_time'].'天内可用';
  119. }
  120. if($data['use_time_type'] == 3){
  121. return '领取次日起'.$data['use_time'].'天内可用';
  122. }
  123. }
  124. // 创建时间
  125. // public function getCreateTimeAttr($value, $data)
  126. // {
  127. // return date('Y-m-d H:i:s', $value);
  128. // }
  129. /**
  130. * 关联模型
  131. */
  132. public function shop()
  133. {
  134. return $this->hasOne(Shop::class, 'id', 'shop_id')
  135. ->field('id,name');
  136. }
  137. }