From c37acfa5fd70c1d658295f5635b630d3beef7ce0 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期五, 21 七月 2023 18:25:48 +0800 Subject: [PATCH] 探索玩湃-门店:列表+详情+评价 --- cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreOfCitycodeResp.java | 22 + cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java | 24 + cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java | 56 +++ cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java | 5 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreOfCitycodeResp.java | 22 + cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 24 + cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 52 +- cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java | 24 + cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailList.java | 33 ++ cloud-server-other/src/main/java/com/dsh/other/model/StoreOfCourseVo.java | 35 ++ cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java | 6 cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreInfo.java | 6 cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java | 21 + cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreDetailsVo.java | 45 ++ cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 58 ++ cloud-server-other/src/main/java/com/dsh/other/feignclient/QuestionClient.java | 4 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailList.java | 33 ++ cloud-server-other/src/main/java/com/dsh/other/model/StoreDetailsVo.java | 56 +++ cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreOfCourseVo.java | 35 ++ cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java | 46 ++ cloud-server-other/src/main/java/com/dsh/other/service/StoreEvaluationService.java | 22 + cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java | 6 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/QuestionClient.java | 7 cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionDetailsVo.java | 2 cloud-server-other/src/main/java/com/dsh/other/entity/StoreEvaluation.java | 76 ++++ cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreLonLatList.java | 3 cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StoreOfCourseVo.java | 35 ++ cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreEvaluationServiceImpl.java | 12 cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java | 7 cloud-server-other/src/main/resources/mapper/StoreEvaluationMapper.xml | 6 cloud-server-other/src/main/java/com/dsh/other/controller/StoreEvaluationController.java | 62 +++ cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseListClient.java | 21 + cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java | 5 cloud-server-other/src/main/java/com/dsh/other/mapper/StoreEvaluationMapper.java | 18 + cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java | 4 cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java | 2 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreLonLatList.java | 3 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java | 2 cloud-server-other/src/main/java/com/dsh/other/controller/SystemNoticeController.java | 5 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java | 12 40 files changed, 852 insertions(+), 65 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java index 64fd0c1..a585588 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java @@ -1,11 +1,12 @@ package com.dsh.account.controller; +import com.dsh.account.feignclient.other.model.StoreDetailList; +import com.dsh.account.feignclient.other.model.StoreInfo; import com.dsh.account.feignclient.other.model.SysNotice; -import com.dsh.account.model.vo.exploreDetail.ExploreDatasVo; import com.dsh.account.model.vo.exploreDetail.LonLatRequest; -import com.dsh.account.model.vo.exploreDetails.QuestionDetailsVo; -import com.dsh.account.model.vo.exploreDetails.QuestionIns; +import com.dsh.account.model.vo.exploreDetail.QuestionIns; +import com.dsh.account.model.vo.exploreDetail.StoreDetailsVo; import com.dsh.account.service.TStudentService; import com.dsh.account.util.ResultUtil; import io.swagger.annotations.ApiImplicitParam; @@ -33,7 +34,7 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<ExploreDatasVo> indexOfExploreDetail(LonLatRequest llrequest){ + public ResultUtil<List<StoreInfo>> indexOfExploreDetail(LonLatRequest llrequest){ try { return ResultUtil.success(tsService.queryIndexOfExplores(llrequest)); }catch (Exception e){ @@ -70,7 +71,7 @@ @ResponseBody @PostMapping("/base/exploreWP/exceptionList") @ApiOperation(value = "联系客服-常见问题列表", tags = {"APP-探索玩湃"}) - public ResultUtil<QuestionDetailsVo> queryFrequentlyAskedQuestionDetails(){ + public ResultUtil<List<QuestionIns>> queryFrequentlyAskedQuestionDetails(){ try { return ResultUtil.success(tsService.queryQuestionData()); }catch (Exception e){ @@ -105,4 +106,39 @@ } + @ResponseBody + @PostMapping("/base/exploreWP/storeList") + @ApiOperation(value = "联系客服-门店列表", tags = {"APP-探索玩湃"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "距离数值", name = "space", required = true, dataType = "int"), + @ApiImplicitParam(value = "城市code", name = "space", required = true, dataType = "string"), + @ApiImplicitParam(value = "纬度", name = "latitude", required = true, dataType = "string"), + @ApiImplicitParam(value = "经度", name = "longitude", required = true, dataType = "string"), + }) + public ResultUtil<List<StoreDetailList>> getStoreListCon(Integer space,String cityCode,String latitude,String longitude){ + try { + return ResultUtil.success(tsService.queryStoreList(space,cityCode,latitude,longitude)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + @ResponseBody + @PostMapping("/base/exploreWP/storeDetail") + @ApiOperation(value = "联系客服-门店详情", tags = {"APP-探索玩湃"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "门店id", name = "storeId", required = true, dataType = "int"), + }) + public ResultUtil<StoreDetailsVo> getStoreDetails(Integer storeId){ + try { + return ResultUtil.success(tsService.getStoreDetail(storeId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseListClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseListClient.java new file mode 100644 index 0000000..d90d590 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CourseListClient.java @@ -0,0 +1,21 @@ +package com.dsh.account.feignclient.course; + + +import com.dsh.account.model.vo.classDetails.ExerciseVideo; +import com.dsh.account.model.vo.exploreDetail.StoreOfCourseVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +@FeignClient(value = "mb-cloud-course") +public interface CourseListClient { + + @PostMapping("/base/cancelSource/queryList") + List<ExerciseVideo> queryStuCourseAfterVideos(@RequestBody List<Integer> courseIds); + + @PostMapping("/base/coursePack/courseList") + List<StoreOfCourseVo> getStoreOfCourseList(@RequestBody Integer storeId); + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/QuestionClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/QuestionClient.java index 2d86e0e..38c01a8 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/QuestionClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/QuestionClient.java @@ -1,17 +1,18 @@ package com.dsh.account.feignclient.other; -import com.dsh.account.model.vo.exploreDetails.QuestionDetailsVo; -import com.dsh.account.model.vo.exploreDetails.QuestionIns; +import com.dsh.account.model.vo.exploreDetail.QuestionIns; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; @FeignClient(value = "mb-cloud-other") public interface QuestionClient { @PostMapping("/base/notice/queryQuestionDetails") - QuestionDetailsVo getSysQuestionDetails(); + List<QuestionIns> getSysQuestionDetails(); @PostMapping("/base/notice/queryQuestion") QuestionIns getSysQuestionBuId(@RequestParam("quesId") Integer quesId); diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java index 4a5661e..e781579 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java @@ -1,6 +1,7 @@ package com.dsh.account.feignclient.other; import com.dsh.account.feignclient.other.model.SiteBooking; +import com.dsh.account.model.vo.exploreDetail.SiteVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -19,4 +20,7 @@ List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId); + @PostMapping("/base/site/getNewAddSiteList") + List<SiteVo> getAppUserSiteList(); + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java index 35bad4d..cdd5a74 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/StoreClient.java @@ -35,7 +35,15 @@ @PostMapping("/base/protocol/storeDetail/nearbyStore") List<StoreInfo> getAllNearbyStoreList(@RequestBody GetAllNearbyStoreList getAllNearbyStoreList); + @PostMapping("/base/protocol/storeDetail/citycodeLoLa") + List<StoreDetailList> getQueryStoreList(@RequestBody StoreOfCitycodeResp citycodeResp); - @PostMapping("/base/protocol/storeDetail/storeOfLonLat") - List<StoreLonLatList> getAllStoreLonLats(@RequestBody GetAllNearbyStoreList getAllNearbyStoreList); + /** + * 根据门店id获取门店信息 + * @param id + * @return + */ + @PostMapping("/store/queryStoreById") + Store queryStoreById(Integer id); + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailList.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailList.java new file mode 100644 index 0000000..d4da2b6 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreDetailList.java @@ -0,0 +1,33 @@ +package com.dsh.account.feignclient.other.model; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class StoreDetailList { + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + @ApiModelProperty(value = "门店封面图") + private String storeImg; + + @ApiModelProperty(value = "门店名称") + private String storeName; + + @ApiModelProperty(value = "门店详细地址") + private String storeAddress; + + @ApiModelProperty(value = "门店联系电话") + private String storePhone; + + @ApiModelProperty(value = "门店距离当前位置 的距离") + private long storeDistance; + + @ApiModelProperty(value = "门店营业时间范围") + private String storeTime; + + @ApiModelProperty(value = "门店信息") + private String storeInfo; +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java index 5964072..bb6a1d6 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java @@ -22,4 +22,10 @@ @ApiModelProperty(value = "门店详细地址") private String storeAddr; + @ApiModelProperty(value = "经度") + String longitude; + + @ApiModelProperty(value = "纬度") + String latitude; + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreLonLatList.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreLonLatList.java index 38646da..5fc4739 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreLonLatList.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreLonLatList.java @@ -15,5 +15,8 @@ @ApiModelProperty(value = "纬度") String latitude; + @ApiModelProperty(value = "门店标题") + String title; + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreOfCitycodeResp.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreOfCitycodeResp.java new file mode 100644 index 0000000..47f5bd9 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreOfCitycodeResp.java @@ -0,0 +1,22 @@ +package com.dsh.account.feignclient.other.model; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class StoreOfCitycodeResp { + + @ApiModelProperty(value = "距离") + private Integer space; + + @ApiModelProperty(value = "城市code") + private String cityCode; + + @ApiModelProperty(value = "纬度") + private String latitude; + + @ApiModelProperty(value = "经度") + private String longitude; + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetails/QuestionDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionDetailsVo.java similarity index 85% rename from cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetails/QuestionDetailsVo.java rename to cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionDetailsVo.java index 89044aa..bdbeaaf 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetails/QuestionDetailsVo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionDetailsVo.java @@ -1,4 +1,4 @@ -package com.dsh.account.model.vo.exploreDetails; +package com.dsh.account.model.vo.exploreDetail; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetails/QuestionIns.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java similarity index 87% rename from cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetails/QuestionIns.java rename to cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java index d1c3f66..46721d3 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetails/QuestionIns.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java @@ -1,4 +1,4 @@ -package com.dsh.account.model.vo.exploreDetails; +package com.dsh.account.model.vo.exploreDetail; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java new file mode 100644 index 0000000..987a999 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/SiteVo.java @@ -0,0 +1,24 @@ +package com.dsh.account.model.vo.exploreDetail; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class SiteVo { + + @ApiModelProperty(value = "场地id") + private Integer siteId; + + @ApiModelProperty(value = "场地名称") + private String siteName; + + @ApiModelProperty(value = "场地类型:足球场") + private String siteType; + + @ApiModelProperty(value = "预约时间段") + private String siteTime; + + @ApiModelProperty(value = "价格") + private double price; + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreDetailsVo.java new file mode 100644 index 0000000..72fd115 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreDetailsVo.java @@ -0,0 +1,45 @@ +package com.dsh.account.model.vo.exploreDetail; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class StoreDetailsVo { + + @ApiModelProperty(value = "门店图片数组") + private List<String> images; + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + @ApiModelProperty(value = "门店名称") + private String storeName; + + @ApiModelProperty(value = "门店经度") + private String lon; + + @ApiModelProperty(value = "门店纬度") + private String lat; + + @ApiModelProperty(value = "电话号码") + private String phone; + + @ApiModelProperty(value = "门店地址") + private String storeAddress; + + @ApiModelProperty(value = "门店营业时间段") + private String storeTime; + + @ApiModelProperty(value = "门店信息") + private String storeInfo; + + @ApiModelProperty(value = "场地列表") + private List<SiteVo> venueList; + + @ApiModelProperty(value = "课程列表") + private List<StoreOfCourseVo> courseVoList; + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreOfCourseVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreOfCourseVo.java new file mode 100644 index 0000000..b3a26eb --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/StoreOfCourseVo.java @@ -0,0 +1,35 @@ +package com.dsh.account.model.vo.exploreDetail; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @date 2023/6/24 17:34 + */ +@Data +@ApiModel +public class StoreOfCourseVo { + + @ApiModelProperty("课程id") + private Integer courseId; + + @ApiModelProperty("课程名称+门店名称") + private String name; + + @ApiModelProperty("封面图") + private String coverDrawing; + + @ApiModelProperty("上课时间") + private String classStartTime; + + @ApiModelProperty("已报名人数") + private Integer applicantsNumber; + + @ApiModelProperty("包含课时数") + private Integer classHours; + + @ApiModelProperty("价格") + private Double originalPrice; +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java index 0006542..96f2359 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java @@ -3,16 +3,17 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.account.entity.TStudent; import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; +import com.dsh.account.feignclient.other.model.StoreDetailList; +import com.dsh.account.feignclient.other.model.StoreInfo; import com.dsh.account.feignclient.other.model.SysNotice; import com.dsh.account.model.vo.classDetails.AppointmentRecordVo; import com.dsh.account.model.vo.classDetails.ClasspaymentRequest; import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo; -import com.dsh.account.model.vo.exploreDetail.ExploreDatasVo; import com.dsh.account.model.vo.exploreDetail.LonLatRequest; -import com.dsh.account.model.vo.exploreDetails.QuestionDetailsVo; -import com.dsh.account.model.vo.exploreDetails.QuestionIns; +import com.dsh.account.model.vo.exploreDetail.QuestionIns; +import com.dsh.account.model.vo.exploreDetail.StoreDetailsVo; import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo; import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp; import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest; @@ -50,7 +51,7 @@ /** * 查询常见问题列表 */ - QuestionDetailsVo queryQuestionData(); + List<QuestionIns> queryQuestionData(); /** * 查询常见问题详情 @@ -65,7 +66,7 @@ /** * 查询探索页面首页 */ - ExploreDatasVo queryIndexOfExplores(LonLatRequest llrequest); + List<StoreInfo> queryIndexOfExplores(LonLatRequest llrequest); /** * 切换学员 @@ -86,4 +87,14 @@ ResultUtil cancelReservationOfCourse( Integer courseStuRecordId); + /** + * + * @param space 距离 + * @param cityCode 城市code + * @return + */ + List<StoreDetailList> queryStoreList(Integer space,String cityCode,String latitude,String longitude); + + StoreDetailsVo getStoreDetail(Integer storeId); + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java index d420ca5..c9e98a6 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java @@ -13,13 +13,11 @@ import com.dsh.account.feignclient.competition.model.GetStuSourseList; import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.feignclient.competition.model.SaveParticipant; -import com.dsh.account.feignclient.course.CancelListClient; -import com.dsh.account.feignclient.course.CoursePaymentClient; -import com.dsh.account.feignclient.course.CourseRecordClient; -import com.dsh.account.feignclient.course.CourseSessionNameClient; +import com.dsh.account.feignclient.course.*; import com.dsh.account.feignclient.course.model.*; import com.dsh.account.feignclient.other.NoticeClient; import com.dsh.account.feignclient.other.QuestionClient; +import com.dsh.account.feignclient.other.SiteClient; import com.dsh.account.feignclient.other.StoreClient; import com.dsh.account.feignclient.other.model.*; import com.dsh.account.mapper.CoachMapper; @@ -30,10 +28,9 @@ import com.dsh.account.model.vo.classDetails.classInsVo.ClassDetailsInsVo; import com.dsh.account.model.vo.classDetails.classInsVo.StuDetailsReq; import com.dsh.account.model.vo.classDetails.classInsVo.StuListVo; -import com.dsh.account.model.vo.exploreDetail.ExploreDatasVo; import com.dsh.account.model.vo.exploreDetail.LonLatRequest; -import com.dsh.account.model.vo.exploreDetails.QuestionDetailsVo; -import com.dsh.account.model.vo.exploreDetails.QuestionIns; +import com.dsh.account.model.vo.exploreDetail.QuestionIns; +import com.dsh.account.model.vo.exploreDetail.StoreDetailsVo; import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo; import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp; import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest; @@ -103,6 +100,12 @@ @Autowired private PayMoneyUtil payMoneyUtil; + + @Resource + private SiteClient steClient; + + @Resource + private CourseListClient culisClient; @@ -305,7 +308,7 @@ } @Override - public QuestionDetailsVo queryQuestionData() { + public List<QuestionIns> queryQuestionData() { return quesClient.getSysQuestionDetails(); } @@ -320,16 +323,11 @@ } @Override - public ExploreDatasVo queryIndexOfExplores(LonLatRequest llrequest) { - ExploreDatasVo datasVo = new ExploreDatasVo(); + public List<StoreInfo> queryIndexOfExplores(LonLatRequest llrequest) { GetAllNearbyStoreList getAllNearbyStoreList = new GetAllNearbyStoreList(); getAllNearbyStoreList.setLongitude(llrequest.getLongitude()); getAllNearbyStoreList.setLatitude(llrequest.getLatitude()); - List<StoreInfo> allNearbyStoreList = storeClient.getAllNearbyStoreList(getAllNearbyStoreList); - List<StoreLonLatList> allStoreLonLats = storeClient.getAllStoreLonLats(getAllNearbyStoreList); - datasVo.setStoreLists(allNearbyStoreList); - datasVo.setLonLatLists(allStoreLonLats); - return datasVo; + return storeClient.getAllNearbyStoreList(getAllNearbyStoreList); } @Override @@ -595,5 +593,35 @@ return null; } + @Override + public List<StoreDetailList> queryStoreList(Integer space,String cityCode,String latitude,String longitude) { + StoreOfCitycodeResp citycodeResp = new StoreOfCitycodeResp(); + citycodeResp.setSpace(space); + citycodeResp.setCityCode(cityCode); + citycodeResp.setLongitude(latitude); + citycodeResp.setLatitude(longitude); + return storeClient.getQueryStoreList(citycodeResp); + } + + @Override + public StoreDetailsVo getStoreDetail(Integer storeId) { + Store store = storeClient.queryStoreById(storeId); + StoreDetailsVo detailsVo = new StoreDetailsVo(); + String realPicture = store.getRealPicture(); + String[] split = realPicture.split(","); + detailsVo.setImages(Arrays.asList(split)); + detailsVo.setStoreId(store.getId()); + detailsVo.setStoreName(store.getName()); + detailsVo.setStoreAddress(store.getAddress()); + detailsVo.setStoreTime(store.getStartTime() + "至" +store.getEndTime()); + detailsVo.setStoreInfo(store.getIntroduce()); + detailsVo.setLon(store.getLon()); + detailsVo.setLat(store.getLat()); + detailsVo.setPhone(store.getPhone()); + detailsVo.setVenueList(steClient.getAppUserSiteList()); + detailsVo.setCourseVoList(culisClient.getStoreOfCourseList(storeId)); + return detailsVo; + } + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java index 791371e..bf935f6 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java @@ -62,7 +62,7 @@ - @PostMapping("/course/queryList") + @PostMapping("/base/course/queryList") public List<ExerciseVideo> queryStuCourseAfterVideos(@RequestBody List<Integer> courseIds){ List<ExerciseVideo> videos = new ArrayList<>(); List<TCourse> list = courseService.list(new QueryWrapper<TCourse>() diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java index 8fb6b20..f8fe08d 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java @@ -1,9 +1,17 @@ package com.dsh.course.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.course.entity.CoursePackagePaymentConfig; import com.dsh.course.entity.TCoursePackage; +import com.dsh.course.entity.TCoursePackagePayment; +import com.dsh.course.feignclient.model.StoreOfCourseVo; +import com.dsh.course.feignclient.other.StoreClient; +import com.dsh.course.feignclient.other.model.Store; import com.dsh.course.model.vo.response.Details; import com.dsh.course.model.vo.response.ExchangeCoursePackageResponse; +import com.dsh.course.service.ICoursePackagePaymentConfigService; import com.dsh.course.service.TCoursePackageDiscountService; +import com.dsh.course.service.TCoursePackagePaymentService; import com.dsh.course.service.TCoursePackageService; import com.dsh.course.util.ResultUtil; import com.dsh.course.util.TokenUtil; @@ -13,6 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Comparator; import java.util.List; /** @@ -29,6 +40,15 @@ @Autowired private TCoursePackageDiscountService tcpdService; + + @Resource + private StoreClient storeClient; + + @Resource + private TCoursePackagePaymentService tcppmenService; + + @Resource + private ICoursePackagePaymentConfigService icppconfigService; @Autowired @@ -96,4 +116,40 @@ } } + + @ResponseBody + @PostMapping("/base/coursePack/courseList") + public List<StoreOfCourseVo> getStoreOfCourseList(@RequestBody Integer storeId){ + List<StoreOfCourseVo> courseVoList = new ArrayList<>(); + Store store = storeClient.queryStoreById(storeId); + List<TCoursePackage> list = coursePackageService.list(new QueryWrapper<TCoursePackage>() + .eq("storeId", storeId) + .eq("auditStatus",2) + .eq("state",1)); + if (list.size() > 0){ + for (TCoursePackage coursePackage : list) { + int count = tcppmenService.count(new QueryWrapper<TCoursePackagePayment>() + .eq("coursePackageId",coursePackage.getId())); + StoreOfCourseVo courseVo = new StoreOfCourseVo(); + courseVo.setCourseId(coursePackage.getId()); + courseVo.setName(coursePackage.getName()+"(" + store.getName() + ")"); + courseVo.setClassStartTime(coursePackage.getClassStartTime() +"-"+ coursePackage.getClassEndTime()); + courseVo.setApplicantsNumber(count); + List<CoursePackagePaymentConfig> list1 = icppconfigService.list(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("coursePackageId",coursePackage.getId())); +// 取价格最低的课时 + CoursePackagePaymentConfig minConfig = list1.stream() + .min(Comparator.comparingDouble(CoursePackagePaymentConfig::getCashPayment)) + .orElse(null); + if (minConfig != null){ + courseVo.setClassHours(minConfig.getClassHours()); + courseVo.setOriginalPrice(minConfig.getCashPayment()); + } + + courseVoList.add(courseVo); + } + } + return courseVoList; + } + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java index aeadaab..339a7b2 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CourseListClient.java @@ -2,6 +2,7 @@ import com.dsh.course.feignclient.model.ExerciseVideo; +import com.dsh.course.feignclient.model.StoreOfCourseVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -11,6 +12,10 @@ @FeignClient(value = "mb-cloud-course") public interface CourseListClient { - @PostMapping("/course/queryList") + @PostMapping("/base/cancelSource/queryList") List<ExerciseVideo> queryStuCourseAfterVideos(@RequestBody List<Integer> courseIds); + + @PostMapping("/base/coursePack/courseList") + List<StoreOfCourseVo> getStoreOfCourseList(@RequestBody Integer storeId); + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StoreOfCourseVo.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StoreOfCourseVo.java new file mode 100644 index 0000000..6f06860 --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StoreOfCourseVo.java @@ -0,0 +1,35 @@ +package com.dsh.course.feignclient.model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @date 2023/6/24 17:34 + */ +@Data +@ApiModel +public class StoreOfCourseVo { + + @ApiModelProperty("课程id") + private Integer courseId; + + @ApiModelProperty("课程名称+门店名称") + private String name; + + @ApiModelProperty("封面图") + private String coverDrawing; + + @ApiModelProperty("上课时间") + private String classStartTime; + + @ApiModelProperty("已报名人数") + private Integer applicantsNumber; + + @ApiModelProperty("包含课时数") + private Integer classHours; + + @ApiModelProperty("价格") + private Double originalPrice; +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java index 0f7bd74..de00064 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java @@ -26,8 +26,7 @@ @PostMapping("/base/notice/queryQuestionDetails") - public QuestionDetailsVo getSysQuestionDetails(){ - QuestionDetailsVo notices = new QuestionDetailsVo(); + public List<QuestionIns> getSysQuestionDetails(){ List<QuestionIns> sysS = new ArrayList<>(); List<FrequentlyAskedQuestions> list = faqService.list(new QueryWrapper<FrequentlyAskedQuestions>() .eq("state", 1) @@ -40,9 +39,8 @@ notice.setQuesContents(noList.getAnswer()); sysS.add(notice); }); - notices.setSysS(sysS); } - return notices; + return sysS; } diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java index 5111d86..3d3f7e9 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.other.entity.Site; import com.dsh.other.entity.SiteBooking; +import com.dsh.other.entity.SiteType; import com.dsh.other.feignclient.activity.UserCouponClient; import com.dsh.other.feignclient.activity.model.UserCoupon; +import com.dsh.other.feignclient.model.SiteVo; import com.dsh.other.model.*; import com.dsh.other.service.ISiteBookingService; import com.dsh.other.service.ISiteService; @@ -393,4 +395,26 @@ } + @PostMapping("/base/site/getNewAddSiteList") + public List<SiteVo> getAppUserSiteList(){ + List<SiteVo> siteVos = new ArrayList<>(); + + List<Site> list = siteService.list(new QueryWrapper<Site>() + .orderByDesc("insertTime")); + if (list.size() > 0 ){ + for (Site site : list) { + SiteVo vo = new SiteVo(); + vo.setSiteId(site.getId()); + vo.setSiteName(site.getName()); + vo.setSiteTime(site.getAppointmentStartTime() + "-" + site.getAppointmentEndTime()); + SiteType byId = siteTypeService.getById(site.getSiteTypeId()); + vo.setSiteType(byId.getName()); + vo.setPrice(site.getCashPrice()); + siteVos.add(vo); + } + } + return siteVos; + + } + } diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java index 5f79410..0ee10ba 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java @@ -4,13 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.other.entity.Store; import com.dsh.other.feignclient.model.*; -import com.dsh.other.model.BaseVo; -import com.dsh.other.model.ProvinceAndCityVo; -import com.dsh.other.model.QueryStoreList; -import com.dsh.other.model.StoreFreeBenefitVo; +import com.dsh.other.model.*; import com.dsh.other.service.StoreService; import com.dsh.other.util.GDMapGeocodingUtil; import com.dsh.other.util.ResultUtil; +import com.dsh.other.util.ToolUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -70,6 +68,8 @@ info.setStoreImg(store.getRealPicture()); info.setDistance(Long.parseLong(distanceTOKilometer)); info.setStoreAddr(store.getAddress()); + info.setLatitude(storeLat); + info.setLongitude(storeLon); storeInfos.add(info); } Comparator<StoreInfo> distanceComparator = new Comparator<StoreInfo>() { @@ -98,28 +98,34 @@ } - @PostMapping("/base/protocol/storeDetail/storeOfLonLat") - public List<StoreLonLatList> getAllStoreLonLats(@RequestBody GetAllNearbyStoreList list ){ - List<StoreLonLatList> storeInfos = new ArrayList<>(); - try { - Map<String, String> geocode = gdMapGeocodingUtil.geocode(list.getLongitude(), list.getLatitude()); - String cityCode = geocode.get("cityCode"); - List<Store> storeList = storeService.list(new QueryWrapper<Store>() - .eq("cityCode",cityCode)); - if (storeList.size() > 0){ - for (Store store : storeList) { - StoreLonLatList latList = new StoreLonLatList(); - latList.setStoreId(store.getId()); - latList.setLongitude(store.getLon()); - latList.setLatitude(store.getLat()); - storeInfos.add(latList); + @PostMapping("/base/protocol/storeDetail/citycodeLoLa") + public List<StoreDetailList> getQueryStoreList(@RequestBody StoreOfCitycodeResp citycodeResp){ + List<StoreDetailList> detailLists = new ArrayList<>(); + List<Store> list = storeService.list(new QueryWrapper<Store>() + .eq("state",1 ) + .eq("cityCode",citycodeResp.getCityCode())); + if (list.size() > 0 ){ + for (Store store : list) { + String current = citycodeResp.getLongitude() +","+citycodeResp.getLatitude(); + String result = store.getLon()+","+store.getLat(); + String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result); + long l = Long.parseLong(distanceTOKilometer); + if (ToolUtil.isNotEmpty(citycodeResp.getSpace()) && l > citycodeResp.getSpace()){ + continue; } + StoreDetailList detailList = new StoreDetailList(); + detailList.setStoreId(store.getId()); + detailList.setStoreImg(store.getCoverDrawing()); + detailList.setStoreName(store.getName()); + detailList.setStoreAddress(store.getAddress()); + detailList.setStorePhone(store.getPhone()); + detailList.setStoreDistance(l); + detailList.setStoreTime(store.getStartTime() + "-" + store.getEndTime()); + detailList.setStoreInfo(store.getIntroduce()); + detailLists.add(detailList); } - }catch (Exception e){ - e.printStackTrace(); } - - return storeInfos; + return detailLists; } diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreEvaluationController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreEvaluationController.java new file mode 100644 index 0000000..ca0b25a --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreEvaluationController.java @@ -0,0 +1,62 @@ +package com.dsh.other.controller; + + +import com.dsh.other.entity.StoreEvaluation; +import com.dsh.other.model.StoreDetailsVo; +import com.dsh.other.service.StoreEvaluationService; +import com.dsh.other.util.ResultUtil; +import com.dsh.other.util.TokenUtil; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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.RestController; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RestController +@RequestMapping("") +public class StoreEvaluationController { + + + @Resource + private StoreEvaluationService evaluationService; + + + @Resource + private TokenUtil tokenUtil; + + + @ResponseBody + @PostMapping("/base/storeEvaluation/saveEvaluation") + @ApiOperation(value = "联系客服-门店评价", tags = {"APP-探索玩湃"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "门店id", name = "storeId", required = true, dataType = "int"), + }) + public ResultUtil getStoreDetails(Integer storeId, String content, double score, String imgs){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + StoreEvaluation storeEvaluation = new StoreEvaluation(); + storeEvaluation.setAppUserId(uid); + storeEvaluation.setStoreId(storeId); + storeEvaluation.setScore(score); + storeEvaluation.setContent(content); + storeEvaluation.setImgs(imgs); + storeEvaluation.setState(1); + storeEvaluation.setInsertTime(new Date()); + evaluationService.save(storeEvaluation); + return ResultUtil.success(); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SystemNoticeController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SystemNoticeController.java index e6da020..44797d0 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/SystemNoticeController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SystemNoticeController.java @@ -12,6 +12,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -68,7 +69,9 @@ List<String> tellS = new ArrayList<>(); List<Phone> list = phoneService.list(); if (list.size() > 0 ){ - tellS = list.stream().map(Phone::getPhone).collect(Collectors.toList()); + String phone = list.get(0).getPhone(); + String[] split = phone.split(","); + tellS = Arrays.asList(split); } return tellS; diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/StoreEvaluation.java b/cloud-server-other/src/main/java/com/dsh/other/entity/StoreEvaluation.java new file mode 100644 index 0000000..5cbd6ce --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/entity/StoreEvaluation.java @@ -0,0 +1,76 @@ +package com.dsh.other.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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.util.Date; + +/** + * <p> + * 门店评价 + * </p> + * + * @author jqs + * @since 2023-06-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_store_evaluation") +public class StoreEvaluation extends Model<StoreEvaluation> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 评价用户id + */ + @TableField("appUserId") + private Integer appUserId; + /** + * 门店id + */ + @TableField("storeId") + private Integer storeId; + /** + * 评分 + */ + @TableField("score") + private Double score; + /** + * 评价内容 + */ + @TableField("content") + private String content; + /** + * 评价图片 + */ + @TableField("imgs") + private String imgs; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + @TableField("state") + private Integer state; + /** + * 评价时间 + */ + @TableField("insertTime") + private Date insertTime; + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/QuestionClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/QuestionClient.java index afdde84..6e2fb76 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/QuestionClient.java +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/QuestionClient.java @@ -6,12 +6,14 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + @FeignClient(value = "mb-cloud-other") public interface QuestionClient { @PostMapping("/base/notice/queryQuestionDetails") - QuestionDetailsVo getSysQuestionDetails(); + List<QuestionIns> getSysQuestionDetails(); @PostMapping("/base/notice/queryQuestion") QuestionIns getSysQuestionBuId(@RequestParam("quesId") Integer quesId); diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java index 8f03d45..2a5e117 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java @@ -1,6 +1,7 @@ package com.dsh.other.feignclient; import com.dsh.other.entity.SiteBooking; +import com.dsh.other.feignclient.model.SiteVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -17,4 +18,8 @@ @PostMapping("/base/site/queryPlaypaiGoldSiteDetail") List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId); + + @PostMapping("/base/site/getNewAddSiteList") + List<SiteVo> getAppUserSiteList(); + } diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java index 0dc55b4..04c4472 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java @@ -20,10 +20,11 @@ List<StoreInfo> getAllNearbyStoreList(@RequestBody GetAllNearbyStoreList list); - @PostMapping("/base/protocol/storeDetail/storeOfLonLat") - List<StoreLonLatList> getAllStoreLonLats(@RequestBody GetAllNearbyStoreList list); @PostMapping("/base/protocol/storeDetail/distanceCal") public long calculateDistance(@RequestBody GetDistanceVo distanceVo); + + @PostMapping("/base/protocol/storeDetail/citycodeLoLa") + List<StoreDetailList> getQueryStoreList(@RequestBody StoreOfCitycodeResp citycodeResp); } diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java new file mode 100644 index 0000000..0fa08de --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteVo.java @@ -0,0 +1,24 @@ +package com.dsh.other.feignclient.model; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class SiteVo { + + @ApiModelProperty(value = "场地id") + private Integer siteId; + + @ApiModelProperty(value = "场地名称") + private String siteName; + + @ApiModelProperty(value = "场地类型:足球场") + private String siteType; + + @ApiModelProperty(value = "预约时间段") + private String siteTime; + + @ApiModelProperty(value = "价格") + private double price; + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailList.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailList.java new file mode 100644 index 0000000..8d5bb93 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreDetailList.java @@ -0,0 +1,33 @@ +package com.dsh.other.feignclient.model; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class StoreDetailList { + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + @ApiModelProperty(value = "门店封面图") + private String storeImg; + + @ApiModelProperty(value = "门店名称") + private String storeName; + + @ApiModelProperty(value = "门店详细地址") + private String storeAddress; + + @ApiModelProperty(value = "门店联系电话") + private String storePhone; + + @ApiModelProperty(value = "门店距离当前位置 的距离") + private long storeDistance; + + @ApiModelProperty(value = "门店营业时间范围") + private String storeTime; + + @ApiModelProperty(value = "门店信息") + private String storeInfo; +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreInfo.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreInfo.java index 12f23b1..71178dc 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreInfo.java +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreInfo.java @@ -22,4 +22,10 @@ @ApiModelProperty(value = "门店详细地址") private String storeAddr; + @ApiModelProperty(value = "经度") + private String longitude; + + @ApiModelProperty(value = "纬度") + private String latitude; + } diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreLonLatList.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreLonLatList.java index fffe6d1..4b8548e 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreLonLatList.java +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreLonLatList.java @@ -15,5 +15,8 @@ @ApiModelProperty(value = "纬度") String latitude; + @ApiModelProperty(value = "门店标题") + String title; + } diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreOfCitycodeResp.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreOfCitycodeResp.java new file mode 100644 index 0000000..6f7d0da --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreOfCitycodeResp.java @@ -0,0 +1,22 @@ +package com.dsh.other.feignclient.model; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class StoreOfCitycodeResp { + + @ApiModelProperty(value = "距离") + private Integer space; + + @ApiModelProperty(value = "城市code") + private String cityCode; + + @ApiModelProperty(value = "纬度") + private String latitude; + + @ApiModelProperty(value = "经度") + private String longitude; + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/StoreEvaluationMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/StoreEvaluationMapper.java new file mode 100644 index 0000000..5a49e34 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/StoreEvaluationMapper.java @@ -0,0 +1,18 @@ +package com.dsh.other.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.other.entity.StoreConfig; +import com.dsh.other.entity.StoreEvaluation; + + +/** + * <p> + * 门店基础配置 Mapper 接口 + * </p> + * + * @author jqs + * @since 2023-06-14 + */ +public interface StoreEvaluationMapper extends BaseMapper<StoreEvaluation> { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/StoreDetailsVo.java b/cloud-server-other/src/main/java/com/dsh/other/model/StoreDetailsVo.java new file mode 100644 index 0000000..4340c36 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/model/StoreDetailsVo.java @@ -0,0 +1,56 @@ +package com.dsh.other.model; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class StoreDetailsVo { + + @ApiModelProperty(value = "门店图片数组") + private List<String> images; + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + @ApiModelProperty(value = "门店名称") + private String storeName; + + @ApiModelProperty(value = "门店地址") + private String storeAddress; + + @ApiModelProperty(value = "门店营业时间段") + private String storeTime; + + @ApiModelProperty(value = "门店信息") + private String storeInfo; + + @ApiModelProperty(value = "场地列表") + private List<Site> venueList; + + @ApiModelProperty(value = "课程列表") + private List<StoreOfCourseVo> courseVoList; + + + @Data + public static class Site{ + + @ApiModelProperty(value = "场地id") + private Integer siteId; + + @ApiModelProperty(value = "场地名称") + private String siteName; + + @ApiModelProperty(value = "场地类型:足球场") + private String siteType; + + @ApiModelProperty(value = "预约时间段") + private String siteTime; + + @ApiModelProperty(value = "价格") + private double price; + } + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/StoreOfCourseVo.java b/cloud-server-other/src/main/java/com/dsh/other/model/StoreOfCourseVo.java new file mode 100644 index 0000000..7bfeead --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/model/StoreOfCourseVo.java @@ -0,0 +1,35 @@ +package com.dsh.other.model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @date 2023/6/24 17:34 + */ +@Data +@ApiModel +public class StoreOfCourseVo { + + @ApiModelProperty("课程id") + private Integer courseId; + + @ApiModelProperty("课程名称+门店名称") + private String name; + + @ApiModelProperty("封面图") + private String coverDrawing; + + @ApiModelProperty("上课时间") + private String classStartTime; + + @ApiModelProperty("已报名人数") + private Integer applicantsNumber; + + @ApiModelProperty("包含课时数") + private Integer classHours; + + @ApiModelProperty("价格") + private Double originalPrice; +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/StoreEvaluationService.java b/cloud-server-other/src/main/java/com/dsh/other/service/StoreEvaluationService.java new file mode 100644 index 0000000..1b518fe --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/StoreEvaluationService.java @@ -0,0 +1,22 @@ +package com.dsh.other.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.other.entity.Store; +import com.dsh.other.entity.StoreEvaluation; +import com.dsh.other.model.BaseVo; +import com.dsh.other.model.ProvinceAndCityVo; + +import java.util.List; + + +/** + * <p> + * 门店信息 服务类 + * </p> + * + * @author jqs + * @since 2023-06-14 + */ +public interface StoreEvaluationService extends IService<StoreEvaluation> { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreEvaluationServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreEvaluationServiceImpl.java new file mode 100644 index 0000000..048f512 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreEvaluationServiceImpl.java @@ -0,0 +1,12 @@ +package com.dsh.other.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.other.entity.StoreEvaluation; +import com.dsh.other.mapper.StoreEvaluationMapper; +import com.dsh.other.service.StoreEvaluationService; +import org.springframework.stereotype.Service; + + +@Service +public class StoreEvaluationServiceImpl extends ServiceImpl<StoreEvaluationMapper, StoreEvaluation> implements StoreEvaluationService { +} diff --git a/cloud-server-other/src/main/resources/mapper/StoreEvaluationMapper.xml b/cloud-server-other/src/main/resources/mapper/StoreEvaluationMapper.xml new file mode 100644 index 0000000..8d3de32 --- /dev/null +++ b/cloud-server-other/src/main/resources/mapper/StoreEvaluationMapper.xml @@ -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.StoreEvaluationMapper"> + + +</mapper> -- Gitblit v1.7.1