select(); foreach ($arr as $k => $v) { $data = [ 'cost' => $v['cost'], 'purchase' => $v['purchase'], 'price' => $v['price'], 'vip_price' => $v['price'], ]; $rose = 0; //零售-供货 $rose_price = bcsub($v['price'], $v['purchase'], 2); if ($rose_price > 0) { //利润除于零售 $price_div = bcdiv($rose_price, $v['price'], 2); $rose = bcmul($price_div, 100, 2); } $data['rose'] = $rose; StoreProduct::update($data, ['id' => $v['product_id']]); //修改 StoreBranchProduct::where('product_id', $v['product_id'])->whereNotIn('store_id', [17, 18])->update([ 'price' => $v['price'], 'vip_price' => $v['price'], 'cost' => $v['cost'], 'purchase' => $v['purchase'], 'rose' => $rose ]); } d(11); $pay_price = StoreOrder::where('store_id', 3)->where('id', '>=', 1867)->where('id', '<=', 4826)->where('paid', 1)->sum('pay_price'); $refund_price = StoreOrder::where('store_id', 3)->where('id', '>=', 1867)->where('id', '<=', 4826)->where('paid', 1)->sum('refund_price'); d($pay_price, $refund_price); $arr = StoreOrder::where('store_id', 3)->where('id', '>', 551)->where('paid', 1)->field('id,pay_price,deduction_price,refund_price')->select()->toArray(); $data = []; foreach ($arr as $k => $v) { $total_price = StoreOrderCartInfo::where('oid', $v['id'])->sum('total_price'); if ($total_price != $v['pay_price']) { $s = $v; $s['total_price'] = $total_price; $data[] = $s; } } d($data); $url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b538e44b-940b-445f-afe0-97320942d959'; $arr = ["msgtype" => "template_card", "template_card" => [ 'card_type' => 'text_notice', 'main_title' => [ 'title' => '测试标题', 'desc' => '分单' ], 'card_action' => [ 'type' => 1, 'url' => 'https://admin-multi-store.lihaink.cn/admin' ] ]]; $a = (new Curl())->postJson($url, json_encode($arr, true)); d($a); return json(1); $financeFlow = new StoreFinanceFlow(); $financeFlowLogic = new StoreFinanceFlowLogic(); $select_1 = $financeFlow->where('id', 16197)->select(); foreach ($select_1 as $k => $v) { if ($v['other_uid'] > 0) { $financeFlowLogic->updateStatusUser($v['id'], $v['other_uid'], $v['number'], $v['order_id']); } } } /** * @notes 下载文件 */ public function download() { $params = (new GenerateTableValidate())->goCheck('download'); $result = GeneratorLogic::download($params['file']); if (false === $result) { return $this->fail(GeneratorLogic::getError() ?: '下载失败'); } return response()->download($result, 'webman-curd.zip'); } /** * @notes 获取app更新信息 */ public function app_update() { $find = Db::name('app_update')->where('type', 2)->order('id', 'desc')->findOrEmpty(); return $this->success('ok', $find); } /** * @notes 获取省列表 */ public function province() { $list = Db::name('geo_province')->select()->toArray(); return $this->success('ok', $list); } /** * @notes 获取市列表 */ public function city() { $province_code = $this->request->get('province_code'); $list = Db::name('geo_city')->where('province_code', $province_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取区列表 */ public function area() { $city_code = $this->request->get('city_code'); $list = Db::name('geo_area')->where('city_code', $city_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取街道列表 */ public function street() { $area_code = $this->request->get('area_code'); $list = Db::name('geo_street')->where('area_code', $area_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取村列表 */ public function village() { $area_code = $this->request->get('street_code'); $list = Db::name('geo_village')->where('street_code', $area_code)->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取队列表 */ public function brigade() { $list = Db::name('geo_brigade')->select()?->toArray(); return $this->success('ok', $list); } /** * @notes 获取队列表 */ public function config() { //处理返回最近的店铺 $params = $this->request->get(); if ((isset($params['lat']) && $params['lat'] != '') && (isset($params['long']) && $params['long'] != '')) { $latitude = $params['lat']; $longitude = $params['long']; // 计算距离的SQL表达式 $distanceExpr = "6371 * 2 * ASIN(SQRT(POWER(SIN(({$latitude} - abs(latitude)) * pi()/180 / 2), 2) + COS({$latitude} * pi()/180) * COS(abs(latitude) * pi()/180) * POWER(SIN(({$longitude} - longitude) * pi()/180 / 2), 2)))"; $find = SystemStore::field("id, name,abbreviation, {$distanceExpr} AS distance") ->where('is_show', '=', 1) ->where('latitude', '<>', '') ->where('longitude', '<>', '') ->order('distance', 'asc') // 根据距离排序 ->find(); if (!$find) { $store_id = getenv('STORE_ID') ?? 1; $find = SystemStore::where('id', $store_id)->find(); } } else { $store_id = getenv('STORE_ID') ?? 1; $find = SystemStore::where('id', $store_id)->find(); } $list = [ 'id' => $find['id'], 'store_name' => $find['name'], 'abbreviation' => $find['abbreviation'], ]; return $this->success('ok', $list); } public function push() { $name = $this->request->get('name'); //用户名 $uid = $this->request->get('uid'); //用户id $type = $this->request->get('type', 'INDUSTRYMEMBERS'); //类型 $a = PushService::push($name, $uid, ['type' => $type, 'msg' => '支付超时,订单已被取消,请重新提交订单', 'data' => ['id' => 5]]); return $this->success('ok', ['data' => $a]); } /** * @notes 采购商品下载 */ public function purchase_product_offer() { $date = $this->request->get('date'); if ($date) { $this->request->setGet(['date' => $date, 'export' => 2]); $lists = new PurchaseProductOfferListsTwo(); $exportDownloadUrl = $lists->createExcel($lists->setExcelFields(), $lists->lists()); $fileKey = explode('?file=', $exportDownloadUrl)[1]; //通过文件缓存的key获取文件储存的路径 $exportCache = new ExportCache(); $fileInfo = $exportCache->getFile($fileKey); if (empty($fileInfo)) { return $this->fail('下载文件不存在'); } //下载前删除缓存 Cache::delete($fileKey); return response()->download($fileInfo['src'] . $fileInfo['name'], $fileInfo['name']); } else { return $this->fail('时间不能为空'); } } /** * @notes 采购商品下载 */ public function wps_product() { $data = $this->request->post(); return $this->success('ok',$data); if ($data) { $data=json_decode($data,true); if ($data['product_id'] > 0) { $find = Db::name('wps_product')->where('product_id', $data['product_id'])->find(); $arr = []; if ($data['purchase'] > 0) { $arr['purchase'] = $data['purchase']; } if ($data['cost'] > 0) { $arr['cost'] = $data['cost']; } if ($data['price'] > 0) { $arr['price'] = $data['price']; } if ($find) { Db::name('wps_product')->where('id', $find['id'])->update($arr); } else { $arr['product_id']=$data['product_id']; $arr['name']=$data['name']; Db::name('wps_product')->insert($arr); } } return $this->success('ok'); } else { return $this->fail('时间不能为空'); } } }