From ae9bfd2d66f68a553786ac78b12f4390e65e4e09 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期五, 24 十一月 2023 18:30:18 +0800
Subject: [PATCH] 后台bug修改

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java |  201 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 128 insertions(+), 73 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
index 006f64e..51a35a9 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -1,7 +1,6 @@
 package com.dsh.guns.modular.system.controller.system;
 
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.Md5Utils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -10,7 +9,6 @@
 import com.dsh.course.feignClient.account.AppUserClient;
 import com.dsh.course.feignClient.account.CityManagerClient;
 import com.dsh.course.feignClient.account.CoachClient;
-import com.dsh.course.feignClient.account.model.CityManager;
 import com.dsh.course.feignClient.account.model.Coach;
 import com.dsh.course.feignClient.account.model.TAppUser;
 import com.dsh.course.feignClient.course.CoursePackageClient;
@@ -18,7 +16,6 @@
 import com.dsh.course.feignClient.course.CoursePackagePaymentConfigClient;
 import com.dsh.course.feignClient.course.CoursePackageTypeClient;
 import com.dsh.course.feignClient.course.model.TCoursePackage;
-import com.dsh.course.feignClient.course.model.TCoursePackageType;
 import com.dsh.course.feignClient.other.BallClient;
 import com.dsh.course.feignClient.other.SiteClient;
 import com.dsh.course.feignClient.other.model.Site;
@@ -31,32 +28,17 @@
 import com.dsh.guns.modular.system.service.*;
 import com.dsh.guns.modular.system.util.HttpRequestUtil;
 import com.dsh.guns.modular.system.util.ResultUtil;
-import com.google.common.base.Ascii;
-import com.google.gson.JsonObject;
-import com.netflix.ribbon.proxy.annotation.Http;
-import com.sun.org.apache.xerces.internal.impl.io.ASCIIReader;
-import io.netty.util.AsciiString;
-import io.rong.util.HttpUtil;
-import io.swagger.models.auth.In;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.logging.log4j.util.Base64Util;
+
+import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.util.Base64Utils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
+
 import java.math.BigDecimal;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
+
 import java.time.LocalDate;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
@@ -100,6 +82,7 @@
     private CoursePackageClient coursePackageClient;
     @Autowired
     private AppUserClient appUserClient;
+
 
     @RequestMapping("/tolist")
     public String tolist(Model model) {
@@ -183,10 +166,18 @@
     @ResponseBody
     public ResultUtil confirm(@PathVariable("id") Integer id) {
 
+        SiteBooking byId = iSiteBookingService.getById(id);
+        String money = byId.getMoney();
+        // todo 这里手动支付 默认按照现金当作支付金额 后续可能要问下产品
+        String[] split = money.split(",");
+        Double aDouble = Double.valueOf(split[0]);
         System.out.println("============"+id);
         SiteBooking siteBooking = new SiteBooking();
+        siteBooking.setPayMoney(aDouble);
         siteBooking.setId(id);
         siteBooking.setStatus(1);
+        siteBooking.setPayType(4);
+        siteBooking.setPayUserId(UserExt.getUser().getId());
         iSiteBookingService.updateById(siteBooking);
 
         return new ResultUtil<>(0,0,"手动支付成功",null,null);
@@ -234,6 +225,7 @@
             , String zs, BigDecimal zsCoin, BigDecimal zsCash, String zsImage, BigDecimal zsInt, Integer zsId,Integer zsIId
             , String zs2, BigDecimal zs2Coin, BigDecimal zs2Cash, String zs2Image, BigDecimal zs2Int, Integer zs2Id,Integer zs2IId
             , String ly, BigDecimal lyCoin, BigDecimal lyCash, String lyImage, BigDecimal lyInt, Integer lyId,Integer lyIId
+                           ,String sutuName
 
     ) {
 
@@ -270,8 +262,27 @@
             game.setOperationId(0);
         }
         System.out.println("============"+game);
-        Integer gameId = ballClient.save(game);
 
+        // 添加sutu编号
+        HashMap<String, String> map3 = new HashMap<>();
+        // 添加sutu编号
+        // 添加门禁 红蓝方
+        TSite si = siteService.getById(site);
+        TStore st = storeService.getById(store);
+        map3.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+        map3.put("space_id", si.getId() + "");
+        map3.put("name", sutuName);
+        map3.put("city_code", "");
+        String s3 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map3);
+        System.out.println("---------------------------"+s3);
+        JSONObject jsonObject = new JSONObject(s3);
+        // 获取 data 字段的值
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        // 获取 sutu_id 字段的值
+        String sutuIdValue = dataObject.getString("sutu_id");
+        Integer sutuId = Integer.valueOf(sutuIdValue);
+        game.setSutuId(sutuId);
+        Integer gameId = ballClient.save(game);
 List<TGameConfig> gameConfigList = new ArrayList<>();
 
 
