Browse Source

完善功能

gorden 9 months ago
parent
commit
95b794eef2

+ 8 - 4
app/admin/controller/member/RoleController.php

@@ -96,8 +96,8 @@ class RoleController extends Curd
         $data['member_role_id'] = "MR" . str_pad(SysSerial::getSerial(), 16, '0', STR_PAD_LEFT) . random_string(6, 'up');
 
         $data['member_role_rule_json'] = json_encode([
-            'pricing' => $request->post('join_member_role_rule_pricing_id'),
-            'added' => $request->post('join_member_role_added_id'),
+            'pricing' => $request->post('join_member_role_rule_pricing_id',''),
+            'added' => $request->post('join_member_role_added_id',''),
         ]);
         return $data;
     }
@@ -117,11 +117,15 @@ class RoleController extends Curd
 
         if (!empty($model->member_role_rule_json)) {
             $ruleJson = json_decode($model->member_role_rule_json, true);
-            if (isset($params['join_member_role_rule_pricing_id'])) {
+            if (!empty($params['join_member_role_rule_pricing_id'])) {
                 $ruleJson['pricing'] = $params['join_member_role_rule_pricing_id'];
+            }else{
+                $ruleJson['pricing'] = '';
             }
-            if (isset($params['join_member_role_added_id'])) {
+            if (!empty($params['join_member_role_added_id'])) {
                 $ruleJson['added'] = $params['join_member_role_added_id'];
+            }else{
+                $ruleJson['added'] = '';
             }
             $data['member_role_rule_json'] = json_encode($ruleJson);
         } else {

+ 34 - 11
app/admin/controller/member/RuleAddedController.php

@@ -5,6 +5,9 @@ namespace app\admin\controller\member;
 use app\admin\validate\member\RuleAddedValidate;
 use app\admin\validate\member\RulePricingValidate;
 use app\controller\Curd;
+use app\model\Coupon;
+use app\model\Goods;
+use app\model\GoodsSku;
 use app\model\RuleAdded;
 use app\model\RuleAddedComponent;
 use app\model\RulePricing;
@@ -49,24 +52,44 @@ class RuleAddedController extends Curd
             return json_fail('数据不存在');
         }
 
-        $components = RuleAddedComponent::with(['goods', 'sku'])
-            ->where('join_component_rule_added_id', $id)
+        $components = RuleAddedComponent::where('join_component_rule_added_id', $id)
             ->get()
             ->toArray();
 
         foreach ($components as &$component) {
-            if (!empty($component['sku']) && !empty($component['sku']['goods_sku_specs_json'])) {
-                $specsJson = json_decode($component['sku']['goods_sku_specs_json'], true);
-                $skuTitle = '';
-                foreach ($specsJson as $item) {
-                    if (is_array($item)) {
-                        $item = implode(',', $item);
+            $goods = [];
+            if (!empty($component['rule_added_component_goods_json'])) {
+                $goodsJson = json_decode($component['rule_added_component_goods_json'], true);
+
+                foreach ($goodsJson as $item) {
+                    $goodsInfo = [];
+                    if (isset($item['goods_id'])) {
+                        $goodsInfo['goods_name'] = $item['goods_name'];
+//                        $goods = Goods::where('goods_id',$item['goods_id'])->select('goods_name');
+                        $sku = GoodsSku::where('goods_sku_id', $item['goods_sku_id'])->select('goods_sku_specs_json')->first();
+                        if (!empty($sku->goods_sku_specs_json)) {
+                            $specsJson = json_decode($sku->goods_sku_specs_json, true);
+                            $skuTitle = '';
+                            foreach ($specsJson as $item) {
+                                if (is_array($item)) {
+                                    $item = implode(',', $item);
+                                }
+                                $skuTitle .= $item . '-';
+                            }
+                            $goodsInfo['sku_title'] = rtrim($skuTitle, '-');
+                        }
+                    }
+                    if (isset($item['coupon_id'])){
+                        $coupon = Coupon::where('coupon_id',$item['coupon_id'])->select('coupon_name')->first();
+                        $goods[] = ['goods_name'=>$coupon->coupon_name];
+                    }
+                    if (!empty($goodsInfo)) {
+                        $goods[] = $goodsInfo;
                     }
-                    $skuTitle .= $item . '-';
                 }
-                $skuTitle = rtrim($skuTitle, '-');
-                $component['sku']['goods_sku_title'] = $skuTitle;
             }
+            $component['goods'] = $goods;
+            $component['rule_added_component_goods_nbr'] = intval($component['rule_added_component_goods_nbr']);
         }
         return json_success('', $components);
     }