From 2ae7a4e20b7ecfd8e0d7411778cce1b7d013dae4 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 19 八月 2025 21:21:16 +0800
Subject: [PATCH] 账户余额

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/OrderRideServiceImpl.java |  136 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 135 insertions(+), 1 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/OrderRideServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/OrderRideServiceImpl.java
index 3912c9d..4c26c55 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/OrderRideServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/OrderRideServiceImpl.java
@@ -1,14 +1,25 @@
 package com.stylefeng.guns.modular.shunfeng.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.shunfeng.dao.OrderRideMapper;
 import com.stylefeng.guns.modular.shunfeng.model.OrderRide;
 import com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideInfoVo;
 import com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideVo;
 import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService;
+import com.stylefeng.guns.modular.system.dao.UserActivityDiscount1Mapper;
+import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
+import com.stylefeng.guns.modular.system.service.IUserRedPacketRecordService;
+import com.stylefeng.guns.modular.system.warpper.PreferentialDataVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -34,4 +45,127 @@
     public OrderRideInfoVo getOrderInfo(OrderRideInfoVo orderRideInfoVo) {
         return this.baseMapper.getOrderInfo(orderRideInfoVo);
     }
+
+    @Override
+    public List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) {
+        pageNum = (pageNum - 1) * size;
+        List<Map<String, Object>> maps = this.baseMapper.queryMyOrderList(uid, pageNum, size);
+        return maps;
+    }
+
+    @Autowired
+    private IUserInfoService userInfoService;
+
+    @Autowired
+    private IUserCouponRecordService userCouponRecordService;
+
+    @Autowired
+    private IUserRedPacketRecordService userRedPacketRecordService;
+
+    @Resource
+    private UserActivityDiscount1Mapper userActivityDiscount1Mapper;
+
+    @Override
+    public PreferentialDataVo queryBalance1(Integer orderId, Integer uid) {
+        UserInfo userInfo = userInfoService.selectById(uid);
+        PreferentialDataVo preferentialDataVo = new PreferentialDataVo();
+        preferentialDataVo.setBalance(userInfo.getBalance());
+//        OrderRide orderCrossCity = this.selectById(orderId);
+//        Integer ids = userInfoService.getDiscount();
+//        if (ids != null) {
+//            List<UserActivityDiscount1> userActivityId = userActivityDiscount1Mapper.selectList(new EntityWrapper<UserActivityDiscount1>().eq("userActivityId", ids));
+//            if (userActivityId.size() > 0) {
+//
+//                preferentialDataVo.setDiscount(userActivityId.get(0).getLogistics());
+//            }
+//        }
+//        // 查出当前用户的红包 并将订单的修改
+//        List<UserRedPacketRecord> userRedPacketRecords = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>().eq("userId", uid).eq("state", 1).le("money", orderCrossCity.getOrderMoney()).gt("expirationTime", new Date()).gt("endTime", new Date()));
+//        if (userRedPacketRecords.size() > 0) {
+//
+//            preferentialDataVo.setRedPacket(userRedPacketRecords.get(0).getMoney());
+//            orderCrossCity.setRedPacketId(userRedPacketRecords.get(0).getId());
+//            orderCrossCity.setRedPacketMoney(userRedPacketRecords.get(0).getMoney());
+//            this.updateById(orderCrossCity);
+//        }
+//
+//        //获取优惠券中最优数据
+//        List<UserCouponRecord> list = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>().eq("companyId", orderCrossCity.getCompanyId()).eq("state", 1).le("money", orderCrossCity.getOrderMoney()).in("couponUseType", Arrays.asList(0, 3)).eq("userId", uid).where("now() < expirationTime"));
+//        Integer id = null;
+//        Double price = 0d;
+//        Integer type = 0;
+//        for (UserCouponRecord userCouponRecord : list) {
+//            if (userCouponRecord.getCouponType() == 1) {//抵扣券
+//                if (price.compareTo(userCouponRecord.getMoney()) < 0) {
+//                    price = userCouponRecord.getMoney();
+//                    id = userCouponRecord.getId();
+//                    type = 1;
+//                }
+//            } else {//满减券
+//                if (orderCrossCity.getOrderMoney().compareTo(userCouponRecord.getFullMoney()) >= 0 && price.compareTo(userCouponRecord.getMoney()) < 0) {
+//                    price = userCouponRecord.getMoney();
+//                    id = userCouponRecord.getId();
+//                    type = 1;
+//                }
+//            }
+//        }
+//
+//        //获取打车卡中最优数
+//        Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
+//        CompanyCity companyCity = companyCityService.selectOne(new EntityWrapper<CompanyCity>().eq("companyId", orderCrossCity.getCompanyId()).eq("areaCode", geocode.get("districtCode")).eq("state", 1));
+//        if (null == companyCity) {
+//            companyCity = companyCityService.selectOne(new EntityWrapper<CompanyCity>().eq("companyId", orderCrossCity.getCompanyId()).eq("cityCode", geocode.get("cityCode")).eq("state", 1));
+//        }
+//        if (null == companyCity) {
+//            companyCity = companyCityService.selectOne(new EntityWrapper<CompanyCity>().eq("companyId", orderCrossCity.getCompanyId()).eq("provinceCode", geocode.get("provinceCode")).eq("state", 1));
+//        }
+//        List<UserTaxiCard> userTaxiCards = new ArrayList<>();
+//        if (companyCity != null) {
+//            userTaxiCards = userTaxiCardService.selectList(new EntityWrapper<UserTaxiCard>().like("companyCityId", "%" + companyCity.getId() + "%")
+//                    .in("type", Arrays.asList(1, 2, 3, 4)).eq("userId", uid).where("now() between startTime and endTime"));
+//        }
+//
+//        //全国卡
+//        List<TaxiCard> taxiCards = taxiCardService.selectList(new EntityWrapper<TaxiCard>().eq("taxiCardType", 2).in("type", Arrays.asList(1, 2, 3, 4)).eq("state", 1));
+//        if (taxiCards.size() > 0) {
+//            List<UserTaxiCard> userTaxiCards2 = userTaxiCardService.selectList(new EntityWrapper<UserTaxiCard>().eq("userId", uid)
+//                    .in("type", Arrays.asList(1, 2, 3, 4)).in("taxiCardId", taxiCards.stream().map(TaxiCard::getId).collect(Collectors.toList())).where("now() between startTime and endTime"));
+//            userTaxiCards.addAll(userTaxiCards2);
+//        }
+//        Map<String, Object> map = getOptimalTaxiCards(orderCrossCity, price, id, type, userTaxiCards);
+//        price = Double.valueOf(map.get("price").toString());
+//        id = null != map.get("id") ? Integer.valueOf(map.get("id").toString()) : null;
+//        type = Integer.valueOf(map.get("type").toString());
+//
+//
+//        //亲密账户
+//        List<UserTaxiCard> userTaxiCards_ = new ArrayList<>();
+//        List<UserUser> bindUserId = userUserService.selectList(new EntityWrapper<UserUser>().eq("bindUserId", uid));
+//        CompanyCity finalCompanyCity = companyCity;
+//        bindUserId.forEach(userUser -> {
+//            if (finalCompanyCity != null) {
+//                List<UserTaxiCard> userTaxiCards1 = userTaxiCardService.selectList(new EntityWrapper<UserTaxiCard>().in("type", Arrays.asList(1, 2, 3, 4))
+//                        .like("companyCityId", "%" + finalCompanyCity.getId() + "%").eq("userId", userUser.getUserId()).where("now() between startTime and endTime"));
+//                userTaxiCards_.addAll(userTaxiCards1);
+//            }
+//
+//            //全国卡
+//            if (taxiCards.size() > 0) {
+//                List<UserTaxiCard> userTaxiCards2 = userTaxiCardService.selectList(new EntityWrapper<UserTaxiCard>().eq("userId", userUser.getUserId())
+//                        .in("type", Arrays.asList(1, 2, 3, 4)).in("taxiCardId", taxiCards.stream().map(TaxiCard::getId).collect(Collectors.toList())).where("now() between startTime and endTime"));
+//                userTaxiCards_.addAll(userTaxiCards2);
+//            }
+//        });
+//        map = getOptimalTaxiCards(orderCrossCity, price, id, type, userTaxiCards_);
+//        price = Double.valueOf(map.get("price").toString());
+//        id = null != map.get("id") ? Integer.valueOf(map.get("id").toString()) : null;
+//        type = Integer.valueOf(map.get("type").toString());
+//
+//        if (price <= orderCrossCity.getOrderMoney() || type == 2) {
+//            preferentialDataVo.setObjectId(id);
+//            preferentialDataVo.setDiscountAmount(price);
+//            preferentialDataVo.setType(type);
+//        }
+        return preferentialDataVo;
+    }
 }

--
Gitblit v1.7.1