From be8a63ba1e3f2e26f5cdefe519c37ad4cfd90435 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期日, 05 十一月 2023 09:45:11 +0800
Subject: [PATCH] 11.5

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java |   80 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 72 insertions(+), 8 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
index 1afed17..73db04d 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.course.feignClient.account.AppUserClient;
 import com.dsh.course.feignClient.account.CityManagerClient;
 import com.dsh.course.feignClient.account.StoreStaffClient;
@@ -12,13 +13,17 @@
 import com.dsh.course.feignClient.activity.model.BodySideAppointment;
 import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment;
 import com.dsh.course.feignClient.activity.model.QueryBodySideAppointmentVO;
+import com.dsh.course.feignClient.competition.CompetitionClient;
+import com.dsh.course.feignClient.competition.model.Competition;
+import com.dsh.course.feignClient.competition.model.ListQuery;
+import com.dsh.course.feignClient.course.CoursePackageClient;
+import com.dsh.course.feignClient.other.BallClient;
 import com.dsh.course.feignClient.other.StoreClient;
 import com.dsh.course.feignClient.other.model.SiteChangeStateVO;
 import com.dsh.guns.config.UserExt;
+import com.dsh.guns.modular.system.controller.util.MD5;
 import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.service.ICityService;
-import com.dsh.guns.modular.system.service.IRoleService;
-import com.dsh.guns.modular.system.service.IUserService;
+import com.dsh.guns.modular.system.service.*;
 import com.dsh.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -60,6 +65,17 @@
     private IRoleService roleService;
     @Autowired
     private StudentClient studentClient;
+    @Autowired
+    private IStoreService storeService;
+    @Autowired
+    private CompetitionClient competitionClient;
+    @Autowired
+    private ISiteBookingService siteBookingService;
+    @Autowired
+    private CoursePackageClient coursePackageClient;
+    @Autowired
+    private BallClient ballClient;
+
     /**
      * 跳转体测预约管理首页
      */
@@ -81,6 +97,9 @@
         Integer roleType = UserExt.getUser().getObjectType();
         List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
         List<User> sales = userService.list(new QueryWrapper<User>().eq("deptid", 2));
+        if(UserExt.getUser().getObjectType()==3){
+            sales = userService.list(new QueryWrapper<User>().eq("deptid", 2).eq("objectType",3).eq("objectId",UserExt.getUser().getObjectId()));
+        }
         model.addAttribute("list",list);
         model.addAttribute("roleType",roleType);
         model.addAttribute("sales",sales);
@@ -133,9 +152,12 @@
             SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
             String format3 = format2.format(data.getVipEndTime());
             model.addAttribute("vipEndTime",format3);
+        }else {
+            model.addAttribute("vipEndTime","");
+
         }
         if (data.getViplevelId()!=null){
-            // todo创建会员等级表
+            // todo 创建会员等级表
             model.addAttribute("level","黄金");
         }
         model.addAttribute("level","黄金");
@@ -151,14 +173,17 @@
     @RequestMapping("/listAll")
     @ResponseBody
     public List<QueryAppUserVO> listAll(String province, String city,String name,
-                                        String phone,Integer isVip, Integer salesmanUserName){
+                                        String phone,Integer isVip, String salesmanUserName){
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+
         QueryAppUser queryAppUser = new QueryAppUser();
         queryAppUser.setProvince(province);
         queryAppUser.setCity(city);
         queryAppUser.setName(name);
         queryAppUser.setPhone(phone);
         queryAppUser.setIsVip(isVip);
-        queryAppUser.setSalesmanUserId(salesmanUserName);
+//        queryAppUser.setSalesmanUser(salesmanUserName);
         if (province!=null && (!province.equals(""))){
             TCity p = cityService.getOne(new QueryWrapper<TCity>().eq("code", province));
             queryAppUser.setProvince(p.getName());
@@ -167,13 +192,51 @@
             TCity c = cityService.getOne(new QueryWrapper<TCity>().eq("code", city));
             queryAppUser.setCity(c.getName());
         }
-        Integer objectType = UserExt.getUser().getObjectType();
         queryAppUser.setInsertType(objectType);
         queryAppUser.setTypeId(UserExt.getUser().getObjectId());
         List<QueryAppUserVO> queryAppUserVOS = appUserClient.listAll(queryAppUser);
+        // 根据赛事支付记录
+
+        if (objectType == 2){
+            // 获取运营商下的所有门店id集合
+            List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId))
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            // 根据门店id集合查询 属于该运营商下的门店举办的赛事
+            ListQuery listQuery = new ListQuery();
+            listQuery.setIds(storeIds);
+            // 通过门店ids 获取赛事的支付记录 获取到用户的ids
+            List<Integer> list = competitionClient.getUserIds(listQuery);
+
+            // 获取场地预约记录 拿到用户ids
+            List<Integer> siteUsers = siteBookingService.list(new QueryWrapper<SiteBooking>().in("storeId", storeIds))
+                    .stream().map(SiteBooking::getAppUserId).collect(Collectors.toList());
+            // 获取课程购买记录 拿到用户ids
+            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
+            // 获取游戏记录 拿到用户ids
+            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
+            // 用户ids
+            List<Integer> users = new ArrayList<>();
+            users.addAll(list);
+            users.addAll(siteUsers);
+            users.addAll(cpUsers);
+            users.addAll(gameUsers);
+            // 去重后的用户id
+            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
+            List<QueryAppUserVO> queryAppUserVOS1 = new ArrayList<>();
+            for (QueryAppUserVO queryAppUserVO : queryAppUserVOS) {
+                if (collect.contains(queryAppUserVO.getId())){
+                    queryAppUserVOS1.add(queryAppUserVO);
+                }
+            }
+            queryAppUserVOS = queryAppUserVOS1;
+        }
+
         for (QueryAppUserVO queryAppUserVO : queryAppUserVOS) {
             if (queryAppUserVO.getSalesmanUserId()!=null){
-                queryAppUserVO.setSalesmanUserName(userService.getById(queryAppUserVO.getSalesmanUserId()).getName());
+                User byId = userService.getById(queryAppUserVO.getSalesmanUserId());
+                if (byId!=null){
+                    queryAppUserVO.setSalesmanUserName(byId.getName());
+                }
             }
         }
         if (salesmanUserName!=null && (!salesmanUserName.equals(""))){
@@ -200,6 +263,7 @@
     @ResponseBody
     public Object addAppUser(@RequestBody TAppUser appUser){
         Integer objectType = UserExt.getUser().getObjectType();
+        appUser.setPassword(MD5.md5("111111"));
         appUser.setInsertType(objectType);
         appUser.setAddUserId(UserExt.getUser().getObjectId());
         Object o = appUserClient.addAppUser1(appUser);

--
Gitblit v1.7.1