Bladeren bron

修复:后台优惠券管理折扣率不正确

Yahoo 4 jaren geleden
bovenliggende
commit
594102a487
4 gewijzigde bestanden met toevoegingen van 46 en 44 verwijderingen
  1. 10 9
      app/common/model/Coupon.php
  2. 13 12
      app/common/model/UserCoupon.php
  3. 16 16
      app/store/controller/market/Coupon.php
  4. 7 7
      app/store/model/Coupon.php

+ 10 - 9
app/common/model/Coupon.php

@@ -8,11 +8,12 @@
 // +----------------------------------------------------------------------
 // | Author: 萤火科技 <admin@yiovo.com>
 // +----------------------------------------------------------------------
-declare (strict_types = 1);
+declare (strict_types=1);
 
 namespace app\common\model;
 
 use cores\BaseModel;
+
 use app\common\library\helper;
 
 /**
@@ -37,10 +38,10 @@ class Coupon extends BaseModel
     /**
      * 优惠券状态 (是否可领取)
      * @param $value
-     * @param $data
+     * @param array $data
      * @return array
      */
-    public function getStateAttr($value, $data)
+    public function getStateAttr($value, array $data): array
     {
         if (isset($data['is_receive']) && $data['is_receive']) {
             return ['text' => '已领取', 'value' => 0];
@@ -57,7 +58,7 @@ class Coupon extends BaseModel
     /**
      * 获取器:格式化折扣率
      * @param $value
-     * @return mixed
+     * @return float|int
      */
     public function getDiscountAttr($value)
     {
@@ -69,9 +70,9 @@ class Coupon extends BaseModel
      * @param $value
      * @return string
      */
-    public function getStartTimeAttr($value)
+    public function getStartTimeAttr($value): ?string
     {
-        return date('Y/m/d', $value);
+        return $value ? date('Y/m/d', $value) : null;
     }
 
     /**
@@ -79,9 +80,9 @@ class Coupon extends BaseModel
      * @param $value
      * @return string
      */
-    public function getEndTimeAttr($value)
+    public function getEndTimeAttr($value): ?string
     {
-        return date('Y/m/d', $value);
+        return $value ? date('Y/m/d', $value) : null;
     }
 
     /**
@@ -97,7 +98,7 @@ class Coupon extends BaseModel
     /**
      * 修改器:格式化折扣率
      * @param $value
-     * @return mixed
+     * @return float|int
      */
     public function setDiscountAttr($value)
     {

+ 13 - 12
app/common/model/UserCoupon.php

@@ -8,12 +8,14 @@
 // +----------------------------------------------------------------------
 // | Author: 萤火科技 <admin@yiovo.com>
 // +----------------------------------------------------------------------
-declare (strict_types=1);
+declare (strict_types = 1);
 
 namespace app\common\model;
 
 use cores\BaseModel;
+
 use app\common\library\helper;
+use think\model\relation\BelongsTo;
 
 /**
  * 用户优惠券模型
@@ -36,9 +38,9 @@ class UserCoupon extends BaseModel
 
     /**
      * 关联用户表
-     * @return \think\model\relation\BelongsTo
+     * @return BelongsTo
      */
-    public function user()
+    public function user(): BelongsTo
     {
         return $this->belongsTo('User');
     }
@@ -49,7 +51,7 @@ class UserCoupon extends BaseModel
      * @param $data
      * @return array
      */
-    public function getStateAttr($value, $data)
+    public function getStateAttr($value, $data): array
     {
         if ($data['is_use']) {
             return ['text' => '已使用', 'value' => 0];
@@ -63,7 +65,7 @@ class UserCoupon extends BaseModel
     /**
      * 获取器:格式化折扣率
      * @param $value
-     * @return mixed
+     * @return float|int
      */
     public function getDiscountAttr($value)
     {
@@ -75,7 +77,7 @@ class UserCoupon extends BaseModel
      * @param $value
      * @return string
      */
-    public function getStartTimeAttr($value)
+    public function getStartTimeAttr($value): string
     {
         return date('Y/m/d', $value);
     }
@@ -85,7 +87,7 @@ class UserCoupon extends BaseModel
      * @param $value
      * @return string
      */
-    public function getEndTimeAttr($value)
+    public function getEndTimeAttr($value): string
     {
         return date('Y/m/d', $value);
     }
@@ -103,7 +105,7 @@ class UserCoupon extends BaseModel
     /**
      * 修改器:格式化折扣率
      * @param $value
-     * @return mixed
+     * @return float|int
      */
     public function setDiscountAttr($value)
     {
@@ -134,11 +136,10 @@ class UserCoupon extends BaseModel
      * 设置优惠券使用状态
      * @param int $couponId 用户的优惠券id
      * @param bool $isUse 是否已使用
-     * @return false|int
+     * @return bool|false
      */
-    public static function setIsUse(int $couponId, $isUse = true)
+    public static function setIsUse(int $couponId, bool $isUse = true): bool
     {
-        return static::updateBase(['is_use' => (int)$isUse], ['user_coupon_id' => $couponId]);
+        return static::updateOne(['is_use' => (int)$isUse], $couponId);
     }
-
 }

+ 16 - 16
app/store/controller/market/Coupon.php

@@ -8,13 +8,14 @@
 // +----------------------------------------------------------------------
 // | Author: 萤火科技 <admin@yiovo.com>
 // +----------------------------------------------------------------------
-declare (strict_types = 1);
+declare (strict_types=1);
 
 namespace app\store\controller\market;
 
 use app\store\controller\Controller;
 use app\store\model\Coupon as CouponModel;
 use app\store\model\UserCoupon as UserCouponModel;
+use think\response\Json;
 
 /**
  * 优惠券管理
@@ -25,10 +26,10 @@ class Coupon extends Controller
 {
     /**
      * 列表记录
-     * @return array
+     * @return Json
      * @throws \think\db\exception\DbException
      */
-    public function list()
+    public function list(): Json
     {
         $model = new CouponModel;
         $list = $model->getList($this->request->param());
@@ -38,9 +39,9 @@ class Coupon extends Controller
     /**
      * 详情记录
      * @param int $couponId
-     * @return array
+     * @return Json
      */
-    public function detail(int $couponId)
+    public function detail(int $couponId): Json
     {
         $detail = CouponModel::detail($couponId);
         return $this->renderSuccess(compact('detail'));
@@ -48,9 +49,9 @@ class Coupon extends Controller
 
     /**
      * 添加优惠券
-     * @return array|mixed
+     * @return Json
      */
-    public function add()
+    public function add(): Json
     {
         // 新增记录
         $model = new CouponModel;
@@ -62,10 +63,10 @@ class Coupon extends Controller
 
     /**
      * 更新优惠券
-     * @param $couponId
-     * @return array|mixed
+     * @param int $couponId
+     * @return Json
      */
-    public function edit(int $couponId)
+    public function edit(int $couponId): Json
     {
         // 优惠券详情
         $model = CouponModel::detail($couponId);
@@ -78,10 +79,10 @@ class Coupon extends Controller
 
     /**
      * 删除优惠券
-     * @param $couponId
-     * @return array|mixed
+     * @param int $couponId
+     * @return Json
      */
-    public function delete(int $couponId)
+    public function delete(int $couponId): Json
     {
         // 优惠券详情
         $model = CouponModel::detail($couponId);
@@ -94,14 +95,13 @@ class Coupon extends Controller
 
     /**
      * 领取记录
-     * @return array
+     * @return Json
      */
-    public function receive()
+    public function receive(): Json
     {
         // 获取列表记录
         $model = new UserCouponModel;
         $list = $model->getList($this->request->param());
         return $this->renderSuccess(compact('list'));
     }
-
 }

+ 7 - 7
app/store/model/Coupon.php

@@ -30,7 +30,7 @@ class Coupon extends CouponModel
      * @return \think\Paginator
      * @throws \think\db\exception\DbException
      */
-    public function getList(array $param = [])
+    public function getList(array $param = []): \think\Paginator
     {
         // 检索查询条件
         $filter = $this->getFilter($param);
@@ -59,9 +59,9 @@ class Coupon extends CouponModel
     /**
      * 添加新记录
      * @param array $data
-     * @return false|int
+     * @return bool|false
      */
-    public function add(array $data)
+    public function add(array $data): bool
     {
         $data['store_id'] = self::$storeId;
         return $this->save($this->createData($data));
@@ -70,9 +70,9 @@ class Coupon extends CouponModel
     /**
      * 更新记录
      * @param array $data
-     * @return bool|int
+     * @return bool
      */
-    public function edit(array $data)
+    public function edit(array $data): bool
     {
         return $this->save($this->createData($data)) !== false;
     }
@@ -104,9 +104,9 @@ class Coupon extends CouponModel
 
     /**
      * 删除记录 (软删除)
-     * @return bool|int
+     * @return bool
      */
-    public function setDelete()
+    public function setDelete(): bool
     {
         return $this->save(['is_delete' => 1]) !== false;
     }