第一次更新,完成了初版调整

This commit is contained in:
2026-09-07 22:05:51 +08:00
parent b5a26a8848
commit 4d6a7e7aac
198 changed files with 6142 additions and 3856 deletions
+6 -126
View File
@@ -153,47 +153,8 @@ class Order extends Controller
*/
public function cancelShare(): Json
{
$postData = $this->postForm();
$postData['order_goods_id'] = $this->request->param('orderGoodsId');
$order_goods_id = $postData['order_goods_id'];
$password = $postData['password'];
//验证密码
$user = UserModel::detail($this->store['user']['store_user_id']);
if(!password_verify($password, $user['password'])){
return $this->renderError('登录密码错误');
}
$model = OrderGoodsModel::detail($order_goods_id);
if ($model['oil_status'] != 1) {
return $this->renderError('该订单状态不是已分油状态');
}
if ($model['use_status'] != 0) {
return $this->renderError('油卡已核销,无法撤销');
}
$order = OrderModel::detail($model['order_id']);
$company = CompanyModel::detail($model['company_id']);
// 对接平台接口,撤销分油
$res = $this->oilOilCardCancelShare(['shareNo'=>$model['shareNo'],'amount'=>$model['goods_price'],'saleOrderNo'=>$order['order_no'],'type'=>'recovery','oilCardType'=>$model['oilCardType']], $company);
if($res['code'] == '00'){
if ($model->cancelShare($postData)) {
// 更新商户余额(增加)
MerchantModel::setIncBalance((int)$model['merchant_id'], (float)$model['goods_price']);
BalanceLogModel::add(SceneEnum::REFUND, [
'merchant_id' => (int)$model['merchant_id'],
'money' => (float)$model['goods_price'],
], ['saleOrderNo' => $order['order_no']]);
// 更新公司余额(增加)
CompanyModel::setIncBalance((int)$model['company_id'], (float)$model['goods_price']);
CompanyBalanceLogModel::add(SceneEnum::REFUND, [
'company_id' => (int)$model['company_id'],
'money' => (float)$model['goods_price'],
], ['saleOrderNo' => $order['order_no']]);
return $this->renderSuccess('操作成功');
}
return $this->renderError($model->getError() ?: '操作失败');
}else{
return $this->renderError('平台撤销分油失败【'.($res['errMessage'] ?? $res['message']).'】');
}
// 企油通改造:本功能依赖已下线的上游(智慧油客/定聚),现已停用。
return $this->renderError('小程序油品链路已停用');
}
/**
@@ -203,36 +164,8 @@ class Order extends Controller
*/
public function qrCode(): Json
{
$postData = $this->postForm();
$postData['order_goods_id'] = $this->request->param('orderGoodsId');
$orderGoods = OrderGoodsModel::detail($postData['order_goods_id']);
if($orderGoods['use_status'] != 0){
return $this->renderError('油券已核销');
}else {
$company = CompanyModel::detail($orderGoods['company_id']);
$IdingjuOil = new IdingjuOil();
// 对接平台接口
$res = $IdingjuOil->payQrCodeRequest(['order_no'=>$orderGoods['oilCardNo']], $company);
if($res['code'] == '1' && isset($res['data']['useQrCodeUrl'])){
// 插入支付码记录
$QrCodeModel = new QrCodeModel();
$QrCodeModel->add([
'oilCardNo'=>$orderGoods['oilCardNo'],
'qrCode'=>$res['data']['useQrCodeUrl'],
'amount'=>$orderGoods['goods_price'],
'order_id'=>$orderGoods['order_id'],
'user_id'=>$orderGoods['user_id'],
'store_id'=>$orderGoods['store_id'],
]);
$res = [
'qrCode'=>$res['data']['useQrCodeUrl']
];
return $this->renderSuccess($res, '提交成功');
}else{
return $this->renderError($res['errMessage'] ?? $res['message']);
}
}
// 企油通改造:本功能依赖已下线的上游(智慧油客/定聚),现已停用。
return $this->renderError('小程序油品链路已停用');
}
/**
@@ -317,60 +250,7 @@ class Order extends Controller
*/
public function share(): Json
{
$IdingjuOil = new IdingjuOil();
$postData = $this->request->param();
$postData['order_goods_id'] = $this->request->param('orderGoodsId');
$goods = OrderGoodsModel::detail($postData['order_goods_id']);
if($goods['oil_status'] != 0){
return $this->renderError('已分油');
}else {
if($goods['oilCardType']) {
$data['amount'] = $goods['total_price']; // 金额
$company = CompanyModel::detail(['orgNo' => $this->getCompany($goods['goods_no'])]);
if (!$company) {
return $this->renderError('已分油');
}
try {
// 查找一个未被调用的用户
$account = $this->processUserOrders($company['company_id']);
} catch (\Throwable $e) {
return $this->renderError($e->getMessage());
}
// 查询公司余额
/*if ($data['amount'] > $company['balance']) {
$this->error = '公司余额不足';
return false;
}*/
// 对接平台接口
$res = $IdingjuOil->oilOilCardShare([
'goodsNo'=>$goods['goods_no'],
'amount'=>$data['amount'],
'userNo'=>$account['userNo'],
'mobile'=>$account['mobile'],
'saleOrderNo'=>$goods['oilCardNo'],
'oilCardType'=>$goods['oilCardType']
], $company);
//$res = json_decode('{"code":"00","message":"请求成功","errCode":null,"errMessage":null,"data":{"oilCardNo":null,"amount":100,"balance":null,"shareNo":"CDV2408021928160001"}}', true);
if ($res['code'] != 1) {
return $this->renderError($res['errMessage'] ?? $res['message']);
}
$IdingjuOil->saveLogStore("分油接口结果".json_encode($res,320));
$item['account_id'] = $account['account_id'];
$item['userNo'] = $account['userNo'];
$item['mobile'] = $account['mobile'];
$item['company_id'] = $company['company_id'];
$item['shareNo'] = $res['data']['trade_no'] ?? '';
$item['qrCode'] = $res['data']['useUrl'] ?? '';
$item['oil_status_zsy'] = $res['data']['state'] ?? 0;
$item['oil_time'] = time();
$item['oil_status'] = $item['oil_status_zsy'] == 2 ? 1 : 0; // 已发券 为1
$r = $goods->save($item);
$IdingjuOil->saveLogStore("保存分油结果".json_encode($r,320));
return $this->renderSuccess('分油成功');
}
}
// 企油通改造:本功能依赖已下线的上游(智慧油客/定聚),现已停用。
return $this->renderError('小程序油品链路已停用');
}
}