From a6ef8f0dd977a30abd878f8e6106630b97d6e5b0 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期一, 10 七月 2023 16:49:14 +0800 Subject: [PATCH] 本周福利:接口开发 --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 89 insertions(+), 0 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 112efa9..3d92269 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 @@ -1,10 +1,25 @@ package com.dsh.course.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.course.entity.TCoursePackage; import com.dsh.course.entity.TCoursePackageDiscount; +import com.dsh.course.feignclient.other.StoreClient; +import com.dsh.course.feignclient.other.model.GetDistanceVo; import com.dsh.course.mapper.TCoursePackageDiscountMapper; +import com.dsh.course.mapper.TCoursePackageMapper; +import com.dsh.course.model.vo.response.WeekLimitedResponse; import com.dsh.course.service.TCoursePackageDiscountService; +import com.dsh.course.util.DateTimeHelper; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * <p> @@ -17,4 +32,78 @@ @Service public class TCoursePackageDiscountServiceImpl extends ServiceImpl<TCoursePackageDiscountMapper, TCoursePackageDiscount> implements TCoursePackageDiscountService { + + @Resource + private TCoursePackageMapper tcpMapper; + + + @Resource + private StoreClient sreClient; + + + @Override + public WeekLimitedResponse getWeeksBenefitCourse(Integer appUserId,Integer discountType,String lon,String lat) { + Date start = DateTimeHelper.getTodayTime(); + Date lastTime = DateTimeHelper.getWeekOfLastDay(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + WeekLimitedResponse response= new WeekLimitedResponse(); + List<WeekLimitedResponse.Details> list = new ArrayList<>(); + QueryWrapper<TCoursePackageDiscount> tCoursePackageDiscountQueryWrapper = new QueryWrapper<>(); + tCoursePackageDiscountQueryWrapper.eq("auditStatus",2 ); + List<TCoursePackageDiscount> tCoursePackageDiscounts = new ArrayList<>(); + if (null == discountType || discountType == 1){ + tCoursePackageDiscountQueryWrapper.eq("type",3); + response.setDiscountType(1); + tCoursePackageDiscounts = this.baseMapper.selectList(tCoursePackageDiscountQueryWrapper); + if (tCoursePackageDiscounts.size() > 0){ + for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) { + WeekLimitedResponse.Details ls = new WeekLimitedResponse.Details(); + + try { + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode rootNode = null; + rootNode = objectMapper.readTree(tCoursePackageDiscount.getContent()); + String courseHours = rootNode.get("courseHours").asText(); + String lifespanEnd = rootNode.get("lifespanEnd").asText(); + Date endTime = simpleDateFormat.parse(lifespanEnd); + if (endTime.compareTo(lastTime) < 0){ + continue; + } + TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId()); + GetDistanceVo distanceVo = new GetDistanceVo(); + distanceVo.setLatitude(lat); + distanceVo.setLongitude(lon); + distanceVo.setStoreId(coursePackage.getStoreId()); + ls.setStoreDistance(sreClient.calculateDistance(distanceVo)); + // TODO: 2023/7/10 限时折扣查询 + list.add(ls); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + }else { + tCoursePackageDiscountQueryWrapper.eq("type",4); + response.setDiscountType(2); + tCoursePackageDiscounts = this.baseMapper.selectList(tCoursePackageDiscountQueryWrapper); + if (tCoursePackageDiscounts.size() > 0){ + for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) { + try { + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode rootNode = null; + rootNode = objectMapper.readTree(tCoursePackageDiscount.getContent()); + String courseHours = rootNode.get("courseHours").asText(); + String lifespanStart = rootNode.get("lifespanStart").asText(); + String lifespanEnd = rootNode.get("lifespanEnd").asText(); + String classHours = rootNode.get("classHours").asText(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + + return response; + } } -- Gitblit v1.7.1