Ver código fonte

积分签到

bianjunhui 1 semana atrás
pai
commit
028bb97501

+ 28 - 28
packages/Longyi/RewardPoints/src/Http/Controllers/Admin/RuleController.php

@@ -23,7 +23,7 @@ class RuleController extends Controller
         1 => ['name' => 'Order', 'icon' => 'icon-shopping-cart', 'color' => 'blue'],
         2 => ['name' => 'Registration', 'icon' => 'icon-user', 'color' => 'green'],
         3 => ['name' => 'Product Review', 'icon' => 'icon-star', 'color' => 'yellow'],
-        4 => ['name' => 'Daily Sign In', 'icon' => 'icon-calendar', 'color' => 'purple'],
+        4 => ['name' => 'Login', 'icon' => 'icon-calendar', 'color' => 'purple'],
         5 => ['name' => 'Referral', 'icon' => 'icon-share', 'color' => 'indigo'],
         6 => ['name' => 'Birthday', 'icon' => 'icon-gift', 'color' => 'pink'],
         7 => ['name' => 'Share', 'icon' => 'icon-share-alt', 'color' => 'orange'],
@@ -50,7 +50,7 @@ class RuleController extends Controller
     ];
 
     protected RewardPointRepository $rewardPointRepository;
-    
+
     protected array $_config;
 
     public function __construct(RewardPointRepository $rewardPointRepository)
@@ -67,13 +67,13 @@ class RuleController extends Controller
         $rules = RewardActiveRule::query()
             ->orderBy('rule_id', 'desc')
             ->paginate(15);
-        
+
         $customerGroupsList = $this->getCustomerGroups();
         $transactionTypes = self::TRANSACTION_TYPES;
         $colorClasses = self::COLOR_CLASSES;
 
         $view = $this->_config['view'] ?? 'rewardpoints::admin.rules.index';
-        
+
         return view($view, compact('rules', 'customerGroupsList', 'transactionTypes', 'colorClasses'));
     }
 
@@ -83,7 +83,7 @@ class RuleController extends Controller
     public function create(): View
     {
         $view = $this->_config['view'] ?? 'rewardpoints::admin.rules.create';
-        
+
         return view($view, [
             'transactionTypes' => self::TRANSACTION_TYPES,
             'storeViews' => $this->getStoreViews(),
@@ -102,7 +102,7 @@ class RuleController extends Controller
 
         // 处理 Store Views 数据
         $selectedStoreViews = $this->parseStoreViews($rule);
-        
+
         // 如果规则适用于所有店铺(store_view = '0'),则转换为 'all' 选项
         $selectedStoreViewsForSelect = [];
         if ($rule->store_view === '0' || empty($selectedStoreViews)) {
@@ -110,15 +110,15 @@ class RuleController extends Controller
         } else {
             $selectedStoreViewsForSelect = $selectedStoreViews;
         }
-        
+
         // 处理客户群组数据
         $selectedCustomerGroupsArray = $this->parseCustomerGroups($rule);
-        $selectedCustomerGroupsPoints = $rule->enable_different_points_by_group 
+        $selectedCustomerGroupsPoints = $rule->enable_different_points_by_group
             ? (json_decode($rule->customer_group_ids, true) ?: [])
             : [];
 
         $view = $this->_config['view'] ?? 'rewardpoints::admin.rules.edit';
-        
+
         return view($view, [
             'rule' => $rule,
             'transactionTypes' => self::TRANSACTION_TYPES,
@@ -143,7 +143,7 @@ class RuleController extends Controller
             RewardActiveRule::create($data);
 
             session()->flash('success', 'Reward rule created successfully.');
-            
+
             return $this->redirectToIndex();
         } catch (Exception $e) {
             session()->flash('error', 'Error creating reward rule: ' . $e->getMessage());
@@ -151,7 +151,7 @@ class RuleController extends Controller
         }
     }
 
-   
+
     /**
      * Update the specified reward rule
      */
@@ -162,14 +162,14 @@ class RuleController extends Controller
 
         try {
             $data = $this->prepareDataForSave($request, $validated);
-            
+
             // 确保 enable_different_points_by_group 字段被正确设置
             $data['enable_different_points_by_group'] = $request->boolean('enable_different_points_by_group');
-            
+
             $rule->update($data);
 
             session()->flash('success', 'Reward rule updated successfully.');
-            
+
             return $this->redirectToIndex();
         } catch (Exception $e) {
             session()->flash('error', 'Error updating reward rule: ' . $e->getMessage());
@@ -304,12 +304,12 @@ class RuleController extends Controller
     if (empty($storeViews) || $storeViews === '0') {
         return '0';
     }
-    
+
     // 如果是单个值,直接返回
     if (is_scalar($storeViews) && !empty($storeViews)) {
         return (string)$storeViews;
     }
-    
+
     return '0';
 }
 
@@ -320,12 +320,12 @@ class RuleController extends Controller
     {
         if ($request->boolean('enable_different_points_by_group')) {
             $groupPoints = $request->get('group_points', []);
-            
+
             // 确保 $groupPoints 是数组
             if (!is_array($groupPoints)) {
                 $groupPoints = [];
             }
-            
+
             // 过滤并处理群组积分数据,确保键是字符串或整数
             $filteredPoints = [];
             foreach ($groupPoints as $groupId => $points) {
@@ -338,7 +338,7 @@ class RuleController extends Controller
                     }
                 }
             }
-            
+
             $data['customer_group_ids'] = !empty($filteredPoints) ? json_encode($filteredPoints) : '{}';
             $data['reward_point'] = 0;
         } else {
@@ -365,7 +365,7 @@ class RuleController extends Controller
             }
             return !empty($filtered) ? implode(',', array_unique($filtered)) : '';
         }
-        
+
         return '';
     }
 
