Forráskód Böngészése

Merge remote-tracking branch 'origin/sit' into sit

lyx 1 hónapja
szülő
commit
743961a04d

+ 3 - 2
alien-entity/src/main/resources/mapper/ManagementInfoMapper.xml

@@ -152,7 +152,7 @@
                 END AS type_name,
             coupon.`name`,
             "1" AS buy_count,
-            ROUND(userOrder.price / 100,2) AS buy_amount,
+            ROUND(userOrder.price ,2) AS buy_amount,
             userOrder.buy_time AS buy_time,
             userOrder.used_time AS used_time,
             userOrder.refund_time AS refund_time,
@@ -170,7 +170,8 @@
                 WHEN 4 THEN
                     "已退款"
                 END AS status_name,
-        userOrder.order_no
+        userOrder.order_no,
+        userOrder.coupon_type
         FROM
             life_user_order userOrder
                 LEFT JOIN life_coupon coupon ON coupon.id = userOrder.id

+ 1 - 1
alien-store/src/main/java/shop/alien/store/service/LifeUserOrderService.java

@@ -1041,7 +1041,7 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
 //            lifeUserOrderQueryWrapper.inSql("luo.id", sql);
             lifeUserOrderQueryWrapper.eq("ocm.status",orderStatus);
         }
-        lifeUserOrderQueryWrapper.groupBy("tc.coupon_type","tc.coupon_id");
+        lifeUserOrderQueryWrapper.groupBy("luo.id");
         IPage<LifeUserOrderVo> lifeUserOrderVoIPage = lifeUserOrderMapper.queryUserOrderList(brandedPage, lifeUserOrderQueryWrapper);
 
         if (!"-1".equals(orderStatus)) {

+ 67 - 15
alien-store/src/main/java/shop/alien/store/service/impl/ManagementInfoServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -14,8 +15,10 @@ import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.vo.ManagementInfoVo;
+import shop.alien.entity.store.vo.SystemConfigVo;
 import shop.alien.mapper.*;
 import shop.alien.store.service.ManagementInfoService;
+import shop.alien.store.service.StoreDictService;
 import shop.alien.util.ali.AliOSSUtil;
 
 import java.io.*;
@@ -47,6 +50,8 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
     @Value("${spring.web.resources.url}")
     private String fileUrl;
 
+    private final StoreDictService storeDictService;
+
     private final ManagementInfoMapper managementInfoMapper;
 
     private final StoreIncomeDetailsRecordMapper storeIncomeDetailsRecordMapper;
@@ -90,12 +95,23 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
     @Override
     public HashMap<String, Object> storeBillingStatistics(String queryType) {
 
+        int freeze = 0;
+        //查询冻结配置
+        SystemConfigVo systemConfigVo = storeDictService.getConfig("freeze");
+        if(systemConfigVo != null){
+            String freezeFlag = systemConfigVo.getConfigValue1();
+            String freezeDay =  systemConfigVo.getConfigValue2();
+            if(StringUtils.isNotBlank(freezeFlag) && freezeFlag.equals("1") && StringUtils.isNotBlank(freezeDay)){
+                freeze = Integer.parseInt(freezeDay);
+            }
+        }
+
         HashMap<String, Object> result = new HashMap<>();
 
         // 获取当前日期
         LocalDate currentDate = LocalDate.now();
         // 计算三天前的日期
-        LocalDate threeDaysAgo = currentDate.minusDays(3);
+        LocalDate threeDaysAgo = currentDate.minusDays(freeze);
         // 设置时间为当天的 0 点
         LocalDateTime threeDaysAgoMidnight = threeDaysAgo.atStartOfDay();
 
@@ -130,15 +146,22 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
         ManagementInfoVo writtenOffAmount = managementInfoMapper.getWrittenOffAmount(startDate, endDate, null);
 
         //查询已冻结金额
+        LambdaQueryWrapper<StoreIncomeDetailsRecord> storeIncomeDetailsRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(freeze > 0){
+            storeIncomeDetailsRecordLambdaQueryWrapper.gt(StoreIncomeDetailsRecord::getCreatedTime, threeDaysAgoMidnight);
+        }
+        storeIncomeDetailsRecordLambdaQueryWrapper.gt(StoreIncomeDetailsRecord::getCreatedTime, startDate);
+        storeIncomeDetailsRecordLambdaQueryWrapper.lt(StoreIncomeDetailsRecord::getCreatedTime, endDate);
+
         List<StoreIncomeDetailsRecord> storeIncomeDetailsRecords = storeIncomeDetailsRecordMapper
-                .selectList(
-                        new LambdaQueryWrapper<StoreIncomeDetailsRecord>()
-                                .gt(StoreIncomeDetailsRecord::getCreatedTime, threeDaysAgoMidnight)
-                                .gt(StoreIncomeDetailsRecord::getCreatedTime, startDate)
-                                .lt(StoreIncomeDetailsRecord::getCreatedTime, endDate)
-                );
+                .selectList(storeIncomeDetailsRecordLambdaQueryWrapper);
         Double storeIncomeDetailsCount = 0d;
+        Double storeIncomeDetailsNoCashCount = 0d;
+
         for (StoreIncomeDetailsRecord storeIncomeDetailsRecord : storeIncomeDetailsRecords) {
+            if(storeIncomeDetailsRecord.getCashOutId() == null || storeIncomeDetailsRecord.getCashOutId() == 0){
+                storeIncomeDetailsNoCashCount += storeIncomeDetailsRecord.getMoney();
+            }
             storeIncomeDetailsCount += storeIncomeDetailsRecord.getMoney();
         }
 
@@ -148,9 +171,16 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
         result.put("amountPaid", amountPaid.getAmountPaid());
 
         //存入冻结未提现金额
-        result.put("unwithdrawnAmountsFrozen", withdrawalAmount.getTotalWithdrawalAmount() - storeIncomeDetailsCount);
+        result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsNoCashCount);
         //存入未解冻金额
-        result.put("freezeAmounts", storeIncomeDetailsCount);
+        if(freeze == 0){
+            result.put("freezeAmounts", 0);
+            result.put("unwithdrawnAmountsFrozen", 0);
+
+        } else {
+            result.put("freezeAmounts", storeIncomeDetailsCount);
+            result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsNoCashCount);
+        }
         // 已提现金额
         result.put("withdrawalAmount", withdrawalAmount.getTotalWithdrawalAmount());
         //存入未核销金额
