puzhibing
2024-02-05 640ff18d2d7f4be02ddb7f8f75e899f05545eb98
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
@@ -66,7 +66,7 @@
        List<Details> list = new ArrayList<>();
        QueryWrapper<TCoursePackageDiscount> tCoursePackageDiscountQueryWrapper = new QueryWrapper<>();
        tCoursePackageDiscountQueryWrapper.eq("auditStatus", 2).eq("status",1);
        tCoursePackageDiscountQueryWrapper.eq("auditStatus", 2).eq("status", 1);
        List<TCoursePackageDiscount> tCoursePackageDiscounts = new ArrayList<>();
        int weekStr = LocalDateTimeUtils.getWeekStr();
        if (null == discountType || discountType == 1) {
@@ -75,7 +75,7 @@
            if (tCoursePackageDiscounts.size() > 0) {
                for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
                    TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
                    if (coursePackage.getState()==2){
                    if (coursePackage.getState() == 2) {
                        continue;
                    }
//                    判断预约人数是否已满
@@ -135,7 +135,7 @@
                        if (isWithinRange) {
                            // 判断当前日期是否在开始时间和结束时间范围内
                            if (isDateWithinRange(localTime, parse1, parse2)){
                            if (isDateWithinRange(localTime, parse1, parse2)) {
                                Details resde = new Details();
                                resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
@@ -149,7 +149,7 @@
                                resde.setDiscountPrice(cashPayment);
                                if (isWithinTimeRange) {
                                    resde.setStatus(1);
                                }else {
                                } else {
                                    resde.setStatus(2);
                                }
                                GetDistanceVo distanceVo = new GetDistanceVo();
@@ -158,8 +158,6 @@
                                distanceVo.setStoreId(coursePackage.getStoreId());
                                String s = sreClient.calculateDistance(distanceVo);
                                resde.setStoreDistance(s);
                                list.add(resde);
@@ -206,22 +204,22 @@
                    }
                }
            }
        }else {
        } else {
            tCoursePackageDiscountQueryWrapper.eq("type", 4);
            tCoursePackageDiscounts = this.baseMapper.selectList(tCoursePackageDiscountQueryWrapper);
            if (tCoursePackageDiscounts.size() > 0) {
                for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
                    TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
                    if (coursePackage.getState()==2){
                    if (coursePackage.getState() == 2) {
                        continue;
                    }
//                    判断预约人数是否已满
                    Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
                    Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
                            .eq("appUserId",appUserId )
                            .eq("status",1));
                    if (integer >= maxSubscribeNumber){
                            .eq("appUserId", appUserId)
                            .eq("status", 1));
                    if (integer >= maxSubscribeNumber) {
                        continue;
                    }
                    try {
@@ -289,7 +287,7 @@
                                resde.setOriginalPrice(paymentConfig.getCashPayment());
                                if (isWithinTimeRange) {
                                    resde.setStatus(1);
                                }else {
                                } else {
                                    resde.setStatus(2);
                                }
@@ -344,12 +342,12 @@
                }
            }
        }
        System.out.println("list"+list);
        System.out.println("list" + list);
        return list;
    }
    @Override
    public ExchangeCoursePackageResponse getWeekFreeCourseDetails(Integer coursePackageDiscountId,String lat,String lon) {
    public ExchangeCoursePackageResponse getWeekFreeCourseDetails(Integer coursePackageDiscountId, String lat, String lon) {
        ExchangeCoursePackageResponse packageResponse = new ExchangeCoursePackageResponse();
        TCoursePackageDiscount coursePackageDiscount = this.baseMapper.selectById(coursePackageDiscountId);
        Integer coursePackageId = coursePackageDiscount.getCoursePackageId();
@@ -364,7 +362,7 @@
//        packageResponse.setPayType(coursePackage.getPayType());
        if (coursePackage.getType()==2) {
        if (coursePackage.getType() == 2) {
            Date startTime = coursePackage.getStartTime();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
            String formattedDate = sdf.format(startTime);
@@ -372,15 +370,15 @@
            Date endTime = coursePackage.getEndTime();
            String formattedDate1 = sdf.format(endTime);
            packageResponse.setHoliTime(formattedDate +"-"+ formattedDate1);
            packageResponse.setHoliTime(formattedDate + "-" + formattedDate1);
        }
        Store store = sreClient.queryStoreById(coursePackage.getStoreId());
        packageResponse.setStoreNameAddr(store.getName() +"(" +store.getAddress()+")");
        packageResponse.setStoreNameAddr(store.getName() + "(" + store.getAddress() + ")");
        GetDistanceVo distanceVo = new GetDistanceVo();
        if(ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){
        if (ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)) {
            Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
            double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
            packageResponse.setDistance(wgs84);
@@ -393,38 +391,38 @@
//
//
//        packageResponse.setDistance(Double.valueOf(s));
        if (coursePackageDiscount.getType() == 1 || coursePackageDiscount.getType() == 2){
        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 ||coursePackageDiscount.getType() == 4){
        if (coursePackageDiscount.getType() == 3 || coursePackageDiscount.getType() == 4) {
            Double cashPayment = jsonObject.getDouble("cashPayment");
            if(ToolUtil.isNotEmpty(paymentConfig.getCashPayment()) && paymentConfig.getCashPayment()>0 && ToolUtil.isNotEmpty(paymentConfig.getPlayPaiCoin()) && paymentConfig.getPlayPaiCoin()>0 ){
            if (ToolUtil.isNotEmpty(paymentConfig.getCashPayment()) && paymentConfig.getCashPayment() > 0 && ToolUtil.isNotEmpty(paymentConfig.getPlayPaiCoin()) && paymentConfig.getPlayPaiCoin() > 0) {
                packageResponse.setPayType(3);
            }else if(ToolUtil.isNotEmpty(paymentConfig.getCashPayment()) && paymentConfig.getCashPayment()>0){
            } else if (ToolUtil.isNotEmpty(paymentConfig.getCashPayment()) && paymentConfig.getCashPayment() > 0) {
                packageResponse.setPayType(1);
            }else if( ToolUtil.isNotEmpty(paymentConfig.getPlayPaiCoin()) && paymentConfig.getPlayPaiCoin()>0 ){
            } else if (ToolUtil.isNotEmpty(paymentConfig.getPlayPaiCoin()) && paymentConfig.getPlayPaiCoin() > 0) {
                packageResponse.setPayType(2);
            }
            packageResponse.setClassHours(paymentConfig.getClassHours());
            packageResponse.setCostPrice(paymentConfig.getCashPayment());
            if (paymentConfig.getPlayPaiCoin()!=null) {
            if (paymentConfig.getPlayPaiCoin() != null) {
                packageResponse.setWanpaiGold(paymentConfig.getPlayPaiCoin());
            }
            if (cashPayment!=null) {
            if (cashPayment != null) {
                packageResponse.setDiscountPrice(cashPayment);
            }else {
            } else {
                packageResponse.setDiscountPrice(paymentConfig.getCashPayment());
//                packageResponse.setCostPrice(null);
            }
            Integer cashPayment1 = jsonObject.getInteger("hour");
            packageResponse.setFreeClassHours(cashPayment1);
        }else{
        } else {
            packageResponse.setClassHours(paymentConfig.getClassHours());
            Integer cashPayment = jsonObject.getInteger("hour");
@@ -433,7 +431,7 @@
            packageResponse.setCostPrice(paymentConfig.getCashPayment());
            TCoursePackageDiscount coursePackageDiscount1 = this.baseMapper.selectOne(new QueryWrapper<TCoursePackageDiscount>()
                    .eq("type", 1)
                    .eq("coursePackageId",coursePackage.getId()));
                    .eq("coursePackageId", coursePackage.getId()));
            String content = coursePackageDiscount1.getContent();
            JSONObject jsonObject1 = JSON.parseObject(content);
            Double vipPrice = jsonObject1.getDouble("num1");
@@ -441,12 +439,12 @@
            packageResponse.setWanpaiGold(paymentConfig.getPlayPaiCoin());
        }
        String[] split = coursePackage.getClassWeeks().split(";");
        if (split.length > 0){
        if (split.length > 0) {
            StringBuilder courWeeks = new StringBuilder("每");
            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());
@@ -457,9 +455,9 @@
        ArrayList<String> classTime = new ArrayList<>();
        String[] split4 = classStartTime.split(",");
        String[] split3 = classEndTime.split(",");
        if(ToolUtil.isNotEmpty(classStartTime)){
        if (ToolUtil.isNotEmpty(classStartTime)) {
            for (int i = 0; i < split4.length; i++) {
                String s = split4[i].substring(0,5) + "-" +  split3[i].substring(0,5);
                String s = split4[i].substring(0, 5) + "-" + split3[i].substring(0, 5);
                classTime.add(s);
            }
        }
@@ -467,11 +465,11 @@
        String classTimeAsString = String.join(" | ", classTime);
        packageResponse.setTime(classTimeAsString);
        return packageResponse;
    }
    @Override
    public List<DiscountList> queryDiscountListAudit(QueryDiscountList queryDiscountList) {
        Page<DiscountList> discountListPage = new Page<>(queryDiscountList.getOffset(), queryDiscountList.getLimit());
@@ -485,7 +483,7 @@
            List<TCoursePackageDiscount> tCoursePackageDiscounts = this.baseMapper
                    .selectList(new LambdaQueryWrapper<TCoursePackageDiscount>()
                            .eq(TCoursePackageDiscount::getCoursePackageId, discountList.getCourseId())
                            .ne(TCoursePackageDiscount::getAuditStatus,2)
                            .ne(TCoursePackageDiscount::getAuditStatus, 2)
                            .orderByAsc(TCoursePackageDiscount::getType));
//            long count = tCoursePackageDiscounts.stream()
//                    .filter(e -> e.getAuditStatus().equals(2)).count();
@@ -494,30 +492,31 @@
//            }else {
//                discountList.setStatus(1);
//            }
            String type="";
            String type = "";
            for (int i = 0; i < tCoursePackageDiscounts.size(); i++) {
                if(tCoursePackageDiscounts.get(i).getType()==1){
                if (tCoursePackageDiscounts.get(i).getType() == 1) {
                    type += "会员折扣、";
                }else if(tCoursePackageDiscounts.get(i).getType()==2){
                } else if (tCoursePackageDiscounts.get(i).getType() == 2) {
                    type += "续课优惠、";
                }else if(tCoursePackageDiscounts.get(i).getType()==3){
                } else if (tCoursePackageDiscounts.get(i).getType() == 3) {
                    type += "限时折扣、";
                }else if(tCoursePackageDiscounts.get(i).getType()==4){
                } else if (tCoursePackageDiscounts.get(i).getType() == 4) {
                    type += "赠送课时、";
                }
            }
            if(type.length()>0){
                type = type.substring(0,type.length()-1);
            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){
        if (ids.size() == 0) {
            ids.add(-1);
            queryDiscountList.setIds(ids);
        }
@@ -531,21 +530,20 @@
                                    discountList.getCourseId())
                            .orderByAsc(TCoursePackageDiscount::getType));
            String type="";
            String type = "";
            for (int i = 0; i < tCoursePackageDiscounts.size(); i++) {
                if(tCoursePackageDiscounts.get(i).getType()==1){
                if (tCoursePackageDiscounts.get(i).getType() == 1) {
                    type += "会员折扣、";
                }else if(tCoursePackageDiscounts.get(i).getType()==2){
                } else if (tCoursePackageDiscounts.get(i).getType() == 2) {
                    type += "续课优惠、";
                }
                else if(tCoursePackageDiscounts.get(i).getType()==3){
                } else if (tCoursePackageDiscounts.get(i).getType() == 3) {
                    type += "限时折扣、";
                }else if(tCoursePackageDiscounts.get(i).getType()==4){
                } else if (tCoursePackageDiscounts.get(i).getType() == 4) {
                    type += "赠送课时、";
                }
            }
            if(type.length()>0){
                type = type.substring(0,type.length()-1);
            if (type.length() > 0) {
                type = type.substring(0, type.length() - 1);
            }
            discountList.setType(type);
        }