服务层多语言适配
parent
0f45136676
commit
bbfeb0cbe9
|
|
@ -962,13 +962,6 @@ return [
|
|||
]
|
||||
],
|
||||
'upload_top_tips_ps' => 'PS: If the above conditions are not met, the plug-in cannot be viewed. Put the plug-in into the. zip compression package to upload, and support multiple payment plugins in one compression',
|
||||
// 表单
|
||||
'form_item_name' => 'Name',
|
||||
'form_item_name_message' => 'Name format 2~30 characters',
|
||||
'form_item_apply_terminal' => 'Applicable Terminal',
|
||||
'form_item_apply_terminal_message' => 'Select at least one applicable terminal',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_is_open_user' => 'Open to Users',
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'name' => 'Name',
|
||||
|
|
@ -1142,33 +1135,6 @@ return [
|
|||
'more_plugins_store_to_text' => 'Go to the app store to select more plugins to enrich the site >>',
|
||||
'no_data_store_to_text' => 'Go to the app store to select plug-in rich sites >>',
|
||||
'plugins_no_data_tips' => 'There is no relevant application yet',
|
||||
// 表单
|
||||
'form_item_upload_tips' => 'Upload an application installation package in zip compression format',
|
||||
'form_create_error_tips' => 'Please fill in again!',
|
||||
'form_create_first_step_button_name' => 'Next Step',
|
||||
'form_item_plugins' => 'Apply unique tags',
|
||||
'form_item_plugins_tips' => 'Use numbers, lowercase letters and underscores',
|
||||
'form_item_plugins_message' => 'Apply unique tag format of 2~60 characters',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_logo_tips' => '600 * 600px proposal',
|
||||
'form_item_name' => 'Name',
|
||||
'form_item_name_message' => 'Name format: 2~30 characters',
|
||||
'form_item_author' => 'Author',
|
||||
'form_item_author_message' => 'Author format 2~30 characters',
|
||||
'form_item_author_url' => 'Author URI',
|
||||
'form_item_author_url_tips' => 'Start with http://or https://',
|
||||
'form_item_author_url_message' => 'Please fill in the authors homepage',
|
||||
'form_item_version' => 'Version',
|
||||
'form_item_version_tips' => 'Major version, minor version number and revision number, each segment shall not exceed 6 digits, such as 1.0.0',
|
||||
'form_item_version_message' => 'Incorrect version format',
|
||||
'form_item_desc' => 'Describe',
|
||||
'form_item_desc_message' => 'Description content format: 2~60 characters',
|
||||
'form_item_apply_terminal' => 'Applicable Terminal',
|
||||
'form_item_apply_terminal_message' => 'Select at least one applicable terminal',
|
||||
'form_item_apply_version' => 'Applicable system version',
|
||||
'form_item_apply_version_message' => 'Select at least one applicable system version',
|
||||
'form_item_is_home' => 'Whether there is front-end entrance',
|
||||
'form_item_is_home_tips' => 'Front independent page entry',
|
||||
],
|
||||
|
||||
// 安装页面
|
||||
|
|
|
|||
|
|
@ -947,13 +947,6 @@ return [
|
|||
]
|
||||
],
|
||||
'upload_top_tips_ps' => 'PS:以上条件不满足则无法查看插件,将插件放入.zip压缩包中上传、支持一个压缩中包含多个支付插件',
|
||||
// 表单
|
||||
'form_item_name' => '名称',
|
||||
'form_item_name_message' => '名称格式2~30个字符',
|
||||
'form_item_apply_terminal' => '适用终端',
|
||||
'form_item_apply_terminal_message' => '至少选择一个适用终端',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_is_open_user' => '用户开放',
|
||||
// 动态表格
|
||||
'form_table' => [
|
||||
'name' => '名称',
|
||||
|
|
@ -1127,33 +1120,6 @@ return [
|
|||
'more_plugins_store_to_text' => '去应用商店挑选更多插件丰富站点 >>',
|
||||
'no_data_store_to_text' => '到应用商店挑选插件丰富站点 >>',
|
||||
'plugins_no_data_tips' => '还没有相关应用',
|
||||
// 表单
|
||||
'form_item_upload_tips' => '上传一个zip压缩格式的应用安装包',
|
||||
'form_create_error_tips' => '请重新填写!',
|
||||
'form_create_first_step_button_name' => '下一步',
|
||||
'form_item_plugins' => '应用唯一标记',
|
||||
'form_item_plugins_tips' => '以数字、字母小写、下划线',
|
||||
'form_item_plugins_message' => '应用唯一标记格式2~60个字符',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_logo_tips' => '建议600*600px',
|
||||
'form_item_name' => '名称',
|
||||
'form_item_name_message' => '名称格式2~30个字符',
|
||||
'form_item_author' => '作者',
|
||||
'form_item_author_message' => '作者格式2~30个字符',
|
||||
'form_item_author_url' => '作者主页',
|
||||
'form_item_author_url_tips' => '以http://或https://开头',
|
||||
'form_item_author_url_message' => '请填写作者主页',
|
||||
'form_item_version' => '版本',
|
||||
'form_item_version_tips' => '主版本.次版本号.修订号,每个段不超过6位,如 1.0.0',
|
||||
'form_item_version_message' => '版本格式有误',
|
||||
'form_item_desc' => '描述',
|
||||
'form_item_desc_message' => '描述内容格式2~60个字符',
|
||||
'form_item_apply_terminal' => '适用终端',
|
||||
'form_item_apply_terminal_message' => '至少选择一个适用终端',
|
||||
'form_item_apply_version' => '适用系统版本',
|
||||
'form_item_apply_version_message' => '至少选择一个适用系统版本',
|
||||
'form_item_is_home' => '是否有前端入口',
|
||||
'form_item_is_home_tips' => '前端独立页面入口',
|
||||
],
|
||||
|
||||
// 安装页面
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
{{include file="public/not_data" /}}
|
||||
{{else /}}
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('payment.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('payment.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('payment.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
<label>{{:MyLang('common_service.payment.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.payment.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.payment.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('payment.form_item_apply_terminal')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="apply_terminal" class="am-radius chosen-select" multiple="multiple" minchecked="1" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('payment.form_item_apply_terminal_message')}}" required>
|
||||
<label>{{:MyLang('common_service.payment.form_item_apply_terminal')}}<span class="am-form-group-label-tips-must">*</span></label>
|
||||
<select name="apply_terminal" class="am-radius chosen-select" multiple="multiple" minchecked="1" data-placeholder="{{:MyLang('optional_tips')}}" data-validation-message="{{:MyLang('common_service.payment.form_item_apply_terminal_message')}}" required>
|
||||
{{foreach $common_platform_type as $v}}
|
||||
{{if isset($data) and isset($data['apply_terminal_old']) and is_array($data['apply_terminal_old']) and in_array($v['value'], $data['apply_terminal_old'])}}
|
||||
<option value="{{$v.value}}" {{if isset($data['apply_terminal']) and in_array($v['value'], $data['apply_terminal'])}}selected{{/if}}>{{$v.name}}</option>
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
</div>
|
||||
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('payment.form_item_logo')}}</label>
|
||||
<label class="am-block">{{:MyLang('common_service.payment.form_item_logo')}}</label>
|
||||
<ul class="plug-file-upload-view logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['logo'])}}
|
||||
<li>
|
||||
|
|
@ -150,7 +150,7 @@
|
|||
|
||||
{{include file="lib/sort" /}}
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('payment.form_item_is_open_user')}}</label>
|
||||
<label class="am-block">{{:MyLang('common_service.payment.form_item_is_open_user')}}</label>
|
||||
<input name="is_open_user" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (isset($data['is_open_user']) and $data['is_open_user'] eq 1) or !isset($data['is_open_user'])}}checked="true"{{/if}} />
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@
|
|||
</legend>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('pluginsadmin.form_item_plugins')}}<span class="am-form-group-label-tips">{{:MyLang('pluginsadmin.form_item_plugins_tips')}}</span></label>
|
||||
<input type="text" name="plugins" placeholder="{{:MyLang('pluginsadmin.form_item_plugins_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('pluginsadmin.form_item_plugins_message')}}" pattern="^[a-z0-9_]{2,60}$" class="am-radius" {{if !empty($data['plugins'])}} value="{{$data.plugins}}"{{/if}} required />
|
||||
<label>{{:MyLang('common_service.pluginsadmin.form_item_plugins')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.pluginsadmin.form_item_plugins_tips')}}</span></label>
|
||||
<input type="text" name="plugins" placeholder="{{:MyLang('common_service.pluginsadmin.form_item_plugins_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_plugins_message')}}" pattern="^[a-z0-9_]{2,60}$" class="am-radius" {{if !empty($data['plugins'])}} value="{{$data.plugins}}"{{/if}} required />
|
||||
<!-- 校验信息 -->
|
||||
{{if !empty($verification_msg)}}
|
||||
<div class="am-alert am-alert-danger" data-am-alert>
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
</legend>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_plugins')}}<span class="am-form-group-label-tips">{{:MyLang('pluginsadmin.form_item_plugins_tips')}}</span></label>
|
||||
<input type="text" name="plugins" placeholder="{{:MyLang('pluginsadmin.form_item_plugins_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('pluginsadmin.form_item_plugins_message')}}" pattern="^[a-z0-9_]{2,60}$" class="am-radius" {{if !empty($plugins)}} value="{{$plugins}}"{{/if}} readonly="true" required />
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_plugins')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.pluginsadmin.form_item_plugins_tips')}}</span></label>
|
||||
<input type="text" name="plugins" placeholder="{{:MyLang('common_service.pluginsadmin.form_item_plugins_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_plugins_message')}}" pattern="^[a-z0-9_]{2,60}$" class="am-radius" {{if !empty($plugins)}} value="{{$plugins}}"{{/if}} readonly="true" required />
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_logo')}}<span class="am-form-group-label-tips">{{:MyLang('pluginsadmin.form_item_logo_tips')}}</span></label>
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_logo')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.pluginsadmin.form_item_logo_tips')}}</span></label>
|
||||
<ul class="plug-file-upload-view plugins-logo-view" data-form-name="logo" data-max-number="1" data-delete="0" data-dialog-type="images">
|
||||
<li>
|
||||
<input type="text" name="logo" value="{{if !empty($data['logo_old'])}}{{$data.logo_old}}{{/if}}" data-validation-message="{{:MyLang('form_upload_images_message')}}" required />
|
||||
|
|
@ -32,14 +32,14 @@
|
|||
<div class="am-cf">
|
||||
<div class="am-u-sm-12 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_name')}}</label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('pluginsadmin.form_item_name_message')}}" minlength="2" maxlength="30" data-validation-message="{{:MyLang('pluginsadmin.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_name')}}</label>
|
||||
<input type="text" name="name" placeholder="{{:MyLang('common_service.pluginsadmin.form_item_name_message')}}" minlength="2" maxlength="30" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-12 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_version')}}<span class="am-form-group-label-tips">{{:MyLang('pluginsadmin.form_item_version_tips')}}</span></label>
|
||||
<input type="text" name="version" placeholder="{{:MyLang('pluginsadmin.form_item_version')}}" minlength="5" maxlength="18" data-validation-message="{{:MyLang('pluginsadmin.form_item_version_message')}}" pattern="{{:MyConst('common_regex_version')}}" class="am-radius" {{if !empty($data['version'])}} value="{{$data.version}}"{{/if}} required />
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_version')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.pluginsadmin.form_item_version_tips')}}</span></label>
|
||||
<input type="text" name="version" placeholder="{{:MyLang('common_service.pluginsadmin.form_item_version')}}" minlength="5" maxlength="18" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_version_message')}}" pattern="{{:MyConst('common_regex_version')}}" class="am-radius" {{if !empty($data['version'])}} value="{{$data.version}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -49,43 +49,43 @@
|
|||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_author')}}</label>
|
||||
<input type="text" name="author" placeholder="{{:MyLang('pluginsadmin.form_item_author_message')}}" minlength="2" maxlength="30" data-validation-message="{{:MyLang('pluginsadmin.form_item_author_message')}}" class="am-radius" {{if !empty($data['author'])}} value="{{$data.author}}"{{/if}} required />
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_author')}}</label>
|
||||
<input type="text" name="author" placeholder="{{:MyLang('common_service.pluginsadmin.form_item_author_message')}}" minlength="2" maxlength="30" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_author_message')}}" class="am-radius" {{if !empty($data['author'])}} value="{{$data.author}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_author_url')}}<span class="am-form-group-label-tips">{{:MyLang('pluginsadmin.form_item_author_url_tips')}}</span></label>
|
||||
<input type="url" placeholder="{{:MyLang('pluginsadmin.form_item_author_url_tips')}}" name="author_url" data-validation-message="{{:MyLang('pluginsadmin.form_item_author_url_message')}}" class="am-radius" {{if !empty($data['author_url'])}} value="{{$data.author_url}}"{{/if}} required />
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_author_url')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.pluginsadmin.form_item_author_url_tips')}}</span></label>
|
||||
<input type="url" placeholder="{{:MyLang('common_service.pluginsadmin.form_item_author_url_tips')}}" name="author_url" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_author_url_message')}}" class="am-radius" {{if !empty($data['author_url'])}} value="{{$data.author_url}}"{{/if}} required />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_desc')}}</label>
|
||||
<textarea rows="2" name="desc" class="am-radius am-field-valid" placeholder="{{:MyLang('pluginsadmin.form_item_desc_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('pluginsadmin.form_item_desc_message')}}">{{if !empty($data['desc'])}}{{$data.desc}}{{/if}}</textarea>
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_desc')}}</label>
|
||||
<textarea rows="2" name="desc" class="am-radius am-field-valid" placeholder="{{:MyLang('common_service.pluginsadmin.form_item_desc_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_desc_message')}}">{{if !empty($data['desc'])}}{{$data.desc}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_apply_terminal')}}</label>
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_apply_terminal')}}</label>
|
||||
{{foreach :MyLang('common_platform_type') as $v}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="apply_terminal" value="{{$v.value}}" data-validation-message="{{:MyLang('pluginsadmin.form_item_apply_terminal_message')}}" {{if isset($data['apply_terminal']) and in_array($v['value'], $data['apply_terminal'])}}checked{{/if}} data-am-ucheck required /> {{$v.name}}
|
||||
<input type="checkbox" name="apply_terminal" value="{{$v.value}}" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_apply_terminal_message')}}" {{if isset($data['apply_terminal']) and in_array($v['value'], $data['apply_terminal'])}}checked{{/if}} data-am-ucheck required /> {{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_apply_version')}}</label>
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_apply_version')}}</label>
|
||||
{{foreach :MyConst('common_system_version_list') as $v}}
|
||||
<label class="am-checkbox-inline">
|
||||
<input type="checkbox" name="apply_version" value="{{$v.value}}" data-validation-message="{{:MyLang('pluginsadmin.form_item_apply_version_message')}}" {{if isset($data['apply_version']) and in_array($v['value'], $data['apply_version'])}}checked{{/if}} data-am-ucheck required /> {{$v.name}}
|
||||
<input type="checkbox" name="apply_version" value="{{$v.value}}" data-validation-message="{{:MyLang('common_service.pluginsadmin.form_item_apply_version_message')}}" {{if isset($data['apply_version']) and in_array($v['value'], $data['apply_version'])}}checked{{/if}} data-am-ucheck required /> {{$v.name}}
|
||||
</label>
|
||||
{{/foreach}}
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label class="am-block">{{:MyLang('pluginsadmin.form_item_is_home')}}<span class="am-form-group-label-tips">{{:MyLang('pluginsadmin.form_item_is_home_tips')}}</span></label>
|
||||
<label class="am-block">{{:MyLang('common_service.pluginsadmin.form_item_is_home')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.pluginsadmin.form_item_is_home_tips')}}</span></label>
|
||||
<input name="is_home" value="1" type="checkbox" data-off-text="{{:MyLang('no_title')}}" data-on-text="{{:MyLang('yes_title')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if isset($data['is_home']) and $data['is_home'] eq 1}}checked="true"{{/if}} />
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
|
||||
<i class="am-icon-cloud-upload"></i> {{:MyLang('form_choice_images_title')}}</button>
|
||||
<input type="file" name="file" class="file-event" data-tips-tag="#form-file-tips" data-validation-message="{{:MyLang('form_upload_file_message')}}" accept=".zip" required />
|
||||
<span class="tips am-text-xs">{{:MyLang('pluginsadmin.form_item_upload_tips')}}</span>
|
||||
<span class="tips am-text-xs">{{:MyLang('common_service.pluginsadmin.form_item_upload_tips')}}</span>
|
||||
<div id="form-file-tips" class="am-margin-top-xs"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ class OrderNotify extends Common
|
|||
public function Notify()
|
||||
{
|
||||
// 支付请求日志添加
|
||||
$log_ret = PayRequestLogService::PayRequestLogInsert(OrderService::$business_type_name);
|
||||
$log_ret = PayRequestLogService::PayRequestLogInsert(OrderService::BusinessTypeName());
|
||||
|
||||
// 业务处理
|
||||
$ret = OrderService::Notify($this->data_request);
|
||||
|
|
|
|||
|
|
@ -175,6 +175,10 @@ return [
|
|||
'refund_success' => 'Refund Succeeded',
|
||||
'refuse_fail' => 'Refuse Failed',
|
||||
'refuse_success' => 'Refuse Succeeded',
|
||||
'delivery_fail' => 'Delivery Failed',
|
||||
'delivery_success' => 'Delivery Succeeded',
|
||||
'collect_fail' => 'Collect Failed',
|
||||
'collect_success' => 'Collect Succeeded',
|
||||
'quit_success' => 'Quit Succeeded',
|
||||
'no_data' => 'No Relevant Data',
|
||||
'no_goods' => 'No related Goods',
|
||||
|
|
@ -204,7 +208,9 @@ return [
|
|||
'config_error_tips' => 'Incorrect configuration',
|
||||
'data_no_exist_error_tips' => 'Data does not exist',
|
||||
'data_no_exist_or_delete_error_tips' => 'Data does not exist or has been deleted',
|
||||
'order_no_exist_or_delete_error_tips' => 'The order does not exist or has been deleted',
|
||||
'goods_no_exist_or_delete_error_tips' => 'Item does not exist or has been deleted',
|
||||
'goods_empty_or_format_error_tips' => 'Item is empty or formatted incorrectly',
|
||||
'no_filled_tips' => 'Not filled in',
|
||||
'no_power_tips' => 'No permission',
|
||||
'not_open_developer_mode_tips' => 'Please start developer mode first',
|
||||
|
|
@ -217,6 +223,7 @@ return [
|
|||
'goods_id_error_tips' => 'Wrong goods ID',
|
||||
'gods_info_incorrect_tips' => 'Incorrect goods information',
|
||||
'gods_info_abnormal_tips' => 'Abnormal goods information',
|
||||
'order_no_error_tips' => 'Wrong order number',
|
||||
'order_id_error_tips' => 'Wrong order ID',
|
||||
'order_info_incorrect_tips' => 'The order information is incorrect',
|
||||
'order_detail_id_error_tips' => 'The order detail id is incorrect',
|
||||
|
|
@ -226,6 +233,8 @@ return [
|
|||
'back_prev_time_auto_text' => 'Second automatic return',
|
||||
'view_config_course_name' => 'View the configuration tutorial',
|
||||
'payment_method_error_tips' => 'Incorrect payment method',
|
||||
'payment_method_no_exist_tips' => 'Payment method does not exist',
|
||||
'payment_method_undefined_tips' => 'Payment method is not defined',
|
||||
'operate_field_error_tips' => 'Operation field error',
|
||||
'project_copy_fail_tips' => 'Package copy failed',
|
||||
'operate_type_error_tips' => 'Wrong operate type',
|
||||
|
|
@ -233,6 +242,7 @@ return [
|
|||
'status_not_can_operate_tips' => 'Status is inoperable',
|
||||
'order_status_not_can_operate_tips' => 'Order status is inoperable',
|
||||
'data_status_not_can_operate_tips' => 'Data status is inoperable',
|
||||
'plugins_config_error_tips' => 'Incorrect plug-in configuration',
|
||||
// 商店
|
||||
'store_bind_account_name' => 'Bind ShopXO store account',
|
||||
'store_bind_account_tips' => 'If it is bound, please clear the cache under the menu tool on the left side of the mall background and try to access it again!',
|
||||
|
|
@ -250,6 +260,7 @@ return [
|
|||
'back_home_title' => 'Back Home',
|
||||
'shop_home_title' => 'Shop Home',
|
||||
'home_title' => 'Home',
|
||||
'system_title' => 'System',
|
||||
'operate_title' => 'Operate',
|
||||
'all_title' => 'All',
|
||||
'select_all_title' => 'All',
|
||||
|
|
@ -568,23 +579,6 @@ return [
|
|||
'uninstall_confirm_tips' => 'It cannot be recovered after uninstallation. Are you sure to continue?',
|
||||
'collect_confirm_tips' => 'Please carefully confirm that the goods have been received and confirm to continue?',
|
||||
'save_close_page_confirm_tips' => 'Are you sure you want to save the data and continue to close this page?',
|
||||
// 订单状态进度
|
||||
'order_status_setp_data' => [
|
||||
'add' => 'Take Merchandise',
|
||||
'cancel' => 'Order Cancel',
|
||||
'close' => 'Order Close',
|
||||
'pay' => 'Payment',
|
||||
'delivery' => 'Seller Delivery',
|
||||
'collect' => 'Confirm Receipt',
|
||||
'comments' => 'Comments',
|
||||
],
|
||||
// 订单售后
|
||||
'orderaftersale_create_title_data' => [
|
||||
'default' => 'Refund/Return',
|
||||
'collect' => 'Apply Aftersale',
|
||||
'step' => 'View Progress',
|
||||
'success' => 'View Refund',
|
||||
],
|
||||
// 缓存更新类型列表
|
||||
'admin_cache_type_list' => [
|
||||
'site' => ['name' => 'Site Cache', 'desc' => 'This function can be used to update all caches after data conversion or when the foreground cannot be accessed normally'],
|
||||
|
|
@ -1176,7 +1170,7 @@ return [
|
|||
'order_address_insert_fail_tips' => 'Failed to add order address',
|
||||
'order_data_error_tips' => 'The order data is incorrect',
|
||||
'order_detail_data_error_tips' => 'Incorrect order details',
|
||||
'order_inventory_dec_type_error_tips' => 'Wrong order operation type',
|
||||
'order_inventory_dec_type_error_tips' => 'Wrong inventory deduction operation type',
|
||||
'inventory_dec_not_enable_tips' => 'Deduction inventory not opened',
|
||||
'inventory_dec_not_confirm_tips' => 'The current order status has not been confirmed - do not deduct inventory',
|
||||
'inventory_dec_not_pay_tips' => 'The current order status has not been operated for payment - do not deduct inventory',
|
||||
|
|
@ -1497,6 +1491,7 @@ return [
|
|||
'delete_warehouse_goods_fail_tips' => 'Failed to delete warehouse goods',
|
||||
'delete_warehouse_goods_spec_fail_tips' => 'Failed to delete warehouse goods inventory',
|
||||
// 基础
|
||||
'base_goods_spec_default_name' => 'Default Spec',
|
||||
'base_spec_not_choice_tips' => 'Please select a specification',
|
||||
'base_spec_empty_tips' => 'No relevant specifications',
|
||||
'base_spec_type_empty_tips' => 'No relevant specification type',
|
||||
|
|
@ -1727,6 +1722,216 @@ return [
|
|||
'ordercurrency' => [
|
||||
'order_currency_insert_fail_tips' => 'Failed to add order currency',
|
||||
],
|
||||
// 订单
|
||||
'order' => [
|
||||
// 业务类型名称
|
||||
'business_type_name' => 'Order',
|
||||
// 基础
|
||||
'order_user_invalid_tips' => 'Invalid order user',
|
||||
'pay_api_abnormal_tips' => 'Abnormal payment interface',
|
||||
'pay_subject_name' => 'Order payment',
|
||||
'pay_params_error_tips' => 'Payment transfer parameter error',
|
||||
'pay_price_error_tips' => 'The order amount is incorrect, please initiate payment normally',
|
||||
'only_under_line_error_tips' => 'Only offline payment method processing',
|
||||
'order_pay_user_message_msg' => 'The order was paid successfully, with the amount of {:price} yuan',
|
||||
'order_update_fail_tips' => 'Order update failed',
|
||||
'user_under_line_pay_history_desc' => 'User offline payment',
|
||||
'order_status_history_insert_fail_tips' => 'Failed to add order log',
|
||||
'order_status_history_update_fail_tips' => 'Log order update failed',
|
||||
'order_submit_await_confirm_tips' => 'Submitted successfully, please contact the administrator to confirm the payment information as soon as possible',
|
||||
'pay_log_already_pay_tips' => 'The log order has been paid without repeated processing',
|
||||
'pay_price_less_than_order_price_tips' => 'The payment amount is less than the log order amount',
|
||||
'pay_log_error_tips' => 'Payment log order error',
|
||||
'pay_log_value_error_tips' => 'The payment log order associated information is incorrect',
|
||||
'order_data_empty_or_format_error_tips' => 'The order data does not exist or the type is incorrect',
|
||||
'order_take_status_name' => 'To be picked up',
|
||||
'order_under_line_pay_status_name' => 'To be confirmed',
|
||||
'order_under_line_name' => 'Offline payment',
|
||||
'order_item_summary_desc' => '共{:buy_number_count}件 合计:{:currency_symbol}{:total_price}元',
|
||||
'order_goods_sales_count_inc_fail_tips' => 'Failed to increase sales volume of order goods',
|
||||
'order_detail_goods_empty_tips' => 'There is an error in the order. No related products were found',
|
||||
'pay_have_in_hand_tips' => 'In payment',
|
||||
// 取消
|
||||
'order_cancel_message_data' => [
|
||||
'title' => 'Order cancel',
|
||||
'desc' => 'Order canceled successfully',
|
||||
],
|
||||
// 发货/取货
|
||||
'delivery_express_id_message' => 'Incorrect delivery method',
|
||||
'delivery_express_number_message' => 'Incorrect express order number',
|
||||
'take_extraction_code_message' => 'Wrong pickup code',
|
||||
'take_extraction_code_empty_tips' => 'The order pickup code does not exist. Please contact the administrator',
|
||||
'take_extraction_code_error_tips' => 'Incorrect pickup code',
|
||||
'order_delivery_message_data' => [
|
||||
'title' => 'Order shipment',
|
||||
'desc' => 'Order shipped',
|
||||
],
|
||||
// 收货
|
||||
'order_collect_message_data' => [
|
||||
'title' => 'Order receipt',
|
||||
'desc' => 'Order received successfully',
|
||||
],
|
||||
// 确认
|
||||
'order_confirm_message_data' => [
|
||||
'title' => 'Order confirmed',
|
||||
'desc' => 'Order confirmed successfully',
|
||||
],
|
||||
// 删除
|
||||
'order_delete_message_data' => [
|
||||
'title' => 'Order delete',
|
||||
'desc' => 'Order deleted successfully',
|
||||
],
|
||||
// 订单状态进度
|
||||
'order_status_setp_data' => [
|
||||
'add' => 'Take Merchandise',
|
||||
'cancel' => 'Order Cancel',
|
||||
'close' => 'Order Close',
|
||||
'pay' => 'Payment',
|
||||
'delivery' => 'Seller Delivery',
|
||||
'collect' => 'Confirm Receipt',
|
||||
'comments' => 'Comments',
|
||||
],
|
||||
// 订单售后
|
||||
'orderaftersale_create_title_data' => [
|
||||
'default' => 'Refund/Return',
|
||||
'collect' => 'Apply Aftersale',
|
||||
'step' => 'View Progress',
|
||||
'success' => 'View Refund',
|
||||
],
|
||||
],
|
||||
// 软件安装服务
|
||||
'packageinstall' => [
|
||||
'package_no_exist_tips' => 'The software package does not exist, please reinstall',
|
||||
'mini_theme_terminal_not_choice_tips' => 'Applet terminal type not specified',
|
||||
'download_url_empty_tips' => 'The download address is empty',
|
||||
'plugins_type_error_tips' => 'Wrong plug-in type',
|
||||
'operate_key_error_tips' => 'Incorrect operation key',
|
||||
'store_respond_error_tips' => 'The store responded incorrectly',
|
||||
],
|
||||
// 支付日志
|
||||
'paylog' => [
|
||||
'save_user_id_empty_tips' => 'User ID is empty',
|
||||
'save_business_type_empty_tips' => 'Business type is empty',
|
||||
'save_business_ids_format_tips' => 'Wrong business ID data type',
|
||||
'save_total_price_error_tips' => 'Incorrect business amount',
|
||||
'pay_log_insert_fail_tips' => 'Failed to add payment order',
|
||||
'pay_log_id_empty_tips' => 'The log ID is incorrect',
|
||||
'pay_log_update_fail_tips' => 'Log order update failed',
|
||||
],
|
||||
// 支付方式
|
||||
'payment' => [
|
||||
// 表单
|
||||
'form_item_name' => 'Name',
|
||||
'form_item_name_message' => 'Name format 2~30 characters',
|
||||
'form_item_apply_terminal' => 'Applicable Terminal',
|
||||
'form_item_apply_terminal_message' => 'Select at least one applicable terminal',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_is_open_user' => 'Open to Users',
|
||||
// 生成
|
||||
'create_payment_empty_tips' => 'Payment unique mark cannot be empty',
|
||||
'create_respond_empty_tips' => 'Payment synchronization address parameter cannot be empty',
|
||||
'create_notify_empty_tips' => 'The payment asynchronous address parameter cannot be empty',
|
||||
// 基础
|
||||
'dir_no_power_tips' => 'Directory does not have operation permission',
|
||||
'upload_success_tips' => 'Upload succeeded [{:success} payment plug-ins succeeded, {:error} invalid files failed]',
|
||||
'upload_fail_tips' => 'Upload failed. {:error} invalid files, such as function plug-ins, please upload and install them in the [Application Center ->Application Management] module',
|
||||
'payment_not_allow_delete_tips' => 'This payment method cannot be deleted',
|
||||
'file_no_power_tips' => 'No operation permission',
|
||||
'pay_respond_file_no_exist_tips' => 'The payment return entry file does not exist. Please contact the administrator for processing',
|
||||
'pay_notify_file_no_exist_tips' => 'The payment notification entry file does not exist. Please contact the administrator for processing',
|
||||
'no_plugins_data_tips' => 'No plug-in data',
|
||||
],
|
||||
// 支付请求日志
|
||||
'payrequestlog' => [
|
||||
'save_business_type_empty_tips' => 'Business type is empty',
|
||||
'pay_request_log_insert_fail_tips' => 'Failed to add payment request log',
|
||||
'pay_request_log_update_fail_tips' => 'Payment request log update failed',
|
||||
],
|
||||
// 插件管理
|
||||
'pluginsadmin' => [
|
||||
// 表单
|
||||
'form_item_upload_tips' => 'Upload an application installation package in zip compression format',
|
||||
'form_create_error_tips' => 'Please fill in again!',
|
||||
'form_create_first_step_button_name' => 'Next Step',
|
||||
'form_item_plugins' => 'Apply unique tags',
|
||||
'form_item_plugins_tips' => 'Use numbers, lowercase letters and underscores',
|
||||
'form_item_plugins_message' => 'Apply unique tag format of 2~60 characters',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_logo_tips' => '600 * 600px proposal',
|
||||
'form_item_name' => 'Name',
|
||||
'form_item_name_message' => 'Name format: 2~30 characters',
|
||||
'form_item_author' => 'Author',
|
||||
'form_item_author_message' => 'Author format 2~30 characters',
|
||||
'form_item_author_url' => 'Author URI',
|
||||
'form_item_author_url_tips' => 'Start with http://or https://',
|
||||
'form_item_author_url_message' => 'Please fill in the authors homepage',
|
||||
'form_item_version' => 'Version',
|
||||
'form_item_version_tips' => 'Major version, minor version number and revision number, each segment shall not exceed 6 digits, such as 1.0.0',
|
||||
'form_item_version_message' => 'Incorrect version format',
|
||||
'form_item_desc' => 'Describe',
|
||||
'form_item_desc_message' => 'Description content format: 2~60 characters',
|
||||
'form_item_apply_terminal' => 'Applicable Terminal',
|
||||
'form_item_apply_terminal_message' => 'Select at least one applicable terminal',
|
||||
'form_item_apply_version' => 'Applicable system version',
|
||||
'form_item_apply_version_message' => 'Select at least one applicable system version',
|
||||
'form_item_is_home' => 'Whether there is front-end entrance',
|
||||
'form_item_is_home_tips' => 'Front independent page entry',
|
||||
// 保存
|
||||
'app_dir_create_fial_tips' => 'App home directory creation failed',
|
||||
'app_file_create_fail_tips' => 'Application file creation failed',
|
||||
'app_static_dir_create_fail_tips' => 'Application static directory creation failed',
|
||||
'app_static_file_create_fail_tips' => 'Application static file creation failed',
|
||||
'app_admin_dir_create_fail_tips' => 'Application backend directory creation failed',
|
||||
'app_home_dir_create_fail_tips' => 'App front-end directory creation failed',
|
||||
'app_view_dir_create_fail_tips' => 'Failed to create the application view directory',
|
||||
'app_view_file_create_fail_tips' => 'Application view file creation failed',
|
||||
'app_config_no_power_tips' => 'The application profile does not have operation Application profile creation failed',
|
||||
'app_config_create_tail_tips' => 'Application profile creation failed',
|
||||
'app_name_exclude_tips' => 'Cannot use restricted name',
|
||||
// 操作权限
|
||||
'app_dir_no_power_tips' => 'The application directory does not have operation permissions',
|
||||
'app_view_dir_no_power_tips' => 'The application view directory does not have operation permissions',
|
||||
'app_css_dir_no_power_tips' => 'The application css directory does not have operation permissions',
|
||||
'app_js_dir_no_power_tips' => 'The application js directory does not have operation permissions',
|
||||
'app_images_dir_no_power_tips' => 'The application images directory does not have operation permissions',
|
||||
'app_upload_dir_no_power_tips' => 'The application upload directory does not have operation permissions',
|
||||
// 基础
|
||||
'file_no_power_tips' => 'File does not have permission',
|
||||
'dir_no_power_tips' => 'Directory operation permissions',
|
||||
'app_deployment_fail_tips' => 'Application hook deployment failed',
|
||||
'app_no_exist_tips' => 'App does not exist',
|
||||
'please_uninstall_tips' => 'Please uninstall the app first',
|
||||
'app_name_exist_tips' => 'App name already exists',
|
||||
'app_name_appoint_error_tips' => 'The application ID is inconsistent with the specified',
|
||||
'plugins_package_empty_tips' => 'Wrong plug-in package',
|
||||
'plugins_package_error_tips' => 'Please upload and install the payment plug-in in the [Website Management ->Payment Method] module',
|
||||
'plugins_package_invalid_tips' => 'Invalid plug-in package',
|
||||
'plugins_identification_error_tips' => 'Wrong plug-in identification',
|
||||
'plugins_identification_empty_tips' => 'Plug-in ID is empty',
|
||||
'plugins_copy_control_fail_tips' => 'controller',
|
||||
'plugins_copy_view_fail_tips' => 'view',
|
||||
'plugins_new_config_error_tips' => 'The new configuration file is incorrect',
|
||||
'plugins_new_config_update_fail_tips' => 'Failed to update the new app profile',
|
||||
'app_update_no_exist_tips' => 'The application does not exist [{:plugins}]. Please install it first',
|
||||
'sort_save_data_empty_tips' => 'No plug-in data to save',
|
||||
'sort_save_data_error_tips' => 'The plug-in sorting data is incorrect',
|
||||
],
|
||||
// 插件服务
|
||||
'plugins' => [
|
||||
'plugins_identification_empty_tips' => 'Application tag cannot be empty',
|
||||
'data_params_empty_tips' => 'Data parameter cannot be empty',
|
||||
'plugins_invalid_tips' => 'Invalid plug-in',
|
||||
'plugins_not_install_tips' => 'App not installed',
|
||||
'plugins_not_enable_tips' => 'App not enabled',
|
||||
'plugins_call_control_undefined_tips' => 'Application controller is not defined',
|
||||
'plugins_call_action_undefined_tips' => 'Application method is not defined',
|
||||
'plugins_call_config_error_tips' => 'Incorrect application configuration information',
|
||||
'plugins_event_undefined_tips' => 'Application event is not defined',
|
||||
'plugins_event_action_undefined_tips' => 'Application event method is not defined',
|
||||
'plugins_no_data_tips' => 'No plug-in data',
|
||||
'plugins_new_version_update_tips' => '({:plugins} v{:version})The plug-in has a new version to be updated',
|
||||
'plugins_no_update_tips' => 'No plug-ins need to be updated',
|
||||
],
|
||||
],
|
||||
|
||||
// -------------------- 公共 --------------------
|
||||
|
|
|
|||
|
|
@ -175,6 +175,10 @@ return [
|
|||
'refund_success' => '退款成功',
|
||||
'refuse_fail' => '拒绝失败',
|
||||
'refuse_success' => '拒绝成功',
|
||||
'delivery_fail' => '发货失败',
|
||||
'delivery_success' => '发货成功',
|
||||
'collect_fail' => '收货失败',
|
||||
'collect_success' => '收货成功',
|
||||
'quit_success' => '退出成功',
|
||||
'no_data' => '没有相关数据',
|
||||
'no_goods' => '没有相关商品',
|
||||
|
|
@ -204,7 +208,9 @@ return [
|
|||
'config_error_tips' => '配置有误',
|
||||
'data_no_exist_error_tips' => '数据不存在',
|
||||
'data_no_exist_or_delete_error_tips' => '数据不存在或已删除',
|
||||
'order_no_exist_or_delete_error_tips' => '订单不存在或已删除',
|
||||
'goods_no_exist_or_delete_error_tips' => '商品不存在或已删除',
|
||||
'goods_empty_or_format_error_tips' => '商品为空或格式错误',
|
||||
'no_filled_tips' => '未填写',
|
||||
'no_power_tips' => '无权限',
|
||||
'not_open_developer_mode_tips' => '请先开启开发者模式',
|
||||
|
|
@ -217,15 +223,18 @@ return [
|
|||
'goods_id_error_tips' => '商品id有误',
|
||||
'gods_info_incorrect_tips' => '商品信息有误',
|
||||
'gods_info_abnormal_tips' => '商品信息异常',
|
||||
'order_no_error_tips' => '订单号有误',
|
||||
'order_id_error_tips' => '订单id有误',
|
||||
'order_info_incorrect_tips' => '订单信息有误',
|
||||
'order_detail_id_error_tips' => '订单id有误',
|
||||
'order_detail_info_incorrect_tips' => '订单信息有误',
|
||||
'order_detail_id_error_tips' => '订单详情id有误',
|
||||
'order_detail_info_incorrect_tips' => '订单详情信息有误',
|
||||
'data_id_error_tips' => '数据id有误',
|
||||
'back_prev_page_name' => '返回上一页',
|
||||
'back_prev_time_auto_text' => '秒自动返回',
|
||||
'view_config_course_name' => '查看配置教程',
|
||||
'payment_method_error_tips' => '支付方式有误',
|
||||
'payment_method_no_exist_tips' => '支付方式不存在',
|
||||
'payment_method_undefined_tips' => '支付方式未定义',
|
||||
'operate_field_error_tips' => '操作字段有误',
|
||||
'project_copy_fail_tips' => '项目包复制失败',
|
||||
'operate_type_error_tips' => '操作类型有误',
|
||||
|
|
@ -233,6 +242,7 @@ return [
|
|||
'status_not_can_operate_tips' => '状态不可操作',
|
||||
'order_status_not_can_operate_tips' => '订单状态不可操作',
|
||||
'data_status_not_can_operate_tips' => '数据状态不可操作',
|
||||
'plugins_config_error_tips' => '插件配置有误',
|
||||
// 商店
|
||||
'store_bind_account_name' => '绑定ShopXO商店账户',
|
||||
'store_bind_account_tips' => '如已绑定、请到商城后台左侧菜单工具下面清除缓存再尝试访问!',
|
||||
|
|
@ -250,6 +260,7 @@ return [
|
|||
'back_home_title' => '回到首页',
|
||||
'shop_home_title' => '商城首页',
|
||||
'home_title' => '首页',
|
||||
'system_title' => '系统',
|
||||
'operate_title' => '操作',
|
||||
'all_title' => '全部',
|
||||
'select_all_title' => '全选',
|
||||
|
|
@ -568,24 +579,6 @@ return [
|
|||
'uninstall_confirm_tips' => '卸载后不可恢复、确认继续吗?',
|
||||
'collect_confirm_tips' => '确认已收到货物、操作后不可恢复!',
|
||||
'save_close_page_confirm_tips' => '请确认数据是否保存、继续关闭本页吗?',
|
||||
|
||||
// 订单状态进度
|
||||
'order_status_setp_data' => [
|
||||
'add' => '拍下商品',
|
||||
'cancel' => '订单取消',
|
||||
'close' => '订单关闭',
|
||||
'pay' => '付款',
|
||||
'delivery' => '卖家发货',
|
||||
'collect' => '确认收货',
|
||||
'comments' => '评价',
|
||||
],
|
||||
// 订单售后
|
||||
'orderaftersale_create_title_data' => [
|
||||
'default' => '退款/退货',
|
||||
'collect' => '申请售后',
|
||||
'step' => '查看进度',
|
||||
'success' => '查看退款',
|
||||
],
|
||||
// 缓存更新类型列表
|
||||
'admin_cache_type_list' => [
|
||||
'site' => ['name' => '站点缓存', 'desc' => '数据转换后或前台不能正常访问时,可以使用此功能更新所有缓存'],
|
||||
|
|
@ -1181,7 +1174,7 @@ return [
|
|||
'order_address_insert_fail_tips' => '订单地址添加失败',
|
||||
'order_data_error_tips' => '订单数据有误',
|
||||
'order_detail_data_error_tips' => '订单详情数据有误',
|
||||
'order_inventory_dec_type_error_tips' => '订单操作类型有误',
|
||||
'order_inventory_dec_type_error_tips' => '库存扣减操作类型有误',
|
||||
'inventory_dec_not_enable_tips' => '未开启扣除库存',
|
||||
'inventory_dec_not_confirm_tips' => '当前订单状态未操作确认-不扣除库存',
|
||||
'inventory_dec_not_pay_tips' => '当前订单状态未操作支付-不扣除库存',
|
||||
|
|
@ -1503,6 +1496,7 @@ return [
|
|||
'delete_warehouse_goods_fail_tips' => '仓库商品删除失败',
|
||||
'delete_warehouse_goods_spec_fail_tips' => '仓库商品库存删除失败',
|
||||
// 基础
|
||||
'base_goods_spec_default_name' => '默认规格',
|
||||
'base_spec_not_choice_tips' => '请选择规格',
|
||||
'base_spec_empty_tips' => '没有相关规格',
|
||||
'base_spec_type_empty_tips' => '没有相关规格类型',
|
||||
|
|
@ -1733,6 +1727,217 @@ return [
|
|||
'ordercurrency' => [
|
||||
'order_currency_insert_fail_tips' => '订单货币新增失败',
|
||||
],
|
||||
// 订单
|
||||
'order' => [
|
||||
// 业务类型名称
|
||||
'business_type_name' => '订单',
|
||||
// 基础
|
||||
'order_user_invalid_tips' => '订单用户无效',
|
||||
'pay_api_abnormal_tips' => '支付接口异常',
|
||||
'pay_subject_name' => '订单支付',
|
||||
'pay_params_error_tips' => '支付传参有误',
|
||||
'pay_price_error_tips' => '订单金额有误、请正常发起支付',
|
||||
'only_under_line_error_tips' => '仅线下支付方式处理',
|
||||
'order_pay_user_message_msg' => '订单支付成功,金额{:price}元',
|
||||
'order_update_fail_tips' => '订单更新失败',
|
||||
'user_under_line_pay_history_desc' => '用户线下支付',
|
||||
'order_status_history_insert_fail_tips' => '订单日志添加失败',
|
||||
'order_status_history_update_fail_tips' => '日志订单更新失败',
|
||||
'order_submit_await_confirm_tips' => '提交成功、请尽快联系管理员确认支付信息',
|
||||
'pay_log_already_pay_tips' => '日志订单已支付、无需重复处理',
|
||||
'pay_price_less_than_order_price_tips' => '支付金额小于日志订单金额',
|
||||
'pay_log_error_tips' => '支付日志订单有误',
|
||||
'pay_log_value_error_tips' => '支付日志订单关联信息有误',
|
||||
'order_data_empty_or_format_error_tips' => '订单数据不存在或类型有误',
|
||||
'order_take_status_name' => '待取货',
|
||||
'order_under_line_pay_status_name' => '待确认',
|
||||
'order_under_line_name' => '线下支付',
|
||||
'order_item_summary_desc' => '共{:buy_number_count}件 合计:{:currency_symbol}{:total_price}元',
|
||||
'order_goods_sales_count_inc_fail_tips' => '订单商品销量增加失败',
|
||||
'order_detail_goods_empty_tips' => '订单有误,没有找到相关商品',
|
||||
'pay_have_in_hand_tips' => '支付中',
|
||||
// 取消
|
||||
'order_cancel_message_data' => [
|
||||
'title' => '订单取消',
|
||||
'desc' => '订单取消成功',
|
||||
],
|
||||
// 发货/取货
|
||||
'delivery_express_id_message' => '快递方式有误',
|
||||
'delivery_express_number_message' => '快递单号有误',
|
||||
'take_extraction_code_message' => '取货码有误',
|
||||
'take_extraction_code_empty_tips' => '订单取货码不存在、请联系管理员',
|
||||
'take_extraction_code_error_tips' => '取货码不正确',
|
||||
'order_delivery_message_data' => [
|
||||
'title' => '订单发货',
|
||||
'desc' => '订单已发货',
|
||||
],
|
||||
// 收货
|
||||
'order_collect_message_data' => [
|
||||
'title' => '订单收货',
|
||||
'desc' => '订单收货成功',
|
||||
],
|
||||
// 确认
|
||||
'order_confirm_message_data' => [
|
||||
'title' => '订单确认',
|
||||
'desc' => '订单确认成功',
|
||||
],
|
||||
// 删除
|
||||
'order_delete_message_data' => [
|
||||
'title' => '订单删除',
|
||||
'desc' => '订单删除成功',
|
||||
],
|
||||
// 订单状态进度
|
||||
'order_status_setp_data' => [
|
||||
'add' => '拍下商品',
|
||||
'cancel' => '订单取消',
|
||||
'close' => '订单关闭',
|
||||
'pay' => '付款',
|
||||
'delivery' => '卖家发货',
|
||||
'collect' => '确认收货',
|
||||
'comments' => '评价',
|
||||
],
|
||||
// 订单售后
|
||||
'orderaftersale_create_title_data' => [
|
||||
'default' => '退款/退货',
|
||||
'collect' => '申请售后',
|
||||
'step' => '查看进度',
|
||||
'success' => '查看退款',
|
||||
],
|
||||
],
|
||||
// 软件安装服务
|
||||
'packageinstall' => [
|
||||
'package_no_exist_tips' => '软件包不存在、请重新安装',
|
||||
'mini_theme_terminal_not_choice_tips' => '未指定小程序终端类型',
|
||||
'download_url_empty_tips' => '下载地址为空',
|
||||
'plugins_type_error_tips' => '插件类型有误',
|
||||
'operate_key_error_tips' => '操作key有误',
|
||||
'store_respond_error_tips' => '商店响应有误',
|
||||
],
|
||||
// 支付日志
|
||||
'paylog' => [
|
||||
'save_user_id_empty_tips' => '用户id为空',
|
||||
'save_business_type_empty_tips' => '业务类型为空',
|
||||
'save_business_ids_format_tips' => '业务id数据类型有误',
|
||||
'save_total_price_error_tips' => '业务金额有误',
|
||||
'pay_log_insert_fail_tips' => '支付订单添加失败',
|
||||
'pay_log_id_empty_tips' => '日志id有误',
|
||||
'pay_log_update_fail_tips' => '日志订单更新失败',
|
||||
],
|
||||
// 支付方式
|
||||
'payment' => [
|
||||
// 表单
|
||||
'form_item_name' => '名称',
|
||||
'form_item_name_message' => '名称格式2~30个字符',
|
||||
'form_item_apply_terminal' => '适用终端',
|
||||
'form_item_apply_terminal_message' => '至少选择一个适用终端',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_is_open_user' => '用户开放',
|
||||
// 生成
|
||||
'create_payment_empty_tips' => '支付唯一标记不能为空',
|
||||
'create_respond_empty_tips' => '支付同步地址参数不能为空',
|
||||
'create_notify_empty_tips' => '支付异步地址参数不能为空',
|
||||
// 基础
|
||||
'dir_no_power_tips' => '目录没有操作权限',
|
||||
'upload_success_tips' => '上传成功[成功{:success}个支付插件, 失败{:error}个无效文件]',
|
||||
'upload_fail_tips' => '上传失败,{:error}个无效文件、如功能插件请到[ 应用中心->应用管理 ]模块里面去上传安装',
|
||||
'payment_not_allow_delete_tips' => '该支付方式禁止删除',
|
||||
'file_no_power_tips' => '没操作权限',
|
||||
'pay_respond_file_no_exist_tips' => '支付返回入口文件不存在,请联系管理员处理',
|
||||
'pay_notify_file_no_exist_tips' => '支付通知入口文件不存在,请联系管理员处理',
|
||||
'no_plugins_data_tips' => '无插件数据',
|
||||
],
|
||||
// 支付请求日志
|
||||
'payrequestlog' => [
|
||||
'save_business_type_empty_tips' => '业务类型为空',
|
||||
'pay_request_log_insert_fail_tips' => '支付请求日志添加失败',
|
||||
'pay_request_log_update_fail_tips' => '支付请求日志更新失败',
|
||||
],
|
||||
// 插件管理
|
||||
'pluginsadmin' => [
|
||||
// 表单
|
||||
'form_item_upload_tips' => '上传一个zip压缩格式的应用安装包',
|
||||
'form_create_error_tips' => '请重新填写!',
|
||||
'form_create_first_step_button_name' => '下一步',
|
||||
'form_item_plugins' => '应用唯一标记',
|
||||
'form_item_plugins_tips' => '以数字、字母小写、下划线',
|
||||
'form_item_plugins_message' => '应用唯一标记格式2~60个字符',
|
||||
'form_item_logo' => 'LOGO',
|
||||
'form_item_logo_tips' => '建议600*600px',
|
||||
'form_item_logo_message' => '请上传LOGO',
|
||||
'form_item_name' => '名称',
|
||||
'form_item_name_message' => '名称格式2~30个字符',
|
||||
'form_item_author' => '作者',
|
||||
'form_item_author_message' => '作者格式2~30个字符',
|
||||
'form_item_author_url' => '作者主页',
|
||||
'form_item_author_url_tips' => '以http://或https://开头',
|
||||
'form_item_author_url_message' => '请填写作者主页',
|
||||
'form_item_version' => '版本',
|
||||
'form_item_version_tips' => '主版本.次版本号.修订号,每个段不超过6位,如 1.0.0',
|
||||
'form_item_version_message' => '版本格式有误',
|
||||
'form_item_desc' => '描述',
|
||||
'form_item_desc_message' => '描述内容格式2~60个字符',
|
||||
'form_item_apply_terminal' => '适用终端',
|
||||
'form_item_apply_terminal_message' => '至少选择一个适用终端',
|
||||
'form_item_apply_version' => '适用系统版本',
|
||||
'form_item_apply_version_message' => '至少选择一个适用系统版本',
|
||||
'form_item_is_home' => '是否有前端入口',
|
||||
'form_item_is_home_tips' => '前端独立页面入口',
|
||||
// 保存
|
||||
'app_dir_create_fial_tips' => '应用主目录创建失败',
|
||||
'app_file_create_fail_tips' => '应用文件创建失败',
|
||||
'app_static_dir_create_fail_tips' => '应用静态目录创建失败',
|
||||
'app_static_file_create_fail_tips' => '应用静态文件创建失败',
|
||||
'app_admin_dir_create_fail_tips' => '应用后端目录创建失败',
|
||||
'app_home_dir_create_fail_tips' => '应用前端目录创建失败',
|
||||
'app_view_dir_create_fail_tips' => '应用视图目录创建失败',
|
||||
'app_view_file_create_fail_tips' => '应用视图文件创建失败',
|
||||
'app_config_no_power_tips' => '应用配置文件没有操作权限',
|
||||
'app_config_create_tail_tips' => '应用配置文件创建失败',
|
||||
'app_name_exclude_tips' => '不能使用限制的名称',
|
||||
// 操作权限
|
||||
'app_dir_no_power_tips' => '应用目录没有操作权限',
|
||||
'app_view_dir_no_power_tips' => '应用视图目录没有操作权限',
|
||||
'app_css_dir_no_power_tips' => '应用css目录没有操作权限',
|
||||
'app_js_dir_no_power_tips' => '应用js目录没有操作权限',
|
||||
'app_images_dir_no_power_tips' => '应用images目录没有操作权限',
|
||||
'app_upload_dir_no_power_tips' => '应用upload目录没有操作权限',
|
||||
// 基础
|
||||
'file_no_power_tips' => '文件没有权限',
|
||||
'dir_no_power_tips' => '目录操作权限',
|
||||
'app_deployment_fail_tips' => '应用钩子部署失败',
|
||||
'app_no_exist_tips' => '应用不存在',
|
||||
'please_uninstall_tips' => '请先卸载应用',
|
||||
'app_name_exist_tips' => '应用名称已存在',
|
||||
'app_name_appoint_error_tips' => '应用标识与指定不一致',
|
||||
'plugins_package_empty_tips' => '插件包有误',
|
||||
'plugins_package_error_tips' => '支付插件请到[ 网站管理->支付方式 ]模块里面去上传安装',
|
||||
'plugins_package_invalid_tips' => '无效的插件包',
|
||||
'plugins_identification_error_tips' => '插件标识有误',
|
||||
'plugins_identification_empty_tips' => '插件标识为空',
|
||||
'plugins_copy_control_fail_tips' => '控制器',
|
||||
'plugins_copy_view_fail_tips' => '视图',
|
||||
'plugins_new_config_error_tips' => '新配置文件有误',
|
||||
'plugins_new_config_update_fail_tips' => '新应用配置文件更新失败',
|
||||
'app_update_no_exist_tips' => '应用不存在[{:plugins}]、请先安装',
|
||||
'sort_save_data_empty_tips' => '没有可保存的插件数据',
|
||||
'sort_save_data_error_tips' => '插件排序数据有误',
|
||||
],
|
||||
// 插件服务
|
||||
'plugins' => [
|
||||
'plugins_identification_empty_tips' => '应用标记不能为空',
|
||||
'data_params_empty_tips' => '数据参数不能为空',
|
||||
'plugins_invalid_tips' => '无效插件',
|
||||
'plugins_not_install_tips' => '应用未安装',
|
||||
'plugins_not_enable_tips' => '应用未启用',
|
||||
'plugins_call_control_undefined_tips' => '应用控制器未定义',
|
||||
'plugins_call_action_undefined_tips' => '应用方法未定义',
|
||||
'plugins_call_config_error_tips' => '应用配置信息有误',
|
||||
'plugins_event_undefined_tips' => '应用事件未定义',
|
||||
'plugins_event_action_undefined_tips' => '应用事件方法未定义',
|
||||
'plugins_no_data_tips' => '无插件数据',
|
||||
'plugins_new_version_update_tips' => '({:plugins} v{:version})插件有新版本待更新',
|
||||
'plugins_no_update_tips' => '无需要更新的插件',
|
||||
],
|
||||
],
|
||||
|
||||
// -------------------- 公共 --------------------
|
||||
|
|
|
|||
|
|
@ -34,6 +34,19 @@ class GoodsService
|
|||
// 规格转成字符串分割符号
|
||||
public static $goods_spec_to_string_separator = '{|}';
|
||||
|
||||
/**
|
||||
* 商品规格默认名称
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2023-02-09
|
||||
* @desc description
|
||||
*/
|
||||
public static function GoodsSpecDefaultName()
|
||||
{
|
||||
return MyLang('common_service.goods.base_goods_spec_default_name');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取首页楼层数据
|
||||
* @author Devil
|
||||
|
|
|
|||
|
|
@ -850,7 +850,7 @@ class OrderAftersaleService
|
|||
}
|
||||
|
||||
// 订单支付方式校验
|
||||
$pay_log = Db::name('PayLog')->alias('pl')->join('pay_log_value plv', 'pl.id=plv.pay_log_id')->where(['plv.business_id'=>$order['data']['id'], 'pl.business_type'=>OrderService::$business_type_name, 'pl.status'=>1])->field('pl.*')->find();
|
||||
$pay_log = Db::name('PayLog')->alias('pl')->join('pay_log_value plv', 'pl.id=plv.pay_log_id')->where(['plv.business_id'=>$order['data']['id'], 'pl.business_type'=>OrderService::BusinessTypeName(), 'pl.status'=>1])->field('pl.*')->find();
|
||||
|
||||
// 手动处理不校验支付日志
|
||||
if($params['refundment'] != 2)
|
||||
|
|
@ -1164,7 +1164,7 @@ class OrderAftersaleService
|
|||
'payment' => $pay_log['payment'],
|
||||
'payment_name' => $pay_log['payment_name'],
|
||||
'refundment' => $params['refundment'],
|
||||
'business_type' => OrderService::$business_type_name,
|
||||
'business_type' => OrderService::BusinessTypeName(),
|
||||
'return_params' => isset($ret['data']['return_params']) ? $ret['data']['return_params'] : '',
|
||||
];
|
||||
RefundLogService::RefundLogInsert($refund_log);
|
||||
|
|
|
|||
|
|
@ -34,8 +34,18 @@ use app\service\SystemService;
|
|||
*/
|
||||
class OrderService
|
||||
{
|
||||
// 业务类型名称
|
||||
public static $business_type_name = '订单';
|
||||
/**
|
||||
* 业务类型名称
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2023-02-08
|
||||
* @desc description
|
||||
*/
|
||||
public static function BusinessTypeName()
|
||||
{
|
||||
return MyLang('common_service.order.business_type_name');
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单支付
|
||||
|
|
@ -61,12 +71,11 @@ class OrderService
|
|||
{
|
||||
return DataReturn($ret, -1);
|
||||
}
|
||||
|
||||
// 支付订单id
|
||||
$ids = is_array($params['ids']) ? $params['ids'] : explode(',', urldecode($params['ids']));
|
||||
if(empty($ids))
|
||||
{
|
||||
return DataReturn('订单支付id有误', -1);
|
||||
return DataReturn(MyLang('order_id_error_tips'), -1);
|
||||
}
|
||||
|
||||
// 支付基础信息
|
||||
|
|
@ -84,7 +93,7 @@ class OrderService
|
|||
$order = Db::name('Order')->where($where)->find();
|
||||
if(empty($order))
|
||||
{
|
||||
return DataReturn('订单不存在或已被删除', -1);
|
||||
return DataReturn(MyLang('order_no_exist_or_delete_error_tips'), -1);
|
||||
}
|
||||
$operate = self::OrderOperateData($order, 'user');
|
||||
if($operate['is_pay'] != 1)
|
||||
|
|
@ -101,7 +110,7 @@ class OrderService
|
|||
$order['user'] = UserService::UserHandle(UserService::UserInfo('id', $order['user_id']));
|
||||
if(empty($order['user']))
|
||||
{
|
||||
return DataReturn('订单用户无效['.$order_id.']', -1);
|
||||
return DataReturn(MyLang('common_service.order.order_user_invalid_tips').'['.$order_id.']', -1);
|
||||
}
|
||||
|
||||
// 订单数据集合
|
||||
|
|
@ -272,7 +281,7 @@ class OrderService
|
|||
'business_data' => $order_data,
|
||||
'order_id' => $pay_log['data']['id'],
|
||||
'order_no' => $pay_log['data']['log_no'],
|
||||
'name' => '订单支付',
|
||||
'name' => MyLang('common_service.order.pay_subject_name'),
|
||||
'total_price' => $total_price,
|
||||
'client_type' => $client_type,
|
||||
'notify_url' => $notify_url,
|
||||
|
|
@ -373,7 +382,7 @@ class OrderService
|
|||
return $ret;
|
||||
}
|
||||
return DataReturn(
|
||||
empty($ret['msg']) ? '支付接口异常' : $ret['msg'],
|
||||
empty($ret['msg']) ? MyLang('common_service.order.pay_api_abnormal_tips') : $ret['msg'],
|
||||
isset($ret['code']) ? $ret['code'] : -1,
|
||||
isset($ret['data']) ? $ret['data'] : '');
|
||||
}
|
||||
|
|
@ -396,10 +405,10 @@ class OrderService
|
|||
'business_ids' => is_array($business_ids) ? $business_ids : [$business_ids],
|
||||
'business_nos' => is_array($business_nos) ? $business_nos : [$business_nos],
|
||||
'total_price' => isset($params['total_price']) ? PriceNumberFormat($params['total_price']) : 0.00,
|
||||
'subject' => '订单支付',
|
||||
'subject' => MyLang('common_service.order.pay_subject_name'),
|
||||
'payment' => isset($params['payment']) ? $params['payment'] : '',
|
||||
'payment_name' => isset($params['payment_name']) ? $params['payment_name'] : '',
|
||||
'business_type' => self::$business_type_name,
|
||||
'business_type' => self::BusinessTypeName(),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -461,7 +470,7 @@ class OrderService
|
|||
$user = UserService::GetUserViewInfo($order['user_id']);
|
||||
if(empty($user))
|
||||
{
|
||||
return DataReturn('订单用户无效', -1);
|
||||
return DataReturn(MyLang('common_service.order.order_user_invalid_tips'), -1);
|
||||
}
|
||||
|
||||
// 线下支付处理
|
||||
|
|
@ -495,16 +504,16 @@ class OrderService
|
|||
'pay_log_data' => [],
|
||||
'pay' => [
|
||||
'trade_no' => '',
|
||||
'subject' => isset($params['params']['subject']) ? $params['params']['subject'] : '订单支付',
|
||||
'subject' => isset($params['params']['subject']) ? $params['params']['subject'] : MyLang('common_service.order.pay_subject_name'),
|
||||
'buyer_user' => $params['user']['user_name_view'],
|
||||
'pay_price' => $params['order']['total_price'],
|
||||
],
|
||||
];
|
||||
return self::OrderPayHandle($pay_params);
|
||||
}
|
||||
return DataReturn('订单金额有误、请正常发起支付', -1);
|
||||
return DataReturn(MyLang('common_service.order.pay_price_error_tips'), -1);
|
||||
}
|
||||
return DataReturn('支付传参有误', -1);
|
||||
return DataReturn(MyLang('common_service.order.pay_params_error_tips'), -1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -543,16 +552,16 @@ class OrderService
|
|||
'pay_log_data' => $pay_log['data'],
|
||||
'pay' => [
|
||||
'trade_no' => '',
|
||||
'subject' => isset($params['params']['subject']) ? $params['params']['subject'] : '订单支付',
|
||||
'subject' => isset($params['params']['subject']) ? $params['params']['subject'] : MyLang('common_service.order.pay_subject_name'),
|
||||
'buyer_user' => $params['user']['user_name_view'],
|
||||
'pay_price' => $params['order']['total_price'],
|
||||
],
|
||||
];
|
||||
return self::OrderPayHandle($pay_params);
|
||||
}
|
||||
return DataReturn('仅线下支付方式处理', -1);
|
||||
return DataReturn(MyLang('common_service.order.only_under_line_error_tips'), -1);
|
||||
}
|
||||
return DataReturn('支付传参有误', -1);
|
||||
return DataReturn(MyLang('common_service.order.pay_params_error_tips'), -1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -570,7 +579,7 @@ class OrderService
|
|||
$payment_name = defined('PAYMENT_TYPE') ? PAYMENT_TYPE : (isset($params['paymentname']) ? $params['paymentname'] : '');
|
||||
if(empty($payment_name))
|
||||
{
|
||||
return DataReturn('支付方式标记异常', -1);
|
||||
return DataReturn(MyLang('payment_method_error_tips'), -1);
|
||||
}
|
||||
$payment = PaymentService::PaymentData(['where'=>['payment'=>$payment_name]]);
|
||||
if(empty($payment))
|
||||
|
|
@ -585,7 +594,7 @@ class OrderService
|
|||
{
|
||||
if(empty($pay_ret['data']['out_trade_no']))
|
||||
{
|
||||
return DataReturn('单号有误', -1);
|
||||
return DataReturn(MyLang('order_no_error_tips'), -1);
|
||||
}
|
||||
// 获取订单信息
|
||||
$where = ['order_no'=>$pay_ret['data']['out_trade_no'], 'is_delete_time'=>0, 'user_is_delete_time'=>0];
|
||||
|
|
@ -646,22 +655,22 @@ class OrderService
|
|||
];
|
||||
if(!Db::name('Order')->where(['id'=>$order_ids])->update($upd_data))
|
||||
{
|
||||
throw new \Exception('订单更新失败');
|
||||
throw new \Exception(MyLang('common_service.order.order_update_fail_tips'));
|
||||
}
|
||||
|
||||
// 循环处理订单
|
||||
foreach($pay_data['data']['order_list'] as $order)
|
||||
{
|
||||
if(!self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], '用户线下支付', 0, '系统'))
|
||||
if(!self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], MyLang('common_service.order.user_under_line_pay_history_desc'), 0, MyLang('system_title')))
|
||||
{
|
||||
throw new \Exception('订单日志添加失败['.$order['id'].']');
|
||||
throw new \Exception(MyLang('common_service.order.order_status_history_insert_fail_tips').'['.$order['id'].']');
|
||||
}
|
||||
}
|
||||
|
||||
// 更改日志订单状态
|
||||
if(!Db::name('PayLog')->where(['log_no'=>$pay_log_no])->update(['status'=>1]))
|
||||
{
|
||||
throw new \Exception('日志订单更新失败');
|
||||
throw new \Exception(MyLang('common_service.order.order_status_history_update_fail_tips'));
|
||||
}
|
||||
|
||||
// 完成
|
||||
|
|
@ -672,7 +681,7 @@ class OrderService
|
|||
return DataReturn($e->getMessage(), -1);
|
||||
}
|
||||
}
|
||||
return DataReturn('提交成功、请尽快联系管理员确认支付信息', -8888);
|
||||
return DataReturn(MyLang('common_service.order.order_submit_await_confirm_tips'), -8888);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -697,7 +706,7 @@ class OrderService
|
|||
$pay_name = 'payment\\'.PAYMENT_TYPE;
|
||||
if(!class_exists($pay_name))
|
||||
{
|
||||
return DataReturn('支付方式不存在['.PAYMENT_TYPE.']', -1);
|
||||
return DataReturn(MyLang('payment_method_no_exist_tips').'['.PAYMENT_TYPE.']', -1);
|
||||
}
|
||||
$payment_obj = new $pay_name($payment['config']);
|
||||
|
||||
|
|
@ -728,7 +737,7 @@ class OrderService
|
|||
// 支付订单数据
|
||||
if(empty($data['out_trade_no']))
|
||||
{
|
||||
return DataReturn('订单号为空[out_trade_no]', -1);
|
||||
return DataReturn(MyLang('order_no_error_tips').'[out_trade_no]', -1);
|
||||
}
|
||||
$pay_data = self::OrderPayLogValueList($data['out_trade_no']);
|
||||
if($pay_data['code'] == 0)
|
||||
|
|
@ -736,7 +745,7 @@ class OrderService
|
|||
// 订单支付日志已支付则直接返回
|
||||
if($pay_data['data']['pay_log_data']['status'] == 1)
|
||||
{
|
||||
return DataReturn('日志订单已支付、无需重复处理', 0);
|
||||
return DataReturn(MyLang('common_service.order.pay_log_already_pay_tips'), 0);
|
||||
}
|
||||
} else {
|
||||
return $pay_data;
|
||||
|
|
@ -747,7 +756,7 @@ class OrderService
|
|||
{
|
||||
if($data['pay_price'] < $pay_data['data']['pay_log_data']['total_price'])
|
||||
{
|
||||
return DataReturn('支付金额小于日志订单金额['.$data['pay_price'].'<'.$pay_data['data']['pay_log_data']['total_price'].']', -1);
|
||||
return DataReturn(MyLang('common_service.order.pay_price_less_than_order_price_tips').'['.$data['pay_price'].'<'.$pay_data['data']['pay_log_data']['total_price'].']', -1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -797,14 +806,14 @@ class OrderService
|
|||
$pay_log_data = Db::name('PayLog')->where(['log_no'=>$pay_log_no])->find();
|
||||
if(empty($pay_log_data))
|
||||
{
|
||||
return DataReturn('日志订单有误', -1);
|
||||
return DataReturn(MyLang('common_service.order.pay_log_error_tips'), -1);
|
||||
}
|
||||
|
||||
// 获取关联信息
|
||||
$pay_log_value = Db::name('PayLogValue')->where(['pay_log_id'=>$pay_log_data['id']])->column('business_id');
|
||||
if(empty($pay_log_value))
|
||||
{
|
||||
return DataReturn('日志订单关联信息有误', -1);
|
||||
return DataReturn(MyLang('common_service.order.pay_log_value_error_tips'), -1);
|
||||
}
|
||||
|
||||
// 获取订单
|
||||
|
|
@ -835,7 +844,7 @@ class OrderService
|
|||
// 订单信息
|
||||
if(empty($params['order']) || !is_array($params['order']))
|
||||
{
|
||||
return DataReturn('订单数据不存在或类型有误', -1);
|
||||
return DataReturn(MyLang('common_service.order.order_data_empty_or_format_error_tips'), -1);
|
||||
}
|
||||
|
||||
// 订单金额大于0必须存在支付方式和订单支付日志
|
||||
|
|
@ -851,7 +860,7 @@ class OrderService
|
|||
// 日志订单
|
||||
if(empty($params['pay_log_data']))
|
||||
{
|
||||
return DataReturn('日志订单有误', -1);
|
||||
return DataReturn(MyLang('common_service.order.pay_log_error_tips'), -1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -865,151 +874,144 @@ class OrderService
|
|||
}
|
||||
}
|
||||
|
||||
// 开启事务
|
||||
// 启动事务
|
||||
Db::startTrans();
|
||||
|
||||
// 循环处理
|
||||
foreach($params['order'] as $order)
|
||||
{
|
||||
// 订单非待支付则不处理
|
||||
if($order['pay_status'] != 0)
|
||||
// 捕获异常
|
||||
try {
|
||||
|
||||
// 循环处理
|
||||
foreach($params['order'] as $order)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 订单支付成功处理前钩子
|
||||
$hook_name = 'plugins_service_order_pay_handle_begin';
|
||||
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'params' => &$params,
|
||||
'order_id' => $order['id']
|
||||
]));
|
||||
if(isset($ret['code']) && $ret['code'] != 0)
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
// 消息通知
|
||||
$detail = '订单支付成功,金额'.PriceBeautify($order['total_price']).'元';
|
||||
MessageService::MessageAdd($order['user_id'], '订单支付', $detail, self::$business_type_name, $order['id']);
|
||||
|
||||
// 订单更新数据
|
||||
$upd_data = [
|
||||
'pay_status' => 1,
|
||||
'pay_price' => $order['total_price'],
|
||||
'pay_time' => time(),
|
||||
'upd_time' => time(),
|
||||
];
|
||||
|
||||
// 避免先走订单、后走支付的逻辑
|
||||
if($order['status'] <= 1)
|
||||
{
|
||||
$upd_data['status'] = 2;
|
||||
}
|
||||
|
||||
// 订单金额大于0
|
||||
if($order['total_price'] > 0 && !empty($params['payment']))
|
||||
{
|
||||
// 更新支付方式
|
||||
$upd_data['payment_id'] = $params['payment']['id'];
|
||||
|
||||
// 是否线下支付
|
||||
$upd_data['is_under_line'] = in_array($params['payment']['payment'], MyConfig('shopxo.under_line_list')) ? 1 : 0;
|
||||
}
|
||||
|
||||
// 更新订单
|
||||
if(!Db::name('Order')->where(['id'=>$order['id']])->update($upd_data))
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return DataReturn('订单更新失败['.$order['id'].']', -10);
|
||||
}
|
||||
|
||||
// 添加状态日志
|
||||
if(array_key_exists('status', $upd_data))
|
||||
{
|
||||
if(!self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], '支付', 0, '系统'))
|
||||
// 订单非待支付则不处理
|
||||
if($order['pay_status'] != 0)
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return DataReturn('订单日志添加失败['.$order['id'].']', -10);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 订单支付成功处理前钩子
|
||||
$hook_name = 'plugins_service_order_pay_handle_begin';
|
||||
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'params' => &$params,
|
||||
'order_id' => $order['id']
|
||||
]));
|
||||
if(isset($ret['code']) && $ret['code'] != 0)
|
||||
{
|
||||
throw new \Exception($ret['msg']);
|
||||
}
|
||||
|
||||
// 消息通知
|
||||
$detail = MyLang('common_service.order.order_pay_user_message_msg', ['price'=>$order['total_price']]);
|
||||
MessageService::MessageAdd($order['user_id'], MyLang('common_service.order.pay_subject_name'), $detail, self::BusinessTypeName(), $order['id']);
|
||||
|
||||
// 订单更新数据
|
||||
$upd_data = [
|
||||
'pay_status' => 1,
|
||||
'pay_price' => $order['total_price'],
|
||||
'pay_time' => time(),
|
||||
'upd_time' => time(),
|
||||
];
|
||||
|
||||
// 避免先走订单、后走支付的逻辑
|
||||
if($order['status'] <= 1)
|
||||
{
|
||||
$upd_data['status'] = 2;
|
||||
}
|
||||
|
||||
// 订单金额大于0
|
||||
if($order['total_price'] > 0 && !empty($params['payment']))
|
||||
{
|
||||
// 更新支付方式
|
||||
$upd_data['payment_id'] = $params['payment']['id'];
|
||||
|
||||
// 是否线下支付
|
||||
$upd_data['is_under_line'] = in_array($params['payment']['payment'], MyConfig('shopxo.under_line_list')) ? 1 : 0;
|
||||
}
|
||||
|
||||
// 更新订单
|
||||
if(!Db::name('Order')->where(['id'=>$order['id']])->update($upd_data))
|
||||
{
|
||||
throw new \Exception(MyLang('common_service.order.order_update_fail_tips').'['.$order['id'].']');
|
||||
}
|
||||
|
||||
// 添加状态日志
|
||||
if(array_key_exists('status', $upd_data))
|
||||
{
|
||||
if(!self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], MyLang('payment_title'), 0, MyLang('system_title')))
|
||||
{
|
||||
throw new \Exception(MyLang('common_service.order.order_status_history_insert_fail_tips').'['.$order['id'].']');
|
||||
}
|
||||
}
|
||||
|
||||
// 库存扣除
|
||||
$ret = BuyService::OrderInventoryDeduct(['order_id'=>$order['id'], 'opt_type'=>'pay']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
throw new \Exception($ret['msg']);
|
||||
}
|
||||
|
||||
// 订单商品销量增加
|
||||
$ret = self::GoodsSalesCountInc(['order_id'=>$order['id'], 'opt_type'=>'pay']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
throw new \Exception($ret['msg']);
|
||||
}
|
||||
|
||||
// 订单支付成功处理完毕钩子
|
||||
$hook_name = 'plugins_service_order_pay_success_handle_end';
|
||||
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'params' => $params,
|
||||
'order' => $order,
|
||||
'order_id' => $order['id']
|
||||
]));
|
||||
if(isset($ret['code']) && $ret['code'] != 0)
|
||||
{
|
||||
throw new \Exception($ret['msg']);
|
||||
}
|
||||
|
||||
// 虚拟商品自动触发发货操作
|
||||
if($order['order_model'] == 3)
|
||||
{
|
||||
self::OrderDeliveryHandle([
|
||||
'id' => $order['id'],
|
||||
'creator' => 0,
|
||||
'creator_name' => MyLang('system_title'),
|
||||
'user_id' => $order['user_id'],
|
||||
'user_type' => 'admin',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
// 库存扣除
|
||||
$ret = BuyService::OrderInventoryDeduct(['order_id'=>$order['id'], 'opt_type'=>'pay']);
|
||||
if($ret['code'] != 0)
|
||||
// 更新支付日志
|
||||
if($order_total_price > 0 && !empty($params['pay_log_data']) && !empty($params['payment']))
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return $ret;
|
||||
$pay_log_data = [
|
||||
'log_id' => $params['pay_log_data']['id'],
|
||||
'trade_no' => isset($params['pay']['trade_no']) ? $params['pay']['trade_no'] : '',
|
||||
'buyer_user' => isset($params['pay']['buyer_user']) ? $params['pay']['buyer_user'] : '',
|
||||
'pay_price' => isset($params['pay']['pay_price']) ? $params['pay']['pay_price'] : 0,
|
||||
'subject' => isset($params['pay']['subject']) ? $params['pay']['subject'] : MyLang('common_service.order.pay_subject_name'),
|
||||
'payment' => $params['payment']['payment'],
|
||||
'payment_name' => $params['payment']['name'],
|
||||
];
|
||||
$ret = PayLogService::PayLogSuccess($pay_log_data);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
throw new \Exception($ret['msg']);
|
||||
}
|
||||
}
|
||||
|
||||
// 订单商品销量增加
|
||||
$ret = self::GoodsSalesCountInc(['order_id'=>$order['id'], 'opt_type'=>'pay']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
// 订单支付成功处理完毕钩子
|
||||
$hook_name = 'plugins_service_order_pay_success_handle_end';
|
||||
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'params' => $params,
|
||||
'order' => $order,
|
||||
'order_id' => $order['id']
|
||||
]));
|
||||
if(isset($ret['code']) && $ret['code'] != 0)
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
// 虚拟商品自动触发发货操作
|
||||
if($order['order_model'] == 3)
|
||||
{
|
||||
self::OrderDeliveryHandle([
|
||||
'id' => $order['id'],
|
||||
'creator' => 0,
|
||||
'creator_name' => '系统',
|
||||
'user_id' => $order['user_id'],
|
||||
'user_type' => 'admin',
|
||||
]);
|
||||
}
|
||||
// 提交事务
|
||||
Db::commit();
|
||||
return DataReturn(MyLang('pay_success'), 0);
|
||||
} catch(\Exception $e) {
|
||||
Db::rollback();
|
||||
return DataReturn($e->getMessage(), -1);
|
||||
}
|
||||
|
||||
// 更新支付日志
|
||||
if($order_total_price > 0 && !empty($params['pay_log_data']) && !empty($params['payment']))
|
||||
{
|
||||
$pay_log_data = [
|
||||
'log_id' => $params['pay_log_data']['id'],
|
||||
'trade_no' => isset($params['pay']['trade_no']) ? $params['pay']['trade_no'] : '',
|
||||
'buyer_user' => isset($params['pay']['buyer_user']) ? $params['pay']['buyer_user'] : '',
|
||||
'pay_price' => isset($params['pay']['pay_price']) ? $params['pay']['pay_price'] : 0,
|
||||
'subject' => isset($params['pay']['subject']) ? $params['pay']['subject'] : '订单支付',
|
||||
'payment' => $params['payment']['payment'],
|
||||
'payment_name' => $params['payment']['name'],
|
||||
];
|
||||
$ret = PayLogService::PayLogSuccess($pay_log_data);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
||||
// 提交事务
|
||||
Db::commit();
|
||||
return DataReturn(MyLang('pay_success'), 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1237,6 +1239,9 @@ class OrderService
|
|||
$order_pay_status = MyLang('common_order_pay_status');
|
||||
$common_platform_type = MyLang('common_platform_type');
|
||||
$common_order_type_list = MyLang('common_order_type_list');
|
||||
$order_take_status_name = MyLang('common_service.order.order_take_status_name');
|
||||
$order_under_line_pay_status_name = MyLang('common_service.order.order_under_line_pay_status_name');
|
||||
$order_under_line_name = MyLang('common_service.order.order_under_line_name');
|
||||
|
||||
// 仓库信息
|
||||
if(in_array('warehouse_id', $keys))
|
||||
|
|
@ -1338,16 +1343,16 @@ class OrderService
|
|||
}
|
||||
|
||||
// 订单模式
|
||||
$v['order_model_name'] = isset($common_order_type_list[$v['order_model']]) ? $common_order_type_list[$v['order_model']]['name'] : '未知';
|
||||
$v['order_model_name'] = isset($common_order_type_list[$v['order_model']]) ? $common_order_type_list[$v['order_model']]['name'] : '';
|
||||
|
||||
// 客户端
|
||||
$v['client_type_name'] = isset($common_platform_type[$v['client_type']]) ? $common_platform_type[$v['client_type']]['name'] : '';
|
||||
|
||||
// 状态
|
||||
$v['status_name'] = ($v['order_model'] == 2 && $v['status'] == 2) ? '待取货' : (array_key_exists($v['status'], $order_status_list) ? $order_status_list[$v['status']]['name'] : '未知');
|
||||
$v['status_name'] = ($v['order_model'] == 2 && $v['status'] == 2) ? $order_take_status_name : (array_key_exists($v['status'], $order_status_list) ? $order_status_list[$v['status']]['name'] : '');
|
||||
|
||||
// 支付状态
|
||||
$v['pay_status_name'] = (in_array($v['status'], [2,3,4]) && $v['pay_status'] == 0) ? '待确认' : $order_pay_status[$v['pay_status']]['name'];
|
||||
$v['pay_status_name'] = (in_array($v['status'], [2,3,4]) && $v['pay_status'] == 0) ? $order_under_line_pay_status_name : $order_pay_status[$v['pay_status']]['name'];
|
||||
|
||||
// 快递公司
|
||||
$express = (!empty($express_list) && is_array($express_list) && array_key_exists($v['express_id'], $express_list)) ? $express_list[$v['express_id']] : null;
|
||||
|
|
@ -1366,7 +1371,7 @@ class OrderService
|
|||
$v['payment_name'] = (!empty($payment_list) && is_array($payment_list) && array_key_exists($v['id'], $payment_list)) ? $payment_list[$v['id']] : null;
|
||||
|
||||
// 线下支付 icon 名称
|
||||
$v['is_under_line_text'] = ($v['is_under_line'] == 1) ? '线下支付' : null;
|
||||
$v['is_under_line_text'] = ($v['is_under_line'] == 1) ? $order_under_line_name : null;
|
||||
|
||||
// 是否可发起售后
|
||||
$v['is_can_launch_aftersale'] = OrderAftersaleService::OrderIsCanLaunchAftersale($v['collect_time']);
|
||||
|
|
@ -1418,7 +1423,7 @@ class OrderService
|
|||
{
|
||||
$v['items'] = $detail[$v['id']];
|
||||
$v['items_count'] = count($v['items']);
|
||||
$v['describe'] = '共'.$v['buy_number_count'].'件 合计:'.$v['currency_data']['currency_symbol'].$v['total_price'].'元';
|
||||
$v['describe'] = MyLang('common_service.order.order_item_summary_desc', ['buy_number_count'=>$v['buy_number_count'], 'currency_symbol'=>$v['currency_data']['currency_symbol'], 'total_price'=>$v['total_price']]);
|
||||
}
|
||||
|
||||
// 管理员读取
|
||||
|
|
@ -1458,7 +1463,6 @@ class OrderService
|
|||
'data' => &$data,
|
||||
]);
|
||||
}
|
||||
|
||||
return DataReturn('success', 0, $data);
|
||||
}
|
||||
|
||||
|
|
@ -1745,7 +1749,7 @@ class OrderService
|
|||
$text = null;
|
||||
if(!in_array($order_status, [0,1,5,6]))
|
||||
{
|
||||
$lang = MyLang('orderaftersale_create_title_data');
|
||||
$lang = MyLang('common_service.order.orderaftersale_create_title_data');
|
||||
if(empty($orderaftersale))
|
||||
{
|
||||
$text = $lang['default'];
|
||||
|
|
@ -1878,12 +1882,13 @@ class OrderService
|
|||
}
|
||||
|
||||
// 用户消息
|
||||
MessageService::MessageAdd($order['user_id'], '订单取消', '订单取消成功', self::$business_type_name, $order['id']);
|
||||
$lang = MyLang('common_service.order.order_cancel_message_data');
|
||||
MessageService::MessageAdd($order['user_id'], $lang['title'], $lang['desc'], self::BusinessTypeName(), $order['id']);
|
||||
|
||||
// 订单状态日志
|
||||
$creator = isset($params['creator']) ? intval($params['creator']) : 0;
|
||||
$creator_name = isset($params['creator_name']) ? htmlentities($params['creator_name']) : '';
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], '取消', $creator, $creator_name);
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], MyLang('cancel_title'), $creator, $creator_name);
|
||||
|
||||
// 提交事务
|
||||
Db::commit();
|
||||
|
|
@ -1958,7 +1963,7 @@ class OrderService
|
|||
$order = Db::name('Order')->where($where)->field('id,status,pay_status,user_id,order_model')->find();
|
||||
if(empty($order))
|
||||
{
|
||||
throw new \Exception('资源不存在或已被删除');
|
||||
throw new \Exception(MyLang('order_no_exist_or_delete_error_tips'));
|
||||
}
|
||||
$operate = self::OrderOperateData($order, $user_type);
|
||||
if($operate['is_delivery'] != 1)
|
||||
|
|
@ -1976,12 +1981,12 @@ class OrderService
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'express_id',
|
||||
'error_msg' => '快递id有误',
|
||||
'error_msg' => MyLang('common_service.order.delivery_express_id_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'express_number',
|
||||
'error_msg' => '快递单号有误',
|
||||
'error_msg' => MyLang('common_service.order.delivery_express_number_message'),
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -1997,7 +2002,7 @@ class OrderService
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'extraction_code',
|
||||
'error_msg' => '取货码有误',
|
||||
'error_msg' => MyLang('common_service.order.take_extraction_code_message'),
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -2010,11 +2015,11 @@ class OrderService
|
|||
$extraction_code = Db::name('OrderExtractionCode')->where(['order_id'=>$order['id']])->value('code');
|
||||
if(empty($extraction_code))
|
||||
{
|
||||
throw new \Exception('订单取货码不存在、请联系管理员');
|
||||
throw new \Exception(MyLang('common_service.order.take_extraction_code_empty_tips'));
|
||||
}
|
||||
if($extraction_code != $params['extraction_code'])
|
||||
{
|
||||
throw new \Exception('取货码不正确');
|
||||
throw new \Exception(MyLang('common_service.order.take_extraction_code_error_tips'));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -2028,7 +2033,7 @@ class OrderService
|
|||
];
|
||||
if(!Db::name('Order')->where($where)->update($upd_data))
|
||||
{
|
||||
throw new \Exception('发货失败');
|
||||
throw new \Exception(MyLang('delivery_fail'));
|
||||
}
|
||||
|
||||
// 库存扣除
|
||||
|
|
@ -2039,15 +2044,16 @@ class OrderService
|
|||
}
|
||||
|
||||
// 用户消息
|
||||
MessageService::MessageAdd($order['user_id'], '订单发货', '订单已发货', self::$business_type_name, $order['id']);
|
||||
$lang = MyLang('common_service.order.order_delivery_message_data');
|
||||
MessageService::MessageAdd($order['user_id'], $lang['title'], $lang['desc'], self::BusinessTypeName(), $order['id']);
|
||||
|
||||
// 订单状态日志
|
||||
$creator = isset($params['creator']) ? intval($params['creator']) : 0;
|
||||
$creator_name = isset($params['creator_name']) ? htmlentities($params['creator_name']) : '';
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], '收货', $creator, $creator_name);
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], MyLang('delivery_title'), $creator, $creator_name);
|
||||
|
||||
// 完成
|
||||
return DataReturn('发货成功', 0);
|
||||
return DataReturn(MyLang('delivery_success'), 0);
|
||||
} catch(\Exception $e) {
|
||||
return DataReturn($e->getMessage(), -1);
|
||||
}
|
||||
|
|
@ -2149,16 +2155,17 @@ class OrderService
|
|||
}
|
||||
|
||||
// 用户消息
|
||||
MessageService::MessageAdd($order['user_id'], '订单收货', '订单收货成功', self::$business_type_name, $order['id']);
|
||||
$lang = MyLang('common_service.order.order_collect_message_data');
|
||||
MessageService::MessageAdd($order['user_id'], $lang['title'], $lang['desc'], self::BusinessTypeName(), $order['id']);
|
||||
|
||||
// 订单状态日志
|
||||
$creator = isset($params['creator']) ? intval($params['creator']) : 0;
|
||||
$creator_name = isset($params['creator_name']) ? htmlentities($params['creator_name']) : '';
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], '收货', $creator, $creator_name);
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], MyLang('collect_title'), $creator, $creator_name);
|
||||
|
||||
return DataReturn('收货成功', 0);
|
||||
return DataReturn(MyLang('collect_success'), 0);
|
||||
}
|
||||
return DataReturn('收货失败', -1);
|
||||
return DataReturn(MyLang('collect_fail'), -1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -2208,42 +2215,45 @@ class OrderService
|
|||
return DataReturn(MyLang('status_not_can_operate_tips').'['.$status_text.']', -1);
|
||||
}
|
||||
|
||||
// 开启事务
|
||||
// 启动事务
|
||||
Db::startTrans();
|
||||
|
||||
// 更新订单状态
|
||||
$upd_data = [
|
||||
'status' => 1,
|
||||
'confirm_time' => time(),
|
||||
'upd_time' => time(),
|
||||
];
|
||||
if(Db::name('Order')->where($where)->update($upd_data))
|
||||
{
|
||||
// 捕获异常
|
||||
try {
|
||||
// 更新订单状态
|
||||
$upd_data = [
|
||||
'status' => 1,
|
||||
'confirm_time' => time(),
|
||||
'upd_time' => time(),
|
||||
];
|
||||
if(!Db::name('Order')->where($where)->update($upd_data))
|
||||
{
|
||||
throw new \Exception(MyLang('confirm_fail'));
|
||||
}
|
||||
|
||||
// 库存扣除
|
||||
$ret = BuyService::OrderInventoryDeduct(['order_id'=>$params['id'], 'opt_type'=>'confirm']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return DataReturn($ret['msg'], -10);
|
||||
throw new \Exception($ret['msg']);
|
||||
}
|
||||
|
||||
// 用户消息
|
||||
MessageService::MessageAdd($order['user_id'], '订单确认', '订单确认成功', self::$business_type_name, $order['id']);
|
||||
$lang = MyLang('common_service.order.order_confirm_message_data');
|
||||
MessageService::MessageAdd($order['user_id'], $lang['title'], $lang['desc'], self::BusinessTypeName(), $order['id']);
|
||||
|
||||
// 订单状态日志
|
||||
$creator = isset($params['creator']) ? intval($params['creator']) : 0;
|
||||
$creator_name = isset($params['creator_name']) ? htmlentities($params['creator_name']) : '';
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], '确认', $creator, $creator_name);
|
||||
self::OrderHistoryAdd($order['id'], $upd_data['status'], $order['status'], MyLang('confirm_title'), $creator, $creator_name);
|
||||
|
||||
// 事务提交
|
||||
// 完成
|
||||
Db::commit();
|
||||
return DataReturn(MyLang('confirm_success'), 0);
|
||||
} catch(\Exception $e) {
|
||||
Db::rollback();
|
||||
return DataReturn($e->getMessage(), -1);
|
||||
}
|
||||
|
||||
// 事务回滚
|
||||
Db::rollback();
|
||||
return DataReturn(MyLang('confirm_fail'), -1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -2329,7 +2339,8 @@ class OrderService
|
|||
}
|
||||
|
||||
// 用户消息
|
||||
MessageService::MessageAdd($order['user_id'], '订单删除', '订单删除成功', self::$business_type_name, $order['id']);
|
||||
$lang = MyLang('common_service.order.order_delete_message_data');
|
||||
MessageService::MessageAdd($order['user_id'], $lang['title'], $lang['desc'], self::BusinessTypeName(), $order['id']);
|
||||
|
||||
// 订单删除成功钩子
|
||||
$hook_name = 'plugins_service_order_delete_success';
|
||||
|
|
@ -2519,12 +2530,12 @@ class OrderService
|
|||
{
|
||||
if(Db::name('Goods')->where(['id'=>$v['goods_id']])->inc('sales_count', $v['buy_number'])->update() === false)
|
||||
{
|
||||
return DataReturn('订单商品销量增加失败['.$v['title'].']', -10);
|
||||
return DataReturn(MyLang('common_service.order.order_goods_sales_count_inc_fail_tips').'['.$v['title'].']', -10);
|
||||
}
|
||||
}
|
||||
return DataReturn(MyLang('operate_success'), 0);
|
||||
} else {
|
||||
return DataReturn('订单有误,没有找到相关商品', -100);
|
||||
return DataReturn(MyLang('common_service.order.order_detail_goods_empty_tips'), -100);
|
||||
}
|
||||
}
|
||||
return DataReturn(MyLang('handle_noneed'), 0);
|
||||
|
|
@ -2546,7 +2557,7 @@ class OrderService
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'order_no',
|
||||
'error_msg' => '订单号有误',
|
||||
'error_msg' => MyLang('order_no_error_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
|
|
@ -2565,7 +2576,7 @@ class OrderService
|
|||
$pay_log = Db::name('PayLog')->where($where)->field('id,status')->find();
|
||||
if(empty($pay_log))
|
||||
{
|
||||
return DataReturn('支付订单不存在', -400, ['url'=>SystemService::HomeUrl()]);
|
||||
return DataReturn(MyLang('common_service.order.pay_log_error_tips'), -400, ['url'=>SystemService::HomeUrl()]);
|
||||
}
|
||||
if($pay_log['status'] == 1)
|
||||
{
|
||||
|
|
@ -2578,7 +2589,7 @@ class OrderService
|
|||
}
|
||||
return DataReturn(MyLang('pay_success'), 0, ['url'=>$url]);
|
||||
}
|
||||
return DataReturn('支付中', -300);
|
||||
return DataReturn(MyLang('common_service.order.pay_have_in_hand_tips'), -300);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -2609,7 +2620,6 @@ class OrderService
|
|||
$order_ids = implode(',', $ids);
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
'payment_id' => $payment_id,
|
||||
'order_ids' => $order_ids,
|
||||
|
|
@ -2630,7 +2640,7 @@ class OrderService
|
|||
$result = [];
|
||||
if(!empty($order))
|
||||
{
|
||||
$lang = MyLang('order_status_setp_data');
|
||||
$lang = MyLang('common_service.order.order_status_setp_data');
|
||||
$result[] = [
|
||||
'title' => $lang['add'],
|
||||
'time' => $order['add_time'],
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ namespace app\service;
|
|||
|
||||
use think\facade\Db;
|
||||
use app\service\WarehouseService;
|
||||
use app\service\GoodsService;
|
||||
|
||||
/**
|
||||
* 订单拆分服务层
|
||||
|
|
@ -36,15 +37,10 @@ class OrderSplitService
|
|||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'goods',
|
||||
'error_msg' => '商品为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'is_array',
|
||||
'key_name' => 'goods',
|
||||
'error_msg' => '商品有误',
|
||||
'error_msg' => MyLang('goods_empty_or_format_error_tips'),
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -254,7 +250,7 @@ class OrderSplitService
|
|||
foreach($params['goods'] as $v)
|
||||
{
|
||||
// 不存在规格则使用默认
|
||||
$spec = empty($v['spec']) ? [['type' => '默认规格','value' => 'default']] : $v['spec'];
|
||||
$spec = empty($v['spec']) ? [['type' => GoodsService::GoodsSpecDefaultName(),'value' => 'default']] : $v['spec'];
|
||||
|
||||
// 获取商品库存
|
||||
$where = [
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ class PackageInstallService
|
|||
$res = self::DirFileData($params['key']);
|
||||
if(!file_exists($res['url']))
|
||||
{
|
||||
return DataReturn('软件包不存在、请重新安装', -1);
|
||||
return DataReturn(MyLang('common_service.packageinstall.package_no_exist_tips'), -1);
|
||||
}
|
||||
|
||||
// 根据插件类型调用安装程序
|
||||
|
|
@ -172,7 +172,7 @@ class PackageInstallService
|
|||
case 'minitheme' :
|
||||
if(empty($params['terminal']))
|
||||
{
|
||||
return DataReturn('未指定小程序终端类型', -1);
|
||||
return DataReturn(MyLang('common_service.packageinstall.mini_theme_terminal_not_choice_tips'), -1);
|
||||
}
|
||||
$params['application_name'] = $params['terminal'];
|
||||
$ret = AppMiniService::ThemeUploadHandle($res['url'], $params);
|
||||
|
|
@ -185,7 +185,7 @@ class PackageInstallService
|
|||
|
||||
// 默认
|
||||
default :
|
||||
$ret = DataReturn('插件操作类型未定义['.$params['type'].']', -1);
|
||||
$ret = DataReturn(MyLang('operate_type_error_tips').'['.$params['type'].']', -1);
|
||||
}
|
||||
|
||||
// 移除缓存
|
||||
|
|
@ -212,7 +212,7 @@ class PackageInstallService
|
|||
$url = MyCache($key);
|
||||
if(empty($url))
|
||||
{
|
||||
return DataReturn('下载地址为空', -1);
|
||||
return DataReturn(MyLang('common_service.packageinstall.download_url_empty_tips'), -1);
|
||||
}
|
||||
|
||||
// 获取目录文件
|
||||
|
|
@ -224,9 +224,9 @@ class PackageInstallService
|
|||
// 下载保存
|
||||
if(@file_put_contents($res['url'], RequestGet($url, 300000)) !== false)
|
||||
{
|
||||
return DataReturn('success', 0, $key);
|
||||
return DataReturn(MyLang('download_success'), 0, $key);
|
||||
}
|
||||
return DataReturn('插件下载失败', -1);
|
||||
return DataReturn(MyLang('download_fail'), -1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -312,7 +312,7 @@ class PackageInstallService
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'type',
|
||||
'error_msg' => '插件类型有误',
|
||||
'error_msg' => MyLang('common_service.packageinstall.plugins_type_error_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'in',
|
||||
|
|
@ -330,7 +330,7 @@ class PackageInstallService
|
|||
// 下载和安装需要校验key
|
||||
if(in_array($params['opt'], ['download', 'install']) && empty($params['key']))
|
||||
{
|
||||
return DataReturn('操作key有误', -1);
|
||||
return DataReturn(MyLang('common_service.packageinstall.operate_key_error_tips'), -1);
|
||||
}
|
||||
|
||||
return DataReturn('success', 0);
|
||||
|
|
@ -354,14 +354,14 @@ class PackageInstallService
|
|||
{
|
||||
return $ret;
|
||||
}
|
||||
$result = json_decode($ret['data'], true);
|
||||
if(empty($result))
|
||||
$data = json_decode($ret['data'], true);
|
||||
if(empty($data))
|
||||
{
|
||||
return DataReturn('商店返回数据有误'.(empty($ret['data']) ? '' : '('.$ret['data'].')'), -1);
|
||||
return DataReturn(MyLang('common_service.packageinstall.store_respond_error_tips').(empty($ret['data']) ? '' : '('.$ret['data'].')'), -1);
|
||||
}
|
||||
|
||||
// 请求成功
|
||||
return $result;
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -39,30 +39,25 @@ class PayLogService
|
|||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'business_ids',
|
||||
'error_msg' => '业务id为空',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'is_array',
|
||||
'key_name' => 'business_ids',
|
||||
'error_msg' => '业务id数据类型有误',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'user_id',
|
||||
'error_msg' => '用户id为空',
|
||||
'error_msg' => MyLang('common_service.paylog.save_user_id_empty_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'business_type',
|
||||
'error_msg' => '业务类型为空',
|
||||
'error_msg' => MyLang('common_service.paylog.save_business_type_empty_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'is_array',
|
||||
'key_name' => 'business_ids',
|
||||
'error_msg' => MyLang('common_service.paylog.save_business_ids_format_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'isset',
|
||||
'key_name' => 'total_price',
|
||||
'error_msg' => '业务金额为空',
|
||||
'error_msg' => MyLang('common_service.paylog.save_total_price_error_tips'),
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -71,12 +66,6 @@ class PayLogService
|
|||
return DataReturn($ret, -1);
|
||||
}
|
||||
|
||||
// 业务id
|
||||
if(empty($params['business_ids']))
|
||||
{
|
||||
return DataReturn('业务id为空', -1);
|
||||
}
|
||||
|
||||
// 日志主数据
|
||||
$data = [
|
||||
'log_no' => date('YmdHis').GetNumberCode(6),
|
||||
|
|
@ -125,7 +114,7 @@ class PayLogService
|
|||
return DataReturn(MyLang('insert_success'), 0, $data);
|
||||
}
|
||||
}
|
||||
return DataReturn('支付订单添加失败', -100);
|
||||
return DataReturn(MyLang('common_service.paylog.pay_log_insert_fail_tips'), -100);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -147,7 +136,7 @@ class PayLogService
|
|||
// 参数
|
||||
if(empty($params['log_id']))
|
||||
{
|
||||
return DataReturn('日志id有误', -100);
|
||||
return DataReturn(MyLang('common_service.paylog.pay_log_id_empty_tips'), -1);
|
||||
}
|
||||
|
||||
// 更新数据
|
||||
|
|
@ -163,9 +152,9 @@ class PayLogService
|
|||
];
|
||||
if(Db::name('PayLog')->where(['id'=>intval($params['log_id']), 'status'=>0])->update($data))
|
||||
{
|
||||
return DataReturn('日志订单更新成功', 0);
|
||||
return DataReturn(MyLang('update_success'), 0);
|
||||
}
|
||||
return DataReturn('日志订单更新失败', -100);
|
||||
return DataReturn(MyLang('common_service.paylog.pay_log_update_fail_tips'), -100);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -267,7 +256,6 @@ class PayLogService
|
|||
{
|
||||
return DataReturn(MyLang('close_success'), 0);
|
||||
}
|
||||
|
||||
return DataReturn(MyLang('close_fail'), -100);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class PayRequestLogService
|
|||
// 请求参数
|
||||
if(empty($business_type))
|
||||
{
|
||||
return DataReturn('业务类型为空', -1);
|
||||
return DataReturn(MyLang('common_service.payrequestlog.save_business_type_empty_tips'), -1);
|
||||
}
|
||||
|
||||
// 行为驱动
|
||||
|
|
@ -69,9 +69,9 @@ class PayRequestLogService
|
|||
$log_id = Db::name('PayRequestLog')->insertGetId($data);
|
||||
if($log_id > 0)
|
||||
{
|
||||
return DataReturn('支付请求日志添加成功', 0, $log_id);
|
||||
return DataReturn(MyLang('insert_success'), 0, $log_id);
|
||||
}
|
||||
return DataReturn('支付请求日志添加失败', -100);
|
||||
return DataReturn(MyLang('common_service.payrequestlog.pay_request_log_insert_fail_tips'), -100);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -95,9 +95,9 @@ class PayRequestLogService
|
|||
];
|
||||
if(Db::name('PayRequestLog')->where(['id'=>$log_id])->update($data))
|
||||
{
|
||||
return DataReturn('支付请求日志更新成功', 0, $log_id);
|
||||
return DataReturn(MyLang('update_success'), 0, $log_id);
|
||||
}
|
||||
return DataReturn('支付请求日志更新失败', -100);
|
||||
return DataReturn(MyLang('common_service.payrequestlog.pay_request_log_update_fail_tips'), -100);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -389,12 +389,12 @@ class PaymentService
|
|||
'checked_type' => 'length',
|
||||
'key_name' => 'name',
|
||||
'checked_data' => '2,60',
|
||||
'error_msg' => '名称长度 2~60 个字符',
|
||||
'error_msg' => MyLang('common_service.payment.form_item_name_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'apply_terminal',
|
||||
'error_msg' => '至少选择一个适用终端',
|
||||
'error_msg' => MyLang('common_service.payment.form_item_apply_terminal_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'length',
|
||||
|
|
@ -508,13 +508,13 @@ class PaymentService
|
|||
// 入口文件目录
|
||||
if(!is_writable(self::$dir_root_path))
|
||||
{
|
||||
return DataReturn('目录没有操作权限'.'['.self::$dir_root_path.']', -3);
|
||||
return DataReturn(MyLang('common_service.payment.dir_no_power_tips').'['.self::$dir_root_path.']', -3);
|
||||
}
|
||||
|
||||
// 插件权限
|
||||
if(!is_writable(self::$payment_dir))
|
||||
{
|
||||
return DataReturn('目录没有操作权限'.'['.self::$payment_dir.']', -4);
|
||||
return DataReturn(MyLang('common_service.payment.dir_no_power_tips').'['.self::$payment_dir.']', -4);
|
||||
}
|
||||
|
||||
return DataReturn(MyLang('check_success'), 0);
|
||||
|
|
@ -640,9 +640,9 @@ class PaymentService
|
|||
|
||||
if($success > 0)
|
||||
{
|
||||
return DataReturn('上传成功[成功'.$success.'个支付插件, 失败'.$error.'个无效文件]', 0);
|
||||
return DataReturn(MyLang('common_service.payment.upload_success_tips', ['success'=>$success, 'error'=>$error]), 0);
|
||||
}
|
||||
return DataReturn('上传失败,'.$error.'个无效文件、如功能插件请到[ 应用中心->应用管理 ]模块里面去上传安装', -10);
|
||||
return DataReturn(MyLang('common_service.payment.upload_fail_tips', ['error'=>$error]), -10);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -696,7 +696,7 @@ class PaymentService
|
|||
return DataReturn(MyLang('install_fail'), -100);
|
||||
}
|
||||
} else {
|
||||
return DataReturn('插件配置有误', -10);
|
||||
return DataReturn(MyLang('plugins_config_error_tips'), -10);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -731,7 +731,7 @@ class PaymentService
|
|||
$payment = $params['id'];
|
||||
if(in_array($payment, self::$cannot_deleted_list))
|
||||
{
|
||||
return DataReturn('该支付方式禁止删除', -10);
|
||||
return DataReturn(MyLang('common_service.payment.payment_not_allow_delete_tips'), -10);
|
||||
}
|
||||
|
||||
// 是否存在
|
||||
|
|
@ -744,7 +744,7 @@ class PaymentService
|
|||
// 权限
|
||||
if(!is_writable($file))
|
||||
{
|
||||
return DataReturn('没操作权限['.$file.']', -3);
|
||||
return DataReturn(MyLang('common_service.payment.file_no_power_tips').'['.$file.']', -3);
|
||||
}
|
||||
|
||||
// 删除
|
||||
|
|
@ -814,17 +814,17 @@ class PaymentService
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'payment',
|
||||
'error_msg' => '支付唯一标记不能为空',
|
||||
'error_msg' => MyLang('common_service.payment.create_payment_empty_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'respond',
|
||||
'error_msg' => '支付同步地址参数不能为空',
|
||||
'error_msg' => MyLang('common_service.payment.create_respond_empty_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'notify',
|
||||
'error_msg' => '支付异步地址参数不能为空',
|
||||
'error_msg' => MyLang('common_service.payment.create_notify_empty_tips'),
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -840,11 +840,6 @@ class PaymentService
|
|||
return $ret;
|
||||
}
|
||||
|
||||
if(empty($params['payment']))
|
||||
{
|
||||
return '支付唯一标记不能为空';
|
||||
}
|
||||
|
||||
// 获取地址所属模块名称、地址标记去除模块名称
|
||||
$module_notify = 'index';
|
||||
$module_respond = 'index';
|
||||
|
|
@ -1052,9 +1047,10 @@ php;
|
|||
{
|
||||
return $ret;
|
||||
}
|
||||
// 标识是否为空
|
||||
if(empty($params['payment']))
|
||||
{
|
||||
return '支付唯一标记不能为空';
|
||||
return DataReturn(MyLang('common_service.payment.create_payment_empty_tips'), -1);
|
||||
}
|
||||
|
||||
// 处理业务
|
||||
|
|
@ -1122,7 +1118,7 @@ php;
|
|||
// 同步返回文件
|
||||
if(!file_exists(self::$dir_root_path.$file['respond']))
|
||||
{
|
||||
return DataReturn('支付返回入口文件不存在,请联系管理员处理', -10, $result);
|
||||
return DataReturn(MyLang('common_service.payment.pay_respond_file_no_exist_tips'), -10, $result);
|
||||
}
|
||||
|
||||
// 线下支付不生成异步入口文件
|
||||
|
|
@ -1130,7 +1126,7 @@ php;
|
|||
{
|
||||
if(!file_exists(self::$dir_root_path.$file['notify']))
|
||||
{
|
||||
return DataReturn('支付通知入口文件不存在,请联系管理员处理', -11, $result);
|
||||
return DataReturn(MyLang('common_service.payment.pay_notify_file_no_exist_tips'), -11, $result);
|
||||
}
|
||||
}
|
||||
return DataReturn(MyLang('check_success'), 0, $result);
|
||||
|
|
@ -1178,8 +1174,7 @@ php;
|
|||
return $res;
|
||||
}
|
||||
}
|
||||
|
||||
return DataReturn('无插件数据', 0);
|
||||
return DataReturn(MyLang('common_service.payment.no_plugins_data_tips'), 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ class PluginsAdminService
|
|||
return DataReturn(MyLang('install_fail'), -100);
|
||||
}
|
||||
} else {
|
||||
return DataReturn('插件配置有误', -10);
|
||||
return DataReturn(MyLang('plugins_config_error_tips'), -10);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -335,13 +335,13 @@ class PluginsAdminService
|
|||
{
|
||||
if(!is_writable($event_file))
|
||||
{
|
||||
return DataReturn('文件没有权限'.'['.$event_file.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.file_no_power_tips').'['.$event_file.']', -3);
|
||||
}
|
||||
} else {
|
||||
// 文件不存在则确认目录是否可写
|
||||
if(!is_writable(APP_PATH))
|
||||
{
|
||||
return DataReturn('目录操作权限'.'['.$event_file.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.dir_no_power_tips').'['.$event_file.']', -3);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -411,7 +411,7 @@ class PluginsAdminService
|
|||
// 应用行为扩展定义文件\nreturn ".var_export(['listen'=>$result], true).";\n?>");
|
||||
if($ret === false)
|
||||
{
|
||||
return DataReturn('应用钩子部署失败', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_deployment_fail_tips'), -10);
|
||||
}
|
||||
|
||||
return DataReturn(MyLang('handle_success'), 0);
|
||||
|
|
@ -446,14 +446,14 @@ class PluginsAdminService
|
|||
$plugins = $params['id'];
|
||||
if(!file_exists(APP_PATH.'plugins'.DS.$plugins))
|
||||
{
|
||||
return DataReturn('应用不存在', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_no_exist_tips'), -10);
|
||||
}
|
||||
|
||||
// 获取应用标记
|
||||
$data = Db::name('Plugins')->where(['plugins'=>$plugins])->find();
|
||||
if(!empty($data['is_enable']))
|
||||
{
|
||||
return DataReturn('请先卸载应用', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.please_uninstall_tips'), -10);
|
||||
}
|
||||
|
||||
// 钩子部署
|
||||
|
|
@ -538,47 +538,47 @@ class PluginsAdminService
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'plugins',
|
||||
'error_msg' => '应用唯一标记不能为空',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_plugins_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'logo',
|
||||
'error_msg' => '请上传LOGO',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_logo_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'name',
|
||||
'error_msg' => '应用名称不能为空',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_name_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'author',
|
||||
'error_msg' => '作者不能为空',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_author_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'author_url',
|
||||
'error_msg' => '作者主页不能为空',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_author_url_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'version',
|
||||
'error_msg' => '版本号不能为空',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_version_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'desc',
|
||||
'error_msg' => '描述不能为空',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_desc_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'apply_terminal',
|
||||
'error_msg' => '请至少选择一个适用终端',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_apply_terminal_message'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'apply_version',
|
||||
'error_msg' => '请至少选择一个适用系统版本',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.form_item_apply_version_message'),
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -608,7 +608,7 @@ class PluginsAdminService
|
|||
$app_dir = APP_PATH.'plugins'.DS.$plugins;
|
||||
if(!is_dir($app_dir) && \base\FileUtil::CreateDir($app_dir) !== true)
|
||||
{
|
||||
return DataReturn('应用主目录创建失败', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_dir_create_fial_tips'), -10);
|
||||
}
|
||||
|
||||
// 生成配置文件
|
||||
|
|
@ -783,46 +783,46 @@ php;
|
|||
$app_static_css_dir = ROOT.'public'.DS.'static'.DS.'plugins'.DS.'css'.DS.trim($params['plugins']);
|
||||
if(!is_dir($app_static_css_dir) && \base\FileUtil::CreateDir($app_static_css_dir) !== true)
|
||||
{
|
||||
return DataReturn('应用静态目录创建失败[css]', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_static_dir_create_fail_tips').'[css]', -10);
|
||||
} else {
|
||||
// 后端css目录创建
|
||||
if(!is_dir($app_static_css_dir.DS.'admin') && \base\FileUtil::CreateDir($app_static_css_dir.DS.'admin') !== true)
|
||||
{
|
||||
return DataReturn('应用静态目录创建失败[css/admin]', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_static_dir_create_fail_tips').'[css/admin]', -10);
|
||||
}
|
||||
}
|
||||
|
||||
// 后端admin目录创建
|
||||
if(!is_dir($app_dir.DS.'admin') && \base\FileUtil::CreateDir($app_dir.DS.'admin') !== true)
|
||||
{
|
||||
return DataReturn('应用后端目录创建失败[admin]', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_admin_dir_create_fail_tips').'[admin]', -10);
|
||||
}
|
||||
|
||||
// 创建文件
|
||||
if(!file_exists($app_dir.DS.'admin'.DS.'Admin.php') && @file_put_contents($app_dir.DS.'admin'.DS.'Admin.php', $admin) === false)
|
||||
{
|
||||
return DataReturn('应用文件创建失败[Admin.php]', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_file_create_fail_tips').'[Admin.php]', -11);
|
||||
}
|
||||
if(!file_exists($app_dir.DS.'Hook.php') && @file_put_contents($app_dir.DS.'Hook.php', $hook) === false)
|
||||
{
|
||||
return DataReturn('应用文件创建失败[Hook.php]', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_file_create_fail_tips').'[Hook.php]', -11);
|
||||
}
|
||||
|
||||
// 应用后台视图目录不存在则创建
|
||||
$app_view_admin_dir = APP_PATH.'plugins'.DS.'view'.DS.trim($params['plugins']).DS.'admin'.DS.'admin';
|
||||
if(!is_dir($app_view_admin_dir) && \base\FileUtil::CreateDir($app_view_admin_dir) !== true)
|
||||
{
|
||||
return DataReturn('应用视图目录创建失败[admin]', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_view_dir_create_fail_tips').'[admin]', -10);
|
||||
}
|
||||
if(!file_exists($app_view_admin_dir.DS.'index.html') && @file_put_contents($app_view_admin_dir.DS.'index.html', $admin_view) === false)
|
||||
{
|
||||
return DataReturn('应用视图文件创建失败[admin-view]', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_view_file_create_fail_tips').'[admin-view]', -11);
|
||||
}
|
||||
|
||||
// css创建
|
||||
if(!file_exists($app_static_css_dir.DS.'admin'.DS.'admin.css') && @file_put_contents($app_static_css_dir.DS.'admin'.DS.'admin.css', $admin_css) === false)
|
||||
{
|
||||
return DataReturn('应用静态文件创建失败[admin-css]', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_static_file_create_fail_tips').'[admin-css]', -11);
|
||||
}
|
||||
|
||||
// 是否有前端页面
|
||||
|
|
@ -831,36 +831,36 @@ php;
|
|||
// 前端index目录创建
|
||||
if(!is_dir($app_dir.DS.'index') && \base\FileUtil::CreateDir($app_dir.DS.'index') !== true)
|
||||
{
|
||||
return DataReturn('应用前端目录创建失败[index]', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_home_dir_create_fail_tips').'[index]', -10);
|
||||
}
|
||||
|
||||
// 创建文件
|
||||
if(!file_exists($app_dir.DS.'index'.DS.'Index.php') && @file_put_contents($app_dir.DS.'index'.DS.'Index.php', $index) === false)
|
||||
{
|
||||
return DataReturn('应用文件创建失败[index]', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_file_create_fail_tips').'[index]', -11);
|
||||
}
|
||||
|
||||
// 应用前端视图目录不存在则创建
|
||||
$app_view_index_dir = APP_PATH.'plugins'.DS.'view'.DS.trim($params['plugins']).DS.'index'.DS.'index';
|
||||
if(!is_dir($app_view_index_dir) && \base\FileUtil::CreateDir($app_view_index_dir) !== true)
|
||||
{
|
||||
return DataReturn('应用视图目录创建失败[index]', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_view_dir_create_fail_tips').'[index]', -10);
|
||||
}
|
||||
if(!file_exists($app_view_index_dir.DS.'index.html') && @file_put_contents($app_view_index_dir.DS.'index.html', $index_view) === false)
|
||||
{
|
||||
return DataReturn('应用视图文件创建失败[index-view]', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_view_file_create_fail_tips').'[index-view]', -11);
|
||||
}
|
||||
|
||||
// 前端css目录创建
|
||||
if(!is_dir($app_static_css_dir.DS.'index') && \base\FileUtil::CreateDir($app_static_css_dir.DS.'index') !== true)
|
||||
{
|
||||
return DataReturn('应用静态目录创建失败[css/index]', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_static_dir_create_fail_tips').'[css/index]', -10);
|
||||
}
|
||||
|
||||
// css创建
|
||||
if(!file_exists($app_static_css_dir.DS.'index'.DS.'index.css') && @file_put_contents($app_static_css_dir.DS.'index'.DS.'index.css', $index_css) === false)
|
||||
{
|
||||
return DataReturn('应用静态文件创建失败[index-css]', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_static_file_create_fail_tips').'[index-css]', -11);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -913,21 +913,21 @@ php;
|
|||
// 文件存在是否有权限
|
||||
if(!is_writable($config_file))
|
||||
{
|
||||
return DataReturn('应用配置文件没有操作权限'.'['.$config_file.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_config_no_power_tips').'['.$config_file.']', -3);
|
||||
}
|
||||
}
|
||||
|
||||
// 创建配置文件
|
||||
if(@file_put_contents($config_file, JsonFormat($data)) === false)
|
||||
{
|
||||
return DataReturn('应用配置文件创建失败', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_config_create_tail_tips'), -10);
|
||||
}
|
||||
|
||||
return DataReturn(MyLang('operate_success'), 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 名称校验
|
||||
* 名称排除校验
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
|
|
@ -936,12 +936,10 @@ php;
|
|||
*/
|
||||
public static function PluginsVerification($plugins)
|
||||
{
|
||||
// 排除校验
|
||||
if(in_array($plugins, self::$plugins_exclude_verification))
|
||||
{
|
||||
return DataReturn('不能使用限制的名称['.$plugins.']', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_name_exclude_tips').'['.$plugins.']', -1);
|
||||
}
|
||||
|
||||
return DataReturn(MyLang('check_success'), 0);
|
||||
}
|
||||
|
||||
|
|
@ -972,45 +970,45 @@ php;
|
|||
$app_dir = APP_PATH.'plugins';
|
||||
if(!is_writable($app_dir))
|
||||
{
|
||||
return DataReturn('应用目录没有操作权限'.'['.$app_dir.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_dir_no_power_tips').'['.$app_dir.']', -3);
|
||||
}
|
||||
|
||||
// 应用视图目录
|
||||
$app_view_dir = APP_PATH.'plugins'.DS.'view';
|
||||
if(!is_writable($app_view_dir))
|
||||
{
|
||||
return DataReturn('应用视图目录没有操作权限'.'['.$app_view_dir.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_view_dir_no_power_tips').'['.$app_view_dir.']', -3);
|
||||
}
|
||||
|
||||
// 应用css目录
|
||||
$app_static_css_dir = ROOT.'public'.DS.'static'.DS.'plugins'.DS.'css';
|
||||
if(!is_writable($app_static_css_dir))
|
||||
{
|
||||
return DataReturn('应用css目录没有操作权限'.'['.$app_static_css_dir.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_css_dir_no_power_tips').'['.$app_static_css_dir.']', -3);
|
||||
}
|
||||
|
||||
// 应用js目录
|
||||
$app_static_js_dir = ROOT.'public'.DS.'static'.DS.'plugins'.DS.'js';
|
||||
if(!is_writable($app_static_js_dir))
|
||||
{
|
||||
return DataReturn('应用js目录没有操作权限'.'['.$app_static_js_dir.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_js_dir_no_power_tips').'['.$app_static_js_dir.']', -3);
|
||||
}
|
||||
|
||||
// 应用images目录
|
||||
$app_static_images_dir = ROOT.'public'.DS.'static'.DS.'plugins'.DS.'images';
|
||||
if(!is_writable($app_static_images_dir))
|
||||
{
|
||||
return DataReturn('应用images目录没有操作权限'.'['.$app_static_images_dir.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_images_dir_no_power_tips').'['.$app_static_images_dir.']', -3);
|
||||
}
|
||||
|
||||
// 应用upload目录
|
||||
$app_upload_dir = ROOT.'public'.DS.'static'.DS.'upload';
|
||||
if(!is_writable($app_upload_dir))
|
||||
{
|
||||
return DataReturn('应用upload目录没有操作权限'.'['.$app_upload_dir.']', -3);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_upload_dir_no_power_tips').'['.$app_upload_dir.']', -3);
|
||||
}
|
||||
|
||||
return DataReturn('权限正常', 0);
|
||||
return DataReturn('success', 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1137,7 +1135,7 @@ php;
|
|||
// 应用是否存在
|
||||
if(self::PluginsExist($plugins))
|
||||
{
|
||||
return DataReturn('应用名称已存在['.$plugins.']', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_name_exist_tips').'['.$plugins.']', -1);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -1146,7 +1144,7 @@ php;
|
|||
// 应用是否存在
|
||||
if($plugins != $plugins_old)
|
||||
{
|
||||
return DataReturn('应用标识与指定不一致['.$plugins.'<>'.$plugins_old.']', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_name_appoint_error_tips').'['.$plugins.'<>'.$plugins_old.']', -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -1160,14 +1158,14 @@ php;
|
|||
{
|
||||
if(stripos($file_content, 'namespace payment') !== false)
|
||||
{
|
||||
return DataReturn('支付插件请到[ 网站管理->支付方式 ]模块里面去上传安装', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.plugins_package_error_tips'), -1);
|
||||
}
|
||||
}
|
||||
fclose($stream);
|
||||
}
|
||||
|
||||
// 不是支付插件则提示插件包错误
|
||||
return DataReturn('插件包有误', -30);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.plugins_package_empty_tips'), -30);
|
||||
}
|
||||
|
||||
// 应用文件处理
|
||||
|
|
@ -1246,7 +1244,7 @@ php;
|
|||
// 未匹配成功一个文件则认为插件包无效
|
||||
if($success <= 0)
|
||||
{
|
||||
return DataReturn('无效的插件包', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.plugins_package_invalid_tips'), -1);
|
||||
}
|
||||
return DataReturn('success', 0, $plugins);
|
||||
}
|
||||
|
|
@ -1309,14 +1307,14 @@ php;
|
|||
$plugins = htmlentities(str_replace(array('.', '/', '\\', ':'), '', strip_tags($params['id'])));
|
||||
if(empty($plugins))
|
||||
{
|
||||
return DataReturn('插件标识有误', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.plugins_identification_error_tips'), -1);
|
||||
}
|
||||
|
||||
// 配置信息
|
||||
$config = self::GetPluginsConfig($plugins);
|
||||
if(empty($config))
|
||||
{
|
||||
return DataReturn('插件配置有误', -10);
|
||||
return DataReturn(MyLang('plugins_config_error_tips'), -10);
|
||||
}
|
||||
|
||||
// 目录不存在则创建
|
||||
|
|
@ -1329,7 +1327,7 @@ php;
|
|||
{
|
||||
if(\base\FileUtil::CopyDir($old_dir, $new_dir.DS.'_controller_'.DS.$plugins) != true)
|
||||
{
|
||||
return DataReturn(MyLang('project_copy_fail_tips').'[控制器]', -2);
|
||||
return DataReturn(MyLang('project_copy_fail_tips').'['.MyLang('common_service.pluginsadmin.plugins_copy_control_fail_tips').']', -2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1339,7 +1337,7 @@ php;
|
|||
{
|
||||
if(\base\FileUtil::CopyDir($old_dir, $new_dir.DS.'_view_'.DS.$plugins) != true)
|
||||
{
|
||||
return DataReturn(MyLang('project_copy_fail_tips').'[视图]', -2);
|
||||
return DataReturn(MyLang('project_copy_fail_tips').'['.MyLang('common_service.pluginsadmin.plugins_copy_view_fail_tips').']', -2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1407,7 +1405,7 @@ php;
|
|||
$new_config_file = $new_dir.DS.'_controller_'.DS.$plugins.DS.'config.json';
|
||||
if(!file_exists($new_config_file))
|
||||
{
|
||||
return DataReturn('新配置文件有误', -10);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.plugins_new_config_error_tips'), -10);
|
||||
}
|
||||
if(empty($config['history']))
|
||||
{
|
||||
|
|
@ -1421,7 +1419,7 @@ php;
|
|||
];
|
||||
if(@file_put_contents($new_config_file, JsonFormat($config)) === false)
|
||||
{
|
||||
return DataReturn('新应用配置文件更新失败', -11);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.plugins_new_config_update_fail_tips'), -11);
|
||||
}
|
||||
|
||||
// 生成压缩包
|
||||
|
|
@ -1469,13 +1467,13 @@ php;
|
|||
// 基础业务参数
|
||||
if(empty($params['plugins_value']))
|
||||
{
|
||||
return DataReturn('插件标识为空', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.plugins_identification_empty_tips'), -1);
|
||||
}
|
||||
|
||||
// 应用是否存在
|
||||
if(!self::PluginsExist($params['plugins_value']))
|
||||
{
|
||||
return DataReturn('应用不存在['.$params['plugins_value'].']、请先安装', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.app_update_no_exist_tips', ['plugins'=>$params['plugins_value']]), -1);
|
||||
}
|
||||
|
||||
// 插件前置事件
|
||||
|
|
@ -1533,7 +1531,7 @@ php;
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'data',
|
||||
'error_msg' => '没有可保存的插件数据',
|
||||
'error_msg' => MyLang('common_service.pluginsadmin.sort_save_data_empty_tips'),
|
||||
]
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -1578,7 +1576,7 @@ php;
|
|||
return DataReturn($e->getMessage(), -1);
|
||||
}
|
||||
}
|
||||
return DataReturn('插件排序数据有误', -1);
|
||||
return DataReturn(MyLang('common_service.pluginsadmin.sort_save_data_error_tips'), -1);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -175,12 +175,12 @@ class PluginsService
|
|||
[
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'plugins',
|
||||
'error_msg' => '应用标记不能为空',
|
||||
'error_msg' => MyLang('common_service.plugins.plugins_identification_empty_tips'),
|
||||
],
|
||||
[
|
||||
'checked_type' => 'isset',
|
||||
'checked_type' => 'empty',
|
||||
'key_name' => 'data',
|
||||
'error_msg' => '数据参数不能为空',
|
||||
'error_msg' => MyLang('common_service.plugins.data_params_empty_tips'),
|
||||
],
|
||||
];
|
||||
$ret = ParamsChecked($params, $p);
|
||||
|
|
@ -311,15 +311,15 @@ class PluginsService
|
|||
{
|
||||
if(IS_AJAX)
|
||||
{
|
||||
return DataReturn('无效插件['.$plugins.']', -10);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_invalid_tips').'['.$plugins.']', -10);
|
||||
}
|
||||
MyRedirect(SystemService::HomeUrl(), true);
|
||||
}
|
||||
return DataReturn('应用未安装['.$plugins.']', -10);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_not_install_tips').'['.$plugins.']', -10);
|
||||
}
|
||||
if($ret != 1)
|
||||
{
|
||||
return DataReturn('应用未启用['.$plugins.']', -11);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_not_enable_tips').'['.$plugins.']', -11);
|
||||
}
|
||||
return DataReturn(MyLang('check_success'), 0);
|
||||
}
|
||||
|
|
@ -350,7 +350,7 @@ class PluginsService
|
|||
$plugins_class = '\app\plugins\\'.$plugins.'\\'.$group.'\\'.$control;
|
||||
if(!class_exists($plugins_class))
|
||||
{
|
||||
return DataReturn('应用控制器未定义['.$control.']', -1);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_call_control_undefined_tips').'['.$control.']', -1);
|
||||
}
|
||||
|
||||
// 调用方法
|
||||
|
|
@ -358,7 +358,7 @@ class PluginsService
|
|||
$obj = new $plugins_class($params);
|
||||
if(!method_exists($obj, $action))
|
||||
{
|
||||
return DataReturn('应用方法未定义['.$action.']', -1);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_call_action_undefined_tips').'['.$action.']', -1);
|
||||
}
|
||||
|
||||
// 调用方法仅传递请求参数
|
||||
|
|
@ -377,7 +377,7 @@ class PluginsService
|
|||
$config = PluginsAdminService::GetPluginsConfig($plugins);
|
||||
if(empty($config) || empty($config['base']))
|
||||
{
|
||||
return DataReturn('应用插件配置信息有误', -1);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_call_config_error_tips'), -1);
|
||||
}
|
||||
|
||||
$check_params = [
|
||||
|
|
@ -397,7 +397,7 @@ class PluginsService
|
|||
}
|
||||
|
||||
// 调用对应插件
|
||||
return DataReturn('调用成功', 0, $obj->$action($params));
|
||||
return DataReturn('success', 0, $obj->$action($params));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -424,7 +424,7 @@ class PluginsService
|
|||
$plugins = '\app\plugins\\'.$plugins.'\\Event';
|
||||
if(!class_exists($plugins))
|
||||
{
|
||||
return DataReturn('应用事件未定义['.$plugins.']', 0);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_event_undefined_tips').'['.$plugins.']', 0);
|
||||
}
|
||||
|
||||
// 调用方法
|
||||
|
|
@ -432,7 +432,7 @@ class PluginsService
|
|||
$obj = new $plugins($params);
|
||||
if(!method_exists($obj, $action))
|
||||
{
|
||||
return DataReturn('应用事件方法未定义['.$action.']', 0);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_event_action_undefined_tips').'['.$action.']', 0);
|
||||
}
|
||||
|
||||
// 调用方法仅传递请求参数
|
||||
|
|
@ -445,7 +445,7 @@ class PluginsService
|
|||
{
|
||||
return $ret;
|
||||
}
|
||||
return DataReturn('调用成功', 0, $ret);
|
||||
return DataReturn('success', 0, $ret);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -525,7 +525,7 @@ class PluginsService
|
|||
public static function PluginsUpgradeInfo($params = [])
|
||||
{
|
||||
// 默认返回数据
|
||||
$result = DataReturn('无插件数据', 0);
|
||||
$result = DataReturn(MyLang('common_service.plugins.plugins_no_data_tips'), 0);
|
||||
|
||||
// 缓存记录
|
||||
$time = 3600;
|
||||
|
|
@ -578,7 +578,6 @@ class PluginsService
|
|||
} else {
|
||||
$result = $res;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
@ -630,13 +629,13 @@ class PluginsService
|
|||
{
|
||||
if(isset($data[$v['plugins']]))
|
||||
{
|
||||
return DataReturn('('.$data[$v['plugins']]['name'].' v'.$v['version_new'].')插件有新版本待更新', -1);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_new_version_update_tips', ['plugins'=>$data[$v['plugins']]['name'], 'version'=>$v['version_new']]), -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return DataReturn('无需要更新的插件', 0);
|
||||
return DataReturn(MyLang('common_service.plugins.plugins_no_update_tips'), 0);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -521,7 +521,7 @@ class WarehouseGoodsService
|
|||
// 没有规格则处理默认规格 default
|
||||
$str = 'default';
|
||||
$inventory_spec[] = [
|
||||
'name' => '默认规格',
|
||||
'name' => GoodsService::GoodsSpecDefaultName(),
|
||||
'spec' => $str,
|
||||
'md5_key' => md5($str),
|
||||
'inventory' => 0,
|
||||
|
|
|
|||
Loading…
Reference in New Issue