问题说明:交易设置开关配置数据类型有误,没有限制
修改文件:app/services/system/config/SystemConfigServices.php
修改方法:shopTradeFormBuild()
public function shopTradeFormBuild()
{
$build = new Build();
$build->url('setting/config/save_basics');
$data = $this->getConfigAllField([
'store_stock','cross_store_verification',
'order_cancel_time', 'order_activity_time', 'order_bargain_time', 'order_seckill_time', 'order_pink_time', 'system_delivery_time',
'collate_not_operating_time', 'reminder_deadline_second_card_time', 'bargain_subscribe', 'system_comment_time', 'rebate_points_orders_time', 'table_code_not_operating_time',
'refund_time_available', 'refund_name', 'refund_phone', 'refund_address', 'stor_reason',
// 'store_cashier_order_rate', 'store_recharge_order_rate', 'store_self_order_rate', 'store_svip_order_rate', 'store_writeoff_order_rate'
]);
$timeData[] = Build::alert('营销活动未支付时间如果设置为0将使用默认活动取消时间,优先使用单独活动配置', Alert::WARNING)->showIcon(true);
foreach (['order_cancel_time', 'order_activity_time',
'order_bargain_time', 'order_seckill_time', 'order_pink_time', 'rebate_points_orders_time', 'table_code_not_operating_time', 'collate_not_operating_time', 'reminder_deadline_second_card_time'] as $item) {
$timeData[] = Build::inputNum($item, $data[$item]['info'], $data[$item]['value'])->info($data[$item]['desc'])->min(0);
}
$refund[] = Build::alert('售后处理默认退货地址(门店订单退货默认门店地址)', Alert::WARNING)->showIcon(true);
foreach (['refund_time_available', 'refund_name', 'refund_phone', 'refund_address', 'stor_reason'] as $key) {
$rule = Build::input($key, $data[$key]['info'], $data[$key]['value'])->rows(5)->type($data[$key]['type'])->info($data[$key]['desc']);
if ('refund_phone' === $key) {
$rule->validate(StrRules::pattern(StrRules::PHONE_NUMBER)->message('请输入正确的手机号码'));
}
$refund[] = $rule;
}
// $store[] = Build::alert('需要和门店对账,请仔细配置(配置立即生效,不影响已成交订单)', Alert::WARNING)->showIcon(true);
// foreach (['store_cashier_order_rate', 'store_recharge_order_rate', 'store_self_order_rate', 'store_svip_order_rate', 'store_writeoff_order_rate'] as $key) {
// $store[] = Build::inputNum($key, $data[$key]['info'], $data[$key]['value'])->min(0)->info($data[$key]['desc']);
// }
$build->rule([
Build::card('跨店核销')->components([
Build::switch('cross_store_verification', $data['cross_store_verification']['info'], (int)$data['cross_store_verification']['value'])->trueValue('开启', 1)->falseValue('关闭', 0)->info($data['cross_store_verification']['desc']),
]),
Build::card('库存警戒')->components([
Build::inputNum('store_stock', $data['store_stock']['info'], $data['store_stock']['value'])->info($data['store_stock']['desc'])->min(0),
]),
Build::card('订单取消时间')->components($timeData),
Build::card('自动收货时间')->components([
Build::alert('输入0为不设置自动收货', Alert::WARNING)->showIcon(true),
Build::inputNum('system_delivery_time', $data['system_delivery_time']['info'], $data['system_delivery_time']['value'])->info($data['system_delivery_time']['desc'])->min(0),
]),
Build::card('自动默认好评时间')->components([
Build::alert('输入0为不设置自动默认好评', Alert::WARNING)->showIcon(true),
Build::inputNum('system_comment_time', $data['system_comment_time']['info'], $data['system_comment_time']['value'])->info($data['system_comment_time']['desc'])->min(0),
]),
Build::card('售后退款设置')->components($refund),
// Build::card('门店手续费设置')->components($store),
]);
return $build->toArray();
}修改方法:signFormBuild()
public function signFormBuild()
{
$build = new Build();
$build->url('setting/config/save_basics');
$data = $this->getConfigAllField(['sign_status', 'sign_mode', 'sign_remind', 'sign_give_point', 'sign_give_exp']);
$build->rule([
Build::tabs()->option('签到设置', [
Build::switch('sign_status', $data['sign_status']['info'], (int)$data['sign_status']['value'])->trueValue('开启', 1)->falseValue('关闭', 0)->info($data['sign_status']['desc']),
Build::radio('sign_mode', $data['sign_mode']['info'], (int)$data['sign_mode']['value'])
->options($this->getOptions($data['sign_mode']['parameter']))->info($data['sign_mode']['desc']),
Build::switch('sign_remind', $data['sign_remind']['info'], (int)$data['sign_remind']['value'])->trueValue('开启', 1)->falseValue('关闭', 0)->info($data['sign_remind']['desc']),
Build::inputNum('sign_give_point', $data['sign_give_point']['info'], $data['sign_give_point']['value'])->info($data['sign_give_point']['desc'])->min(0),
Build::inputNum('sign_give_exp', $data['sign_give_exp']['info'], $data['sign_give_exp']['value'])->info($data['sign_give_exp']['desc'])->min(0)
])
]);
return $build->toArray();
}修改方法:community()
public function community()
{
$build = new Build();
$build->url('setting/config/save_basics');
$data = $this->getConfigAllField(['community_status', 'community_verify', 'community_video_verify', 'community_comment_status', 'community_comment_add', 'community_comment_verify', 'community_exp', 'community_exp_restrict', 'community_exp_num', 'community_integral', 'community_integral_restrict', 'community_integral_num']);
$build->rule([
Build::tabs()->option('社区设置', [
Build::switch('community_status', $data['community_status']['info'], (int)$data['community_status']['value'])->trueValue('开启', 1)->falseValue('关闭', 0)->control(1, [
Build::radio('community_verify', $data['community_verify']['info'], (int)$data['community_verify']['value'])
->options($this->getOptions($data['community_verify']['parameter']))->info($data['community_verify']['desc']),
Build::radio('community_video_verify', $data['community_video_verify']['info'], (int)$data['community_video_verify']['value'])
->options($this->getOptions($data['community_video_verify']['parameter']))->info($data['community_video_verify']['desc']),
Build::radio('community_comment_status', $data['community_comment_status']['info'], (int)$data['community_comment_status']['value'])
->options($this->getOptions($data['community_comment_status']['parameter']))->info($data['community_comment_status']['desc']),
Build::radio('community_comment_add', $data['community_comment_add']['info'], (int)$data['community_comment_add']['value'])
->options($this->getOptions($data['community_comment_add']['parameter']))->info($data['community_comment_add']['desc']),
Build::radio('community_comment_verify', $data['community_comment_verify']['info'], (int)$data['community_comment_verify']['value'])
->options($this->getOptions($data['community_comment_verify']['parameter']))->info($data['community_comment_verify']['desc']),
])->info($data['community_status']['desc']),
])->option('社区运营', [
Build::switch('community_integral', $data['community_integral']['info'], (int)$data['community_integral']['value'])
->falseValue('关闭', 0)->trueValue('开启', 1)->control(1, [
Build::inputNum('community_integral_num', $data['community_integral_num']['info'], $data['community_integral_num']['value'])->info($data['community_integral_num']['desc']),
Build::inputNum('community_integral_restrict', $data['community_integral_restrict']['info'], $data['community_integral_restrict']['value'])->info($data['community_integral_restrict']['desc']),
])->info($data['community_integral']['desc']),
Build::switch('community_exp', $data['community_exp']['info'], (int)$data['community_exp']['value'])
->falseValue('关闭', 0)->trueValue('开启', 1)->control(1, [
Build::inputNum('community_exp_num', $data['community_exp_num']['info'], $data['community_exp_num']['value'])->info($data['community_exp_num']['desc']),
Build::inputNum('community_exp_restrict', $data['community_exp_restrict']['info'], $data['community_exp_restrict']['value'])->info($data['community_exp_restrict']['desc']),
])
])
]);
return $build->toArray();
}
