lqmac 1 year ago
parent 7d975bd543
commit e48202a6d9
  1. 30
      application/admin/view/order/edit.html
  2. 4
      application/api/controller/Order.php
  3. 50
      application/common/service/OrderService.php
  4. 10
      public/assets/js/backend/order.js

@ -6,6 +6,12 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('用户')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="" data-source="user/user/selectpage" data-primary-key="id" data-field="nickname" data-max-select-limit="1000"data-multiple="false" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id|htmlentities}" data-order-by="id" data-format-item="{nickname} - <img class='img-sm img-center img-circle' src='{avatar}'> - {mobile}" readonly>
</div>
</div>
<!-- <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('下单时间')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-createtime" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[createtime]" type="text" value="{:$row.createtime?datetime($row.createtime):''}" readonly>
@ -35,8 +41,8 @@
<div class="col-xs-12 col-sm-8">
<input id="c-seller_id" data-rule="" data-source="user/user/selectpage" data-primary-key="id" data-field="nickname" data-max-select-limit="1000"data-multiple="false" class="form-control selectpage" name="row[seller_id]" type="text" value="{$row.seller_id|htmlentities}" data-order-by="id" data-format-item="{nickname} - <img class='img-sm img-center img-circle' src='{avatar}'> - {mobile}" readonly>
</div>
</div>
<div class="form-group">
</div> -->
<!-- <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('商品总价')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-order_amount" data-rule="required" min="0" class="form-control" step="0.01" name="row[order_amount]" type="number" value="{$row.order_amount|htmlentities}" readonly>
@ -49,7 +55,7 @@
<input id="c-pay_voucher" data-rule="required" class="form-control" size="50" name="row[pay_voucher]" type="text" value="{$row.pay_voucher|htmlentities}">
<div class="input-group-addon no-border no-padding">
<span><button type="button" id="faupload-pay_voucher" class="btn btn-danger faupload" data-input-id="c-pay_voucher" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-pay_voucher"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<!-- <span><button type="button" id="fachoose-pay_voucher" class="btn btn-primary fachoose" data-input-id="c-pay_voucher" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span> -->
<span><button type="button" id="fachoose-pay_voucher" class="btn btn-primary fachoose" data-input-id="c-pay_voucher" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
</div>
<span class="msg-box n-right" for="c-pay_voucher"></span>
</div>
@ -67,13 +73,19 @@
<div class="col-xs-12 col-sm-8">
<input id="c-pay_amount" data-rule="required" class="form-control" step="0.01" name="row[pay_amount]" type="number" value="{$row.pay_amount|htmlentities}" readonly>
</div>
</div>
</div> -->
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('订单状态')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', $statusList, $row.status)}
{:build_radios('row[status]', ['2'=>__('隐藏'), '3'=>__('正常'),'6'=>'已完成'], $row['status'])}
</div>
</div>
<!-- <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('订单状态')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', $statusList, $row.status)}
</div>
</div> -->
<!-- <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
@ -86,7 +98,7 @@
<input id="c-warehouse_id" data-rule="required" min="0" data-source="warehouse/index" class="form-control selectpage" name="row[warehouse_id]" type="text" value="{$row.warehouse_id|htmlentities}">
</div>
</div> -->
<div class="form-group">
<!-- <div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('联系人')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-consignee" data-rule="required" class="form-control" name="row[consignee]" type="text" value="{$row.consignee|htmlentities}" readonly>
@ -121,11 +133,11 @@
<div class="col-xs-12 col-sm-8">
<input id="c-address" data-rule="required" class="form-control" name="row[address]" type="text" value="{$row.address|htmlentities}" readonly>
</div>
</div>
<!-- <div class="form-group layer-footer">
</div> -->
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
</div>
</div> -->
</div>
</form>

