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 | 1250 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 1,209 insertions(+), 41 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 4c8dc1a..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,31 +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.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.CoursePackageTypeClient; -import com.dsh.course.feignClient.course.model.TCoursePackageType; +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.modular.system.model.TSite; -import com.dsh.guns.modular.system.model.TStore; -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.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 @@ -55,10 +63,42 @@ @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 @@ -73,7 +113,9 @@ String cityCode = null; if(objectType == 2){//城市管理员 CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); - cityCode = cityManager.getCityCode(); + if (cityManager!=null){ + cityCode = cityManager.getCityCode(); + } } List<Map<String, Object>> list = storeService.queryProvince(cityCode); model.addAttribute("province", list); @@ -82,34 +124,597 @@ } - + /** + * 跳转到添加页 + * @param model + * @return + */ + @Autowired + private ICityService cityService; @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(); model.addAttribute("coursePackageType", tCoursePackageTypes); - String cityCode = null; + String cityCode = ""; if(objectType == 2){//城市管理员 - CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); - cityCode = cityManager.getCityCode(); + // 获取到这个运营商下面的所有门店 + 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); } - 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.queryCoachByCity(code1); - model.addAttribute("coach", coaches); + 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"; + } @@ -129,8 +734,193 @@ 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; + } + /** @@ -149,20 +939,398 @@ Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); Integer storeId = null; - if(objectType == 2){//城市管理员 - CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); - provinceCode = cityManager.getProvinceCode(); - cityCode = cityManager.getCityCode(); + 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) {//城市管理员 - storeId = objectId; + if(objectType == 3) {// 门店 + storeIds.add(objectId); } - Page<Map<String, Object>> mapPage = coursePackageService.queryCoursePackageLists(provinceCode, cityCode, coursePackageTypeId, storeId, name, status, state); + 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