From 2d3b7304911a393e73ec0dd48712f22ddfa8053a Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期五, 19 四月 2024 17:55:11 +0800
Subject: [PATCH] 新增加功能

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java
index b3ecfe9..62416fd 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/RedEnvelopeController.java
@@ -1,12 +1,17 @@
 package com.stylefeng.guns.modular.api;
 
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
+import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
 import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
+import com.stylefeng.guns.modular.system.model.UserRedPacketRecord;
 import com.stylefeng.guns.modular.system.service.IUserInfoService;
 import com.stylefeng.guns.modular.system.service.IUserRedPacketRecordService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
+import com.stylefeng.guns.modular.system.warpper.MyRedEnvelope;
+import com.stylefeng.guns.modular.system.warpper.TravelRecordListWarpper;
 import com.stylefeng.guns.modular.system.warpper.TravelRecordWarpper;
 import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
 import io.swagger.annotations.Api;
@@ -20,9 +25,12 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Queue;
+import java.util.stream.Collectors;
 
 /**
  * 红包控制器
@@ -46,6 +54,9 @@
 
     @Autowired
     private IOrderCrossCityService orderCrossCityService;
+    
+    @Autowired
+    private IOrderLogisticsService orderLogisticsService;
 
 
     /**
@@ -57,13 +68,13 @@
      */
     @ResponseBody
     @PostMapping("/queryMyRedEnvelope")
-    @ApiOperation(value = "获取红包列表", tags = {"用户端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取红包列表【2.0】", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<BaseWarpper>> queryMyRedEnvelope(Integer pageNum, Integer size, HttpServletRequest request){
+    public ResultUtil<MyRedEnvelope> queryMyRedEnvelope(Integer pageNum, Integer size, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -76,9 +87,18 @@
                 baseWarpper.setId(null != map.get("id") ? Integer.valueOf(String.valueOf(map.get("id"))) : 0);
                 baseWarpper.setAmount(null != map.get("money") ? Double.valueOf(String.valueOf(map.get("money"))) : 0);
                 baseWarpper.setName(null != map.get("name") ? String.valueOf(map.get("name")) : "");
+                baseWarpper.setContent(null != map.get("insertTime") ? String.valueOf(map.get("insertTime")) : "");
                 baseWarppers.add(baseWarpper);
             }
-            return ResultUtil.success(baseWarppers);
+            MyRedEnvelope myRedEnvelope = new MyRedEnvelope();
+            myRedEnvelope.setList(baseWarppers);
+            List<UserRedPacketRecord> userRedPacketRecords = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>().eq("userId", uid).ne("state", 0));
+            List<Double> collect = userRedPacketRecords.stream().map(UserRedPacketRecord::getMoney).collect(Collectors.toList());
+            double sum = collect.stream().mapToDouble(Double::doubleValue).sum();
+            myRedEnvelope.setTotalAmount(sum);
+            double sum1 = userRedPacketRecords.stream().filter(v -> v.getRemainingAmount().compareTo(0D) > 0).map(UserRedPacketRecord::getRemainingAmount).mapToDouble(Double::doubleValue).sum();
+            myRedEnvelope.setRemainingAmount(sum1);
+            return ResultUtil.success(myRedEnvelope);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -95,13 +115,13 @@
      */
     @ResponseBody
     @PostMapping("/queryRedEnvelope")
-    @ApiOperation(value = "获取红包使用记录", tags = {"用户端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取红包使用记录【2.0】", tags = {"用户端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<TravelRecordWarpper>> queryRedEnvelope(Integer language, Integer pageNum, Integer size, HttpServletRequest request){
+    public ResultUtil<TravelRecordWarpper> queryRedEnvelope(Integer language, Integer pageNum, Integer size, HttpServletRequest request){
         try {
             Integer uid = userInfoService.getUserIdFormRedis(request);
             if(null == uid){
@@ -109,12 +129,18 @@
             }
             pageNum = (pageNum - 1) * size;
             List<Map<String, Object>> list = orderPrivateCarService.queryRedEnvelope(language, uid);//专车
-            List<Map<String, Object>> list1 = orderTaxiService.queryRedEnvelope(language, uid);//出租车
-            List<Map<String, Object>> list2 = orderCrossCityService.queryRedEnvelope(language, uid);//跨城
+//            List<Map<String, Object>> list1 = orderTaxiService.queryRedEnvelope(language, uid);//出租车
+//            List<Map<String, Object>> list2 = orderCrossCityService.queryRedEnvelope(language, uid);//跨城
+//            list.addAll(list1);
+//            list.addAll(list2);
+            List<Map<String, Object>> list1 = orderLogisticsService.queryRedEnvelope(language, uid);
             list.addAll(list1);
-            list.addAll(list2);
-
-            List<TravelRecordWarpper> orderWarpper = TravelRecordWarpper.getTravelRecordWarpper(list);
+    
+            List<TravelRecordListWarpper> orderWarpper = TravelRecordListWarpper.getTravelRecordWarpper(list);
+            BigDecimal toal = BigDecimal.ZERO;
+            for (TravelRecordListWarpper travelRecordListWarpper : orderWarpper) {
+                toal = toal.add(new BigDecimal(travelRecordListWarpper.getMoney()));
+            }
 
             //分页
             if(orderWarpper.size() >= (pageNum + 1) * size){
@@ -124,7 +150,10 @@
             }else{
                 orderWarpper = new ArrayList<>();
             }
-            return ResultUtil.success(orderWarpper);
+            TravelRecordWarpper travelRecordWarpper = new TravelRecordWarpper();
+            travelRecordWarpper.setList(orderWarpper);
+            travelRecordWarpper.setTotal(toal.doubleValue());
+            return ResultUtil.success(travelRecordWarpper);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();

--
Gitblit v1.7.1