mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-30 14:31:04 +00:00
Merge branch 'v4.7.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v4.7.0dev
This commit is contained in:
commit
688cabe7a9
@ -150,4 +150,25 @@ class StoreOrderRefundDao extends BaseDao
|
||||
})
|
||||
->order('add_time ASC')->select()->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $time
|
||||
* @param $timeType
|
||||
* @param $field
|
||||
* @param $str
|
||||
* @return mixed
|
||||
* @author 吴汐
|
||||
* @email 442384644@qq.com
|
||||
* @date 2023/03/06
|
||||
*/
|
||||
public function getProductTrend($time, $timeType, $field, $str)
|
||||
{
|
||||
return $this->getModel()->where(function ($query) use ($time, $field) {
|
||||
if ($time[0] == $time[1]) {
|
||||
$query->whereDay($field, $time[0]);
|
||||
} else {
|
||||
$query->whereTime($field, 'between', $time);
|
||||
}
|
||||
})->field("FROM_UNIXTIME($field,'$timeType') as days,$str as num")->group('days')->select()->toArray();
|
||||
}
|
||||
}
|
||||
|
||||
@ -432,6 +432,9 @@ class StoreCartServices extends BaseServices
|
||||
*/
|
||||
public function setCartNum($uid, $productId, $num, $unique, $type)
|
||||
{
|
||||
//检查限购
|
||||
$this->checkLimit($uid, $productId, $num, 0);
|
||||
|
||||
/** @var StoreProductAttrValueServices $attrValueServices */
|
||||
$attrValueServices = app()->make(StoreProductAttrValueServices::class);
|
||||
|
||||
|
||||
@ -13,6 +13,7 @@ namespace app\services\statistic;
|
||||
|
||||
|
||||
use app\services\BaseServices;
|
||||
use app\services\order\StoreOrderRefundServices;
|
||||
use app\services\other\export\ExportServices;
|
||||
use app\services\order\StoreCartServices;
|
||||
use app\services\order\StoreOrderServices;
|
||||
@ -137,8 +138,8 @@ class ProductStatisticServices extends BaseServices
|
||||
*/
|
||||
public function trend($time, $num, $excel = false)
|
||||
{
|
||||
/** @var StoreVisitServices $storeVisit */
|
||||
$storeVisit = app()->make(StoreVisitServices::class);
|
||||
/** @var StoreOrderRefundServices $orderRefund */
|
||||
$orderRefund = app()->make(StoreOrderRefundServices::class);
|
||||
/** @var StoreOrderServices $storeOrder */
|
||||
$storeOrder = app()->make(StoreOrderServices::class);
|
||||
/** @var StoreCartServices $storeCart */
|
||||
@ -167,27 +168,14 @@ class ProductStatisticServices extends BaseServices
|
||||
$browse = array_column($productLog->getProductTrend($time, $timeType, 'sum(visit_num)'), 'num', 'days');
|
||||
$user = array_column($productLog->getProductTrend($time, $timeType, 'count(distinct(uid))'), 'num', 'days');
|
||||
$pay = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'sum(pay_price)'), 'num', 'days');
|
||||
$refundList = $storeOrder->getProductTrend($time, $timeType, 'refund_reason_time', 'sum(pay_price)');
|
||||
$refund = array_column($refundList, 'num', 'days');
|
||||
$refund = array_column($orderRefund->getProductTrend($time, $timeType, 'refunded_time', 'sum(refunded_price)'), 'num', 'days');
|
||||
if ($excel) {
|
||||
$cart = array_column($storeCart->getProductTrend($time, $timeType, 'sum(cart_num)'), 'num', 'days');
|
||||
$order = array_column($storeOrder->getProductTrend($time, $timeType, 'add_time', 'sum(total_num)'), 'num', 'days');
|
||||
$payNum = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'sum(total_num)'), 'num', 'days');
|
||||
$payCountNum = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'count(distinct(uid))'), 'num', 'days');
|
||||
$cost = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'sum(cost)'), 'num', 'days');
|
||||
$orderIds = array_column($refundList, 'link_ids');
|
||||
$ids = implode(',', $orderIds);
|
||||
$totalNumList = $storeOrder->column(['refund_id' => $ids], 'total_num', 'id');
|
||||
$refundNum = array_column($refundList, 'link_ids', 'days');
|
||||
foreach ($refundNum as &$i) {
|
||||
$oIds = explode(',', $i);
|
||||
$i = array_map(function ($o) use ($totalNumList) {
|
||||
if (isset($totalNumList[$o])) {
|
||||
return $totalNumList[$o];
|
||||
}
|
||||
}, $oIds);
|
||||
$i = array_sum($i);
|
||||
}
|
||||
$refundNum = array_column($orderRefund->getProductTrend($time, $timeType, 'refunded_time', 'sum(refund_num)'), 'num', 'days');
|
||||
$data = [];
|
||||
foreach ($xAxis as &$item) {
|
||||
if (isset($user[$item]) && isset($payCountNum[$item])) {
|
||||
|
||||
@ -206,6 +206,9 @@ switch ($step) {
|
||||
$rbselect = $_POST['rbselect'] ?? 0;
|
||||
|
||||
try {
|
||||
if (!class_exists('redis')) {
|
||||
exit(json_encode(-1));
|
||||
}
|
||||
$redis = new Redis();
|
||||
if (!$redis) {
|
||||
exit(json_encode(-1));
|
||||
|
||||
@ -111,21 +111,33 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="wrapper">
|
||||
<view class="item acea-row row-between">
|
||||
<view>{{$t(`支付金额`)}}:</view>
|
||||
<view class="conter">{{$t(`¥`)}}{{ orderInfo.total_price || 0 }}</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between">
|
||||
<view>{{$t(`优惠券抵扣`)}}:</view>
|
||||
<view class="conter">-{{$t(`¥`)}}{{ orderInfo.coupon_price || 0 }}</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between">
|
||||
<view>{{$t(`运费`)}}:</view>
|
||||
<view class="conter">{{$t(`¥`)}}{{ orderInfo.pay_postage || 0 }}</view>
|
||||
</view>
|
||||
<view class="actualPay acea-row row-right">
|
||||
{{$t(`实付款`)}}:<span class="money">{{$t(`¥`)}}{{ orderInfo.pay_price || 0 }}</span>
|
||||
</view>
|
||||
<view class='item acea-row row-between'>
|
||||
<view>{{$t(`商品总价`)}}:</view>
|
||||
<view class='conter'>
|
||||
{{$t(`¥`)}}{{(parseFloat(orderInfo.total_price)+parseFloat(orderInfo.vip_true_price)).toFixed(2)}}
|
||||
</view>
|
||||
</view>
|
||||
<view class='item acea-row row-between' v-if="orderInfo.pay_postage > 0">
|
||||
<view>{{$t(`配送运费`)}}:</view>
|
||||
<view class='conter'>{{$t(`¥`)}}{{parseFloat(orderInfo.pay_postage).toFixed(2)}}</view>
|
||||
</view>
|
||||
<view v-if="orderInfo.levelPrice > 0" class='item acea-row row-between'>
|
||||
<view>{{$t(`用户等级优惠`)}}:</view>
|
||||
<view class='conter'>-{{$t(`¥`)}}{{parseFloat(orderInfo.levelPrice).toFixed(2)}}</view>
|
||||
</view>
|
||||
<view v-if="orderInfo.memberPrice > 0" class='item acea-row row-between'>
|
||||
<view>{{$t(`付费会员优惠`)}}:</view>
|
||||
<view class='conter'>-{{$t(`¥`)}}{{parseFloat(orderInfo.memberPrice).toFixed(2)}}</view>
|
||||
</view>
|
||||
<view class='item acea-row row-between' v-if='orderInfo.coupon_price > 0'>
|
||||
<view>{{$t(`优惠券抵扣`)}}:</view>
|
||||
<view class='conter'>-{{$t(`¥`)}}{{parseFloat(orderInfo.coupon_price).toFixed(2)}}</view>
|
||||
</view>
|
||||
<view class='item acea-row row-between' v-if="orderInfo.use_integral > 0">
|
||||
<view>{{$t(`积分抵扣`)}}:</view>
|
||||
<view class='conter'>-{{$t(`¥`)}}{{parseFloat(orderInfo.deduction_price).toFixed(2)}}</view>
|
||||
</view>
|
||||
<view class='actualPay acea-row row-right'>{{$t(`实付款`)}}:<text class='money'>{{$t(`¥`)}}{{parseFloat(orderInfo.pay_price).toFixed(2)}}</text></view>
|
||||
</view>
|
||||
|
||||
<view class="wrapper" v-if="
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user