ShopCoor.php 3.0 KB

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