From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java | 1285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,267 insertions(+), 18 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
index b5b907d..3d9f9a1 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
@@ -1,21 +1,39 @@
 package com.dsh.guns.modular.system.controller.code;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+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.course.CoursePackageTypeClient;
-import com.dsh.course.feignClient.course.model.TCoursePackageType;
-import com.dsh.guns.modular.system.service.ICoursePackageService;
-import com.dsh.guns.modular.system.service.IStoreService;
+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.CoachSerchVO;
+import com.dsh.course.feignClient.course.*;
+import com.dsh.course.feignClient.course.model.*;
+import com.dsh.course.feignClient.other.model.Site;
+import com.dsh.guns.config.UserExt;
+import com.dsh.guns.core.base.controller.BaseController;
+import com.dsh.guns.core.util.ToolUtil;
+import com.dsh.guns.modular.system.model.*;
+import com.dsh.guns.modular.system.model.dto.SelectDto;
+import com.dsh.guns.modular.system.service.*;
+import com.dsh.guns.modular.system.util.ResultUtil;
+import io.swagger.models.auth.In;
+import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.util.List;
-import java.util.Map;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -23,7 +41,7 @@
  */
 @Controller
 @RequestMapping("/coursePackage")
-public class TCoursePackageController {
+public class TCoursePackageController extends BaseController {
 
     private String PREFIX = "/system/coursePackage/";
 
@@ -36,10 +54,51 @@
     @Autowired
     private IStoreService storeService;
 
+    @Resource
+    private CityManagerClient cityManagerClient;
+
+    @Autowired
+    private ITSiteService siteService;
+
+    @Resource
+    private CoachClient coachClient;
+
+    @Resource
+    private CoursePackagePaymentConfigClient coursePackagePaymentConfigClient;
+
+    @Resource
+    private CoursePackageDiscountClient coursePackageDiscountClient;
+
+    @Resource
+    private CoursePackageClient coursePackageClient;
+
+    @Autowired
+    private TOperatorService tOperatorService;
+    @Autowired
+    private TOperatorCityService tOperatorCityService;
 
 
-
-
+    /**
+     * 根据门店获取课程
+     */
+    @ResponseBody
+    @RequestMapping("/getCoursePackageByStoreId")
+    public List<TCoursePackageType> getCoursePackageByStoreId(Integer storeId){
+        List<TCoursePackage> list = coursePackageClient.getCoursePackageByStoreId(storeId);
+        List<Integer> ids = new ArrayList<>();
+        for (TCoursePackage tCoursePackage : list) {
+            ids.add(tCoursePackage.getCoursePackageTypeId());
+        }
+        return coursePackageTypeClient.getByCourseIds(ids);
+    }
+    /**
+     * 根据课包类型获取课包
+     */
+    @ResponseBody
+    @RequestMapping("/getCoursePackageByType")
+    public List<TCoursePackage> getCoursePackageByType(Integer storeId,Integer typeId){
+        return coursePackageClient.getCoursePackageByType(typeId,storeId);
+    }
     /**
      * 跳转到列表页
      * @param model
@@ -47,12 +106,617 @@
      */
     @GetMapping("/openCoursePackageListPage")
     public String openCoursePackageListPage(Model model){
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
         List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
         model.addAttribute("coursePackageType", tCoursePackageTypes);
-        List<Map<String, Object>> list = storeService.queryProvince();
+        String cityCode = null;
+        if(objectType == 2){//城市管理员
+            CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
+            if (cityManager!=null){
+                cityCode = cityManager.getCityCode();
+            }
+        }
+        List<Map<String, Object>> list = storeService.queryProvince(cityCode);
         model.addAttribute("province", list);
+        model.addAttribute("objectType", objectType);
         return PREFIX + "coursePackage.html";
     }
+
+
+    /**
+     * 跳转到添加页
+     * @param model
+     * @return
+     */
+    @Autowired
+    private ICityService cityService;
+    @GetMapping("/openAddCoursePackage")
+    public String openAddCoursePackage(Model model,Integer type){
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
+        model.addAttribute("coursePackageType", tCoursePackageTypes);
+        String cityCode = "";
+        if(objectType == 2){//城市管理员
+            // 获取到这个运营商下面的所有门店
+            List<TStore> operatorId = storeService.list(new QueryWrapper<TStore>().eq("operatorId",objectId));
+            model.addAttribute("store", operatorId);
+            List<Coach> coach = coachClient.queryCoachByOperatorId(objectId);
+            model.addAttribute("coach", coach);
+            // 如果该运营商下面没有门店
+            if (operatorId.size()==0){
+                List<TStore> o = new ArrayList<>();
+                List<TSite> tSites = new ArrayList<>();
+                model.addAttribute("store", o);
+                model.addAttribute("site", tSites);
+            }else{
+                List<TSite> storeId = siteService.list(new QueryWrapper<TSite>()
+                        .eq("storeId", operatorId.get(0).getId()));
+                model.addAttribute("site", storeId);
+            }
+        }else{
+            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);
+
+
+            List<Coach> coaches = coachClient.queryCoachByOperatorId(objectId);
+            model.addAttribute("coach", coaches);
+            System.out.println("========type========"+type);
+        }
+        model.addAttribute("objectType",objectType);
+        model.addAttribute("type",type);
+//        if (type ==1){
+//            return PREFIX + "coursePackage_edit.html";
+//        }
+        return PREFIX + "coursePackage_add.html";
+    }
+
+
+    /**
+     * 跳转到编辑页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/openEditCoursePackage")
+    public String openEditCoursePackage(Model model, Integer id){
+        TCoursePackage tCoursePackage = coursePackageService.queryById(id);
+        model.addAttribute("item", tCoursePackage);
+        model.addAttribute("type", tCoursePackage.getType());
+
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("objectType",objectType);
+
+        String classStartTime = tCoursePackage.getClassStartTime();
+        String classEndTime = tCoursePackage.getClassEndTime();
+
+        if (tCoursePackage.getStartTime()!=null) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            String dateString = sdf.format(tCoursePackage.getStartTime());
+            String dateString1 = sdf.format(tCoursePackage.getEndTime());
+            model.addAttribute("holi", dateString + " - " + dateString1);
+        }
+        String[] split1 = classStartTime.split(",");
+        String[] split2 = classEndTime.split(",");
+
+        List<String> listtime = new ArrayList<>();
+
+        for (int i = 0; i < split1.length; i++) {
+            String o = split1[i]+"-"+split2[i];
+            listtime.add(o);
+        }
+
+
+        model.addAttribute("time1",listtime.remove(0));
+        if (listtime.size()!=0) {
+            model.addAttribute("times", listtime);
+        }
+
+
+
+
+        model.addAttribute("classTime", tCoursePackage.getClassStartTime() + ":00 - " + tCoursePackage.getClassEndTime() + ":00");
+        String[] split = tCoursePackage.getClassWeeks().split(";");
+        List<String> list5 = Arrays.asList("周一", "周二", "周三", "周四", "周五", "周六", "周日");
+        List<Map<String, Object>> classWeeks = new ArrayList<>();
+        for (String s : list5) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("value", s);
+            map.put("checked", false);
+            for (String s1 : split) {
+                if(s.equals(s1)){
+                    map.put("checked", true);
+                }
+            }
+            classWeeks.add(map);
+        }
+        model.addAttribute("classWeeks", classWeeks);
+        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
+        model.addAttribute("coursePackageType", tCoursePackageTypes);
+        String cityCode = tCoursePackage.getCityCode();
+        String provinceCode = tCoursePackage.getProvinceCode();
+        List<Map<String, Object>> list = storeService.queryProvince(cityCode);
+        model.addAttribute("province", list);
+        List<Map<String, Object>> list1 = storeService.queryCity(provinceCode, cityCode);
+        model.addAttribute("city", list1);
+        List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", cityCode).eq("state", 1));
+        model.addAttribute("store", list2);
+        List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", tCoursePackage.getStoreId()).eq("state", 1));
+        model.addAttribute("site", list3);
+        if (UserExt.getUser().getObjectType() == 2){
+            List<Coach> coaches = coachClient.queryCoachByOperatorId(UserExt.getUser().getObjectId());
+            model.addAttribute("coach", coaches);
+        }else{
+            CoachQuery coachQuery = new CoachQuery();
+            coachQuery.setProvince(tCoursePackage.getProvince());
+            coachQuery.setCity(tCoursePackage.getCity());
+            List<CoachSerchVO> coachSerchVOS = coachClient.listAll(coachQuery);
+            model.addAttribute("coach",coachSerchVOS);
+        }
+
+
+        List<CoursePackagePaymentConfig> list4 = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id);
+
+
+        System.out.println("========couponIds=========>"+list4.get(0).getCouponIds());
+
+        model.addAttribute("cashPayment", list4.get(0).getCashPayment() == 0 ? false : true);
+        model.addAttribute("playPaiCoin", list4.get(0).getPlayPaiCoin() == 0 ? false : true);
+
+        model.addAttribute("couponIds", list4.get(0).getCouponIds());
+        model.addAttribute("coursePackagePaymentConfig", list4.remove(0));
+        for (int i = 0; i < list4.size(); i++) {
+            list4.get(i).setId(i+2);
+        }
+
+        model.addAttribute("coursePackagePaymentConfigs", list4);
+        model.addAttribute("index", 1);
+                if (list4.size()!=0) {
+        CoursePackagePaymentConfig coursePackagePaymentConfig = list4.get(0);
+
+            model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
+            model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);
+            System.out.println("=========coursePackagePaymentConfig=============>" + coursePackagePaymentConfig);
+//        model.addAttribute("couponIds", "3,2");
+        }
+
+
+           Integer able  =  coursePackageClient.queryAble(id);
+
+        model.addAttribute("able",able);
+
+        return PREFIX + "coursePackage_edit.html";
+    }
+
+
+    /**
+     * 跳转详情页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/showCoursePackageDetails")
+    public String showCoursePackageDetails(Model model, Integer id){
+        TCoursePackage tCoursePackage = coursePackageService.queryById(id);
+        model.addAttribute("item", tCoursePackage);
+        model.addAttribute("type", tCoursePackage.getType());
+
+        String classStartTime = tCoursePackage.getClassStartTime();
+        String classEndTime = tCoursePackage.getClassEndTime();
+
+        if (tCoursePackage.getStartTime()!=null) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            String dateString = sdf.format(tCoursePackage.getStartTime());
+            String dateString1 = sdf.format(tCoursePackage.getEndTime());
+            model.addAttribute("holi", dateString + " - " + dateString1);
+        }
+        String[] split1 = classStartTime.split(",");
+        String[] split2 = classEndTime.split(",");
+
+        List<String> listtime = new ArrayList<>();
+
+        for (int i = 0; i < split1.length; i++) {
+            String o = split1[i]+"-"+split2[i];
+            listtime.add(o);
+        }
+
+
+        model.addAttribute("time1",listtime.remove(0));
+        if (listtime.size()!=0) {
+            model.addAttribute("times", listtime);
+        }
+
+
+
+
+        model.addAttribute("classTime", tCoursePackage.getClassStartTime() + ":00 - " + tCoursePackage.getClassEndTime() + ":00");
+        String[] split = tCoursePackage.getClassWeeks().split(";");
+        List<String> list5 = Arrays.asList("周一", "周二", "周三", "周四", "周五", "周六", "周日");
+        List<Map<String, Object>> classWeeks = new ArrayList<>();
+        for (String s : list5) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("value", s);
+            map.put("checked", false);
+            for (String s1 : split) {
+                if(s.equals(s1)){
+                    map.put("checked", true);
+                }
+            }
+            classWeeks.add(map);
+        }
+        model.addAttribute("classWeeks", classWeeks);
+        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
+        model.addAttribute("coursePackageType", tCoursePackageTypes);
+        String cityCode = tCoursePackage.getCityCode();
+        String provinceCode = tCoursePackage.getProvinceCode();
+        List<Map<String, Object>> list = storeService.queryProvince(cityCode);
+        model.addAttribute("province", list);
+        List<Map<String, Object>> list1 = storeService.queryCity(provinceCode, cityCode);
+        model.addAttribute("city", list1);
+        List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", cityCode).eq("state", 1));
+        model.addAttribute("store", list2);
+        List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", tCoursePackage.getStoreId()).eq("state", 1));
+        model.addAttribute("site", list3);
+        List<Coach> coaches = coachClient.queryCoachByCity(cityCode);
+        model.addAttribute("coach", coaches);
+        List<CoursePackagePaymentConfig> list4 = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id);
+
+
+        System.out.println("========couponIds=========>"+list4.get(0).getCouponIds());
+
+        model.addAttribute("cashPayment", list4.get(0).getCashPayment() == 0 ? false : true);
+        model.addAttribute("playPaiCoin", list4.get(0).getPlayPaiCoin() == 0 ? false : true);
+
+        model.addAttribute("couponIds", list4.get(0).getCouponIds());
+        model.addAttribute("coursePackagePaymentConfig", list4.remove(0));
+        for (int i = 0; i < list4.size(); i++) {
+            list4.get(i).setId(i+2);
+        }
+
+        model.addAttribute("coursePackagePaymentConfigs", list4);
+        model.addAttribute("index", 1);
+        if (list4.size()!=0) {
+            CoursePackagePaymentConfig coursePackagePaymentConfig = list4.get(0);
+
+            model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
+            model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);
+            System.out.println("=========coursePackagePaymentConfig=============>" + coursePackagePaymentConfig);
+//        model.addAttribute("couponIds", "3,2");
+        }
+
+        return PREFIX + "coursePackage_info.html";
+    }
+
+
+    /**
+     * 跳转到折扣页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/showCoursePackageDiscount")
+    public String showCoursePackageDiscount(Model model, Integer id){
+        TCoursePackage tCoursePackage = coursePackageService.queryById(id);
+        model.addAttribute("item", tCoursePackage);
+        List<CoursePackagePaymentConfig> list4 = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id);
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (CoursePackagePaymentConfig coursePackagePaymentConfig : list4) {
+            if(coursePackagePaymentConfig.getCashPayment() == 0){
+                continue;
+            }
+            Map<String, Object> map = new HashMap<>();
+            map.put("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId());
+            map.put("classHours", coursePackagePaymentConfig.getClassHours());
+            String payment = "";
+            if(coursePackagePaymentConfig.getCashPayment() > 0){
+                payment += "现金支付";
+            }
+            if(coursePackagePaymentConfig.getPlayPaiCoin() > 0){
+                payment += (ToolUtil.isNotEmpty(payment) ? "、" : "") + "玩湃币支付";
+            }
+            map.put("payment",  payment);
+            map.put("cashPayment", coursePackagePaymentConfig.getCashPayment());
+            List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryCoursePackageDiscount(coursePackagePaymentConfig.getId());
+            map.put("coursePackageDiscount", tCoursePackageDiscounts);
+            list.add(map);
+        }
+        model.addAttribute("role",UserExt.getUser().getObjectType());
+        model.addAttribute("type",tCoursePackage.getType());
+        List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryByCoursePackageId1(tCoursePackage.getId());
+        if (tCoursePackageDiscounts.size()>0){
+            TCoursePackageDiscount tCoursePackageDiscount = tCoursePackageDiscounts.get(0);
+            model.addAttribute("audit",tCoursePackageDiscount.getAuditStatus());
+            StringBuilder stringBuilder = new StringBuilder(" ");
+            // 如果折扣未通过
+            if (tCoursePackageDiscount.getAuditStatus() == 3){
+                model.addAttribute("state","未通过");
+                for (TCoursePackageDiscount coursePackageDiscount : tCoursePackageDiscounts) {
+                    stringBuilder.append(coursePackageDiscount.getAuditRemark()+",");
+                }
+                if (!stringBuilder.equals("")){
+                    String string = stringBuilder.toString();
+                    String substring = string.substring(0, string.length() - 1);
+                    model.addAttribute("reasons",substring);
+                }else{
+                    model.addAttribute("reasons",stringBuilder);
+                }
+            }else{
+                model.addAttribute("reasons",stringBuilder);
+            }
+            if(tCoursePackageDiscount.getAuditStatus() == 2){
+                model.addAttribute("state","已通过");
+            }
+            if (tCoursePackageDiscount.getAuditStatus() == 1){
+                model.addAttribute("state","待审核");
+            }
+        }else{
+            model.addAttribute("audit",2);
+            model.addAttribute("state",0);
+            model.addAttribute("reasons","");
+        }
+
+        model.addAttribute("coursePackagePaymentConfig", JSON.toJSONString(list));
+        return PREFIX + "coursePackageDiscount.html";
+    }
+
+    /**
+     * 跳转到报名列表页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/conpun/{id}")
+    public String conpun(@PathVariable Integer id,Model model){
+        model.addAttribute("index",id);
+        return PREFIX + "TCoupon.html";
+    }
+
+    @GetMapping("/conpun1/{id}")
+    public String conpun1(Model model,@PathVariable Integer id,String conpunids){
+        System.out.println("=====model=======conpunids======"+conpunids);
+        model.addAttribute("index",id);
+
+        model.addAttribute("conpund",conpunids);
+
+        if (conpunids!=null){
+            return PREFIX + "TCoupon1.html";
+        }
+
+        return PREFIX + "TCoupon.html";
+    }
+
+    /**
+     * 跳转到优惠券选择表页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/registrationRecord")
+    public String registrationRecord(Model model, Integer id,Integer type){
+        TCoursePackage tCoursePackage = coursePackageService.queryById(id);
+        model.addAttribute("item", tCoursePackage);
+        model.addAttribute("type", type);
+        if (type ==1){
+        return PREFIX + "registrationRecord.html";}
+        if (type == 2){
+            return PREFIX + "registrationRecord2.html";
+        }
+        if (type == 3){
+            return PREFIX + "registrationRecord3.html";
+        }
+        return "registrationRecord.html";
+    }
+
+
+    @Resource
+    @Autowired CoursePackagePaymentClient packagePaymentClient;
+
+    /**
+     * 跳转到上课记录列表页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/openClassRecord")
+    public String openClassRecord(Model model, Integer id){
+        TCoursePackage tCoursePackage = coursePackageClient.queryById(id);
+        String[] start = tCoursePackage.getClassStartTime().split(",");
+        String[] end = tCoursePackage.getClassEndTime().split(",");
+        Integer counts = packagePaymentClient.queryByClassId(id);
+
+
+        List<String> strings = new ArrayList<>();
+        for (int i = 0; i <start.length ; i++) {
+            String outTime = start[i] +"-" +end[0];
+            strings.add(outTime);
+        }
+
+        TStore store = storeService.getById(tCoursePackage.getStoreId());
+        Coach coach = coachClient.queryCoachById(tCoursePackage.getCoachId());
+        model.addAttribute("item", tCoursePackage);
+        model.addAttribute("store", store);
+        model.addAttribute("coach", coach);
+        model.addAttribute("times", strings);
+        model.addAttribute("counts", counts);
+
+
+        return PREFIX + "classRecord.html";
+    }
+
+    /**
+     * 假期跳转到上课记录列表页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/openClassRecord1")
+    public String openClassRecord1(Model model, Integer id){
+        TCoursePackage tCoursePackage = coursePackageClient.queryById(id);
+        String[] start = tCoursePackage.getClassStartTime().split(",");
+        String[] end = tCoursePackage.getClassEndTime().split(",");
+        Integer counts = packagePaymentClient.queryByClassId(id);
+
+
+        List<String> strings = new ArrayList<>();
+        for (int i = 0; i <start.length ; i++) {
+            String outTime = start[i] +"-" +end[0];
+            strings.add(outTime);
+        }
+
+        TStore store = storeService.getById(tCoursePackage.getStoreId());
+        Coach coach = coachClient.queryCoachById(tCoursePackage.getCoachId());
+        model.addAttribute("item", tCoursePackage);
+        model.addAttribute("store", store);
+        model.addAttribute("coach", coach);
+        model.addAttribute("times", strings);
+        model.addAttribute("counts", counts);
+
+        return PREFIX + "classRecord2.html";
+    }
+
+
+    /**
+     * 跳转到查看学员列表
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/openCoursePackageStudent")
+    public String openCoursePackageStudent(Model model, Long id){
+        model.addAttribute("id", id);
+        return PREFIX + "coursePackageStudent.html";
+    }
+
+
+    /**
+     * 跳转到手动预约列表
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/openManualReservation")
+    public String openManualReservation(Model model, Long id){
+        model.addAttribute("id", id);
+        return PREFIX + "manualReservation.html";
+    }
+
+
+    /**
+     * 跳转到课包审核列表页
+     * @return
+     */
+    @GetMapping("/examineCoursePackage")
+    public String examineCoursePackage(Model model){
+        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
+        model.addAttribute("coursePackageType", tCoursePackageTypes);
+        List<Map<String, Object>> list = storeService.queryProvince(null);
+        model.addAttribute("province", list);
+        return PREFIX + "examineCoursePackage.html";
+    }
+
+
+    @GetMapping("/queryProvince")
+    @ResponseBody
+    public List<Map<String, Object>> queryProvince(){
+
+        List<Map<String, Object>> list = storeService.queryProvince(null);
+
+        return list;
+    }
+
+
+    /**
+     * 跳转到审核详情页
+     * @param model
+     * @param id
+     * @return
+     */
+    @GetMapping("/showExamineCoursePackageDetails")
+    public String showExamineCoursePackageDetails(Model model, Integer id){
+        TCoursePackage tCoursePackage = coursePackageService.queryById(id);
+        model.addAttribute("item", tCoursePackage);
+        System.out.println("============"+ tCoursePackage.getAuditStatus());
+            model.addAttribute("auditStatus", tCoursePackage.getAuditStatus());
+
+        model.addAttribute("authRemark", tCoursePackage.getAuthRemark());
+        String classStartTime = tCoursePackage.getClassStartTime();
+        String classEndTime = tCoursePackage.getClassEndTime();
+        if (tCoursePackage.getStartTime()!=null) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            String dateString = sdf.format(tCoursePackage.getStartTime());
+            String dateString1 = sdf.format(tCoursePackage.getEndTime());
+            model.addAttribute("holi", dateString + " - " + dateString1);
+        }
+        String[] split1 = classStartTime.split(",");
+        String[] split2 = classEndTime.split(",");
+
+        List<String> listtime = new ArrayList<>();
+
+        for (int i = 0; i < split1.length; i++) {
+            String o = split1[i]+"-"+split2[i];
+            listtime.add(o);
+        }
+
+
+        model.addAttribute("time1",listtime.remove(0));
+        if (listtime.size()!=0) {
+            model.addAttribute("times", listtime);
+        }
+        model.addAttribute("classTime",
+                tCoursePackage.getClassStartTime() + ":00 - "
+                        + tCoursePackage.getClassEndTime() + ":00");
+        String[] split = tCoursePackage.getClassWeeks().split(";");
+        List<String> list5 = Arrays.asList("周一", "周二", "周三", "周四", "周五", "周六", "周日");
+        List<Map<String, Object>> classWeeks = new ArrayList<>();
+        for (String s : list5) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("value", s);
+            map.put("checked", false);
+            for (String s1 : split) {
+                if(s.equals(s1)){
+                    map.put("checked", true);
+                }
+            }
+            classWeeks.add(map);
+        }
+        model.addAttribute("classWeeks", classWeeks);
+        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
+        model.addAttribute("coursePackageType", tCoursePackageTypes);
+        String cityCode = tCoursePackage.getCityCode();
+        String provinceCode = tCoursePackage.getProvinceCode();
+        List<Map<String, Object>> list = storeService.queryProvince(cityCode);
+        model.addAttribute("province", list);
+        List<Map<String, Object>> list1 = storeService.queryCity(provinceCode, cityCode);
+        model.addAttribute("city", list1);
+        List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", cityCode).eq("state", 1));
+        model.addAttribute("store", list2);
+        List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", tCoursePackage.getStoreId()).eq("state", 1));
+        model.addAttribute("site", list3);
+        List<Coach> coaches = coachClient.queryCoachByCity(cityCode);
+        model.addAttribute("coach", coaches);
+        List<CoursePackagePaymentConfig> list4 = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id);
+        if(list4.size()!=0){
+            CoursePackagePaymentConfig coursePackagePaymentConfig = list4.get(0);
+            model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
+            model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);}
+        model.addAttribute("coursePackagePaymentConfig", list4.remove(0));
+        model.addAttribute("coursePackagePaymentConfigs", list4);
+        Integer type = tCoursePackage.getType();
+        model.addAttribute("type",type);
+        return PREFIX + "examineCoursePackage_info.html";
+    }
+
+
 
 
     /**
@@ -62,9 +726,201 @@
      */
     @ResponseBody
     @PostMapping("/queryCity")
