request->get('id'); $clear = ClearClass::getLockById($id); if (empty($clear)) { util::fail('没有结账信息哈'); } $customId = $clear->customId ?? 0; $custom = CustomClass::getById($customId, true); $customShopId = $custom->shopId ?? 0; if ($customShopId != $this->shopId) { util::fail('没有权限'); } if ($clear->status == ClearClass::STATUS_HAS_PAY) { util::fail('账单已完成'); } if ($clear->status == ClearClass::STATUS_EXPIRE) { util::fail('账单已取消'); } $clear->status = ClearClass::STATUS_EXPIRE; $clear->remark = "客户手动取消 ".date('Y-m-d H:i:s'); $clear->save(); $orderSn = $clear->orderSn ?? ''; $ghsShopId = $clear->ghsShopId ?? 0; $ghsShop = ShopClass::getById($ghsShopId, true); if (!empty($ghsShop)) { $merchantPrivateKeyPath = Yii::getAlias("@vendor/lakala") . '/production/api_private_key.pem'; $lklCertificatePath = Yii::getAlias("@vendor/lakala") . '/production/lkl-apigw-v1.cer'; $params = [ 'appid' => 'OP00002119', 'serial_no' => '018b08cfddbd', 'merchant_no' => $ghsShop->lklSjNo, 'term_no' => $ghsShop->lklScanTermNo, 'merchantPrivateKeyPath' => $merchantPrivateKeyPath, 'lklCertificatePath' => $lklCertificatePath, ]; $laResource = new Lakala($params); $closeParams = [ 'orderSn' => $orderSn, ]; $response = $laResource->close($closeParams); if (isset($response['code']) == false || $response['code'] != 'BBS00000') { $msg = $response['msg'] ?? ''; $code = $response['code'] ?? 0; if (!in_array($code, ['BBS11114'])) { noticeUtil::push("花店结账:" . $orderSn . " 关单没有成功 {$msg} {$code}", '15280215347'); } } //收银台关单 $closeParams = ['orderSn' => $orderSn]; $response = $laResource->cashClose($closeParams); if (isset($response['code']) == false || $response['code'] != '000000') { $msg = $response['msg'] ?? ''; $code = $response['code'] ?? 0; if (!in_array($code, ['000091'])) { noticeUtil::push('花店结账:' . $orderSn . ',关单没有成功(收银台-支付宝),' . $msg . $code, '15280215347'); } } } util::complete(); } //结款单 ssh 20210625 public function actionList() { $get = Yii::$app->request->get(); $where = []; if (isset($get['status']) && is_numeric($get['status'])) { $where['status'] = $get['status']; } $ghsId = $get['ghsId'] ?? 0; if (!empty($ghsId)) { $ghs = GhsClass::getById($ghsId, true); GhsClass::valid($ghs, $this->shopId); $where['ghsId'] = $ghsId; } $where['customShopId'] = $this->shopId ?? 0; $list = ClearService::getClearList($where); util::success($list); } //获取基本信息 ssh 20210625 public function actionGetFullInfo() { $id = Yii::$app->request->get('id'); $info = ClearClass::getById($id); $respond = ClearClass::getCgInfo($info); util::success($respond); } //获取支付宝付款码 ssh 20240713 public function actionGetAliPayClearCode() { $get = Yii::$app->request->get(); $orderSn = $get['orderSn'] ?? 0; $info = ClearClass::getByCondition(['orderSn' => $orderSn], true); if (empty($info)) { util::fail('没有找到结账单'); } if (getenv('YII_ENV') == 'production') { $url = "https://mall.huahb.cn/#/admin/clear/alipay?orderSn={$orderSn}"; } else { $url = "https://mall.huaml.com/#/admin/clear/alipay?orderSn={$orderSn}"; } $unique = "order_clear_ali_pay_" . $orderSn; $imgUrl = qrCodeUtil::generateRechargeQrCode($url, $unique); $imageUrl = imgUtil::groupImg($imgUrl); util::success(['imgUrl' => $imageUrl]); } //获取结账单详情 ssh 20220509 public function actionDetail() { $id = Yii::$app->request->get('id'); $clear = ClearClass::getById($id); if (empty($clear)) { util::fail('没有结账信息哦'); } $deadline = isset($clear['deadline']) && !empty($clear['deadline']) ? strtotime($clear['deadline']) : 0; $now = time(); $remainSecond = bcsub($deadline, $now); $remainSecond = bcsub($remainSecond, 100); $remainSecond = $remainSecond > 0 ? $remainSecond : 0; $clear['remainSecond'] = $remainSecond; $clear['hasRenew'] = 1; util::success($clear); } }