微擎 人人商城 对接京东vop 对接京东商品,同步商品 地址,库存,价格,上下架等。五 (上)京东后台提交订单,用户地址校验

设计模型是用户前台购买和提交到京东订单互相不冲突

故单独设计一个订单提交到京东的过程

 

 

   这个时候就需要一个待处理任务表,我的设想就是这个表也要记录处理完成后 京东返回的订单状态 ,具体如下 

 

 

 在实际写代码中, 发现商品来源可能是本地,也有可能是 京东商城 , 也有可能是vop 所以加了个字段, 即当前订单包含vop对应的商品 在order_goods中的id

如下

 

 

 

当然 设计到订单问题 ,任何一个环节的问题都不能出错,简单写了一个错误表

 

 

 接下来便是代码部分了, 首先要写订单标记部分, 找到order 下面的pay.php

由于之前有了判断是否是总部商品的foreach循环,所以本地仅需在这个循环里来判断订单中的商品是否是京东vop商品,当然后期小程序和 微信端两个地方都要改 加上这段代码

if ($v['goodssource'] == 5) {
                $jdvop['orderGoods'][]=$v['id'];
            }
        }
        if (!empty($jdvop['orderGoods'])){
            $jdvop['uniacid']=$order['uniacid'];
            $jdvop['ordersn']=$order['ordersn'];
            $jdvop['orderid']=$order['id'];
            $jdvop['openid']=$order['openid'];
            $jdvop['status']=0;
            $jdvop['order_time']=date("Y-m-d  H:i:s");
            $jdvop['order_goods']=json_encode($jdvop['orderGoods']);
            unset($jdvop['orderGoods']);
          @$vopRes= pdo_insert('ewei_shop_jdvop_order',$jdvop);
           if ($vopRes!=1){
               $jdvop=[
                   'uniacid'=>$order['uniacid'],
                   'orderid'=>$order['orderid'],
                   'ordersn'=>$order['ordersn'],
                   'time'=>date("Y-m-d  H:i:s"),
                   'status'=>0,
                   'type'=>'订单写入错误',
                   'comment'=>'用户提交订单号,写入待处理数据库失败,请联系技术员处理'
               ];
               @pdo_insert('ewei_shop_jdvop_order_error',$jdvop);

 

标记代码写完后, 需要写 上传到jd的代码了,因为涉及到定时刷新,所以便找了一个框架中不需要权限的页面 来完成定时刷新

 接下来便是进行代码封装 

 在封装中,需要检查用户地址是否进行合理校验 

用户地址校验流程 

 

 

 address 地址表 新增字段。

 

 

 

 

 

 

 当提交订单的时候 检测到地址未进行校验的时候,这个时候就会转到地址校验。

 

 地址校验大概流程如上,

 

  地址问题搞定后 ,接下来便是对需要提交的数据,进行合并,提交 

包括以下常用固定值。 发票等 

 

 按照文档对应内容 填充字段,准备提交

posted @ 2019-09-12 10:27  飘柔2019  阅读(776)  评论(0编辑  收藏  举报