Procházet zdrojové kódy

增加地址json数据,方便小程序回显

林海涛 před 1 rokem
rodič
revize
c82ffc7ecb

+ 3 - 0
app/common/model/shops/ShopOrders.php

@@ -17,6 +17,9 @@ class ShopOrders extends BaseModel
 {
 {
     
     
     protected $name = 'shop_orders';
     protected $name = 'shop_orders';
+    protected $type = [
+        'address_json'=> 'array'
+    ];
     public function worker()
     public function worker()
     {
     {
         return $this->belongsTo(MasterWorker::class, 'worker_id', 'id');
         return $this->belongsTo(MasterWorker::class, 'worker_id', 'id');

+ 2 - 2
app/workerapi/lists/shops/ShopOrderLists.php

@@ -22,13 +22,13 @@ class ShopOrderLists extends BaseWorkerDataLists
     public function lists():array
     public function lists():array
     {
     {
         $lists = ShopOrders::with(['orderGoods'=>function(Query $query){
         $lists = ShopOrders::with(['orderGoods'=>function(Query $query){
-            $query->field(['sn','goods_name','goods_image','number','service_fee','company_name','delivery_type','shop_goods_type','goods_specs_inventory_id','specs_type','custom_attribute_items','specs'])->append(['spec_arr','delivery_type_text','shop_goods_type_text']);
+            $query->field(['sn','goods_name','goods_image','number','service_fee','service_total','company_name','delivery_type','shop_goods_type','goods_specs_inventory_id','specs_type','custom_attribute_items','specs'])->append(['spec_arr','delivery_type_text','shop_goods_type_text']);
             $query->with(['goodsSpecsInventory'=>function (Query $query) {
             $query->with(['goodsSpecsInventory'=>function (Query $query) {
                 $query->field(['id','remaining_inventory']);
                 $query->field(['id','remaining_inventory']);
             }]);
             }]);
         }])
         }])
             ->where($this->querySearch())
             ->where($this->querySearch())
-            ->field('id, sn, real_name, mobile, address, pay_time, paw_way, pay_status, refund_status, create_time, amount_total, order_amount,shop_order_type')
+            ->field('id, sn, real_name, mobile, address, pay_time, paw_way, pay_status, refund_status, create_time, amount_total, address_json, order_amount,shop_order_type')
             ->append(['pay_way_text','pay_status_text','refund_status_text'])
             ->append(['pay_way_text','pay_status_text','refund_status_text'])
             ->limit($this->limitOffset, $this->limitLength)
             ->limit($this->limitOffset, $this->limitLength)
             ->order('id', 'desc')
             ->order('id', 'desc')

+ 10 - 7
app/workerapi/logic/shops/ShopOrderLogic.php

@@ -38,7 +38,10 @@ class ShopOrderLogic extends BaseLogic
             if(empty($shop_carts)){
             if(empty($shop_carts)){
                 throw new Exception('购物车商品不存在');
                 throw new Exception('购物车商品不存在');
             }
             }
-
+            $addressInfo = ShopAddress::field('area,address,house_number,contact_number,contact_people')->findOrEmpty($params['address_id']);
+            if($addressInfo->isEmpty()){
+                throw new \Exception('收货地址不存在');
+            }
             //生成订单编号
             //生成订单编号
             $sn = generate_sn(ShopOrders::class, 'sn');
             $sn = generate_sn(ShopOrders::class, 'sn');
             $shop_order_goods = array();
             $shop_order_goods = array();
@@ -85,14 +88,15 @@ class ShopOrderLogic extends BaseLogic
                 'shop_order_type' => 1,
                 'shop_order_type' => 1,
                 'worker_id' => $params['user_id'],
                 'worker_id' => $params['user_id'],
                 'sn' => $sn,
                 'sn' => $sn,
-                'real_name' => $params['real_name'],
-                'mobile' => $params['mobile'],
-                'address' => $params['address'],
+                'real_name' => $addressInfo->contact_people,
+                'mobile' => $addressInfo->contact_number,
+                'address' => trim($addressInfo->area .$addressInfo->address . $addressInfo->house_number),
                 'pay_status' => 0,
                 'pay_status' => 0,
                 'paw_way' => 2,
                 'paw_way' => 2,
                 'order_terminal' => $params['terminal'],
                 'order_terminal' => $params['terminal'],
                 'amount_total' => $amount_total,
                 'amount_total' => $amount_total,
                 'order_amount' => $amount,
                 'order_amount' => $amount,
+                'address_json' => $addressInfo->toArray()
             ]);
             ]);
 
 
             //生成订单商品镜像
             //生成订单商品镜像
@@ -100,7 +104,6 @@ class ShopOrderLogic extends BaseLogic
             $ShopOrderGoods->saveAll($shop_order_goods);
             $ShopOrderGoods->saveAll($shop_order_goods);
             //清除购物车商品
             //清除购物车商品
             ShopCart::whereIn('id',$params['shop_cart_id'])->delete();
             ShopCart::whereIn('id',$params['shop_cart_id'])->delete();
-
             Db::commit();
             Db::commit();
         } catch (\Exception $e) {
         } catch (\Exception $e) {
             self::setError($e->getMessage());
             self::setError($e->getMessage());
@@ -122,8 +125,8 @@ class ShopOrderLogic extends BaseLogic
     public static function detail($params): array
     public static function detail($params): array
     {
     {
         $detail = ShopOrders::with(['orderGoods'=>function(Query $query){
         $detail = ShopOrders::with(['orderGoods'=>function(Query $query){
-            $query->field(['sn','goods_name','goods_image','number','service_fee','company_name','delivery_type','shop_goods_type','goods_specs_inventory_id','specs_type','custom_attribute_items','specs'])->append(['spec_arr','delivery_type_text','shop_goods_type_text']);
-        }])->field('id, sn, real_name,mobile, address,pay_time, paw_way,pay_sn, pay_status, refund_status, refund_transaction_id,create_time,shop_order_type,amount_total, order_amount')
+            $query->field(['sn','goods_name','goods_image','number','service_fee','service_total','company_name','delivery_type','shop_goods_type','goods_specs_inventory_id','specs_type','custom_attribute_items','specs'])->append(['spec_arr','delivery_type_text','shop_goods_type_text']);
+        }])->field('id, sn, real_name,mobile, address,address_json,pay_time, paw_way,pay_sn, pay_status, refund_status, refund_transaction_id,create_time,shop_order_type,amount_total, order_amount')
         ->append(['pay_way_text','pay_status_text','refund_status_text'])->where(['sn'=> $params['sn'],'worker_id'=>$params['worker_id']])->findOrEmpty()->toArray();
         ->append(['pay_way_text','pay_status_text','refund_status_text'])->where(['sn'=> $params['sn'],'worker_id'=>$params['worker_id']])->findOrEmpty()->toArray();
         $orderGoodsArr = [];
         $orderGoodsArr = [];
         $companyNameArr = array_unique(array_column($detail['orderGoods'],'company_name'));
         $companyNameArr = array_unique(array_column($detail['orderGoods'],'company_name'));

+ 2 - 6
app/workerapi/validate/shops/ShopOrderValidate.php

@@ -9,11 +9,9 @@ class ShopOrderValidate  extends BaseValidate
 
 
     protected $rule = [
     protected $rule = [
         'sn'=>'require',
         'sn'=>'require',
-        'address' => 'require',
-        'real_name' => 'require',
         'goods_specs_inventory_ids' => 'require|array',
         'goods_specs_inventory_ids' => 'require|array',
         'pay_way' => 'require',
         'pay_way' => 'require',
-        'mobile' => 'require',
+        'address_id' => 'require',
         'shop_cart_id'=>'require'
         'shop_cart_id'=>'require'
     ];
     ];
 
 
@@ -22,10 +20,8 @@ class ShopOrderValidate  extends BaseValidate
         'sn.require' => '订单编号错误',
         'sn.require' => '订单编号错误',
         'pay_way.require' => '请选择支付方式',
         'pay_way.require' => '请选择支付方式',
         'goods_specs_inventory_ids.require' => '订单商品不存在',
         'goods_specs_inventory_ids.require' => '订单商品不存在',
-        'mobile.require' => '联系电话不存在',
-        'real_name.require' => '联系人不存在',
-        'address.require' => '请填写地址',
         'shop_cart_id.require' => '请选择商品',
         'shop_cart_id.require' => '请选择商品',
+        'address_id.require' => '请选择收货地址',
     ];
     ];