From 39c58fe1a0469b99bd5ef0a24f6b254693826a18 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 24 二月 2023 10:01:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java
index db2eab3..2e10b03 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java
@@ -3,13 +3,17 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.log.LogObjectHolder;
+import com.stylefeng.guns.modular.system.controller.resp.TAppUserResp;
 import com.stylefeng.guns.modular.system.controller.util.ExcelUtil;
 import com.stylefeng.guns.modular.system.enums.CouponStatusEnum;
+import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
 import com.stylefeng.guns.modular.system.exports.TAppUserExceptionExport;
 import com.stylefeng.guns.modular.system.model.TAppUser;
 import com.stylefeng.guns.modular.system.model.TCoupon;
+import com.stylefeng.guns.modular.system.model.TOrder;
 import com.stylefeng.guns.modular.system.service.ITAppUserService;
 import com.stylefeng.guns.modular.system.service.ITCouponService;
+import com.stylefeng.guns.modular.system.service.ITOrderService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -18,10 +22,12 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.OutputStream;
+import java.math.BigDecimal;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -46,6 +52,8 @@
     private ITAppUserService tAppUserService;
     @Autowired
     private ITCouponService tCouponService;
+    @Autowired
+    private ITOrderService tOrderService;
 
     /**
      * 跳转到首页
@@ -139,7 +147,6 @@
     @RequestMapping("/userDetail")
     public String userDetail(Integer tAppUserId, Model model) {
         tAppUserService.detail(tAppUserId,model);
-
         return PREFIX + "tAppUserDetail.html";
     }
 
@@ -164,7 +171,30 @@
         EntityWrapper<TAppUser> wrapper = tAppUserService.getUserListWrapper(createTime,nickname,phone,id,status);
         // 是否异常
         wrapper.eq("is_exception",2);
-        return tAppUserService.selectList(wrapper);
+        List<TAppUser> tAppUsers = tAppUserService.selectList(wrapper);
+        List<TAppUserResp> tAppUserRespList = new ArrayList<>(tAppUsers.size());
+        for (TAppUser tAppUser : tAppUsers) {
+            TAppUserResp tAppUserResp = new TAppUserResp();
+            BeanUtils.copyProperties(tAppUser,tAppUserResp);
+            List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUser.getId()));
+            List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList());
+            tAppUserResp.setCouponSum(tCoupons.size());
+            tAppUserResp.setNotUsedCount(notUsedList.size());
+            List<TOrder> orders = tOrderService.selectList(new EntityWrapper<TOrder>().eq("userId", tAppUser.getId()).orderBy(true,"createTime",false));
+            if(!CollectionUtils.isEmpty(orders)){
+                List<TOrder> collect1 = orders.stream().filter(order->Objects.nonNull(order.getState()))
+                        .filter(order -> OrderStateEnum.WAIT_EVALUATED.getCode() == order.getState() ||
+                                OrderStateEnum.FINISH.getCode() == order.getState()).collect(Collectors.toList());
+                if(!CollectionUtils.isEmpty(collect1)) {
+                    tAppUserResp.setConsumeSum(collect1.size());
+                    // 总消费金额
+                    collect1.stream().map(TOrder::getPayMoney).reduce(BigDecimal::add)
+                            .ifPresent(tAppUserResp::setConsumePrice);
+                }
+            }
+            tAppUserRespList.add(tAppUserResp);
+        }
+        return tAppUserRespList;
     }
 
 

--
Gitblit v1.7.1