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