瀏覽代碼

Merge branch 'master' of http://49.4.53.36:3000/hotel/hotel-saas-backend

覃浩 2 年之前
父節點
當前提交
426714d68e

+ 1 - 1
jeecg-mall-api/src/main/java/org/jeecg/config/WebConfig.java

@@ -46,7 +46,7 @@ public class WebConfig implements WebMvcConfigurer {
 		registry
 				.addInterceptor(thirdSessionInterceptor)
 				.addPathPatterns("/mall-api/**")  //拦截路径
-                .excludePathPatterns("/mall-api/wxuser/ma-login");     //不拦截路径
+                .excludePathPatterns("/mall-api/wxuser/ma-login","/mall-api/hotel/can-use-hotel-list","/mall-api/hotel/queryById","/mall-api/hotel/can-user-rooms","/mall-api/hotel/room-layout-price");     //不拦截路径
 		WebMvcConfigurer.super.addInterceptors(registry);
 
 	}

+ 39 - 12
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/HotelController.java

@@ -34,10 +34,12 @@ import org.jeecg.modules.order.service.impl.CesOrderCommentServiceImpl;
 import org.jeecg.modules.rooms.DTO.CanUseRequestParamDto;
 import org.jeecg.modules.rooms.Vo.CanUseResultVo;
 import org.jeecg.modules.rooms.entity.CesRoomLayout;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutPrice;
 import org.jeecg.modules.rooms.entity.CesRooms;
 import org.jeecg.modules.rooms.service.CesRoomLayoutPriceServiceImpl;
 import org.jeecg.modules.rooms.service.CesRoomLayoutServiceImpl;
 import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
+import org.jeecg.modules.rooms.service.ICesRoomLayoutPriceDateService;
 import org.jeecg.modules.system.entity.SysTenant;
 import org.jeecg.modules.system.service.ISysTenantService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +49,7 @@ import org.springframework.web.servlet.ModelAndView;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -77,6 +80,8 @@ public class HotelController extends WebConfig {
     private IBusRoomsLivingOrderService busRoomsLivingOrderService;
     @Resource
     private IBusBookingRoomsService busBookingRoomsService;
+    @Resource
+    private CesRoomLayoutPriceServiceImpl cesRoomLayoutPriceService;
 
     /**
      * 酒店列表查询
@@ -114,16 +119,17 @@ public class HotelController extends WebConfig {
      */
     @ApiOperation(value = "可入住酒店列表", notes = "可入住酒店列表")
     @GetMapping(value = "/can-use-hotel-list")
-    @ApiLogin
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     public Result<IPage<BusHotel>> getCanUseHotelList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                                       @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                       @RequestParam(name = "sort", defaultValue = "0") Integer sort,
                                                       @RequestParam(name = "keyWord", defaultValue = "") String keyWord,
+                                                      @RequestParam(name = "lat", defaultValue = "0") BigDecimal lat,
+                                                      @RequestParam(name = "lng", defaultValue = "0") BigDecimal lng,
                                                       HttpServletRequest req) {
         Page<BusHotel> page = new Page<BusHotel>(pageNo, pageSize);
         String tenantId = TenantContextHolder.getTenantId();
-        IPage<BusHotel> pageList = busHotelService.pageList(page, tenantId, keyWord, sort);
+        IPage<BusHotel> pageList = busHotelService.pageList(page, tenantId, keyWord, sort, lat, lng);
         return Result.OK(pageList);
     }
 
