From ddbb38c54db9c3670e5ff53f4bf713525de1099d Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期二, 14 十一月 2023 09:12:10 +0800
Subject: [PATCH] 后台bug修改

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java |  130 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 96 insertions(+), 34 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
index 0838569..762f83f 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
@@ -3,7 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.course.entity.CoursePackagePaymentConfig;
 import com.dsh.course.entity.TCoursePackage;
@@ -16,6 +18,8 @@
 import com.dsh.course.mapper.TCoursePackageDiscountMapper;
 import com.dsh.course.mapper.TCoursePackageMapper;
 import com.dsh.course.mapper.TCoursePackagePaymentMapper;
+import com.dsh.course.model.DiscountList;
+import com.dsh.course.model.QueryDiscountList;
 import com.dsh.course.model.vo.response.Details;
 import com.dsh.course.model.vo.response.ExchangeCoursePackageResponse;
 import com.dsh.course.service.TCoursePackageDiscountService;
@@ -291,8 +295,8 @@
     public ExchangeCoursePackageResponse getWeekFreeCourseDetails(Integer coursePackageDiscountId,String lat,String lon) {
         ExchangeCoursePackageResponse packageResponse = new ExchangeCoursePackageResponse();
         TCoursePackageDiscount coursePackageDiscount = this.baseMapper.selectById(coursePackageDiscountId);
-        packageResponse.setCoursePackageDiscountId(coursePackageDiscount.getCoursePackageId());
         Integer coursePackageId = coursePackageDiscount.getCoursePackageId();
+        packageResponse.setCoursePackageDiscountId(coursePackageId);
 
         TCoursePackage coursePackage = tcpMapper.selectById(coursePackageId);
 
@@ -309,11 +313,13 @@
         distanceVo.setStoreId(coursePackage.getStoreId());
         String s = sreClient.calculateDistance(distanceVo);
         packageResponse.setDistance(Double.valueOf(s));
-
+        if (coursePackageDiscount.getType() == 1 || coursePackageDiscount.getType() == 2){
+            return packageResponse;
+        }
         JSONArray jsonArray = JSON.parseArray(coursePackageDiscount.getContent());
         JSONObject jsonObject = jsonArray.getJSONObject(0);
         CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(coursePackageDiscount.getCoursePackagePaymentConfigId());
-        if (coursePackageDiscount.getType() == 3){
+        if (coursePackageDiscount.getType() == 3 ||coursePackageDiscount.getType() == 4){
             Double cashPayment = jsonObject.getDouble("cashPayment");
             packageResponse.setClassHours(paymentConfig.getClassHours());
             packageResponse.setCostPrice(paymentConfig.getCashPayment());
@@ -334,37 +340,13 @@
             packageResponse.setDiscountPrice(vipPrice);
             packageResponse.setWanpaiGold(paymentConfig.getPlayPaiCoin());
         }
-        List<Integer> weeks = StrUtils.dealStrToList(coursePackage.getClassWeeks());
-        if (weeks.size() > 0){
+        String[] split = coursePackage.getClassWeeks().split(";");
+        if (split.length > 0){
             StringBuilder courWeeks = new StringBuilder("每");
-            for (Integer integer : weeks) {
-                switch (integer){
-                    case 1:
-                        courWeeks.append("周一、");
-                        break;
-                    case 2:
-                        courWeeks.append("周二、");
-                        break;
-                    case 3:
-                        courWeeks.append("周三、");
-                        break;
-                    case 4:
-                        courWeeks.append("周四、");
-                        break;
-                    case 5:
-                        courWeeks.append("周五、");
-                        break;
-                    case 6:
-                        courWeeks.append("周六、");
-                        break;
-                    case 7:
-                        courWeeks.append("周末、");
-                        break;
-                    default:
-                        break;
-                }
+            for (String integer : split) {
+                courWeeks.append(integer).append("、");
             }
-            if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == ','){
+            if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){
                 courWeeks.deleteCharAt(courWeeks.length() - 1);
             }
             packageResponse.setWeekTime(courWeeks.toString());
@@ -373,8 +355,88 @@
 
         return packageResponse;
     }
-
-
+    @Override
+    public List<DiscountList> queryDiscountListAudit(QueryDiscountList queryDiscountList) {
+        Page<DiscountList> discountListPage = new Page<>(queryDiscountList.getOffset(), queryDiscountList.getLimit());
+        List<DiscountList> discountLists = this.baseMapper.queryDiscountListAudit(discountListPage,
+                queryDiscountList.getPCode(),
+                queryDiscountList.getCCode(),
+                queryDiscountList.getName(),
+                queryDiscountList.getType(),
+                queryDiscountList.getIds());
+        for (DiscountList discountList : discountLists) {
+            List<TCoursePackageDiscount> tCoursePackageDiscounts = this.baseMapper
+                    .selectList(new LambdaQueryWrapper<TCoursePackageDiscount>()
+                            .eq(TCoursePackageDiscount::getCoursePackageId, discountList.getCourseId())
+                            .ne(TCoursePackageDiscount::getAuditStatus,2)
+                            .orderByAsc(TCoursePackageDiscount::getType));
+//            long count = tCoursePackageDiscounts.stream()
+//                    .filter(e -> e.getAuditStatus().equals(2)).count();
+//            if(count>0){
+//                discountList.setStatus(2);
+//            }else {
+//                discountList.setStatus(1);
+//            }
+            String type="";
+            for (int i = 0; i < tCoursePackageDiscounts.size(); i++) {
+                if(tCoursePackageDiscounts.get(i).getType()==1){
+                    type += "会员折扣、";
+                }else if(tCoursePackageDiscounts.get(i).getType()==2){
+                    type += "续课优惠、";
+                }else if(tCoursePackageDiscounts.get(i).getType()==3){
+                    type += "限时折扣、";
+                }else if(tCoursePackageDiscounts.get(i).getType()==4){
+                    type += "赠送课时、";
+                }
+            }
+            if(type.length()>0){
+                type = type.substring(0,type.length()-1);
+            }
+            discountList.setType(type);
+        }
+        return discountLists;
+    }
+    @Override
+    public List<DiscountList> queryDiscountList(QueryDiscountList queryDiscountList) {
+        Page<DiscountList> discountListPage = new Page<>(queryDiscountList.getOffset(), queryDiscountList.getLimit());
+        List<Integer> ids = queryDiscountList.getIds();
+        if(ids.size()==0){
+            ids.add(-1);
+            queryDiscountList.setIds(ids);
+        }
+        List<DiscountList> discountLists = this.baseMapper.queryDiscountList(discountListPage, queryDiscountList.getPCode(), queryDiscountList.getCCode(), queryDiscountList.getName(), queryDiscountList.getType(), queryDiscountList.getIds());
+        for (DiscountList discountList : discountLists) {
+            List<TCoursePackageDiscount> tCoursePackageDiscounts = this.baseMapper.selectList
+                    (new LambdaQueryWrapper<TCoursePackageDiscount>()
+                            .eq(TCoursePackageDiscount::getCoursePackageId,
+                                    discountList.getCourseId())
+                            .orderByAsc(TCoursePackageDiscount::getType));
+            long count = tCoursePackageDiscounts.stream().count();
+            if(count>0){
+                discountList.setStatus(2);
+            }else {
+                discountList.setStatus(1);
+            }
+            String type="";
+            for (int i = 0; i < tCoursePackageDiscounts.size(); i++) {
+                if(tCoursePackageDiscounts.get(i).getType()==1){
+                    type += "会员折扣、";
+                }else if(tCoursePackageDiscounts.get(i).getType()==2){
+                    type += "续课优惠、";
+                }
+                else if(tCoursePackageDiscounts.get(i).getType()==3){
+                    type += "限时折扣、";
+                }else if(tCoursePackageDiscounts.get(i).getType()==4){
+                    type += "赠送课时、";
+                }
+            }
+            if(type.length()>0){
+                type = type.substring(0,type.length()-1);
+            }
+            discountList.setType(type);
+        }
+        return discountLists;
+    }
 
     private static boolean isDateWithinRange(Date date, Date startTime, Date endTime) {
         return date.after(startTime) && date.before(endTime);

--
Gitblit v1.7.1