-    public List<Map<String, Object>> queryCity(Integer code){
-        return storeService.queryCity(code);
+    public List<Map<String, Object>> queryCity(String code){
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        String cityCode = null;
+        if(objectType == 2){//城市管理员
+            CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
+            cityCode = cityManager.getCityCode();
+        }
+        System.out.println("======="+storeService.queryCity(code, cityCode));
+        return storeService.queryCity(code, cityCode);
     }
+
+
+    @ResponseBody
+    @PostMapping("/queryCity1/{code}")
+    public ResultUtil queryCity1(@PathVariable("code") String code){
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        String cityCode = null;
+//        if(objectType == 2){//城市管理员
+//            CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
+//            cityCode = cityManager.getCityCode();
+//        }
+        System.out.println("======="+storeService.queryCity(code, cityCode));
+//        return storeService.queryCity(code, cityCode);
+        return new ResultUtil(0,null,null,storeService.queryCity(code, cityCode),null);
+    }
+
+    @ResponseBody
+    @PostMapping("/queryCity3")
+    public ResultUtil queryCity3(){
+
+        System.out.println("======="+storeService.queryCity1());
+//        return storeService.queryCity(code, cityCode);
+        return new ResultUtil(0,null,null,storeService.queryCity1(),null);
+    }
+
+
+    @ResponseBody
+    @PostMapping("/queryCity1/")
+    public ResultUtil queryCity2(){
+
+        return new ResultUtil(0,null,null,null,null);
+    }
+
+    /**
+     * 根据城市code获取门店
+     * @param cityCode
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/queryStore")
+    public List<TStore> queryStore(String cityCode){
+        List<TStore> list = storeService.list(new QueryWrapper<TStore>().eq("cityCode", cityCode).eq("state", 1));
+        System.out.println("====list="+list);
+        return list;
+    }
+
+
+    @ResponseBody
+    @PostMapping("/queryStore1/{cityCode}")
+    public ResultUtil queryStore1(@PathVariable("cityCode") String cityCode){
+        List<TStore> list = storeService.list(new QueryWrapper<TStore>().select("id","name").eq("cityCode", cityCode).eq("state", 1));
+//        Map<String,Integer> map = new LinkedHashMap<>();
+        List<SelectDto>  selectDtos = new ArrayList<>();
+        Map<String,Integer> map = new HashMap<>();
+//        for (TStore store : list) {
+//            SelectDto selectDto = new SelectDto();
+//            selectDto.setId(Long.valueOf(store.getId()));
+//            selectDto.setValue(store.getName());
+//               selectDtos.add(selectDto);
+//
+//        }
+//        map.put("options",selectDtos);
+
+        return new ResultUtil(0,0,null,list,null);
+    }
+
+    @ResponseBody
+    @PostMapping("/queryStore3")
+    public ResultUtil queryStore3(){
+        List<TStore> list = storeService.list(new QueryWrapper<TStore>().select("id","name").eq("state", 1));
+//        Map<String,Integer> map = new LinkedHashMap<>();
+        List<SelectDto>  selectDtos = new ArrayList<>();
+        Map<String,Integer> map = new HashMap<>();
+//        for (TStore store : list) {
+//            SelectDto selectDto = new SelectDto();
+//            selectDto.setId(Long.valueOf(store.getId()));
+//            selectDto.setValue(store.getName());
+//               selectDtos.add(selectDto);
+//
+//        }
+//        map.put("options",selectDtos);
+
+        return new ResultUtil(0,0,null,list,null);
+    }
+
+
+    @ResponseBody
+    @PostMapping("/queryStore1/")
+    public ResultUtil queryStore2(){
+//        List<TStore> list = storeService.list(new QueryWrapper<TStore>().select("id","name").eq("cityCode", cityCode).eq("state", 1));
+////        Map<String,Integer> map = new LinkedHashMap<>();
+//        List<SelectDto>  selectDtos = new ArrayList<>();
+//        Map<String,Integer> map = new HashMap<>();
+////        for (TStore store : list) {
+//            SelectDto selectDto = new SelectDto();
+//            selectDto.setId(Long.valueOf(store.getId()));
+//            selectDto.setValue(store.getName());
+//               selectDtos.add(selectDto);
+//
+//        }
+//        map.put("options",selectDtos);
+
+        return new ResultUtil(0,0,null,null,null);
+    }
+
+
+    /**
+     * 根据门店id获取场地
+     * @param storeId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/querySite/{id}")
+    public List<TSite> querySite(@PathVariable("id") Integer storeId){
+        System.out.println("==storeId==="+storeId);
+        List<TSite> list = siteService.list(new QueryWrapper<TSite>().select("id","name").eq("storeId", storeId).eq("state", 1));
+        return list;
+    }
+    /**
+     * 根据门店id获取场地
+     * @param storeId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/querySite1")
+    public List<TSite> querySite1(Integer storeId,Integer type){
+        List<TSite> list = new ArrayList<>();
+        if (type==1){
+            list = siteService.list(new QueryWrapper<TSite>()
+                    .select("id","name")
+                    .eq("storeId", storeId)
+                    .eq("state", 1)
+                    .eq("ishalf",type));
+        }else{
+            list = siteService.list(new QueryWrapper<TSite>()
+                    .select("id","name")
+                    .eq("storeId", storeId)
+                    .eq("state", 1)
+                    );
+        }
+
+        return list;
+    }
+
+
+    /**
+     * 根据门店id获取场地
+     * @param storeId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/querySite")
+    public List<TSite> querySite4(Integer storeId){
+        System.out.println("==storeId==="+storeId);
+        List<TSite> list = siteService.list(new QueryWrapper<TSite>().select("id","name").eq("storeId", storeId).eq("state", 1));
+        return list;
+    }
+
+
+
+//    @ResponseBody
+//    @PostMapping("/querySite")
+//    public List<TSite> querySite2(){
+//        return null;
+//    }
+
+    @ResponseBody
+    @PostMapping("/querySite/")
+    public ResultUtil querySite1(){
+         return new ResultUtil(0,0,null,null,null);
+    }
+    /**
+     * 获取城市教练
+     * @param cityCode
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/queryCoach")
+    public List<Coach> queryCoach(String cityCode){
+        List<Coach> coaches = coachClient.queryCoachByCity(cityCode);
+        return coaches;
+    }
+
 
 
     /**
@@ -80,8 +936,401 @@
     @ResponseBody
     @PostMapping("/queryCoursePackageLists")
     public Object queryCoursePackageLists(String provinceCode, String cityCode, Integer coursePackageTypeId, String name, Integer status, Integer state){
-        Page<Map<String, Object>> mapPage = coursePackageService.queryCoursePackageLists(provinceCode, cityCode, coursePackageTypeId, name, status, state);
-        return mapPage;
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        Integer storeId = null;
+        List<Integer> storeIds = new ArrayList<>();
+
+        if(objectType == 2){// 城市管理员
+//            CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
+//            provinceCode = cityManager.getProvinceCode();
+//            cityCode = cityManager.getCityCode();
+            // 获取运营商下的门店ids
+            List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId))
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            storeIds = operatorId;
+        }
+        if(objectType == 3) {// 门店
+            storeIds.add(objectId);
+        }
+        Page<Map<String, Object>> mapPage = coursePackageService.queryCoursePackageLists(provinceCode,
+                cityCode, coursePackageTypeId, storeIds, name, status, state);
+        return super.packForBT(mapPage);
     }
 
+
+    /**
+     * 添加课包数据
+     * @param coursePackage
+     * @param coursePackagePaymentConfig
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/addCoursePackage")
+    public ResultUtil addCoursePackage(TCoursePackage coursePackage,
+                                       String coursePackagePaymentConfig) throws ParseException {
+        String classStartTime = coursePackage.getClassStartTime();
+//        String classEndTime = coursePackage.getClassEndTime();
+        Date startDate = null;
+        Date endDate =null ;
+
+
+        String holitime = coursePackage.getHolitime();
+        if (holitime!=null&&holitime!="") {
+            String[] dateParts = holitime.split(" - ");
+            String startDateString = dateParts[0];
+            String endDateString = dateParts[1];
+
+            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            startDate = dateFormat.parse(startDateString);
+            endDate = dateFormat.parse(endDateString);
+            if (coursePackage.getType() == 2){
+                startDate.setHours(0);
+                startDate.setMinutes(0);
+                startDate.setSeconds(0);
+                endDate.setHours(23);
+                endDate.setMinutes(59);
+                endDate.setSeconds(59);
+            }
+        }
+
+
+        System.out.println("=======getClassStartTime============"+classStartTime);
+        String startTime = coursePackage.getClassStartTime();
+        JSONArray jsonArray = JSON.parseArray(startTime);
+        System.out.println("=======jsonArray==========="+jsonArray);
+
+            List<String> first = new ArrayList<>();
+            List<String> second = new ArrayList<>();
+        for (int i = 0; i < jsonArray.size(); i++) {
+//            JSONObject jsonObject = JSON.parseObject(jsonArray.getString(i));
+
+            String jsonString = jsonArray.getString(i);
+            String[] split = jsonString.split(" - ");
+            first.add(split[0]);
+            if (split.length>1) {
+                second.add(split[1]);
+            }
+        }
+        String firstString = String.join(",",first);
+        String secondString = String.join(",",second);
+        System.out.println("=========firstString========>"+firstString);
+
+        System.out.println("=========secondString========>"+secondString);
+ //        classStartTime = classStartTime.substring(0, classStartTime.lastIndexOf(":"));
+//        classEndTime = classEndTime.substring(0, classEndTime.lastIndexOf(":"));
+
+        coursePackage.setStartTime(startDate);
+        coursePackage.setEndTime(endDate);
+
+        coursePackage.setClassStartTime(firstString);
+        coursePackage.setClassEndTime(secondString);
+        coursePackage.setStatus(1);
+        coursePackage.setState(1);
+        if (UserExt.getUser().getObjectType() == 1){
+            coursePackage.setAuditStatus(2);
+        }else{
+            coursePackage.setAuditStatus(1);
+        }
+        coursePackage.setInsertTime(new Date());
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+
+        if (objectType==2){
+            Integer storeId = coursePackage.getStoreId();
+            TStore store = storeService.getOne(new QueryWrapper<TStore>().eq("id", storeId));
+            coursePackage.setProvince(store.getProvince());
+            coursePackage.setProvinceCode(store.getProvinceCode());
+            coursePackage.setCity(store.getCity());
+            coursePackage.setCityCode(store.getCityCode());
+            coursePackage.setAuditStatus(1);
+        }
+
+
+        // 详情多图片
+//        String substring = coursePackage.getDetailDrawing().substring(0, coursePackage.getDetailDrawing().length() - 1);
+//        coursePackage.setDetailDrawing(substring);
+        coursePackageService.addCoursePackage(coursePackage, coursePackagePaymentConfig);
+        return ResultUtil.success();
+    }
+
+
+    /**
+     * 修改数据
+     * @param coursePackage
+     * @param coursePackagePaymentConfig
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/updateCoursePackage")
+    public ResultUtil updateCoursePackage(TCoursePackage coursePackage, String coursePackagePaymentConfig){
+//        System.out.println("=======getClassStartTime============"+classStartTime);
+        String startTime = coursePackage.getClassStartTime();
+        String s = startTime.replaceAll(" ", "");
+
+        JSONArray jsonArray = JSON.parseArray(s);
+        System.out.println("=======jsonArray==========="+jsonArray);
+
+        List<String> first = new ArrayList<>();
+        List<String> second = new ArrayList<>();
+        for (int i = 0; i < jsonArray.size(); i++) {
+//          JSONObject jsonObject = JSON.parseObject(jsonArray.getString(i));
+
+            String jsonString = jsonArray.getString(i);
+            String[] split = jsonString.split("-");
+            System.out.println("============"+split);
+            if (split.length>1){
+            first.add(split[0]);
+            second.add(split[1]);}
+
+        }
+        String firstString = String.join(",",first);
+        String secondString = String.join(",",second);
+        System.out.println("=========firstString========>"+firstString);
+
+        System.out.println("=========secondString========>"+secondString);
+//        String classStartTime = coursePackage.getClassStartTime();
+//        String classEndTime = coursePackage.getClassEndTime();
+//        classStartTime = classStartTime.substring(0, classStartTime.lastIndexOf(":"));
+//        classEndTime = classEndTime.substring(0, classEndTime.lastIndexOf(":"));
+        coursePackage.setClassStartTime(firstString);
+        coursePackage.setClassEndTime(secondString);
+        coursePackage.setAuditStatus(2);
+        if (UserExt.getUser().getObjectType() != 1){
+            coursePackage.setAuditStatus(1);
+        }
+        coursePackageService.updateCoursePackage(coursePackage, coursePackagePaymentConfig);
+        return ResultUtil.success();
+    }
+
+
+    /**
+     * 修改数据状态
+     * @param id
+     * @param state
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/editCoursePackageState")
+    public ResultUtil editCoursePackageState(Integer id, Integer state){
+        TCoursePackage coursePackage = new TCoursePackage();
+        coursePackage.setId(id);
+        coursePackage.setState(state);
+        coursePackageService.editCoursePackageState(coursePackage);
+        return ResultUtil.success();
+    }
+
+
+    @ResponseBody
+    @PostMapping("/editCoursePackageState1")
+    public ResultUtil editCoursePackageState1(Integer id, Integer state){
+        TCoursePackage coursePackage = new TCoursePackage();
+        coursePackage.setId(id);
+        coursePackage.setState(state);
+        coursePackageService.editCoursePackageState(coursePackage);
+        return ResultUtil.success();
+    }
+
+    /**
+     * 编辑课包折扣
+     * @param json
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/setCoursePackageDiscount")
+    public ResultUtil setCoursePackageDiscount(Integer id, String json){
+        return coursePackageService.setCoursePackageDiscount(id, json);
+    }
+
+
+    /**
+     * 获取课包报名信息列表
+     * @param id
+     * @param userName
+     * @param studentName
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/queryRegistrationRecord")
+    public Object queryRegistrationRecord(Integer id, String userName, String studentName){
+        Page<Map<String, Object>> mapPage = coursePackageService.queryRegistrationRecord(id, userName, studentName);
+        return super.packForBT(mapPage);
+    }
+
+
+    /**
+     * 获取课包排课数据
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/queryClassRecord")
+    public Object queryClassRecord(Integer id){
+        Page<Map<String, Object>> page = coursePackageService.queryCoursePackageSchedulingList(id);
+        return super.packForBT(page);
+    }
+
+
+    /**
+     * 根据排课id获取学员预约数据列表
+     * @param id
+     * @param userName
+     * @param studentName
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/queryCoursePackageStudentList")
+    public Object queryCoursePackageStudentList(Long id, String userName, String studentName){
+        Page<Map<String, Object>> page = coursePackageService.queryCoursePackageStudentList(id, userName, studentName);
+        return super.packForBT(page);
+    }
+
+
+    /**
+     * 取消预约
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/cancelReservation")
+    public ResultUtil cancelReservation(Long id){
+        return coursePackageService.cancelReservation(id);
+    }
+
+
+    /**
+     * 修改缺席状态
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/setAbsenceStatus")
+    public ResultUtil setAbsenceStatus(Long id){
+        return coursePackageService.setAbsenceStatus(id);
+    }
+
+
+    /**
+     * 取消排课记录
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/cancelClassSchedule")
+    public ResultUtil cancelClassSchedule(Long id){
+        return coursePackageService.cancelClassSchedule(id);
+    }
+
+
+    /**
+     * 发布课后练习
+     * @param id
+     * @param courseId
+     * @param integral
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/afterClassExercises")
+    public ResultUtil afterClassExercises(Long id, Integer courseId, Integer integral,Integer packId){
+        return coursePackageService.afterClassExercises(id, courseId, integral);
+    }
+
+
+    /**
+     * 添加消课凭证
+     * @param id
+     * @param cancelClasses
+     * @param deductClassHour
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/cancellationRecord")
+    public ResultUtil cancellationRecord(Long id, String cancelClasses, Integer deductClassHour){
+        return coursePackageService.cancellationRecord(id, cancelClasses, deductClassHour);
+    }
+
+
+    /**
+     * 获取未预约排课学员列表
+     * @param coursePackageSchedulingId
+     * @param userName
+     * @param studentName
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/queryWalkInStudentListqueryCoursePackageLists")
+    public Object queryWalkInStudentList(Long coursePackageSchedulingId, String userName, String studentName){
+        Page<Map<String, Object>> page = coursePackageService.queryWalkInStudentList(coursePackageSchedulingId, userName, studentName);
+        return super.packForBT(page);
+    }
+
+
+    /**
+     * 手动预约课程
+     * @param coursePackagePaymentId
+     * @param coursePackageSchedulingId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/courseReservation")
+    public ResultUtil courseReservation(Long coursePackagePaymentId, Long coursePackageSchedulingId){
+        return coursePackageService.courseReservation(coursePackagePaymentId, coursePackageSchedulingId);
+    }
+
+
+    /**
+     * 退课操作
+     * @param coursePackagePaymentId
+     * @param certificate
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/dropTheClass")
+    public ResultUtil dropTheClass(Long coursePackagePaymentId, String certificate){
+        return coursePackageService.dropTheClass(coursePackagePaymentId, certificate);
+    }
+
+
+    /**
+     * 补课操作
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/makeUpMissedLessons")
+    public ResultUtil makeUpMissedLessons(Integer id){
+        System.out.println("==========coursePackage补课PaymentId======"+id);
+        return coursePackageService.makeUpMissedLessons(id);
+    }
+
+
+    /**
+     * 获取课包审核列表
+     * @param provinceCode
+     * @param cityCode
+     * @param coursePackageTypeId
+     * @param name
+     * @param auditStatus
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/queryExamineCoursePackageLists")
+    public Object queryExamineCoursePackageLists(String provinceCode, String cityCode, Integer coursePackageTypeId, String name, Integer auditStatus){
+        Page<Map<String, Object>> mapPage = coursePackageService.queryExamineCoursePackageLists(provinceCode, cityCode, coursePackageTypeId, name, auditStatus);
+        return super.packForBT(mapPage);
+    }
+
+
+    /**
+     * 审核课包
+     * @param id
+     * @param auditStatus
+     * @param authRemark
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/setCoursePackageAuditStatus")
+    public ResultUtil setCoursePackageAuditStatus(Integer id, Integer auditStatus, String authRemark){
+        return coursePackageService.setCoursePackageAuditStatus(id, auditStatus, authRemark);
+    }
 }

--
Gitblit v1.7.1