Explorar o código

空闲房下拉框,脏房下拉框,锁房下拉框

liu hai 1 ano
pai
achega
b620bb9391

+ 12 - 0
src/main/java/com/template/api/HouseNumberStateAPI.java

@@ -96,4 +96,16 @@ public interface HouseNumberStateAPI {
     @ApiOperation(value = "房态管理-入住回显", notes = "房态管理-入住回显", httpMethod = "GET")
     CommonResult checkInShow(@RequestParam String orderNumber);
 
+    @GetMapping("/freeDropDownShow")
+    @ApiOperation(value = "房态管理-空闲房下拉框", notes = "房态管理-入住回显", httpMethod = "GET")
+    CommonResult freeDropDownShow();
+
+    @GetMapping("/dirtyDropDownShow")
+    @ApiOperation(value = "房态管理-脏房下拉框", notes = "房态管理-入住回显", httpMethod = "GET")
+    CommonResult dirtyDropDownShow();
+
+    @GetMapping("/lockDropDownShow")
+    @ApiOperation(value = "房态管理-锁房下拉框", notes = "房态管理-入住回显", httpMethod = "GET")
+    CommonResult lockDropDownShow();
+
 }

+ 3 - 1
src/main/java/com/template/controller/AppletLoginController.java

@@ -90,15 +90,17 @@ public class AppletLoginController implements AppletLoginControllerAPI {
 //
 //            身份证
             String idCard = userInfoMap.get("id_card").toString();
+            System.out.println("idCard = " + idCard);
 //            用户姓名
             String name = userInfoMap.get("name").toString();
-            System.out.println("name = " + name);
+
             String encodeName = URLEncoder.encode(name,"utf-8");
             System.out.println("encodeName = " + encodeName);
 //            身份职称
             String identityTitle = userInfoMap.get("identity_type").toString();
 //            用户电子卡号/学工号
             String cardNumber = userInfoMap.get("card_number").toString();
+            System.out.println("cardNumber = " + cardNumber);
 //           手机号
             String telephone = userInfoMap.get("telephone").toString();
             String headImage = userInfoMap.get("head_image").toString();

+ 109 - 9
src/main/java/com/template/controller/HouseNumberStateController.java

@@ -111,7 +111,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         List<House> list = houseService.list(new LambdaQueryWrapper<>());
         LocalDateTime start = LocalDateTime.now();
         LocalDateTime end = start.withHour(23).withMinute(59).withSecond(59);
-        List<HouseStateVo> pageVo1 = houseNumberService.houseStatePage(keyWord, houseType, start,end);
+        List<HouseStateVo> pageVo1 = houseNumberService.houseStatePage(keyWord, houseType, start, end);
         HashMap<Integer, HouseStateVo> map = new HashMap<>();
         for (HouseStateVo houseStateVo : pageVo1) {
             Integer houseNumberId = houseStateVo.getHouseNumberId();
@@ -125,14 +125,14 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                 LocalDateTime parse1 = LocalDateTime.parse(reserveLiveTime1, dateTimeFormatter1);
 
                 if (parse1.isAfter(parse)) {
-                    map.put(houseNumberId,houseStateVo);
+                    map.put(houseNumberId, houseStateVo);
                 }
 
-            }else {
-                map.put(houseNumberId,houseStateVo);
+            } else {
+                map.put(houseNumberId, houseStateVo);
             }
         }
