Przeglądaj źródła

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

From-wh 2 lat temu
rodzic
commit
688cabe7a9

+ 21 - 0
crmeb/app/dao/order/StoreOrderRefundDao.php

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

+ 3 - 0
crmeb/app/services/order/StoreCartServices.php

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

+ 5 - 17
crmeb/app/services/statistic/ProductStatisticServices.php

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

+ 3 - 0
crmeb/public/install/index.php

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

+ 27 - 15
template/uni-app/pages/admin/orderDetail/index.vue

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