cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -2,18 +2,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.util.DateUtil; import com.dsh.account.entity.TStudent; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuPhysicalVo; import com.dsh.account.service.TAppUserService; import com.dsh.account.service.TStudentService; import com.dsh.account.util.DateUtil; import com.dsh.account.util.ResultUtil; import com.dsh.account.util.TokenUtil; import com.dsh.account.util.ToolUtil; import io.swagger.annotations.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -21,10 +23,8 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -157,7 +157,7 @@ */ @ResponseBody @PostMapping("/stu/lessonDetails") @ApiOperation(value = "该APP用户下的学员列表", tags = {"APP-开始上课-学员列表"}, notes = "") @ApiOperation(value = "课时详情", tags = {"APP-开始上课-课时详情"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) cloud-server-account/src/main/java/com/dsh/account/enums/WeeksEnum.java
New file @@ -0,0 +1,35 @@ package com.dsh.account.enums; import java.util.Objects; public enum WeeksEnum { Mon(1,"M"), Tues(2,"T"), Wed(3,"W"), Thurs(4,"T"), Fri(5,"F"), Sat(6,"S"), Sun(7,"S"), ; Integer ins; String msg; WeeksEnum(Integer ins, String msg) { this.ins = ins; this.msg = msg; } public static String getStr(Integer wks){ WeeksEnum[] values = WeeksEnum.values(); for (WeeksEnum value : values) { if (Objects.equals(wks, value.ins)){ return value.msg; } } return null; } } cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -1,5 +1,6 @@ package com.dsh.account.feignclient.course; import com.dsh.account.feignclient.course.model.CourseOfStoreVo; import com.dsh.account.feignclient.course.model.StuCourseResp; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -12,4 +13,8 @@ @PostMapping("/coursePack/queryPayment") List<StuCourseResp> getStuCoursePayment(); @PostMapping("/coursePack/storeOfCourse") List<CourseOfStoreVo> getStoreOfCourses(); } cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CourseOfStoreVo.java
New file @@ -0,0 +1,59 @@ package com.dsh.account.feignclient.course.model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; import java.util.List; @Data public class CourseOfStoreVo { @ApiModelProperty(value = "课包id") private Integer courseId; @ApiModelProperty(value = "课包名称") private String courseName; @ApiModelProperty(value = "课包开始时间") private String classStartTime; @ApiModelProperty(value = "课包结束时间") private String classEndTime; @ApiModelProperty(value = "课包 周列表 分号隔开1;2;3;4;5") private String classWeeks; @ApiModelProperty(value = "门店id") private Integer storeId; @ApiModelProperty(value = "门店名称") private String storeName; @ApiModelProperty(value = "经度") private String lat; @ApiModelProperty(value = "纬度") private String lon; public CourseOfStoreVo(Integer courseId, String courseName, Integer storeId, String storeName,String classWeeks) { this.courseId = courseId; this.courseName = courseName; this.storeId = storeId; this.storeName = storeName; this.classWeeks = classWeeks; } @ApiModelProperty(value = "周列表") private List<Integer> classWeekList; public List<Integer> getClassWeekList() { String[] split = this.classWeeks.split(";"); List<Integer> integers = new ArrayList<>(); for (String s : split) { int num = Integer.parseInt(s); integers.add(num); } return integers; } } cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/CourseVenue.java
@@ -8,6 +8,9 @@ @Data public class CourseVenue { @ApiModelProperty(value = "门店Id") private Integer storeId; @ApiModelProperty(value = "门店名称") private String areaName; @@ -18,7 +21,7 @@ private List<CouList> courses; @Data static class CouList{ public static class CouList{ @ApiModelProperty(value = "课包ID") Integer courseID; cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/WeekedCourse.java
@@ -8,12 +8,15 @@ @Data public class WeekedCourse { @ApiModelProperty(value = "是否为当天") @ApiModelProperty(value = "是否为当天 1 是 2 否") private Integer isToday; @ApiModelProperty(value = "星期缩写") private String weekStr; @ApiModelProperty(value = "星期数值") private Integer weekNum; @ApiModelProperty(value = "日期") private String dayStr; cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -3,21 +3,25 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.account.entity.TAppUser; import com.dsh.account.entity.TStudent; import com.dsh.account.enums.WeeksEnum; import com.dsh.account.feignclient.course.CoursePaymentClient; import com.dsh.account.feignclient.course.model.CourseOfStoreVo; import com.dsh.account.feignclient.course.model.StuCourseResp; import com.dsh.account.mapper.TStudentMapper; import com.dsh.account.feignclient.other.ImgConfigClient; import com.dsh.account.feignclient.other.model.TImgConfig; import com.dsh.account.mapper.TAppUserMapper; import com.dsh.account.mapper.TStudentMapper; import com.dsh.account.model.AddAppUserVo; import com.dsh.account.model.LoginSMSCodeVo; import com.dsh.account.model.LoginWeChatVo; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.ExerciseVideo; import com.dsh.account.model.vo.classDetails.RegisteredCourse; import com.dsh.account.service.TAppUserService; import com.dsh.account.entity.TAppUser; import com.dsh.account.entity.TStudent; import com.dsh.account.mapper.TAppUserMapper; import com.dsh.account.model.vo.classDetails.WeekedCourse; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.service.TAppUserService; import com.dsh.account.util.*; import com.dsh.account.util.akeylogin.Md5Util; import org.springframework.beans.factory.annotation.Autowired; @@ -27,6 +31,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * <p> @@ -40,7 +45,7 @@ public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements TAppUserService { @Resource @Autowired private TStudentMapper tsmapper; @Resource @@ -58,21 +63,21 @@ @Autowired private JwtTokenUtil jwtTokenUtil; @Resource @Autowired private CoursePaymentClient paymentClient; @Override public ClassInfoVo queryUserOfStus(Integer id,String longitude,String latitude) { public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) { TAppUser tAppUser = this.baseMapper.selectById(id); ClassInfoVo classInfoVo = new ClassInfoVo(); if (ToolUtil.isNotEmpty(tAppUser)){ List<TStudent> tStudents = tsmapper.selectList(new QueryWrapper<TStudent>() .eq("appUserId",tAppUser.getId()) .eq("state",1) .eq("isDefault",1)); ClassInfoVo classInfoVo = new ClassInfoVo(); if (tStudents.size() > 0 ){ TStudent tStudent = tStudents.get(0); classInfoVo.setIsThere(1); @@ -109,8 +114,13 @@ classInfoVo.setDeductedNums(deduct); classInfoVo.setRemainingNums(remain); List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses(); classInfoVo.setWeekCourseList(dealDatas(storeOfCourses,longitude,latitude)); // classInfoVo.setWeekCourseList(); List<ExerciseVideo> videos = new ArrayList<>(); classInfoVo.setExerciseVideoList(videos); }else { classInfoVo.setIsThere(2); List<TImgConfig> tImgConfigs = configClient.getNoneStuImgs(); @@ -119,9 +129,57 @@ } } } return null; return classInfoVo; } /** * 处理数据 * @param storeOfCourses * @param longitude * @param latitude * @return */ public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses,String longitude ,String latitude){ List<WeekedCourse> weekedCourses = new ArrayList<>(); int weekStr = LocalDateTimeUtils.getWeekStr(); for (int i = 1; i < 8; i++) { WeekedCourse weekedCourse = new WeekedCourse(); weekedCourse.setWeekNum(i); weekedCourse.setWeekStr(WeeksEnum.getStr(i)); String weekOfDays = LocalDateTimeUtils.getWeekOfDays(i); weekedCourse.setDayStr(weekOfDays); List<CourseVenue> courseVenues = new ArrayList<>(); if (weekStr == i) { weekedCourse.setIsToday(1); } else { weekedCourse.setIsToday(2); } Map<Integer, List<CourseOfStoreVo>> map = storeOfCourses.stream().collect(Collectors.groupingBy(CourseOfStoreVo::getStoreId)); for (Map.Entry<Integer, List<CourseOfStoreVo>> integerListEntry : map.entrySet()) { List<CourseOfStoreVo> value = integerListEntry.getValue(); CourseVenue courseVenue = new CourseVenue(); courseVenue.setStoreId(value.get(0).getStoreId()); courseVenue.setAreaName(value.get(0).getStoreName()); courseVenue.setSiteDistance(LonlatUtils.distance(Double.parseDouble(longitude), Double.parseDouble(latitude), Double.parseDouble(value.get(0).getLon()), Double.parseDouble(value.get(0).getLat())) + ""); List<CourseVenue.CouList> courses = new ArrayList<>(); for (CourseOfStoreVo courseOfStoreVo : value) { CourseVenue.CouList couList = new CourseVenue.CouList(); couList.setCourseID(courseOfStoreVo.getCourseId()); couList.setCourseName(courseOfStoreVo.getCourseName()); couList.setTimeStr(courseOfStoreVo.getClassStartTime() + "-" + courseOfStoreVo.getClassEndTime()); couList.setDetail(""); courses.add(couList); } courseVenue.setCourses(courses); courseVenues.add(courseVenue); } weekedCourse.setDetails(courseVenues); weekedCourses.add(weekedCourse); } return weekedCourses; } /** cloud-server-account/src/main/java/com/dsh/account/util/LocalDateTimeUtils.java
@@ -1,9 +1,11 @@ package com.dsh.account.util; import java.text.ParseException; import java.time.DayOfWeek; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * LocalDateTimeUtils @@ -77,4 +79,31 @@ Integer day=date.getDayOfMonth(); return day < dayArr[month - 1] ? constellationArr[month - 1] : constellationArr[month]; } /** * 获取当天的星期几 * @return */ public static int getWeekStr(){ LocalDate today = LocalDate.now(); DayOfWeek dayOfWeek = today.getDayOfWeek(); return dayOfWeek.getValue(); } public static String getWeekOfDays(int desiredDayOfWeek){ // 获取当前日期 LocalDate currentDate = LocalDate.now(); // 获取当前周的第一天(默认以星期一为一周的开始) LocalDate firstDayOfWeek = currentDate.with(DayOfWeek.MONDAY); LocalDate desiredDate = firstDayOfWeek.plusDays(desiredDayOfWeek - 1); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM.dd"); return desiredDate.format(formatter); } // // public static void main(String[] args) { // String weekOfDays = LocalDateTimeUtils.getWeekOfDays(4); // System.out.println(weekOfDays); // } } cloud-server-account/src/main/java/com/dsh/account/util/LonlatUtils.java
New file @@ -0,0 +1,32 @@ package com.dsh.account.util; /** * 经纬度工具类 */ public class LonlatUtils { public static final double R = 6371; // Earth radius in kilometers /** * 计算两个经纬度之间的直线距离 * @param lat1 经度1 * @param lon1 纬度1 * @param lat2 经度2 * @param lon2 纬度2 * @return 两者距离 */ public static double distance(double lat1, double lon1, double lat2, double lon2) { double dLat = Math.toRadians(lat2 - lat1); double dLon = Math.toRadians(lon2 - lon1); double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLon / 2) * Math.sin(dLon / 2); double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); double distance = R * c; return distance; } } cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
New file @@ -0,0 +1,50 @@ package com.dsh.course.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.entity.TCourse; import com.dsh.course.feignclient.model.ExerciseVideo; import com.dsh.course.service.TCourseService; import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; @Api @CrossOrigin @RestController @RequestMapping("") public class CourseController { private Logger logger = LoggerFactory.getLogger("business-log"); @Autowired private TCourseService courseService; @PostMapping("/course/queryList") public List<ExerciseVideo> queryStuCourseAfterVideos(List<Integer> courseIds){ List<ExerciseVideo> videos = new ArrayList<>(); List<TCourse> list = courseService.list(new QueryWrapper<TCourse>() .in("id", courseIds) .eq("state",1)); if (list.size() > 0){ list.forEach( vs ->{ ExerciseVideo video = new ExerciseVideo(); video.setVideoUrl(vs.getCourseVideo()); video.setVideoName(vs.getName()); video.setVideoCoverImgUrl(vs.getCoverDrawing()); videos.add(video); }); } return videos; } } cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -3,17 +3,15 @@ import com.dsh.course.entity.TCoursePackage; import com.dsh.course.entity.TCoursePackagePayment; import com.dsh.course.feignclient.model.CourseOfStoreVo; import com.dsh.course.feignclient.model.StuCourseResp; import com.dsh.course.service.TCoursePackagePaymentService; import com.dsh.course.service.TCoursePackageService; import com.dsh.course.servs.CoursePackagePaymentRepository; import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; @@ -26,19 +24,22 @@ private Logger logger = LoggerFactory.getLogger("business-log"); @Autowired private CoursePackagePaymentRepository coursePackagePaymentRepository; private TCoursePackagePaymentService packagePaymentService; @Autowired private TCoursePackageService tcpService; /** * 获取 没有学员信息的图片配置 * @param stuId 学员id * @return 课包列表 */ @PostMapping("/coursePack/queryPayment") public List<StuCourseResp> getStuCoursePackagePayment(Integer stuId){ public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId){ List<StuCourseResp> resps = new ArrayList<>(); List<TCoursePackagePayment> byUserId = coursePackagePaymentRepository.findByUserId(stuId); List<TCoursePackagePayment> byUserId = packagePaymentService.queryAllCoursePackage(stuId); if (byUserId.size() > 0 ){ for (TCoursePackagePayment tCoursePackagePayment : byUserId) { TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId()); @@ -48,9 +49,31 @@ resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours()); resp.setResidueNums(tCoursePackagePayment.getLaveClassHours()); resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours()); resps.add(resp); } } return resps; } /** * * 获取发布的 课包列表 */ @PostMapping("/coursePack/storeOfCourse") public List<CourseOfStoreVo> getStuCourseWithStores(){ List<CourseOfStoreVo> courseOfStoreVos = tcpService.queryStoreOfCourse(); if (courseOfStoreVos.size() > 0){ for (CourseOfStoreVo courseOfStoreVo : courseOfStoreVos) { String[] split = courseOfStoreVo.getClassWeeks().split(";"); List<Integer> integers = new ArrayList<>(); for (String s : split) { int num = Integer.parseInt(s); integers.add(num); } courseOfStoreVo.setClassWeekList(integers); } } return tcpService.queryStoreOfCourse(); } } cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -1,14 +1,14 @@ package com.dsh.course.entity; import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.math.BigDecimal; import java.util.Date; /** * <p> @@ -23,7 +23,7 @@ @Accessors(chain = true) @TableName("t_course_package_payment") public class TCoursePackagePayment { private static final long serialVersionUID = 1L; /** * 主键 cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java
New file @@ -0,0 +1,15 @@ package com.dsh.course.feignclient; import com.dsh.course.feignclient.model.ExerciseVideo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @FeignClient(value = "mb-cloud-course") public interface CourseListClient { @PostMapping("/course/queryList") List<ExerciseVideo> queryStuCourseAfterVideos(List<Integer> courseIds); } cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -1,7 +1,8 @@ package com.dsh.course.feignclient; import com.dsh.course.feignclient.model.StuCourseResp; import com.dsh.course.feignclient.model.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -13,4 +14,7 @@ @PostMapping("/coursePack/queryPayment") List<StuCourseResp> getStuCoursePayment(); @PostMapping("/coursePack/storeOfCourse") List<CourseOfStoreVo> getStoreOfCourses(); } cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java
New file @@ -0,0 +1,41 @@ package com.dsh.course.feignclient.model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data public class CourseOfStoreVo { @ApiModelProperty(value = "课包id") private Integer courseId; @ApiModelProperty(value = "课包名称") private String courseName; @ApiModelProperty(value = "课包开始时间") private String classStartTime; @ApiModelProperty(value = "课包结束时间") private String classEndTime; @ApiModelProperty(value = "课包 周列表 分号隔开") private String classWeeks; @ApiModelProperty(value = "门店id") private Integer storeId; @ApiModelProperty(value = "门店名称") private String storeName; @ApiModelProperty(value = "经度") private String lat; @ApiModelProperty(value = "纬度") private String lon; private List<Integer> classWeekList; } cloud-server-course/src/main/java/com/dsh/course/feignclient/model/ExerciseVideo.java
New file @@ -0,0 +1,17 @@ package com.dsh.course.feignclient.model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class ExerciseVideo { @ApiModelProperty(value = "课后视频封面图链接") private String videoCoverImgUrl; @ApiModelProperty(value = "课后视频链接") private String videoUrl; @ApiModelProperty(value = "课后视频标题") private String videoName; } cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java
@@ -1,7 +1,10 @@ package com.dsh.course.mapper; import com.dsh.course.entity.TCoursePackage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.course.entity.TCoursePackage; import com.dsh.course.feignclient.model.CourseOfStoreVo; import java.util.List; /** * <p> @@ -13,4 +16,6 @@ */ public interface TCoursePackageMapper extends BaseMapper<TCoursePackage> { List<CourseOfStoreVo> queryStoreOfCourse(); } cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
@@ -2,6 +2,9 @@ import com.dsh.course.entity.TCoursePackagePayment; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +16,6 @@ */ public interface TCoursePackagePaymentMapper extends BaseMapper<TCoursePackagePayment> { List<TCoursePackagePayment> queryAllCoursePackage(@Param("stuId") Integer stuId); } cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -3,6 +3,8 @@ import com.dsh.course.entity.TCoursePackagePayment; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * <p> * 用户课程包购买记录 服务类 @@ -13,4 +15,6 @@ */ public interface TCoursePackagePaymentService extends IService<TCoursePackagePayment> { List<TCoursePackagePayment> queryAllCoursePackage(Integer stuId); } cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java
@@ -1,7 +1,10 @@ package com.dsh.course.service; import com.dsh.course.entity.TCoursePackage; import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.course.entity.TCoursePackage; import com.dsh.course.feignclient.model.CourseOfStoreVo; import java.util.List; /** * <p> @@ -13,4 +16,6 @@ */ public interface TCoursePackageService extends IService<TCoursePackage> { List<CourseOfStoreVo> queryStoreOfCourse(); } cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; /** * <p> * 用户课程包购买记录 服务实现类 @@ -17,4 +19,8 @@ @Service public class TCoursePackagePaymentServiceImpl extends ServiceImpl<TCoursePackagePaymentMapper, TCoursePackagePayment> implements TCoursePackagePaymentService { @Override public List<TCoursePackagePayment> queryAllCoursePackage(Integer stuId) { return this.baseMapper.queryAllCoursePackage(stuId); } } cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1,10 +1,13 @@ package com.dsh.course.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.course.entity.TCoursePackage; import com.dsh.course.mapper.TCoursePackageMapper; import com.dsh.course.feignclient.model.CourseOfStoreVo; import com.dsh.course.service.TCoursePackageService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -17,4 +20,8 @@ @Service public class TCoursePackageServiceImpl extends ServiceImpl<TCoursePackageMapper, TCoursePackage> implements TCoursePackageService { @Override public List<CourseOfStoreVo> queryStoreOfCourse() { return this.baseMapper.queryStoreOfCourse(); } } cloud-server-course/src/main/java/com/dsh/course/servs/CoursePackagePaymentRepository.java
File was deleted cloud-server-course/src/main/java/com/dsh/course/util/LocalDateTimeUtils.java
@@ -1,6 +1,7 @@ package com.dsh.course.util; import java.text.ParseException; import java.time.DayOfWeek; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; @@ -77,4 +78,16 @@ Integer day=date.getDayOfMonth(); return day < dayArr[month - 1] ? constellationArr[month - 1] : constellationArr[month]; } /** * 获取当天的星期几 * @return */ public static int getWeekStr(){ LocalDate today = LocalDate.now(); DayOfWeek dayOfWeek = today.getDayOfWeek(); return dayOfWeek.getValue(); } } cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml
@@ -34,5 +34,22 @@ <result column="state" property="state" /> <result column="insertTime" property="insertTime" /> </resultMap> <select id="queryStoreOfCourse" resultType="com.dsh.course.feignclient.model.CourseOfStoreVo"> SELECT tcp.id as courseId, tcp.`name` as courseName, tcp.classStartTime, tcp.classEndTime, tcp.classWeeks, ts.id as storeId, ts.`name` as storeName, ts.lat, ts.lon FROM playpai_course.t_course_package as tcp JOIN playpai_other.t_store as ts ON tcp.storeId = ts.id where tcp.`status` = 1 and tcp.auditStatus = 2 and tcp.`state` = 1 and ts.`state` = 1 </select> </mapper> cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -25,5 +25,25 @@ <result column="state" property="state" /> <result column="insertTime" property="insertTime" /> </resultMap> <select id="queryAllCoursePackage" resultType="com.dsh.course.entity.TCoursePackagePayment"> SELECT * FROM t_course_package_payment UNION ALL SELECT * FROM t_course_package_payment1 UNION ALL SELECT * FROM t_course_package_payment2 UNION ALL SELECT * FROM t_course_package_payment3 UNION ALL SELECT * FROM t_course_package_payment4 UNION ALL SELECT * FROM t_course_package_payment5 WHERE user_id = #{stuId} </select> </mapper> cloud-server-other/src/main/java/com/dsh/other/entity/Store.java
New file @@ -0,0 +1,123 @@ package com.dsh.other.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; /** * <p> * 门店信息 * </p> * * @author jqs * @since 2023-06-14 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_store") public class Store extends Model<Store> { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 门店名称 */ private String name; /** * 门店店长id */ private Integer storeStaffId; /** * 城市管理员id */ private Integer cityManagerId; /** * 省 */ private String province; /** * 省编号 */ private String provinceCode; /** * 市 */ private String city; /** * 市编号 */ private String cityCode; /** * 联系电话 */ private String phone; /** * 详细地址 */ private String address; /** * 纬度 */ private String lat; /** * 经度 */ private String lon; /** * 营业开始时间 */ private String startTime; /** * 营业结束时间 */ private String endTime; /** * 封面图 */ private String coverDrawing; /** * 实景图 */ private String realPicture; /** * 门店介绍 */ private String introduce; /** * 福利图片 */ private String welfarePicture; /** * 开始上课图片 */ private String classPicture; /** * 评分 */ private BigDecimal score; /** * 状态(1=正常,2=冻结,3=删除) */ private Integer state; @Override protected Serializable pkVal() { return this.id; } } cloud-server-other/src/main/java/com/dsh/other/entity/StoreConfig.java
New file @@ -0,0 +1,61 @@ package com.dsh.other.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; /** * <p> * 门店基础配置 * </p> * * @author jqs * @since 2023-06-14 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_store_config") public class StoreConfig extends Model<StoreConfig> { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 门店id */ private Integer storeId; /** * 数据类型(1=报名玩湃课程,2=预约场地,3=报名赛事及活动,4=免费福利,5=线上课程积分,6=购买优惠门票,7=看视频得奖励,8=智慧球场) */ private Integer type; /** * 是否开启(0=否,1=是) */ private Integer isOpen; /** * 排序 */ private Integer sort; /** * 背景图 */ private String backgroundImage; @Override protected Serializable pkVal() { return this.id; } } cloud-server-other/src/main/java/com/dsh/other/mapper/StoreConfigMapper.java
New file @@ -0,0 +1,17 @@ package com.dsh.other.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.other.entity.StoreConfig; /** * <p> * 门店基础配置 Mapper 接口 * </p> * * @author jqs * @since 2023-06-14 */ public interface StoreConfigMapper extends BaseMapper<StoreConfig> { } cloud-server-other/src/main/java/com/dsh/other/mapper/StoreMapper.java
New file @@ -0,0 +1,17 @@ package com.dsh.other.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.other.entity.Store; /** * <p> * 门店信息 Mapper 接口 * </p> * * @author jqs * @since 2023-06-14 */ public interface StoreMapper extends BaseMapper<Store> { } cloud-server-other/src/main/java/com/dsh/other/service/StoreConfigService.java
New file @@ -0,0 +1,17 @@ package com.dsh.other.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.other.entity.StoreConfig; /** * <p> * 门店基础配置 服务类 * </p> * * @author jqs * @since 2023-06-14 */ public interface StoreConfigService extends IService<StoreConfig> { } cloud-server-other/src/main/java/com/dsh/other/service/StoreService.java
New file @@ -0,0 +1,17 @@ package com.dsh.other.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.other.entity.Store; /** * <p> * 门店信息 服务类 * </p> * * @author jqs * @since 2023-06-14 */ public interface StoreService extends IService<Store> { } cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreConfigServiceImpl.java
New file @@ -0,0 +1,21 @@ package com.dsh.other.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.other.entity.StoreConfig; import com.dsh.other.mapper.StoreConfigMapper; import com.dsh.other.service.StoreConfigService; import org.springframework.stereotype.Service; /** * <p> * 门店基础配置 服务实现类 * </p> * * @author jqs * @since 2023-06-14 */ @Service public class StoreConfigServiceImpl extends ServiceImpl<StoreConfigMapper, StoreConfig> implements StoreConfigService { } cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreServiceImpl.java
New file @@ -0,0 +1,21 @@ package com.dsh.other.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.other.entity.Store; import com.dsh.other.mapper.StoreMapper; import com.dsh.other.service.StoreService; import org.springframework.stereotype.Service; /** * <p> * 门店信息 服务实现类 * </p> * * @author jqs * @since 2023-06-14 */ @Service public class StoreServiceImpl extends ServiceImpl<StoreMapper,Store> implements StoreService { } cloud-server-other/src/main/resources/mapper/StoreConfigMapper.xml
New file @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dsh.other.mapper.StoreConfigMapper"> </mapper> cloud-server-other/src/main/resources/mapper/StoreMapper.xml
New file @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dsh.other.mapper.StoreMapper"> </mapper>