@ -660,7 +660,7 @@ class Order extends Api
//修改用户可用佣金
User::where('id', $user_id)->update(['available_commission_amount' => $user['available_commission_amount'] - $pay_amount,"profit_amount" => $user['profit_amount'] + $profit, "updatetime" => time()]);
//更新订单信息
OrderModel::where("id", $order_id)->update(['status' => 6]);
OrderModel::where("id", $order_id)->update(['status' => 6,'updatetime' => time()]);
Detail::where("order_id", $order_id)->update(['commission_price' => $goods_price, "fee" => $fee, "dikou_price" => $pay_amount]);
//使用优惠卷
if ($coupon_id) {
@ -791,7 +791,7 @@ class Order extends Api
//修改用户可用佣金
User::where('id', $user_id)->update(['available_commission_amount' => $user['available_commission_amount'] - $goods['dikou_price'],"profit_amount" => $user['profit_amount'] + $profit, "updatetime" => time()]);
//更新订单状态
OrderModel::where("id", $order_id)->update(['status' => 6]);
OrderModel::where("id", $order_id)->update(['status' => 6,'updatetime' => time()]);
//使用优惠卷
if ($order_info['coupon_id']) {
UserCouponModel::where('id', $order_info['coupon_id'])->update(['use_order_id'=>$order_id, "use_time"=>time()]);

@ -27,17 +27,36 @@ class OrderService
public function productPayRecord($warehouse_id, $time = 0){
$time = $time ? $time : time();
$order = Db::name('order')
->field('user_id,sum(actual_amount) as pay_amount')
$buyer_order = Db::name('order')
->field('user_id,actual_amount as pay_amount,sell_order_id')
->whereTime('createtime', 'today')
->where('warehouse_id', $warehouse_id)
->whereIn('status', [0,3])
->group('user_id')
->whereIn('status', 0)
->whereIn('order_type', 0)
->select();
if (!$buyer_order) {
return false;
}
$seller_order = Db::name('order')
->field('user_id,actual_amount as pay_amount,sell_order_id')
->whereIn('id', array_column($buyer_order, "sell_order_id"))
->select();
if (!$seller_order) {
return false;
}
$order = array_merge($buyer_order, $seller_order);
$order_new = [];
foreach ($order as $value) {
if (!isset($order_new[$value['user_id']])) {
$order_new[$value['user_id']] = $value;
} else {
$order_new[$value['user_id']]['pay_amount'] += $value['pay_amount'];
}
}
$buyer_order = [];
$seller_order = [];
foreach ($order as $key => $value) {
foreach ($order_new as $key => $value) {
if ($value['pay_amount'] > 0) {
$seller_order[] = $value;
} elseif ($value['pay_amount'] < 0) {
@ -45,9 +64,10 @@ class OrderService
}
}
// echo "<pre>";
// //print_r($order);
// print_r($buyer_order);
// print_r($seller_order);
//exit();
// exit();
$pay_record = [];
foreach ($seller_order as $seq => &$seller) {
if ($seller['pay_amount'] <= 0) {
@ -59,6 +79,7 @@ class OrderService
unset($buyer_order[$key]);
continue;
}
if ($seller['pay_amount'] >= abs($buyer['pay_amount'])) {
$pay_record[] = [
'payer_id' => $buyer['user_id'],
@ -80,21 +101,24 @@ class OrderService
'date' => date("Y-m-d", $time),
];
$buyer['pay_amount'] = $buyer['pay_amount'] + $seller['pay_amount'];
unset($seller_order[$seq]);
$seller['pay_amount'] = 0;
break;
}
// echo "<pre>";
// print_r($buyer);
}
}
foreach ($pay_record as $key => $value) {
if ($value['amount'] == 0) {
unset($pay_record[$key]);
}
}
unset($seller);
// foreach ($pay_record as $key => $value) {
// if ($value['amount'] == 0) {
// unset($pay_record[$key]);
// }
// }
// echo "<pre>";
// print_r($pay_record);
// exit();
unset($seller);
$ret = Db::name('income_expend')->insertAll($pay_record);
return $ret;

@ -34,7 +34,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: Config.statusList},
{field: 'pay_amount', title: __('实付金额'), operate:'BETWEEN'},
{field: 'pay_time', title: __('Pay_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'createtime', title: __('下单时间'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime环境},
{field: 'createtime', title: __('下单时间'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'user.nickname', title: __('昵称'),operate: 'LIKE'},
{field: 'user.mobile', title: __('手机号'),operate: 'LIKE'},
{field: 'detail.goods_id', title: __('商品id'),operate: 'LIKE'},
@ -45,7 +45,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
name:'cancel',
text:'取消订单',
title:'取消订单',
confirm: '确定汇算确认吗?',
confirm: '确定取消订单吗?',
classname: 'btn btn-xs btn-danger btn-magic btn-ajax',
icon: 'fa fa-check',
url: 'order/cancel',
@ -119,9 +119,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
// operate-edit编辑 perate-del删除
//判断什么时候显示什么时候不显示
if (row.status == 1) {
//$(table).data("operate-edit", null); // 列表页面隐藏 .编辑operate-edit - 删除按钮operate-del
//$(table).data("operate-del", null); // 列表页面隐藏 .编辑operate-edit - 删除按钮operate-del
if (row.status == 6) {
$(table).data("operate-edit", null); // 列表页面隐藏 .编辑operate-edit - 删除按钮operate-del
$(table).data("operate-del", null); // 列表页面隐藏 .编辑operate-edit - 删除按钮operate-del
}
that.table = table;
return Table.api.formatter.operate.call(that, value, row, index);

Loading…
Cancel
Save