@@ -403,10 +414,25 @@
         gameConfigly.setIntegral(lyInt);
         gameConfigly.setOtherId(gameId);
         gameConfigList.add(gameConfigly);
+        HashMap<String, String> map1 = new HashMap<>();
+        HashMap<String, String> map2 = new HashMap<>();
+
+
+        map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+        map1.put("space_id", si.getId() + "");
+        map1.put("device_id", red);
+        map1.put("region_id", st.getId() + "");
+        // 添加门禁
+        String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
+        map2.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+        map2.put("space_id", si.getId() + "");
+        map2.put("device_id", blue);
+        map2.put("region_id", st.getId() + "");
+        // 添加门禁
+        String s2 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map2);
 
 
 
-System.out.println("---------------------------"+gameConfigList);
         ballClient.saveConfig( gameConfigList);
         return null;
     }
@@ -450,11 +476,9 @@
     private TGameConfigService gameConfigService;
     @RequestMapping("/pre_edit/{id}")
     public String pre_edit(@PathVariable("id") Integer id,Model model) {
-
         Game game = ballClient.queryGame(id);
-    System.out.println("---------game------"+game);
+        System.out.println("---------game------"+game);
         model.addAttribute("game",game);
-
         if (game.getOperationId() ==0){
             model.addAttribute("opId","平台");
             model.addAttribute("is","平台");
@@ -670,10 +694,7 @@
         Integer objectId = UserExt.getUser().getObjectId();
 
         String cityCode = null;
-        if(objectType == 2){//城市管理员
-            CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
-            cityCode = cityManager.getCityCode();
-        }
+
         List<Map<String, Object>> list = storeService.queryProvince(cityCode);
         model.addAttribute("province", list);
         Object code = list.get(0).get("code");
@@ -689,7 +710,16 @@
         List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", store.getId()).eq("state", 1));
         model.addAttribute("site", list3);
         model.addAttribute("objType", UserExt.getUser().getObjectType());
-
+        // 查询运营商下所有门店 所有场地
+        if (objectType == 2){
+            List<TStore> stores = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId));
+            model.addAttribute("store", stores);
+            // 门店ids
+            List<Integer> storeIds = stores.stream().map(TStore::getId).collect(Collectors.toList());
+            List<TSite> sites = siteService.list(new QueryWrapper<TSite>().in("storeId", storeIds));
+            model.addAttribute("site", sites);
+        }
+        model.addAttribute("objectType", objectType);
 
         return PREFIX+"yuyue_edit.html";
     }
@@ -723,7 +753,26 @@
             String convertedValue = s.substring(11);
             strings1.add(convertedValue);
         }
-
+        switch (book.getStatus()){
+            case 0:
+                model.addAttribute("state","待支付");
+                break;
+            case 1:
+                model.addAttribute("state","待核销");
+                break;
+            case 2:
+                model.addAttribute("state","已到店");
+                break;
+            case 3:
+                model.addAttribute("state","已完成");
+                break;
+            case 4:
+                model.addAttribute("state","已过期");
+                break;
+            case 5:
+                model.addAttribute("state","已取消");
+                break;
+        }
         System.out.println("========strings1====="+strings1);
 
 //时间段
@@ -793,35 +842,13 @@
         }
         System.out.println("-------------"+timeRanges);
         model.addAttribute("timeRanges",timeRanges);
-
         System.out.println("======timeRanges========"+timeRanges);
-
-
-
-
-
-
         Integer objectType = UserExt.getUser().getObjectType();
-        Integer objectId = UserExt.getUser().getObjectId();
-
-        String cityCode = null;
-        if(objectType == 2){//城市管理员
-            CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
-            cityCode = cityManager.getCityCode();
-        }
-        List<Map<String, Object>> list = storeService.queryProvince(cityCode);
-        model.addAttribute("province", list);
-        Object code = list.get(0).get("code");
-        List<Map<String, Object>> list1 = storeService.queryCity(code.toString(), cityCode);
-        model.addAttribute("city", list1);
-        String code1 = list1.get(0).get("code").toString();
-        List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", code1).eq("state", 1));
-        model.addAttribute("store", list2);
-        TStore store = list2.get(0);
-        List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", store.getId()).eq("state", 1));
-        model.addAttribute("site", list3);
-
-
+        model.addAttribute("province", book.getProvince());
+        model.addAttribute("city", book.getCity());
+        model.addAttribute("store",storeService.getById(book.getStoreId()).getName());
+        model.addAttribute("siteName",siteService.getById(book.getSiteId()).getName());
+        model.addAttribute("objectType", objectType);
         return PREFIX+"yuyue_info.html";
     }
 