-        List<HouseStateVo> pageVo=new ArrayList<>();
+        List<HouseStateVo> pageVo = new ArrayList<>();
         Set<Integer> integers = map.keySet();
         for (Integer integer : integers) {
             HouseStateVo houseStateVo = map.get(integer);
@@ -295,11 +295,11 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                         String startTime = houseNumberState.getStartTime();
 //                结束时间
                         String endTime = houseNumberState.getEndTime();
-                        LocalDateTime start= LocalDateTime.parse(startTime, dateTimeFormatter1);
+                        LocalDateTime start = LocalDateTime.parse(startTime, dateTimeFormatter1);
                         Date startDate = Date.from(start.atZone(ZoneId.systemDefault()).toInstant());
 //                        Date startDate = DateUtil.parseDateOnly(startTime);
 
-                        LocalDateTime end= LocalDateTime.parse(endTime, dateTimeFormatter1);
+                        LocalDateTime end = LocalDateTime.parse(endTime, dateTimeFormatter1);
                         Date endDate = Date.from(end.atZone(ZoneId.systemDefault()).toInstant());
 //                        Date endDate = DateUtil.parseDateOnly(endTime);
 
@@ -319,7 +319,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                                 houseNumberStatePageVo.setReserveName(houseOrder.getReserveName());
 //                                订单号
                                 houseNumberStatePageVo.setOrderNumber(orderNumber);
-                            }else {
+                            } else {
                                 houseNumberStatePageVo.setReserveLiveTime(houseNumberState.getStartTime());
                                 houseNumberStatePageVo.setReserveLeaveTime(houseNumberState.getEndTime());
                             }
@@ -1665,7 +1665,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                 list.add(houseNumberState);
             }
         }
-        if (ObjectUtils.isEmpty(list) || list.size()<=0) {
+        if (ObjectUtils.isEmpty(list) || list.size() <= 0) {
             return CommonResult.fail("无锁定房间");
         }
         houseNumberStateService.updateBatchById(list);
@@ -1779,6 +1779,106 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         return CommonResult.ok(vo);
     }
 
+    @Override
+    public CommonResult freeDropDownShow() {
+        List<House> houses = houseService.list(new LambdaQueryWrapper<>());
+        Date date = new Date();
+//        获取已被订阅的房间
+        List<Integer> ids = houseNumberService.getNumberState(date);
+//        查询所有房间
+        List<HouseNumber> houseNumberList = houseNumberService.list(new LambdaQueryWrapper<>());
+
+        //        重新组合没有使用过的房间
+        ArrayList<HouseNumber> list = new ArrayList<>();
+        for (HouseNumber houseNumber : houseNumberList) {
+            Integer houseNumberId = houseNumber.getId();
+            if (!ids.stream().anyMatch(id -> id.equals(houseNumberId))) {
+                list.add(houseNumber);
+            }
+        }
+
+        String houseNumberIds = "";
+        for (int i = 0; i < list.size(); i++) {
+            HouseNumber number = list.get(i);
+
+            String id = number.getId() + "";
+            if (i == 0) {
+                houseNumberIds = id;
+            } else {
+                houseNumberIds = houseNumberIds + "," + id;
+            }
+        }
+
+        List<FreeVo> freeVos = houseNumberService.freeDropDownShow(houseNumberIds);
+
+
+        ArrayList<FreeDropDownShowVo> vos = new ArrayList<>();
+
+        for (int i = 0; i < houses.size(); i++) {
+            House house = houses.get(i);
+            Integer id = house.getId();
+            FreeDropDownShowVo vo = new FreeDropDownShowVo();
+            vo.setId(id+1000000);
+            vo.setName(house.getRoomName());
+            vo.setRoomType(house.getRoomType());
+            List<FreeVo> ownerClasses = freeVos.stream().filter(e -> e.getHouseId().equals(id+ "")).collect(Collectors.toList());
+            if (ownerClasses != null && ownerClasses.size() > 0) {
+                vo.setVos(ownerClasses);
+            }
+            vos.add(vo);
+        }
+
+
+        return CommonResult.ok(vos);
+    }
+
+    @Override
+    public CommonResult dirtyDropDownShow() {
+        List<House> houses = houseService.list(new LambdaQueryWrapper<>());
+        List<FreeVo> freeVos = houseNumberService.dirtyDropDownShow();
+        ArrayList<FreeDropDownShowVo> vos = new ArrayList<>();
+        for (int i = 0; i < houses.size(); i++) {
+            House house = houses.get(i);
+            Integer id = house.getId();
+            FreeDropDownShowVo vo = new FreeDropDownShowVo();
+            vo.setId(id+1000000);
+            vo.setName(house.getRoomName());
+            vo.setRoomType(house.getRoomType());
+            List<FreeVo> ownerClasses = freeVos.stream().filter(e -> e.getHouseId().equals(id+ "")).collect(Collectors.toList());
+            if (ownerClasses != null && ownerClasses.size() > 0) {
+                vo.setVos(ownerClasses);
+            }
+            vos.add(vo);
+        }
+        return CommonResult.ok(vos);
+    }
+
+    @Override
+    public CommonResult lockDropDownShow() {
+        List<House> houses = houseService.list(new LambdaQueryWrapper<>());
+
+        Date date = new Date();
+//        获取已被锁定的房间
+        List<FreeVo> freeVos = houseNumberService.lockDropDownShow(date);
+
+        ArrayList<FreeDropDownShowVo> vos = new ArrayList<>();
+        for (int i = 0; i < houses.size(); i++) {
+            House house = houses.get(i);
+            Integer id = house.getId();
+            FreeDropDownShowVo vo = new FreeDropDownShowVo();
+            vo.setId(id+1000000);
+            vo.setName(house.getRoomName());
+            vo.setRoomType(house.getRoomType());
+            List<FreeVo> ownerClasses = freeVos.stream().filter(e -> e.getHouseId().equals(id+ "")).collect(Collectors.toList());
+            if (ownerClasses != null && ownerClasses.size() > 0) {
+                vo.setVos(ownerClasses);
+            }
+            vos.add(vo);
+        }
+        return CommonResult.ok(vos);
+
+    }
+
 
 }
 

