ShopOcean.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. namespace app\admin\controller;
  3. use app\common\library\Common;
  4. use app\data\model\DataMerchants;
  5. use app\data\model\ShopOcean as Model;
  6. use app\data\model\DataUser;
  7. use Carbon\Carbon;
  8. use think\admin\Controller;
  9. use app\data\model\SystemUser;
  10. use think\admin\model\SystemConfig;
  11. use think\admin\service\AdminService;
  12. use think\db\Query;
  13. use think\facade\Db;
  14. use think\Request;
  15. /**
  16. * 海运订单管理
  17. * Class Xw
  18. * @package app\admin\controller\ShopOcean
  19. * http://www.zjnk.com/fileserver/News/04b7854f-bb0a-458b-b359-ce948acfea09.JPG
  20. */
  21. class ShopOcean extends Controller
  22. {
  23. /**
  24. * 列表
  25. * @auth true
  26. * @menu true
  27. */
  28. public function index(Request $request){
  29. if(AdminService::getUserId()==10000){
  30. $admin_id = [];
  31. }else{
  32. $admin_id['admin_id']=AdminService::getUserId();
  33. }
  34. $this->title='海运订单管理';
  35. $this->assign('status',\app\data\model\ShopPurchase::getStatus());
  36. Model::mQuery()
  37. ->with(['merchant'])
  38. ->when($request['name'],function (Query $query)use ($request){
  39. $query->hasWhere('merchant',function (Query $query)use ($request){
  40. $query->whereLike('name',"%{$request['name']}%");
  41. });
  42. })->where($admin_id)
  43. ->equal('status')
  44. ->dateBetween('create_time')
  45. ->layTable();
  46. }
  47. /**
  48. * 详情
  49. * @auth true
  50. * @menu true
  51. */
  52. public function detail(Request $request,Model $purchase){
  53. DataUser::$copyRealName=true;
  54. $this->assign('row',$purchase
  55. ->with(['merchant','items','offers','offers.user'])
  56. ->where('id',$request['id'])->findOrFail());
  57. $this->fetch('form');
  58. }
  59. /**
  60. * 发布
  61. * @auth true
  62. * @menu true
  63. */
  64. public function add(Request $request,\think\Validate $validate){
  65. $this->title='发布订单';
  66. $this->assign('vo',null);
  67. if($request->isGet()) {
  68. $config = systemConfig('merchant_config.packing')?:[];
  69. $this->assign('config',$config);
  70. $this->fetch();
  71. }else{
  72. $merchant=DataMerchants::getByAdmin(AdminService::getUserId());
  73. if(!$merchant){
  74. $this->error('您不是商家无法发布');
  75. }
  76. $data=$request->post();
  77. $item=$data['item']??[];
  78. foreach ($item as $i){
  79. $make=$validate->check($i,[
  80. 'name'=>['require',],
  81. 'weight'=>['require','integer'],
  82. // 'spec'=>['require',],
  83. // 'number'=>['require','integer'],
  84. // 'standard'=>['require',],
  85. // 'price'=>['require','float'],
  86. ]);
  87. if(!$make){
  88. $this->error('请填写正确的商品信息');
  89. }
  90. }
  91. app()->db->startTrans();
  92. unset($data['item']);
  93. $data['admin_id']=AdminService::getUserId();
  94. $data['form']=implode(',',$data['fm']);
  95. $data['longitude']=$merchant['longitude']??null;
  96. $data['latitude']=$merchant['latitude']??null;
  97. // $data['amount']=min(array_column($item,'price'));
  98. $data['type'] =1;
  99. $order= \app\data\model\ShopOcean::create($data);
  100. $order->items()->saveAll($item);
  101. app()->db->commit();
  102. $this->success('保存成功');
  103. }
  104. }
  105. }