OrderImport.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\model\OrderImportFromC as OIFCModel;
  4. use app\BaseController;
  5. use Exception;
  6. use think\facade\Db;
  7. use think\facade\Validate;
  8. //C端订单导入及处理类
  9. class OrderImport extends Base
  10. {
  11. //订单导入
  12. public function import(){
  13. $list = $this->request->post('list',[],'trim');
  14. $val = Validate::rule([
  15. 'platform_code|平台订单号'=>'require|length:0,255',
  16. 'po_code|其他单号'=>'length:0,255',
  17. 'platform_time|平台下单时间'=>'require|date',
  18. 'sale_source|销售渠道'=>'require|length:0,255',
  19. 'good_code|商品编号'=>'require|length:0,255',
  20. 'price|单价'=>'require|float',
  21. 'num|数量'=>'require|number',
  22. 'before_discount_all_price|优惠前总金额'=>'require|float',
  23. 'discount_price|优惠金额'=>'require|float',
  24. 'after_price|商品优惠后金额'=>'require|float',
  25. 'activity_name|优惠活动名称'=>'require|length:0,255',
  26. 'mode|收费模式'=>'require|length:0,255',
  27. 'order_remark|订单备注'=>'length:0,255',
  28. 'contactor|收货人'=>'require|length:0,255',
  29. 'mobile|联系电话'=>'require|length:0,20',
  30. 'addr|联系地址'=>'require|length:0,255',
  31. ]);
  32. Db::startTrans();
  33. try{
  34. $insert_data=[];
  35. foreach ($list as $key=>$value){
  36. if(!$val->check($value)) throw new \think\Exception('第'.(string)($key+1).'行数据格式有问题,'.$val->getError());
  37. else $insert_data[]=$value;
  38. }
  39. $res = Db::name('order_import_from_c')
  40. ->limit(100)
  41. ->insertAll($insert_data);
  42. if($res){
  43. Db::commit();
  44. return app_show(0, "导入成功,共".(string)$res.'条记录');
  45. }else{
  46. Db::rollback();
  47. return error_show(1005,'导入失败');
  48. }
  49. }catch (Exception $exception){
  50. Db::rollback();
  51. return error_show(1005,$exception->getMessage());
  52. }
  53. }
  54. }