+ 10 - 0
src/main/java/com/template/mapper/HouseNumberMapper.java

@@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.vo.CalendarPageVo;
+import com.template.model.vo.FreeVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.houseLockListVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -30,4 +32,12 @@ public interface HouseNumberMapper extends BaseMapper<HouseNumber> {
 
 
     IPage<houseLockListVo> houseLockListDto(Page<houseLockListVo> pageVo,@Param("roomNumber") String roomNumber,@Param("houseIds") String houseIds);
+
+    List<Integer> getNumberState(@Param("date") Date date);
+
+    List<FreeVo> freeDropDownShow(@Param("houseNumberIds") String houseNumberIds);
+
+    List<FreeVo> dirtyDropDownShow();
+
+    List<FreeVo> lockDropDownShow(@Param("date") Date date);
 }

+ 18 - 0
src/main/java/com/template/model/vo/FreeDropDownShowVo.java

@@ -0,0 +1,18 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FreeDropDownShowVo {
+    private int id;
+    @ApiModelProperty(value = "房间名称")
+    private String name;
+    @ApiModelProperty(value = "房间类型(1:全日房,2:钟点房)")
+    private Integer roomType;
+
+    private List<FreeVo> vos;
+
+}

+ 13 - 0
src/main/java/com/template/model/vo/FreeVo.java

@@ -0,0 +1,13 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class FreeVo {
+    private Integer id;
+    private String houseId;
+    private String roomNumber;
+    private Integer houseStatus;
+    private Integer roomType;
+
+}

+ 10 - 0
src/main/java/com/template/services/HouseNumberService.java

@@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.CalendarPageVo;
+import com.template.model.vo.FreeVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.houseLockListVo;
 
 import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -25,4 +27,12 @@ public interface HouseNumberService extends IService<HouseNumber> {
     PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size);
 
     PageUtils<houseLockListVo>  houseLockPage(String roomNumber, String houseIds,int page, int size);
+
+    List<Integer> getNumberState(Date date);
+
+    List<FreeVo> freeDropDownShow(String houseNumberIds);
+
+    List<FreeVo> dirtyDropDownShow();
+
+    List<FreeVo> lockDropDownShow(Date date);
 }

+ 18 - 1
src/main/java/com/template/services/impl/HouseNumberServiceImpl.java

@@ -7,6 +7,7 @@ import com.template.mapper.HouseNumberMapper;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.CalendarPageVo;
+import com.template.model.vo.FreeVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.houseLockListVo;
 import com.template.services.HouseNumberService;