@@ -381,7 +381,7 @@ class RuleController extends Controller
                 return !empty($view);
             });
         }
-        
+
         return [];
     }
 
@@ -404,7 +404,7 @@ class RuleController extends Controller
             }
             return [];
         }
-        
+
         if ($rule->customer_group_ids && $rule->customer_group_ids !== '') {
             $groups = explode(',', $rule->customer_group_ids);
             // 过滤空值
@@ -412,7 +412,7 @@ class RuleController extends Controller
                 return !empty($group);
             });
         }
-        
+
         return [];
     }
 
@@ -424,11 +424,11 @@ class RuleController extends Controller
         try {
             $channels = Channel::all();
             $storeViews = [];
-            
+
             foreach ($channels as $channel) {
                 $storeViews[$channel->code] = $channel->name;
             }
-            
+
             return $storeViews;
         } catch (Exception $e) {
             return ['0' => 'All Stores'];
@@ -443,11 +443,11 @@ class RuleController extends Controller
         try {
             $groups = CustomerGroup::orderBy('id')->get();
             $customerGroups = [];
-            
+
             foreach ($groups as $group) {
                 $customerGroups[$group->id] = $group->name;
             }
-            
+
             return $customerGroups;
         } catch (Exception $e) {
             return ['0' => 'All Groups'];
@@ -487,4 +487,4 @@ class RuleController extends Controller
         $route = $this->_config['redirect'] ?? 'admin.reward-points.rules.index';
         return redirect()->route($route);
     }
-}
+}

+ 2 - 10
packages/Longyi/RewardPoints/src/Http/Controllers/RewardPointsController.php

@@ -70,15 +70,7 @@ class RewardPointsController extends Controller
             }
         }
 
-        $rule = RewardActiveRule::where('type_of_transaction', RewardActiveRule::TYPE_SIGN_IN)
-            ->where('status', 1)
-            ->first();
-
-        if ($rule) {
-            $points = $rule->reward_point;
-        } else {
-            $points = $this->getSignInPointsByDay($countDate);
-        }
+        $points = $this->getSignInPointsByDay($countDate);
 
         $sign = RewardPointCustomerSign::create([
             'customer_id' => $customer->id,
@@ -93,7 +85,7 @@ class RewardPointsController extends Controller
             RewardActiveRule::TYPE_SIGN_IN,
             $points,
             null,
-            "每日签到奖励(第 {$countDate} 天)"
+            "Daily sign-in reward (Day {$countDate})"
         );
 
         return response()->json([

+ 4 - 3
packages/Longyi/RewardPoints/src/Models/RewardActiveRule.php

@@ -8,13 +8,14 @@ class RewardActiveRule extends Model
 {
     // 定义交易类型常量
     const TYPE_REGISTRATION = 2;   // 注册
-    const TYPE_SIGN_IN = 1;        // 登录
+    const TYPE_SIGN_IN = 1;        // 签到
     const TYPE_ORDER = 3;          // 订单
     const TYPE_REVIEW = 4;         // 评价
     const TYPE_REFERRAL = 5;       // 推荐
     const TYPE_BIRTHDAY = 6;       // 生日
     const TYPE_SHARE  = 7;         // 分享
     const TYPE_SUBSCRIBE  = 8;         // 关注
+    const TYPE_LOGIN = 1;        // 登录
     protected $table = 'mw_reward_active_rules';
 
     protected $primaryKey = 'rule_id';
@@ -83,7 +84,7 @@ class RewardActiveRule extends Model
             self::TYPE_ORDER => 'Order',
             self::TYPE_REGISTRATION => 'Registration',
             self::TYPE_REVIEW => 'Product Review',
-            self::TYPE_SIGN_IN => 'Daily Sign In',
+            self::TYPE_LOGIN => 'Login',
             self::TYPE_REFERRAL => 'Referral',
             self::TYPE_BIRTHDAY => 'Birthday',
             self::TYPE_SHARE => 'Share',
@@ -92,4 +93,4 @@ class RewardActiveRule extends Model
 
         return $types[$this->type_of_transaction] ?? 'Unknown';
     }
-}
+}