44323
2023-10-16 d9f331e175611a68f00a50cab63ea35442a4b0e6
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
@@ -1,35 +1,37 @@
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.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.course.CoursePackageClient;
import com.dsh.course.feignClient.course.CoursePackageDiscountClient;
import com.dsh.course.feignClient.course.CoursePackagePaymentConfigClient;
import com.dsh.course.feignClient.course.CoursePackageTypeClient;
import com.dsh.course.feignClient.course.*;
import com.dsh.course.feignClient.course.model.*;
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.TSite;
import com.dsh.guns.modular.system.model.TStore;
import com.dsh.guns.modular.system.model.dto.SelectDto;
import com.dsh.guns.modular.system.service.ICoursePackageService;
import com.dsh.guns.modular.system.service.IStoreService;
import com.dsh.guns.modular.system.service.ITSiteService;
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.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -72,7 +74,27 @@
    /**
     * 根据门店获取课程
     */
    @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){
        return coursePackageClient.getCoursePackageByType(storeId);
    }
    /**
     * 跳转到列表页
     * @param model
@@ -102,7 +124,7 @@
     * @return
     */
    @GetMapping("/openAddCoursePackage")
    public String openAddCoursePackage(Model model){
    public String openAddCoursePackage(Model model,Integer type){
        Integer objectType = UserExt.getUser().getObjectType();
        Integer objectId = UserExt.getUser().getObjectId();
        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
@@ -125,6 +147,13 @@
        model.addAttribute("site", list3);
        List<Coach> coaches = coachClient.queryCoachByCity(code1);
        model.addAttribute("coach", coaches);
        model.addAttribute("type",type);
        System.out.println("========type========"+type);
//        if (type ==1){
//            return PREFIX + "coursePackage_edit.html";
//        }
        return PREFIX + "coursePackage_add.html";
    }
@@ -139,6 +168,36 @@
    public String openEditCoursePackage(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("周一", "周二", "周三", "周四", "周五", "周六", "周日");
@@ -170,11 +229,29 @@
        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);
            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_edit.html";
    }
@@ -189,6 +266,36 @@
    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("周一", "周二", "周三", "周四", "周五", "周六", "周日");
@@ -220,11 +327,29 @@
        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);
        CoursePackagePaymentConfig coursePackagePaymentConfig = list4.get(0);
        model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
        model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);
        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";
    }
@@ -272,13 +397,51 @@
     * @param id
     * @return
     */
    @GetMapping("/registrationRecord")
    public String registrationRecord(Model model, Integer id){
        TCoursePackage tCoursePackage = coursePackageService.queryById(id);
        model.addAttribute("item", tCoursePackage);
        return PREFIX + "registrationRecord.html";
    @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;
    /**
     * 跳转到上课记录列表页
@@ -289,12 +452,58 @@
    @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";
    }
@@ -338,6 +547,16 @@
    }
    @GetMapping("/queryProvince")
    @ResponseBody
    public List<Map<String, Object>> queryProvince(){
        List<Map<String, Object>> list = storeService.queryProvince(null);
        return list;
    }
    /**
     * 跳转到审核详情页
     * @param model
@@ -348,6 +567,11 @@
    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());
        model.addAttribute("classTime", tCoursePackage.getClassStartTime() + ":00 - " + tCoursePackage.getClassEndTime() + ":00");
        String[] split = tCoursePackage.getClassWeeks().split(";");
        List<String> list5 = Arrays.asList("周一", "周二", "周三", "周四", "周五", "周六", "周日");
@@ -379,11 +603,13 @@
        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);
        CoursePackagePaymentConfig coursePackagePaymentConfig = list4.get(0);
        model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
        model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);
        return PREFIX + "examineCoursePackage_info.html";
    }
@@ -398,6 +624,7 @@
    @ResponseBody
    @PostMapping("/queryCity")
    public List<Map<String, Object>> queryCity(String code){
        Integer objectType = UserExt.getUser().getObjectType();
        Integer objectId = UserExt.getUser().getObjectId();
        String cityCode = null;
@@ -405,7 +632,24 @@
            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);
    }
@@ -418,7 +662,28 @@
    @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);
    }
    /**
@@ -429,7 +694,8 @@
    @ResponseBody
    @PostMapping("/querySite")
    public List<TSite> querySite(Integer storeId){
        List<TSite> list = siteService.list(new QueryWrapper<TSite>().eq("storeId", storeId).eq("state", 1));
        System.out.println("==storeId==="+storeId);
        List<TSite> list = siteService.list(new QueryWrapper<TSite>().select("id","name").eq("storeId", storeId).eq("state", 1));
        return list;
    }
@@ -484,17 +750,62 @@
     */
    @ResponseBody
    @PostMapping("/addCoursePackage")
    public ResultUtil addCoursePackage(TCoursePackage coursePackage, String coursePackagePaymentConfig){
    public ResultUtil addCoursePackage(TCoursePackage coursePackage, String coursePackagePaymentConfig) throws ParseException {
        String classStartTime = coursePackage.getClassStartTime();
        String classEndTime = coursePackage.getClassEndTime();
        classStartTime = classStartTime.substring(0, classStartTime.lastIndexOf(":"));
        classEndTime = classEndTime.substring(0, classEndTime.lastIndexOf(":"));
        coursePackage.setClassStartTime(classStartTime);
        coursePackage.setClassEndTime(classEndTime);
//        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);
        }
        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.setAuditStatus(1);
        coursePackage.setStatus(1);
        coursePackage.setState(1);
        coursePackage.setInsertTime(new Date());
        // 详情多图片
        String substring = coursePackage.getDetailDrawing().substring(0, coursePackage.getDetailDrawing().length() - 1);
        coursePackage.setDetailDrawing(substring);
        coursePackageService.addCoursePackage(coursePackage, coursePackagePaymentConfig);
        return ResultUtil.success();
    }
@@ -509,12 +820,36 @@
    @ResponseBody
    @PostMapping("/updateCoursePackage")
    public ResultUtil updateCoursePackage(TCoursePackage coursePackage, String coursePackagePaymentConfig){
        String classStartTime = coursePackage.getClassStartTime();
        String classEndTime = coursePackage.getClassEndTime();
        classStartTime = classStartTime.substring(0, classStartTime.lastIndexOf(":"));
        classEndTime = classEndTime.substring(0, classEndTime.lastIndexOf(":"));
        coursePackage.setClassStartTime(classStartTime);
        coursePackage.setClassEndTime(classEndTime);
//        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("-");
            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);
        coursePackageService.updateCoursePackage(coursePackage, coursePackagePaymentConfig);
        return ResultUtil.success();
    }
@@ -699,13 +1034,14 @@
    /**
     * 补课操作
     * @param coursePackagePaymentId
     * @param id
     * @return
     */
    @ResponseBody
    @PostMapping("/makeUpMissedLessons")
    public ResultUtil makeUpMissedLessons(Long coursePackagePaymentId){
        return coursePackageService.makeUpMissedLessons(coursePackagePaymentId);
    public ResultUtil makeUpMissedLessons(Long id){
        System.out.println("==========coursePackage补课PaymentId======"+id);
        return coursePackageService.makeUpMissedLessons(id);
    }