<?php namespace app\api\controller; use app\common\logic\StoreFinanceFlowLogic; use app\admin\logic\store_product\StoreProductLogic; use app\admin\validate\tools\GenerateTableValidate; use app\admin\logic\tools\GeneratorLogic; use app\api\logic\order\OrderLogic as OrderOrderLogic; use app\common\logic\PayNotifyLogic; use app\common\logic\store_order\StoreOrderLogic; use app\common\model\Config as ModelConfig; use app\common\model\store_branch_product\StoreBranchProduct; use app\common\model\store_finance_flow\StoreFinanceFlow; use app\common\model\store_order\StoreOrder; use app\common\model\system_store\SystemStore; use app\common\model\user\User; use app\common\service\pay\PayService; use app\common\service\PushService; use app\common\service\wechat\WechatTemplate; use app\statistics\logic\OrderLogic; use Exception; use Overtrue\EasySms\EasySms; use Overtrue\EasySms\Exceptions\NoGatewayAvailableException; use support\Cache; use think\facade\Db; use Webman\Config; use support\Log; use Yansongda\Pay\Exception\InvalidSignException; use Monolog\Handler\RotatingFileHandler; use Webman\RedisQueue\Redis; class IndexController extends BaseApiController { public $notNeedLogin = ['index', 'app_update', 'express_list', 'province', 'city', 'area', 'street', 'village', 'brigade', 'config','push']; public function index() { return json([1]); $financeFlow = new StoreFinanceFlow(); $order_id=544; $store_id=3; $staff_id=3; Db::startTrans(); try { // $res = $financeFlow->where('order_id', $order_id)->update(['store_id' => $store_id, 'staff_id' => $staff_id]); // if ($res) { // $order['store_id'] =$store_id; // } $financeFlowLogic = new StoreFinanceFlowLogic(); //other_uid大于0的 $select_1 = $financeFlow->where(['order_id' => $order_id, 'financial_pm' => 1,'status'=>0])->where('other_uid','>',0)->select(); foreach ($select_1 as $k => $v) { if ($v['other_uid'] > 0) { $financeFlowLogic->updateStatusUser($v['id'], $v['other_uid'], $v['number'], $v['order_id']); } } $deposit = $financeFlow->where(['order_id' => $order_id, 'financial_pm' => 0, 'financial_type' => 11,'status'=>0])->value('number') ?? 0; $money = $financeFlow->where(['order_id' => $order_id, 'financial_pm' => 1, 'financial_type' => 2,'status'=>0])->value('number') ?? 0; $financeFlowLogic->updateStatusStore($order_id, $store_id, $money, $deposit); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); d($e); return false; } $all_where['paid'] = 1; d(OrderLogic::dayPayPrice($all_where,date('Y-m-d',time()))); $uid=9; $a= PushService::push('wechat_mmp_'.$uid, $uid, ['type'=>'INDUSTRYMEMBERS','msg'=>'支付超时,订单已被取消,请重新提交订单','data'=>['id'=>5]]); return json($a); try { $a = new WechatTemplate(); $a->NewQuotationNotification(['openid' => 'ocqhF6UfFQXE-SbzbP5YVQJlQAh0', 'data1' => '阿萨', 'data2' => date('Y-m-d H:i:s'), 'data3' => '占山', 'data3' => 18982406440]); } catch (Exception $e) { d($e); } d(22); $auth_code = $this->request->get('code'); $pay = (new PayService()); $order = [ 'description' => '条码商品', 'out_trade_no' => (string)time(), 'payer' => [ 'auth_code' => (string)$auth_code ], 'amount' => [ 'total' => 1, ], 'scene_info' => [ "store_info" => [ 'id' => '1' ] ], ]; try { $a = $pay->wechat->pos($order); } catch (\Exception $th) { d($th); } d($a); $params = ['store_id' => 2, 'pay_type' => 17]; $a = StoreOrderLogic::createOrder([1], 0, null, $params); d($a); return json(['msg' => create_password(123456, '11d3')]); } /** * @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() { $store_id = getenv('STORE_ID') ?? 1; $find = SystemStore::where('id', $store_id)->find(); $list = [ 'id' => $find['id'], 'store_name' => $find['name'], ]; 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]); } }