@@ -185,10 +215,21 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
 
     @Override
     public HashMap<String, Object> storeDetailBillingStatistics(String storeId) {
+        int freeze = 0;
+        //查询冻结配置
+        SystemConfigVo systemConfigVo = storeDictService.getConfig("freeze");
+        if(systemConfigVo != null){
+            String freezeFlag = systemConfigVo.getConfigValue1();
+            String freezeDay =  systemConfigVo.getConfigValue2();
+            if(StringUtils.isNotBlank(freezeFlag) && freezeFlag.equals("1") && StringUtils.isNotBlank(freezeDay)){
+                freeze = Integer.parseInt(freezeDay);
+            }
+        }
+
         // 获取当前日期
         LocalDate currentDate = LocalDate.now();
         // 计算三天前的日期
-        LocalDate threeDaysAgo = currentDate.minusDays(3);
+        LocalDate threeDaysAgo = currentDate.minusDays(freeze);
         // 设置时间为当天的 0 点
         LocalDateTime threeDaysAgoMidnight = threeDaysAgo.atStartOfDay();
 
@@ -213,11 +254,15 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
                                 .eq(StoreIncomeDetailsRecord::getStoreId, storeId)
                 );
         Double storeIncomeDetailsCount = 0d;
+        Double storeIncomeDetailsNoCashCount = 0d;
+
         for (StoreIncomeDetailsRecord storeIncomeDetailsRecord : storeIncomeDetailsRecords) {
+            if(storeIncomeDetailsRecord.getCashOutId() == null || storeIncomeDetailsRecord.getCashOutId() == 0){
+                storeIncomeDetailsNoCashCount += storeIncomeDetailsRecord.getMoney();
+            }
             storeIncomeDetailsCount += storeIncomeDetailsRecord.getMoney();
         }
 
-
         //存入已付款金额
         result.put("allOrderAmount", allOrderAmount.getAllOrderAmount());
         //存入总交易金额
@@ -226,15 +271,22 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
         result.put("orderTransactionNumber", orderTransactionNumber.getOrderTransactionNumber());
         //存入核验金额
         result.put("verificationAmount", verificationAmount.getVerificationAmount());
-
         //已提现金额
         result.put("totalWithdrawalAmount", totalWithdrawalAmount.getTotalWithdrawalAmount());
 
         //冻结金额
-        result.put("freezeAmounts", storeIncomeDetailsCount);
+        if(freeze == 0){
+            //冻结金额
+            result.put("freezeAmounts", 0);
+            //冻结待提现金额
+            result.put("unwithdrawnAmountsFrozen", 0);
+        } else {
+            //冻结金额
+            result.put("freezeAmounts", storeIncomeDetailsCount);
+            //冻结待提现金额
+            result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsNoCashCount);
 
-        //冻结待提现金额
-        result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsCount);
+        }
         return result;
     }