luo
2023-09-25 35fec86ca49916eb8a8082f7f1e99185ee1e3c24
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
@@ -1,16 +1,15 @@
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;
@@ -21,15 +20,17 @@
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 +73,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 +123,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 +146,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 +167,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 +228,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 +265,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 +326,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 +396,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,11 +451,25 @@
    @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";
    }
@@ -484,13 +660,54 @@
     */
    @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]);
            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);
@@ -509,12 +726,34 @@
    @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("-");
            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 +938,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("==========coursePackagePaymentId======"+id);
        return coursePackageService.makeUpMissedLessons(id);
    }