@@ -847,10 +874,20 @@
             studentQeryDto.setStart(split[0]);
             studentQeryDto.setEnd(split[1]);
         }
-
-
-
-
+        // 如果当前登陆人是运营商 只查询该运营商下的课包的数据
+        if(UserExt.getUser().getObjectType() == 2){
+            // 先查询这个运营商下的所有门店ids
+            List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()))
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            // 根据门店ids 查询所有课包ids
+            List<TCoursePackage> tCoursePackages = new ArrayList<>();
+            for (Integer storeId : storeIds) {
+                List<TCoursePackage> coursePackageByStoreId = coursePackageClient.getCoursePackageByStoreId(storeId);
+                tCoursePackages.addAll(coursePackageByStoreId);
+            }
+            List<Integer> coursePackageByStoreIds = tCoursePackages.stream().distinct().map(TCoursePackage::getId).collect(Collectors.toList());
+            studentQeryDto.setCoursePackageIds(coursePackageByStoreIds);
+        }
         List<Map<String, Object>>  pays = coursePackageClient.getStudentTotal(studentQeryDto);
 
         System.out.println("=========getStudentTotal======="+pays);
@@ -869,14 +906,13 @@
             pacQueryDto.setStart(split[0]);
             pacQueryDto.setEnd(split[1]);
         }
-
-
-
-
+        if (UserExt.getUser().getObjectType() == 2){
+            List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()))
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            pacQueryDto.setStoreIds(storeIds);
+        }
         List<Map<String, Object>>  pays = coursePackageClient.bypac(pacQueryDto);
-
         System.out.println("=========getStudentTotal======="+pays);
-
         return pays;
     }
 
@@ -923,7 +959,24 @@
         }
         List<Map<String,Object>> orders =   ballClient.listorder(bookingQuery);
         System.out.println("=======ballQueryDto=========="+bookingQuery);
+        for (Map<String, Object> vo : orders) {
 
+
+            if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 1){
+                vo.put("payType","微信");
+            }else if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 2){
+                vo.put("payType","支付宝");
+            }else if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 3){
+                vo.put("payType","玩湃币");
+            }else if (vo.get("payType")!=null && Integer.parseInt(vo.get("payType").toString()) == 4){
+                if (vo.get("payUserId")!=null){
+                    User payUserId = userService.getById(Integer.parseInt(vo.get("payUserId").toString()));
+                    if(payUserId!=null){
+                        vo.put("payType","手动支付"+"-"+payUserId.getName());
+                    }
+                }
+            }
+        }
         return orders;
     }
 
@@ -976,7 +1029,8 @@
         List<String> strings = new ArrayList<>();
 
 //        List<SiteBooking> siteBookings = siteClient.listBooks(id);
-        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).like("times",date));
+        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>()
+                .eq("siteId", id).like("times",date));
 System.out.println("=======siteBookings======"+siteBookings);
         for (SiteBooking siteBooking : siteBookings) {
             String[] split = siteBooking.getTimes().split(";");
@@ -1088,7 +1142,6 @@
     public String yuyueadd(Model model) {
         Integer objectType = UserExt.getUser().getObjectType();
         Integer objectId = UserExt.getUser().getObjectId();
-
         String cityCode = null;
         if(objectType == 2){//城市管理员
             // 获取到这个运营商下面的所有门店
@@ -1138,12 +1191,12 @@
         siteBooking.setInsertTime(new Date());
         siteBooking.setState(1);
         siteBooking.setStatus(0);
+        siteBooking.setAddType(1);
         // 查询当前预约人是否是会员
         String phone = siteBooking.getPhone();
         String booker = siteBooking.getBooker();
         TAppUser appUserByPhone = appUserClient.getAppUserByPhone(phone);
         TStore byId1 = storeService.getById(siteBooking.getStoreId());
-
         if (appUserByPhone== null){
             // 则当前预约人不是会员 添加到会员表里
             TAppUser tAppUser = new TAppUser();
@@ -1159,6 +1212,8 @@
             tAppUser.setInsertTime(new Date());
             tAppUser.setPassword(MD5.md5("111111"));
             appUserClient.addAppUser1(tAppUser);
+            TAppUser appUserByPhone1 = appUserClient.getAppUserByPhone(phone);
+            siteBooking.setAppUserId(appUserByPhone1.getId());
         }else{
             siteBooking.setAppUserId(appUserByPhone.getId());
         }

--
Gitblit v1.7.1