@@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -51,10 +53,25 @@ public class HouseNumberServiceImpl extends ServiceImpl<HouseNumberMapper, House
         return new  PageUtils(result);
     }
 
+    @Override
+    public List<Integer> getNumberState(Date date) {
+        return houseNumberMapper.getNumberState(date);
+    }
 
+    @Override
+    public List<FreeVo> freeDropDownShow(String houseNumberIds) {
+        return houseNumberMapper.freeDropDownShow(houseNumberIds);
+    }
 
+    @Override
+    public List<FreeVo> dirtyDropDownShow() {
+        return houseNumberMapper.dirtyDropDownShow();
+    }
 
-
+    @Override
+    public List<FreeVo> lockDropDownShow(Date date) {
+        return houseNumberMapper.lockDropDownShow(date);
+    }
 
 
 }

+ 8 - 4
src/main/resources/application-dev.yml

@@ -94,10 +94,14 @@ wechat:
   pay:
     v3:
       appId: wxd87cbe1db0437303
-      keyPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_key.pem
-      certPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.pem
-      certP12Path: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.p12
-      platformCertPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\wx_cert.pem
+#      keyPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_key.pem
+#      certPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.pem
+#      certP12Path: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\apiclient_cert.p12
+#      platformCertPath: F:\项目资料\创海项目资料\iHotel_student_houtai\src\main\resources\cert\wx_cert.pem
+      keyPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_key.pem
+      certPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.pem
+      certP12Path: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\apiclient_cert.p12
+      platformCertPath: E:\\2024project\\iHotel_student_houtai\\src\\main\\resources\\cert\\cert\\wx_cert.pem
       mchId: 1609853253
       apiKey3: nanchangjiaotongxueyuan202188888
       apiKey: chuanghaikeji2021chuanghaikeji20

+ 60 - 0
src/main/resources/mapper/template/HouseNumberMapper.xml

@@ -104,6 +104,66 @@
         ORDER BY
         hn.room_number
     </select>
+    <select id="getNumberState" resultType="java.lang.Integer">
+        SELECT
+            hn.id
+        FROM
+            `house_number` hn
+                LEFT JOIN house_number_state hns on  hns.house_number_id=hn.id AND hns.deleted=0
+        WHERE hns.end_time> #{date}
+          AND hn.deleted=0
+        GROUP BY hn.id
+    </select>
+
+    <select id="freeDropDownShow" resultType="com.template.model.vo.FreeVo">
+        SELECT
+            hn.id ,
+            hn.house_id as houseId,
+            hn.room_number as roomNumber,
+            hn.house_status as houseStatus,
+            h.room_type as roomType
+        FROM
+            `house_number` hn
+        LEFT JOIN house h ON h.id = hn.house_id
+        AND h.deleted = 0
+        WHERE hn.deleted=0
+          AND FIND_IN_SET(hn.id,#{houseNumberIds})
+          AND hn.house_status=1
+    </select>
+    <select id="dirtyDropDownShow" resultType="com.template.model.vo.FreeVo">
+        SELECT
+            hn.id ,
+            hn.house_id as houseId,
+            hn.room_number as roomNumber,
+            hn.house_status as houseStatus,
+            h.room_type as roomType
+        FROM
+            `house_number` hn
+                LEFT JOIN house h ON h.id = hn.house_id
+                AND h.deleted = 0
+        WHERE hn.deleted=0
+          AND hn.house_status=2
+    </select>
+
+    <select id="lockDropDownShow" resultType="com.template.model.vo.FreeVo">
+        SELECT
+            hn.id ,
+            hn.house_id as houseId,
+            hn.room_number as roomNumber,
+            hn.house_status as houseStatus,
+            h.room_type as roomType
+        FROM
+            `house_number` hn
+                LEFT JOIN house_number_state hns ON hns.house_number_id = hn.id
+                AND hns.deleted = 0
+                LEFT JOIN house h ON h.id = hn.house_id
+                AND h.deleted = 0
+        WHERE
+            #{date} >= hns.start_time
+          AND hns.end_time > #{date}
+          AND hn.deleted = 0
+
+    </select>
 
 
 </mapper>