@@ -161,19 +167,20 @@ public class HotelController extends WebConfig {
 
     /**
      * 根据酒店查询评价列表
+     *
      * @param cesOrderComment
      * @param pageNo
      * @param pageSize
      * @param req
      * @return
      */
-    @ApiOperation(value="根据酒店查询评价列表", notes="根据酒店查询评价列表")
+    @ApiOperation(value = "根据酒店查询评价列表", notes = "根据酒店查询评价列表")
     @GetMapping(value = "/comment-list")
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     public Result<IPage<CesOrderComment>> getCommentPageList(CesOrderComment cesOrderComment,
-                                                        @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-                                                        @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-                                                        HttpServletRequest req) {
+                                                             @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                             HttpServletRequest req) {
         LambdaQueryWrapper<CesOrderComment> queryWrapper = QueryGenerator.initQueryWrapper(cesOrderComment, req.getParameterMap()).lambda();
         Page<CesOrderComment> page = new Page<CesOrderComment>(pageNo, pageSize);
         IPage<CesOrderComment> pageList = cesOrderCommentService.page(page, queryWrapper);
@@ -183,11 +190,12 @@ public class HotelController extends WebConfig {
 
     /**
      * 酒店预定订单添加
+     *
      * @param busRoomBookingOrders
      * @return
      */
     @AutoLog(value = "酒店预定订单-添加")
-    @ApiOperation(value="酒店预定订单-添加", notes="酒店预定订单-添加")
+    @ApiOperation(value = "酒店预定订单-添加", notes = "酒店预定订单-添加")
     @PostMapping(value = "/hotel-room-booking")
     @ApiLogin
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
@@ -213,16 +221,17 @@ public class HotelController extends WebConfig {
 
     /**
      * 预定/入住订单列表
-     * @param type 1 入住订单查询->livingStatus | 2 bookingStatus
-     * @param livingStatus -1 正常入住,1 已结账退房,2 先走未结,3 联房退房
+     *
+     * @param type          1 入住订单查询->livingStatus | 2 bookingStatus
+     * @param livingStatus  -1 正常入住,1 已结账退房,2 先走未结,3 联房退房
      * @param bookingStatus 1 预定中 2 在住 3 已取消
      * @return
      */
-    @ApiOperation(value="预定/入住订单列表", notes="预定/入住订单列表")
-    @RequestMapping(value = "/kedan-orders",method = RequestMethod.GET)
+    @ApiOperation(value = "预定/入住订单列表", notes = "预定/入住订单列表")
+    @RequestMapping(value = "/kedan-orders", method = RequestMethod.GET)
     @ApiLogin
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
-    public Result<IPage<KeLiItemVo>> keli(Page<KeLiItemVo> page,String keyw, Integer livingStatus, String hotelId, Integer type, Integer bookingStatus) {
+    public Result<IPage<KeLiItemVo>> keli(Page<KeLiItemVo> page, String keyw, Integer livingStatus, String hotelId, Integer type, Integer bookingStatus) {
         if (type == null) throw new JeecgBootException("参数错误");
         if (type == 1 && livingStatus == null) throw new JeecgBootException("参数错误");
         if (type == 2 && bookingStatus == null) throw new JeecgBootException("参数错误");
@@ -236,6 +245,7 @@ public class HotelController extends WebConfig {
 
     /**
      * 查询已入住酒店信息
+     *
      * @return
      */
     @ApiOperation(value = "查询已入住酒店信息", notes = "查询已入住酒店信息")
@@ -263,4 +273,21 @@ public class HotelController extends WebConfig {
         }
         return Result.ok(busHotel);
     }
+
+    /**
+     * 根据房型查询对应房价列表
+     *
+     * @param layoutId
+     * @return
+     */
+    @ApiOperation(value = "根据房型查询对应房价列表", notes = "根据房型查询对应房价列表")
+    @GetMapping(value = "/room-layout-price")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    public Result<List<CesRoomLayoutPrice>> getRoomLayoutPrice(@RequestParam(name = "layoutId", required = true) String layoutId, @RequestParam(name = "type", required = true) Integer type) {
+        LambdaQueryWrapper<CesRoomLayoutPrice> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(CesRoomLayoutPrice::getLayoutId, layoutId);
+        lambdaQueryWrapper.eq(CesRoomLayoutPrice::getType, type);
+        List<CesRoomLayoutPrice> list = cesRoomLayoutPriceService.list(lambdaQueryWrapper);
+        return Result.ok(list);
+    }
 }

+ 4 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusHotelMapper.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.business.mapper;
 
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
 
@@ -27,7 +28,7 @@ public interface BusHotelMapper extends BaseMapper<BusHotel> {
      * @param sort 0推荐排序 1 距离优先 2低价优先 3评分优先 4评论数优先
      * @return
      */
-    @Select("<script>SELECT h.*, ROUND(6378.138*2*ASIN(SQRT(power(SIN((28.205783*PI()/180-(h.lat)*PI()/180)/2),2)+COS(28.205783*PI()/180)*COS((h.lat)*PI()/180)*power(SIN((112.986861*PI()/180-(h.lng)*PI()/180)/2),2)))*1000,2)  AS distance,ifnull(c.commentNum,0) as commentNum,ifnull(c.score,0) as score,ifnull(market_price,0) as market_price FROM bus_hotel_info h\n" +
+    @Select("<script>SELECT h.*, ROUND(6378.138*2*ASIN(SQRT(power(SIN((${lat}*PI()/180-(h.lat)*PI()/180)/2),2)+COS(${lat}*PI()/180)*COS((h.lat)*PI()/180)*power(SIN((${lng}*PI()/180-(h.lng)*PI()/180)/2),2)))*1000,2)  AS distance,ifnull(c.commentNum,0) as commentNum,ifnull(c.score,0) as score,ifnull(market_price,0) as min_price FROM bus_hotel_info h\n" +
             "left join (select hotel_id,count(0) as commentNum,AVG(score) as score from ces_order_comment where comment_type=1 group by hotel_id) c\n" +
             "on c.hotel_id=h.id\n" +
             "left join (select hotel_id,min(market_price) as market_price from ces_room_layout where invalid=0 group by hotel_id) l\n" +
@@ -37,11 +38,11 @@ public interface BusHotelMapper extends BaseMapper<BusHotel> {
             "<if test='keyWord != null and keyWord !=\"\"'> and (h.address LIKE concat(concat('%',#{keyWord}),'%') or h.name LIKE concat(concat('%',#{keyWord}),'%')) </if>" +
             "<if test='sort != null and sort ==0'> order by h.create_time desc </if>" +
             "<if test='sort != null and sort ==1'> order by distance asc </if>" +
-            "<if test='sort != null and sort ==2'> order by market_price asc </if>" +
+            "<if test='sort != null and sort ==2'> order by min_price asc </if>" +
             "<if test='sort != null and sort ==3'> order by score desc </if>" +
             "<if test='sort != null and sort ==4'> order by commentNum desc </if>" +
             "</script>")
-    public List<BusHotel> pageList(Page<BusHotel> page,@Param("tenantId") String tenantId, @Param("keyWord") String keyWord, @Param("sort") Integer sort);
+    public List<BusHotel> pageList(Page<BusHotel> page,@Param("tenantId") String tenantId, @Param("keyWord") String keyWord, @Param("sort") Integer sort, @Param("lat") BigDecimal lat, @Param("lng") BigDecimal lng);
 
 }
 

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusHotelService.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.business.entity.BusHotel;
 
+import java.math.BigDecimal;
+
 /**
  * @Description: bus_hotel
  * @Author: jeecg-boot
@@ -34,5 +36,5 @@ public interface IBusHotelService extends IService<BusHotel> {
      * @param sort 0推荐排序 1 距离优先 2低价优先 3评分优先 4评论数优先
      * @return
      */
-    public Page<BusHotel> pageList(Page<BusHotel> page, String tenantId, String keyWord, Integer sort);
+    public Page<BusHotel> pageList(Page<BusHotel> page, String tenantId, String keyWord, Integer sort, BigDecimal lat, BigDecimal lng);
 }

+ 3 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusHotelServiceImpl.java

@@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -114,7 +115,7 @@ public class BusHotelServiceImpl extends ServiceImpl<BusHotelMapper, BusHotel> i
      * @param sort 0推荐排序 1 距离优先 2低价优先 3评分优先 4评论数优先
      * @return
      */
-    public Page<BusHotel> pageList(Page<BusHotel> page, String tenantId, String keyWord, Integer sort) {
-        return page.setRecords(this.busHotelMapper.pageList(page, tenantId, keyWord, sort));
+    public Page<BusHotel> pageList(Page<BusHotel> page, String tenantId, String keyWord, Integer sort,BigDecimal lat, BigDecimal lng) {
+        return page.setRecords(this.busHotelMapper.pageList(page, tenantId, keyWord, sort, lat, lng));
     }
 }

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/finance/mapper/SummaryMapper.java

@@ -86,7 +86,7 @@ public interface SummaryMapper extends BaseMapper<PosOrderGoodsPayment> {
     public List<HashMap<String, Object>> posPageList(Page<HashMap<String, Object>> page, @Param("busRoomPayTypes") List<BusRoomPayType> busRoomPayTypes, @Param("hotelId") String hotelId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
 
     /**
-     * 收款汇总统计全部
+     * 收款汇总统计客房
      *
      * @param page
      * @param busRoomPayTypes