param_data; Validator::input($param, [ 'type' => Validator::notEmpty()->intType()->setName('类型'), ]); $data = Db::table('wa_goods') ->where(function ($query) use ($param) { $query->where('state', 1); $query->where('type', Arr::get($param, 'type', 1)); }) ->orderBy('sort') ->paginate(Arr::get($param, 'limit', 10), ['*'], 'page', Arr::get($param, 'page')) ->toArray(); foreach ($data['data'] as $k => $v) { $data['data'][$k]->img = imageToBase64($v->img); } } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success($data); } #[Apidoc\Title("支付")] #[Apidoc\Url("api/goods/charity_buy.html")] #[Apidoc\Method("POST")] #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] #[Apidoc\Param(name: "id", type: "int", require: true, desc: '产品ID', default: '')] #[Apidoc\Param(name: "pay_characteristic", type: "int", require: true, desc: '支付通道标识', default: '1')] #[Apidoc\Param(name: "num", type: "int", require: true, desc: '购买数量:默认1', default: '1')] #[Apidoc\Returned(name: "type", type: "int", require: true, desc: '类型 1直接购买 2支付通道', default: 2)] #[Apidoc\Returned(name: "url", type: "string", require: true, desc: '支付地址', default: 'https://www.baidu.com/')] #[Apidoc\Returned(name: "payOrderId", type: "string", require: true, desc: '订单号', default: '111')] public function charityBuy(Request $request) { Db::beginTransaction(); try { $param = $request->param_data; $param['url'] = $request->header('origin'); $param['user_data'] = $request->user_data; $param['num'] = Arr::get($param, 'num', 1); Validator::input($param, [ 'id' => Validator::notEmpty()->intType()->setName('产品标识'), 'pay_characteristic' => Validator::notEmpty()->setName('支付标识'), ]); $goods = Db::table('wa_goods')->where('id', $param['id'])->first(); if (empty($goods)) { throw new \Exception('产品不存在!'); } $arr = GoodsBusiness::buyType1($param); } catch (\Throwable $exception) { Db::rollBack(); return error($exception->getMessage()); } Db::commit(); return success($arr, '购买成功'); } // #[Apidoc\Title("国债债券")] // #[Apidoc\Url("api/goods/nationalDebty_buy.html")] // #[Apidoc\Method("POST")] // #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] // #[Apidoc\Param(name: "id", type: "int", require: true, desc: '产品ID', default: '')] // public function nationalDebty_buy(Request $request) // { // Db::beginTransaction(); // try { // $param = $request->param_data; // $param['user_data'] = $request->user_data; // $param['num'] = Arr::get($param, 'num', 1); // Validator::input($param, [ // 'id' => Validator::notEmpty()->intType()->setName('产品标识'), // ]); // $goods = Db::table('wa_goods')->where('id', $param['id'])->first(); // if (empty($goods)) { // throw new \Exception('产品不存在!'); // } // $arr = GoodsBusiness::buyType2($param); // } catch (\Throwable $exception) { // Db::rollBack(); // return error($exception->getMessage()); // } // Db::commit(); // return success($arr, '购买成功'); // } // #[Apidoc\Title("商品列表")] // #[Apidoc\Url("api/goods/exchange_goods.html")] // #[Apidoc\Method("POST")] // #[Apidoc\Param("page", type: "int", require: true, desc: "页面", mock: 1)] // #[Apidoc\Param("limit", type: "int", require: true, desc: "输出条数", mock: 10)] // #[Apidoc\Param("type", type: "int", require: true, desc: '类型:不传查全部 1=手饰,2=小产品,3=房产', mock: '')] // #[Apidoc\Returned(name: "id", type: "int", require: true, desc: '产品ID', default: '')] // #[Apidoc\Returned(name: "name", type: "string", require: true, desc: '名称', default: '')] // #[Apidoc\Returned(name: "pay_price", type: "string", require: true, desc: '支付金额', default: '')] // #[Apidoc\Returned(name: "describe", type: "string", require: true, desc: '描述', default: '')] // #[Apidoc\Returned(name: "storey", type: "string", require: true, desc: '平方', default: '138m²')] // #[Apidoc\Returned(name: "img", type: "string", require: true, desc: '图片', default: '')] // #[Apidoc\Returned(name: "total_num", type: "int", require: true, desc: '总数', default: '')] // #[Apidoc\Returned(name: "num", type: "int", require: true, desc: '剩余数量', default: '')] // #[Apidoc\Returned(name: "type", type: "int", require: true, desc: '类型:1=国产电器类,2=电子设备类,3=国产新能源汽车类', default: '')] // public function exchangeGoods(Request $request) // { // Db::beginTransaction(); // try { // $param = Arr::only($request->param_data, ['page', 'limit', 'type']); // $data = Db::table('wa_sign_goods') // ->where('state', 1) // ->where(function ($query) use ($param) { // if (Arr::get($param, 'type')) { // $query->where('type', $param['type']); // } // }) // ->orderBy('sort') // ->paginate(Arr::get($param, 'limit', 10), ['*'], 'page', Arr::get($param, 'page')) // ->toArray(); // foreach ($data['data'] as $k => $v) { // $data['data'][$k]->img = imageToBase64($v->img); // } // } catch (\Throwable $exception) { // Db::rollBack(); // return error($exception->getMessage()); // } // Db::commit(); // return success($data); // } // // #[Apidoc\Title("兑换")] // #[Apidoc\Url("api/goods/exchange.html")] // #[Apidoc\Method("POST")] // #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] // #[Apidoc\Param("id", type: "int", require: true, desc: '产品ID', default: '')] // #[Apidoc\Param("num", type: "int", require: true, desc: '购买数量:默认1', default: '1')] // #[Apidoc\Param("name", type: "int", require: true, desc: '姓名', default: '')] // #[Apidoc\Param("mobile", type: "int", require: true, desc: '手机号', default: '')] // #[Apidoc\Param("address", type: "int", require: true, desc: '详细地址', default: '')] // public function exchange(Request $request) // { // Db::beginTransaction(); // try { // $param = $request->param_data; // $param['user_data'] = $request->user_data; // $param['num'] = Arr::get($param, 'num', 1); // Validator::input($param, [ // 'id' => Validator::notEmpty()->intType()->setName('产品标识'), // ]); // $goods = Db::table('wa_sign_goods')->where('id', $param['id'])->first(); // if (!$goods) { // throw new \Exception('数据不存在!'); // } // $price_money = bcmul($goods->pay_price, $param['num']); // if ($param['user_data']['money_one'] < $price_money) { // throw new \Exception('华润财富余额不足!'); // } // if ($goods->num <= $param['num']) { // throw new \Exception('当前商品兑换数量不足!'); // } // if (!empty($price_money)) { // Db::table('wa_sign_record')->insert([ // 'uid' => $param['user_data']['id'], // 'goods_id' => $param['id'], // 'num' => $param['num'], // 'money' => $price_money, // 'status' => 1, // 'order_no' => date('YmdHis') . mt_rand(1000, 9999), // 'name' => Arr::get($param, 'name', ''), // 'mobile' => Arr::get($param, 'mobile', ''), // 'address' => Arr::get($param, 'address', ''), // 'created_at' => date('Y-m-d H:i:s'), // 'updated_at' => date('Y-m-d H:i:s'), // ]); // StreamBusiness::delStream($param['user_data']['id'], $price_money, streamType16, moldType2, moldTypefild2, $param['id']); // } // Db::table('wa_sign_goods')->where('id', $param['id'])->decrement('num', $param['num']); // // } catch (\Throwable $exception) { // Db::rollBack(); // return error($exception->getMessage()); // } // Db::commit(); // return success([], '兑换成功'); // } // // // #[Apidoc\Title("兑换记录(发货记录)")] // #[Apidoc\Url("api/goods/exchange_list.html")] // #[Apidoc\Method("POST")] // #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] // #[Apidoc\Param("page", type: "int", require: true, desc: "页面", mock: 1)] // #[Apidoc\Param("limit", type: "int", require: true, desc: "输出条数", mock: 10)] // #[Apidoc\Returned(name: "num", type: "int", require: true, desc: '购买数量:默认1', default: '1')] // #[Apidoc\Returned(name: "goods_name", type: "int", require: true, desc: '商品名称', default: '')] // #[Apidoc\Returned(name: "pay_price", type: "int", require: true, desc: '支付积分', default: '')] // #[Apidoc\Returned(name: "img", type: "int", require: true, desc: '图片', default: '')] // #[Apidoc\Returned(name: "money", type: "int", require: true, desc: '总支付', default: '')] // #[Apidoc\Returned(name: "num", type: "int", require: true, desc: '兑换数量', default: '')] // #[Apidoc\Returned(name: "status", type: "int", require: true, desc: '状态:1=领取成功,2=发货中,3=已到货', default: '')] // #[Apidoc\Returned(name: "status_name", type: "int", require: true, desc: '状态描述', default: '')] // #[Apidoc\Returned(name: "order_no", type: "int", require: true, desc: '订单号', default: '')] // #[Apidoc\Returned(name: "name", type: "int", require: true, desc: '姓名', default: '')] // #[Apidoc\Returned(name: "mobile", type: "int", require: true, desc: '手机号', default: '')] // #[Apidoc\Returned(name: "province", type: "int", require: true, desc: '省市区', default: '')] // #[Apidoc\Returned(name: "address", type: "int", require: true, desc: '详细地址', default: '')] // #[Apidoc\Returned(name: "type", type: "int", require: true, desc: '类型: 1=手饰,2=小产品,3=房产', mock: '')] // public function exchangeList(Request $request) // { // Db::beginTransaction(); // try { // $param = $request->param_data; // $param['user_data'] = $request->user_data; // // $signdata = Db::table('wa_sign_record') // ->where('uid', $param['user_data']['id']) // ->orderByDesc('id') // ->paginate(Arr::get($param, 'limit', 10))->toArray(); // $arr = []; // foreach ($signdata['data'] as $k => $v) { // $wa_goods = Db::table('wa_sign_goods')->where('id', $v->goods_id)->first(); // if ($v->status == 1) { // $status_name = '调货中,请耐心等待'; // } elseif ($v->status == 2) { // $status_name = '发货中'; // } elseif ($v->status == 3) { // $status_name = '已到货'; // } else { // $status_name = '请耐心等待'; // } // $arr[] = [ // 'good_name' => $wa_goods->name, // 'goods_id' => $v->goods_id, // 'pay_price' => $wa_goods->pay_price, // 'type' => $wa_goods->type, // 'img' => imageToBase64($wa_goods->img), // 'created_at' => date('Y-m-d H:i:s', strtotime($v->created_at)), // 'id' => $v->id, // 'num' => $v->num, // 'money' => $v->money, // 'status' => $v->status, // 'status_name' => $status_name, // 'order_no' => $v->order_no, // 'name' => $v->name, // 'mobile' => $v->mobile, // 'address' => $v->address, // ]; // } // } catch (\Throwable $exception) { // Db::rollBack(); // return error($exception->getMessage()); // } // Db::commit(); // return success($arr, '获取成功'); // } // // #[Apidoc\Title("兑换商品地址编辑")] // #[Apidoc\Url("api/goods/edid_address.html")] // #[Apidoc\Method("POST")] // #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")] // #[Apidoc\Param("id", type: "int", require: true, desc: "ID", mock: "")] // #[Apidoc\Param("name", type: "string", require: true, desc: "姓名", mock: "")] // #[Apidoc\Param("mobile", type: "string", require: true, desc: "手机号", mock: "")] // #[Apidoc\Param("number", type: "string", require: true, desc: "身份证", mock: "")] // #[Apidoc\Param("address", type: "string", require: true, desc: "地址", mock: "")] // public function edid_address(Request $request) // { // $param = $request->param_data; // $param['user_data'] = $request->user_data; // Db::beginTransaction(); // try { // Validator::input($param, [ // 'id' => Validator::notEmpty()->setName('id'), // ]); // $datalist = Db::table('wa_sign_record') // ->where('uid', $param['user_data']['id']) // ->where('id', $param['id']) // ->first(); // if (!$datalist) { // throw new \Exception('非法操作'); // } // Db::table('wa_sign_record')->where('id', $datalist->id)->update([ // 'mobile' => Arr::get($param, 'mobile', $param['user_data']['mobile']), // 'name' => Arr::get($param, 'name', $datalist->name), // 'address' => Arr::get($param, 'address', $datalist->address), // ]); // // } catch (\Throwable $exception) { // Db::rollBack(); // return error($exception->getMessage()); // } // Db::commit(); // return success([], '操作成功'); // // } }