Explorar o código

Merge branch 'dev_wf' of wufeng/fuse into version1.5

wufeng %!s(int64=2) %!d(string=hai) anos
pai
achega
2836fec4ba

+ 55 - 36
app/admin/logic/CompanyGoodLogic.php

@@ -46,42 +46,61 @@ class CompanyGoodLogic extends BaseLogic
     public static function add(array $data = []): Json
     public static function add(array $data = []): Json
     {
     {
 
 
-        $rs = GroupModel::field('id')
-            ->where(['id' => $data['group_id'], 'is_del' => CommonModel::$del_normal])
-            ->findOrEmpty()
-            ->isEmpty();
-        if ($rs) return json_show(CommonModel::$error_param, '该分组不存在');
-
-        $data['good_id'] = GoodModel::where('is_del', CommonModel::$del_normal)
-            ->whereIn('id', $data['good_id'])
-            ->column('id');
-        if (empty($data['good_id'])) return json_show(CommonModel::$error_param, '该商品不存在');
-
-        $rs = CompanyGoodModel::field('a.id,a.good_id,b.good_name,b.good_code')
-            ->alias('a')
-            ->leftJoin('good b', 'b.id=a.good_id AND b.is_del=' . CommonModel::$del_normal)
-            ->where(['a.is_del' => CommonModel::$del_normal, 'a.group_id' => $data['group_id']])
-            ->whereIn('a.good_id', $data['good_id'])
-            ->findOrEmpty()
-            ->toArray();
-        if (empty($rs)) return json_show(CommonModel::$error_layer, "【{$rs['good_code']}】【{$rs['good_name']}】该商品重复添加");
-
-        $res = CompanyGoodModel::create((array_merge($data, [
-            'code' => make_no('CG'),
-            'is_del' => CommonModel::$del_normal,
-            'status' => CommonModel::$status_normal,
-            'is_top' => CommonModel::$top_no,
-            'weight' => 0,
-            'creater' => self::$uname,
-            'createrid' => self::$uid,
-            'addtime' => date('Y-m-d H:i:s'),
-            'updater' => self::$uname,
-            'updaterid' => self::$uid,
-            'updatetime' => date('Y-m-d H:i:s'),
-        ])));
-
-        return $res ? json_show(CommonModel::$success, '添加公司商品成功') : json_show(CommonModel::$success, '添加公司商品失败');
-
+        Db::startTrans();
+
+        try {
+
+            $rs = GroupModel::field('id')
+                ->where(['id' => $data['group_id'], 'is_del' => CommonModel::$del_normal])
+                ->findOrEmpty()
+                ->isEmpty();
+            if ($rs) throw new Exception('该分组不存在');
+
+            $data['good_id'] = GoodModel::where('is_del', CommonModel::$del_normal)
+                ->whereIn('id', $data['good_id'])
+                ->column('id');
+            if (empty($data['good_id'])) throw new Exception('该商品不存在');
+
+            $rs = CompanyGoodModel::field('a.id,a.good_id,b.good_name,b.good_code')
+                ->alias('a')
+                ->leftJoin('good b', 'b.id=a.good_id AND b.is_del=' . CommonModel::$del_normal)
+                ->where(['a.is_del' => CommonModel::$del_normal, 'a.group_id' => $data['group_id']])
+                ->whereIn('a.good_id', $data['good_id'])
+                ->findOrEmpty()
+                ->toArray();
+            if (!empty($rs)) throw new Exception("【{$rs['good_code']}】【{$rs['good_name']}】该商品重复添加");
+
+            $insert = [];
+            $date = date('Y-m-d H:i:s');
+            foreach ($data['good_id'] as $good_id) {
+                $insert[] = [
+                    'group_id' => $data['group_id'],
+                    'code' => make_no('CG'),
+                    'good_id' => $good_id,
+                    'is_del' => CommonModel::$del_normal,
+                    'status' => CommonModel::$status_normal,
+                    'is_top' => CommonModel::$top_no,
+                    'weight' => 0,
+                    'creater' => self::$uname,
+                    'createrid' => self::$uid,
+                    'addtime' => $date,
+                    'updater' => self::$uname,
+                    'updaterid' => self::$uid,
+                    'updatetime' => $date,
+                ];
+            }
+
+            $res = Db::name('company_good')->insertAll($insert);
+
+            Db::commit();
+
+            if ($res) return json_show(CommonModel::$success, '添加公司商品成功');
+            else throw new Exception();
+
+        } catch (Exception $exception) {
+            Db::rollback();
+            return json_show(CommonModel::$error_param, '添加公司商品失败,' . $exception->getMessage());
+        }
     }
     }
 
 
     //获取详情
     //获取详情

+ 2 - 0
app/mobile/logic/ExchangeLogic.php

@@ -51,6 +51,8 @@ class ExchangeLogic extends BaseLogic
             })
             })
             ->withAttr('good_img', function ($val) {
             ->withAttr('good_img', function ($val) {
                 return explode(',', $val);
                 return explode(',', $val);
+            })->withAttr('good_banner_img', function ($val) {
+                return explode(',', $val);
             })
             })
             ->findOrEmpty()
             ->findOrEmpty()
             ->toArray();
             ->toArray();

+ 3 - 1
app/mobile/logic/ShoppingLogic.php

@@ -27,7 +27,7 @@ class ShoppingLogic extends BaseLogic
         $count = $db->count('a.id');
         $count = $db->count('a.id');
 
 
         $list = $db
         $list = $db
-            ->field('a.id,a.code,a.good_id,b.good_cover_img,b.good_name,b.moq,b.step,c.inventory')
+            ->field('a.id,a.code,a.good_id,b.good_cover_img,b.good_name,b.moq,b.step,c.inventory,b.price')
             ->page($data['page'], $data['size'])
             ->page($data['page'], $data['size'])
             ->order(['a.is_top' => 'desc', 'a.weight' => 'desc', 'a.id' => 'desc'])
             ->order(['a.is_top' => 'desc', 'a.weight' => 'desc', 'a.id' => 'desc'])
             ->select()
             ->select()
@@ -51,6 +51,8 @@ class ShoppingLogic extends BaseLogic
             })
             })
             ->withAttr('good_img', function ($val) {
             ->withAttr('good_img', function ($val) {
                 return explode(',', $val);
                 return explode(',', $val);
+            })->withAttr('good_banner_img', function ($val) {
+                return explode(',', $val);
             })
             })
             ->findOrEmpty()
             ->findOrEmpty()
             ->toArray();
             ->toArray();