作者 lyh

gx

<?php
/**
* @remark :
* @name :Extension3059ModuleController.php
* @author :lyh
* @method :post
* @time :2024/12/25 9:44
*/
namespace App\Http\Controllers\Bside\ExtensionModule;
use App\Enums\Common\Code;
use App\Helper\PayStripeApi;
use App\Http\Controllers\Bside\BaseController;
use App\Models\ExtentModule\ExtensionModuleValue;
class Extension3059ModuleController extends BaseController
{
/**
* @remark :获取当前所有的商品列表
* @name :getProductLists
* @author :lyh
* @method :post
* @time :2024/12/25 9:37
*/
public function getProductLists(){
$this->param['module_id'] = $this->param['module_id'] ?? 2;//默认加载商品数据
$searchParam = [
'module_id'=>$this->param['module_id'],
];
$data = [];
$moduleValueModel = new ExtensionModuleValue();
$lists = $moduleValueModel->list($searchParam);
if(!empty($lists)){
foreach ($lists as $k => $v){
$data[$v['uuid']][$v['field_id']] = $v['value'];
$data[$v['uuid']]['created_at'] = $v['created_at'];
}
}
$resultData = [];
foreach ($data as $k => $v){
$v['uuid'] = $k;
$resultData[] = $v;
}
$this->response('success',Code::SUCCESS,$resultData);
}
/**
* @remark :编辑订单详情
* @name :editOrderDetail
* @author :lyh
* @method :post
* @time :2024/12/25 10:26
*/
public function saveOrderDetail(){
$this->request->validate([
'data'=>'required',
'amount'=>'required',
'currency'=>'required',
'payment_method_types'=>'required',
],[
'data.required' => '数据不能为空',
'amount.required' => '金额不能为空',
'currency.required' => '币种不能为空',
'payment_method_types.required' => '支付方式不能为空',
]);
$this->param['module_id'] = 1;//默认订单模块
$moduleValueModel = new ExtensionModuleValue();
$info = $moduleValueModel->where('module_id',$this->param['module_id'])->orderBy('uuid','desc')->first();
if(empty($info)){
$uuid = 1;
}else{
$info = $info->toArray();
$uuid = $info['uuid'] + 1;
}
$saveData = [];
try {
//生成订单id
$saveData[] =['uuid'=>$uuid,'module_id'=>$this->param['module_id'],'field_id'=>1,'value'=>md5(uniqid(mt_rand(), true))];
$data = $this->param['data'];
$moduleValueModel = new ExtensionModuleValue();
foreach ($data as $k => $v){
$saveData[] = [
'uuid'=>$uuid,
'module_id'=>$this->param['module_id'],
'field_id'=>$v['field_id'],
'value'=>$v['value']
];
}
$pay = new PayStripeApi();
$data = $pay->createPaymentIntent($this->param['amount'],$this->param['currency'],$this->param['payment_method_types']);
$saveData[] = ['uuid'=>$uuid,'module_id'=>$this->param['module_id'],'field_id'=>8,'value'=>$data['id'] ?? '未获取到支付意愿,请重新获取'];
$moduleValueModel->insertAll($saveData);
}catch (\Exception $e){
$this->fail('error,请联系管理员');
}
$this->response('success',Code::SUCCESS,['uuid'=>$uuid,'data'=>$data]);
}
}
... ...
... ... @@ -185,13 +185,7 @@ class ExtensionModuleController extends BaseController
foreach ($data as $k => $v){
$info = $moduleValueModel->read(['uuid'=>$this->param['uuid'],'field_id'=>$v['field_id'],'module_id'=>$this->param['module_id']]);
if($info === false){
if($this->user['project_id'] == 2205 && $this->param['module_id'] == 1){
if($v['field_id'] == 12 && !empty($v['value'])){//下拉框数据
if($v['value'] != 'Ordered'){
$this->fail('请从第一个流程开始选择。');
}
}
}
$this->edit2205ModuleValue($v);
$data = [
'uuid'=>$this->param['uuid'],
'module_id'=>$this->param['module_id'],
... ... @@ -200,6 +194,22 @@ class ExtensionModuleController extends BaseController
];
$moduleValueModel->addReturnId($data);
}else{
$this->edit2205ModuleValue($v);
$moduleValueModel->edit(['value'=>$v['value'] ?? ''],['id'=>$info['id']]);
}
}
$this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]);
}
/**
* @remark :2205项目单独处理
* @name :edit2205ModuleValue
* @author :lyh
* @method :post
* @time :2024/12/25 10:12
*/
public function edit2205ModuleValue($v){
if(isset($this->param['id']) && !empty($this->param['id'])){
if($this->user['project_id'] == 2205 && $this->param['module_id'] == 1){
if($v['field_id'] == 12 && (!empty($v['value']) && !empty($info['value']))){//下拉框数据
$filedModel = new ExtensionModuleField();
... ... @@ -221,12 +231,16 @@ class ExtensionModuleController extends BaseController
}
}
}
$moduleValueModel->edit(['value'=>$v['value'] ?? ''],['id'=>$info['id']]);
}else{
if($this->user['project_id'] == 2205 && $this->param['module_id'] == 1){
if($v['field_id'] == 12 && !empty($v['value'])){//下拉框数据
if($v['value'] != 'Ordered'){
$this->fail('请从第一个流程开始选择。');
}
}
}
}
$this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]);
}
/**
* @remark :新增數據
... ... @@ -252,13 +266,7 @@ class ExtensionModuleController extends BaseController
$data = $this->param['data'];
$moduleValueModel = new ExtensionModuleValue();
foreach ($data as $k => $v){
if($this->user['project_id'] == 2205 && $this->param['module_id'] == 1){
if($v['field_id'] == 12 && !empty($v['value'])){//下拉框数据
if($v['value'] != 'Ordered'){
$this->fail('请重第一个流程开始选择');
}
}
}
$this->edit2205ModuleValue($v);
$data = [
'uuid'=>$uuid,
'module_id'=>$this->param['module_id'],
... ...
... ... @@ -12,9 +12,11 @@ namespace App\Http\Controllers\Bside\PayStripe;
use App\Enums\Common\Code;
use App\Helper\PayStripeApi;
use App\Http\Controllers\Bside\BaseController;
use App\Models\ExtentModule\ExtensionModuleValue;
class PayStripeController extends BaseController
{
/**
* @remark :获取支付方式
* @name :getPayMethod
... ... @@ -36,10 +38,8 @@ class PayStripeController extends BaseController
* @time :2024/12/24 14:56
*/
public function createPaymentIntent(){
$pay = new PayStripeApi();
$data = $pay->createPaymentIntent(100,'cny');
//创建订单--记录当前的stripe_id
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -32,9 +32,9 @@ class ExtensionModuleFieldLogic extends BaseLogic
public function saveModuleField(){
//先查看当前字段是否存在
if(isset($this->param['id']) && !empty($this->param['id'])){
$info = $this->model->read(['field_name'=>$this->param['field_name'],'id'=>['!=',$this->param['id']]]);
$info = $this->model->read(['field_name'=>$this->param['field_name'],'module_id'=>$this->param['module_id'],'id'=>['!=',$this->param['id']]]);
}else{
$info = $this->model->read(['field_name'=>$this->param['field_name']]);
$info = $this->model->read(['field_name'=>$this->param['field_name'],'module_id'=>$this->param['module_id']]);
}
if($info !== false){
$this->fail('当前字段名已存在');
... ...
... ... @@ -116,6 +116,24 @@ class Base extends Model
}
/**
* @remark :批量添加数据
* @name :addAllReturnId
* @author :lyh
* @method :post
* @time :2024/12/25 11:16
*/
public function insertAll($data){
if(is_array($data)){
foreach ($data as $k => $sonData){
$sonData['created_at'] = date('Y-m-d H:i:s');
$sonData['updated_at'] = $sonData['created_at'];
$data[$k] = $sonData;
}
}
return $this->insert($data);
}
/**
* @remark :统计数量
* @name :count
* @author :lyh
... ...