Merge branch 'v4.7.0dev' of https://gitee.com/ZhongBangKeJi/CRMEB into v4.7.0dev

This commit is contained in:
From-wh 2023-03-07 09:24:38 +08:00
commit 688cabe7a9
5 changed files with 59 additions and 32 deletions

View File

@ -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();
}
}

View File

@ -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);

View File

@ -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])) {

View File

@ -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));

View File

@ -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="