Browse Source

Merge branch 'master' of https://e.coding.net/chuanghaikeji/smarCampus/iHotel_student_houtai into develop-wxl

# Conflicts:
#	src/main/java/com/template/controller/HouseOrderController.java
wanxl 1 year ago
parent
commit
e39d15b1d6
29 changed files with 814 additions and 96 deletions
  1. 1 1
      src/main/java/com/template/AutoCode.java
  2. 7 0
      src/main/java/com/template/api/BlacklistControllerAPI.java
  3. 20 0
      src/main/java/com/template/api/BlacklistOrderControllerAPI.java
  4. 23 0
      src/main/java/com/template/api/BlacklistSettingControllerAPI.java
  5. 19 0
      src/main/java/com/template/controller/BlacklistController.java
  6. 61 0
      src/main/java/com/template/controller/BlacklistOrderController.java
  7. 120 0
      src/main/java/com/template/controller/BlacklistSettingController.java
  8. 98 95
      src/main/java/com/template/controller/HouseOrderController.java
  9. 18 0
      src/main/java/com/template/mapper/BlacklistMapper.java
  10. 23 0
      src/main/java/com/template/mapper/BlacklistOrderMapper.java
  11. 18 0
      src/main/java/com/template/mapper/BlacklistSettingMapper.java
  12. 2 0
      src/main/java/com/template/mapper/EmployeeUsersMapper.java
  13. 2 0
      src/main/java/com/template/mapper/OrganizationMapper.java
  14. 10 0
      src/main/java/com/template/model/dto/BlacklistOrderDeleteDto.java
  15. 14 0
      src/main/java/com/template/model/dto/BlacklistUpdateDto.java
  16. 3 0
      src/main/java/com/template/model/pojo/ApplicationProcedureTemporary.java
  17. 66 0
      src/main/java/com/template/model/pojo/Blacklist.java
  18. 95 0
      src/main/java/com/template/model/pojo/BlacklistOrder.java
  19. 56 0
      src/main/java/com/template/model/pojo/BlacklistSetting.java
  20. 9 0
      src/main/java/com/template/model/vo/BlacklistVo.java
  21. 20 0
      src/main/java/com/template/services/BlacklistOrderService.java
  22. 16 0
      src/main/java/com/template/services/BlacklistService.java
  23. 16 0
      src/main/java/com/template/services/BlacklistSettingService.java
  24. 31 0
      src/main/java/com/template/services/impl/BlacklistOrderServiceImpl.java
  25. 20 0
      src/main/java/com/template/services/impl/BlacklistServiceImpl.java
  26. 20 0
      src/main/java/com/template/services/impl/BlacklistSettingServiceImpl.java
  27. 5 0
      src/main/resources/mapper/template/BlacklistMapper.xml
  28. 16 0
      src/main/resources/mapper/template/BlacklistOrderMapper.xml
  29. 5 0
      src/main/resources/mapper/template/BlacklistSettingMapper.xml

+ 1 - 1
src/main/java/com/template/AutoCode.java

@@ -56,7 +56,7 @@ public class AutoCode {
         mpg.setPackageInfo(pc);
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setInclude("organization"); // 设置要映射的表名
+        strategy.setInclude("blacklist_order"); // 设置要映射的表名
         strategy.setNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setEntityLombokModel(true); // 自动lombok;

+ 7 - 0
src/main/java/com/template/api/BlacklistControllerAPI.java

@@ -0,0 +1,7 @@
+package com.template.api;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@RequestMapping("/auto/blacklist")
+public interface BlacklistControllerAPI {
+}

+ 20 - 0
src/main/java/com/template/api/BlacklistOrderControllerAPI.java

@@ -0,0 +1,20 @@
+package com.template.api;
+
+import com.template.model.dto.BlacklistOrderDeleteDto;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+@RequestMapping("/auto/blacklist-order")
+public interface BlacklistOrderControllerAPI {
+
+    @GetMapping("/list")
+    @ApiOperation(value = "黑名单订单查询", notes = "黑名单订单查询", httpMethod = "GET")
+    CommonResult list(@RequestParam Integer page,@RequestParam Integer size, String reserveName, String phone, String cardNumber, String liveName, String idCard);
+
+
+    @PostMapping("/delete")
+    @ApiOperation(value = "黑名单订单移除", notes = "黑名单订单移除", httpMethod = "POST")
+    CommonResult delete(@RequestBody BlacklistOrderDeleteDto dto);
+
+}

+ 23 - 0
src/main/java/com/template/api/BlacklistSettingControllerAPI.java

@@ -0,0 +1,23 @@
+package com.template.api;
+
+import com.template.model.dto.BlacklistUpdateDto;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@RequestMapping("/auto/blacklist-setting")
+public interface BlacklistSettingControllerAPI {
+
+    @GetMapping("/list")
+    @ApiOperation(value = "黑名单设置查询", notes = "黑名单设置查询", httpMethod = "GET")
+    CommonResult list();
+
+
+    @PostMapping("/update")
+    @ApiOperation(value = "黑名单配置修改", notes = "黑名单配置修改", httpMethod = "POST")
+    CommonResult update(@RequestBody BlacklistUpdateDto blacklistUpdateDto);
+
+}

+ 19 - 0
src/main/java/com/template/controller/BlacklistController.java

@@ -0,0 +1,19 @@
+package com.template.controller;
+
+
+import com.template.api.BlacklistControllerAPI;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-23
+ */
+@RestController
+public class BlacklistController implements BlacklistControllerAPI {
+
+}
+

+ 61 - 0
src/main/java/com/template/controller/BlacklistOrderController.java

@@ -0,0 +1,61 @@
+package com.template.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.template.api.BlacklistOrderControllerAPI;
+import com.template.model.dto.BlacklistOrderDeleteDto;
+import com.template.model.pojo.BlacklistOrder;
+import com.template.model.result.CommonResult;
+import com.template.services.BlacklistOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@RestController
+public class BlacklistOrderController implements BlacklistOrderControllerAPI {
+
+    @Autowired
+    BlacklistOrderService blacklistOrderService;
+
+    @Override
+    public CommonResult list(Integer page, Integer size, String reserveName, String phone, String cardNumber, String liveName, String idCard) {
+
+
+        LambdaQueryWrapper<BlacklistOrder> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(ObjectUtils.isNotEmpty(reserveName),BlacklistOrder::getReserveName,reserveName)
+                        .eq(ObjectUtils.isNotEmpty(phone),BlacklistOrder::getReservePhone,phone)
+                .eq(ObjectUtils.isNotEmpty(cardNumber),BlacklistOrder::getCardNumber,cardNumber)
+                .eq(ObjectUtils.isNotEmpty(liveName),BlacklistOrder::getLiveName,liveName)
+                .eq(ObjectUtils.isNotEmpty(idCard),BlacklistOrder::getLiveIdCard,idCard)
+                .orderByDesc(BlacklistOrder::getCreateTime);
+        IPage<BlacklistOrder> page1 = blacklistOrderService.page(new Page<>(page, size), wrapper);
+
+
+        return CommonResult.ok(page1);
+    }
+
+    @Override
+    public CommonResult delete(BlacklistOrderDeleteDto dto) {
+
+        List<Integer> ids = dto.getIds();
+        if (ObjectUtils.isEmpty(ids)) {
+            return CommonResult.fail();
+        }
+        blacklistOrderService.removeByIds(ids);
+
+        return CommonResult.ok();
+    }
+}
+

+ 120 - 0
src/main/java/com/template/controller/BlacklistSettingController.java

@@ -0,0 +1,120 @@
+package com.template.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.template.api.BlacklistSettingControllerAPI;
+import com.template.model.dto.BlacklistUpdateDto;
+import com.template.model.pojo.Blacklist;
+import com.template.model.pojo.BlacklistSetting;
+import com.template.model.pojo.Users;
+import com.template.model.result.CommonResult;
+import com.template.model.vo.BlacklistVo;
+import com.template.services.BlacklistOrderService;
+import com.template.services.BlacklistService;
+import com.template.services.BlacklistSettingService;
+import com.template.services.UsersService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@RestController
+public class BlacklistSettingController implements BlacklistSettingControllerAPI {
+
+    @Autowired
+    BlacklistSettingService blacklistSettingService;
+
+    @Autowired
+    BlacklistService blacklistService;
+
+    @Autowired
+    BlacklistOrderService blacklistOrderService;
+
+    @Autowired
+    UsersService usersService;
+
+    @Override
+    public CommonResult list() {
+        List<BlacklistSetting> list = blacklistSettingService.list(new LambdaQueryWrapper<>());
+        if (ObjectUtils.isEmpty(list)) {
+            return CommonResult.fail("黑名单配置异常");
+        }
+
+        BlacklistSetting blacklistSetting = list.get(0);
+
+        return CommonResult.ok(blacklistSetting);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public CommonResult update(BlacklistUpdateDto blacklistUpdateDto) {
+        Integer id = blacklistUpdateDto.getId();
+        Integer count = blacklistUpdateDto.getCount();
+
+        BlacklistSetting byId = blacklistSettingService.getById(id);
+        if (ObjectUtils.isEmpty(byId)) {
+            return CommonResult.fail("参数异常");
+        }
+
+        Integer count2 = byId.getCount();
+        try {
+
+            if (count.equals(count2)) {
+                return CommonResult.ok();
+            } else if (count > count2) {
+                LambdaQueryWrapper<Blacklist> wrapperB = new LambdaQueryWrapper<>();
+                wrapperB.eq(Blacklist::getCount, count2);
+                List<Blacklist> list = blacklistService.list(wrapperB);
+                ArrayList<Integer> ids = new ArrayList<>();
+                for (Blacklist blacklist : list) {
+                    ids.add(blacklist.getId());
+                }
+                if (ids.size() > 0) {
+                    blacklistService.removeByIds(ids);
+                }
+
+            } else if (count < count2) {
+//            多变少,需要从黑名单订单表里找
+                List<BlacklistVo> vos = blacklistOrderService.getBlacklist(count);
+                if (vos.size() > 0) {
+                    ArrayList<Blacklist> blacklists = new ArrayList<>();
+                    for (BlacklistVo vo : vos) {
+                        Integer id1 = vo.getId();
+                        Users users = usersService.getById(id1);
+                        if (ObjectUtils.isNotEmpty(users)) {
+                            Blacklist blacklist = new Blacklist();
+                            blacklist.setReserveUserId(id1);
+                            blacklist.setPhone(users.getPhone());
+                            blacklist.setCardNumber(users.getCardNumber());
+                            blacklist.setCount(vo.getCount());
+                            blacklists.add(blacklist);
+                        }
+                    }
+                    if (blacklists.size() > 0) {
+                        blacklistService.saveOrUpdateBatch(blacklists);
+                    }
+                }
+            }
+
+            byId.setCount(count);
+            blacklistSettingService.updateById(byId);
+
+            return CommonResult.ok();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return CommonResult.fail();
+    }
+}
+

+ 98 - 95
src/main/java/com/template/controller/HouseOrderController.java

@@ -183,6 +183,8 @@ public class HouseOrderController implements HouseOrderAPI {
         String reserveLiveTime = establishOrderDto.getReserveLiveTime();
         String reserveLeaveTime = establishOrderDto.getReserveLeaveTime();
 
+//        判断课表,临时人员
+
 
         String userId = establishOrderDto.getUserId();
 
@@ -568,8 +570,8 @@ public class HouseOrderController implements HouseOrderAPI {
 
             HouseNumber number = houseNumberService.getById(houseLock.getHouseNumberId());
 //                开电
-               // Boolean aBoolean = electricEquipmentService.openMeterControl(number.getElectricEquipmentId());
-                String msg="";
+            // Boolean aBoolean = electricEquipmentService.openMeterControl(number.getElectricEquipmentId());
+            String msg = "";
 //                if (!aBoolean) {
 ////                    return CommonResult.fail("开电失败");
 //                    msg="开电失败";
@@ -599,7 +601,7 @@ public class HouseOrderController implements HouseOrderAPI {
             houseNumberStateService.updateBatchById(houseNumberStates);
             if (msg.equals("")) {
                 return CommonResult.ok();
-            }else {
+            } else {
                 return CommonResult.ok(msg);
             }
 
@@ -903,12 +905,12 @@ public class HouseOrderController implements HouseOrderAPI {
             HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
 
 //         开电
-        //    Boolean aBoolean = electricEquipmentService.openMeterControl(houseNumber.getElectricEquipmentId());
-            String msg="";
-        //    if (!aBoolean) {
+            //    Boolean aBoolean = electricEquipmentService.openMeterControl(houseNumber.getElectricEquipmentId());
+            String msg = "";
+            //    if (!aBoolean) {
 //                return CommonResult.fail("开电失败");
-       //         msg="开电失败";
-          //  }
+            //         msg="开电失败";
+            //  }
             houseNumber.setElectricType("1");
 
             String roomNumber = houseNumber.getRoomNumber();
@@ -1013,7 +1015,7 @@ public class HouseOrderController implements HouseOrderAPI {
             operatingRecordService.save(operatingRecord);
             if (msg.equals("")) {
                 return CommonResult.ok();
-            }else {
+            } else {
                 return CommonResult.ok(msg);
             }
 
@@ -1226,7 +1228,6 @@ public class HouseOrderController implements HouseOrderAPI {
     }
 
 
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public CommonResult roomChange(RoomChangeDto roomChangeDto) {
@@ -1344,12 +1345,12 @@ public class HouseOrderController implements HouseOrderAPI {
 //        房间置脏需退房后
 //            houseNumber.setHouseStatus(2);
 //         开电
-       //     Boolean aBoolean = electricEquipmentService.openMeterControl(houseNumber.getElectricEquipmentId());
-            String msg="";
-        //    if (!aBoolean) {
+            //     Boolean aBoolean = electricEquipmentService.openMeterControl(houseNumber.getElectricEquipmentId());
+            String msg = "";
+            //    if (!aBoolean) {
 //                return CommonResult.fail("开电失败");
-        //        msg="开电失败";
-          //  }
+            //        msg="开电失败";
+            //  }
             houseNumber.setElectricType("1");
             houseNumberService.updateById(houseNumber);
 
@@ -1463,7 +1464,7 @@ public class HouseOrderController implements HouseOrderAPI {
             operatingRecordService.save(operatingRecord);
             if (msg.equals("")) {
                 return CommonResult.ok();
-            }else {
+            } else {
                 return CommonResult.ok(msg);
             }
 
@@ -1520,41 +1521,41 @@ public class HouseOrderController implements HouseOrderAPI {
                 Row dataRow1 = sheet.createRow(i + 1);
                 dataRow1.createCell(0).setCellValue(vo.getHouseNumber());
                 Integer roomType = vo.getRoomType();
-                String houseSta="";
+                String houseSta = "";
                 if (ObjectUtils.isNotEmpty(roomType)) {
-                    if (2==roomType) {
-                        houseSta="钟点房";
-                    }else if(1==roomType){
-                        houseSta="全日房";
+                    if (2 == roomType) {
+                        houseSta = "钟点房";
+                    } else if (1 == roomType) {
+                        houseSta = "全日房";
                     }
                 }
 
                 dataRow1.createCell(1).setCellValue(houseSta);
                 dataRow1.createCell(2).setCellValue(vo.getHouseName());
                 Integer lockStatus = vo.getLockStatus();
-                String lockString="";
+                String lockString = "";
                 if (ObjectUtils.isNotEmpty(lockStatus)) {
-                    if (1==lockStatus) {
-                        lockString="密码开锁";
-                    }else if(2==lockStatus){
-                        lockString="房卡开锁";
-                    }else if(3==lockStatus){
-                        lockString="指纹开锁";
-                    }else if(4==lockStatus){
-                        lockString="身份证开锁";
-                    }else if(5==lockStatus){
-                        lockString="钥匙开锁";
+                    if (1 == lockStatus) {
+                        lockString = "密码开锁";
+                    } else if (2 == lockStatus) {
+                        lockString = "房卡开锁";
+                    } else if (3 == lockStatus) {
+                        lockString = "指纹开锁";
+                    } else if (4 == lockStatus) {
+                        lockString = "身份证开锁";
+                    } else if (5 == lockStatus) {
+                        lockString = "钥匙开锁";
                     }
 
                 }
                 dataRow1.createCell(3).setCellValue(lockString);
                 Integer giveBack1 = vo.getGiveBack();
-                String back="";
+                String back = "";
                 if (ObjectUtils.isNotEmpty(giveBack1)) {
-                    if (1==giveBack1) {
-                        back="已归还";
-                    }else {
-                        back="未归还";
+                    if (1 == giveBack1) {
+                        back = "已归还";
+                    } else {
+                        back = "未归还";
                     }
                 }
 
@@ -1594,7 +1595,7 @@ public class HouseOrderController implements HouseOrderAPI {
                     orderName = "已退房";
                 } else if ("9".equals(orderStart)) {
                     orderName = "已取消";
-                }else if ("10".equals(orderStart)) {
+                } else if ("10".equals(orderStart)) {
                     orderName = "已支付未入住";
                 }
                 dataRow1.createCell(15).setCellValue(orderName);
@@ -1749,7 +1750,7 @@ public class HouseOrderController implements HouseOrderAPI {
                     orderName = "已退房";
                 } else if ("9".equals(orderStatus)) {
                     orderName = "已取消";
-                }else if("10".equals(orderStatus)){
+                } else if ("10".equals(orderStatus)) {
                     orderName = "已支付未入住";
                 }
 
@@ -1904,7 +1905,7 @@ public class HouseOrderController implements HouseOrderAPI {
     public CommonResult pay(WxPayDto wpd, BindingResult bindingResult, HttpServletRequest request) throws Exception {
         System.out.println(TimeExchange.getTime() + "微信支付参数====:" + JSON.toJSON(wpd));
         String wxCode = request.getHeader("openId");
-        log.info("openId:"+wxCode);
+        log.info("openId:" + wxCode);
         if (wxCode == null || wxCode == "") {
             return CommonResult.fail("openId不能为空");
         }
@@ -2607,7 +2608,7 @@ public class HouseOrderController implements HouseOrderAPI {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public CommonResult cancelApplet(CancelAppletDto cancelAppletDto,HttpServletRequest request) {
+    public CommonResult cancelApplet(CancelAppletDto cancelAppletDto, HttpServletRequest request) {
         String houseNumberId = cancelAppletDto.getHouseNumberId();
         String orderNumber = cancelAppletDto.getOrderNumber();
         String ua = request.getHeader("User-Agent");
@@ -2654,8 +2655,8 @@ public class HouseOrderController implements HouseOrderAPI {
                 LocalDateTime now = LocalDateTime.now();
                 String reserveLiveTime = houseOrder.getReserveLiveTime();
                 LocalDateTime date = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
-                if (now.isAfter(date)&&HttpUtils.checkAgentIsMobile(ua)) {
-                    log.info("User-Agent移动端:"+ua);
+                if (now.isAfter(date) && HttpUtils.checkAgentIsMobile(ua)) {
+                    log.info("User-Agent移动端:" + ua);
                     return CommonResult.fail("已超过退款时间,如需退款请前往前台办理");
                 }
 
@@ -3241,11 +3242,11 @@ public class HouseOrderController implements HouseOrderAPI {
 
     @Override
     public CommonResult ifGiveBack(String houseOrderId, Integer giveBack) {
-        LambdaQueryWrapper<HouseOrder> wrapper=new LambdaQueryWrapper<>();
-        wrapper.eq(HouseOrder::getOrderNumber,houseOrderId);
+        LambdaQueryWrapper<HouseOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(HouseOrder::getOrderNumber, houseOrderId);
         HouseOrder houseOrder = houseOrderService.getOne(wrapper);
         if (ObjectUtils.isEmpty(houseOrder)) {
-            return  CommonResult.fail("订单异常");
+            return CommonResult.fail("订单异常");
         }
         houseOrder.setGiveBack(giveBack);
 
@@ -3335,9 +3336,10 @@ public class HouseOrderController implements HouseOrderAPI {
     }
 
     /**
-     * 每天12点查询一次到时间没有点退房的订单,并自动退房
+     * 每2个小时查询一次到时间没有点退房的订单,并自动退房
      */
-    @Scheduled(cron = "0 1 0/1 * * ? ")
+    @Scheduled(cron = "0 0 0/2 * * ? ")
+//    @Scheduled(cron = "0 0/1 * * * ?")
     @Transactional(rollbackFor = Exception.class)
     public void getOrder() {
         LambdaQueryWrapper<HouseOrder> wrapperHo = new LambdaQueryWrapper<>();
@@ -3350,6 +3352,7 @@ public class HouseOrderController implements HouseOrderAPI {
             ArrayList<HouseOrder> houseOrders = new ArrayList<>();
             ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
             if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
+                log.info("开始自动退房");
                 for (HouseOrder houseOrder : list) {
                     houseOrder.setOrderStatus("8");
                     houseOrder.setLeaveTime(new Date());
@@ -3369,56 +3372,56 @@ public class HouseOrderController implements HouseOrderAPI {
 
                     if (ObjectUtils.isNotEmpty(houseNumber)) {
 //             获取水电能耗
-                    //      获取水电消费金额和额度
-                    String electricEquipmentId = houseNumber.getElectricEquipmentId();
-                    String waterEquipmentId = houseNumber.getWaterEquipmentId();
-                    ElectricEquipment electricEquipment = electricEquipmentService.getById(electricEquipmentId);
-                    WaterEquipment waterEquipment = waterEquipmentService.getById(waterEquipmentId);
-                    if (ObjectUtils.isNotEmpty(electricEquipment) && ObjectUtils.isNotEmpty(waterEquipment)) {
-                        String electricEquipmentRoomId = electricEquipment.getRoomId();
-                        String waterEquipmentRoomId = waterEquipment.getRoomId();
-
-                        Date liveTime = houseOrder.getLiveTime();
-                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                        String live = sdf.format(liveTime);
-                        String leave = sdf.format(new Date());
+                        //      获取水电消费金额和额度
+                        String electricEquipmentId = houseNumber.getElectricEquipmentId();
+                        String waterEquipmentId = houseNumber.getWaterEquipmentId();
+                        ElectricEquipment electricEquipment = electricEquipmentService.getById(electricEquipmentId);
+                        WaterEquipment waterEquipment = waterEquipmentService.getById(waterEquipmentId);
+                        if (ObjectUtils.isNotEmpty(electricEquipment) && ObjectUtils.isNotEmpty(waterEquipment)) {
+                            String electricEquipmentRoomId = electricEquipment.getRoomId();
+                            String waterEquipmentRoomId = waterEquipment.getRoomId();
+
+                            Date liveTime = houseOrder.getLiveTime();
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                            String live = sdf.format(liveTime);
+                            String leave = sdf.format(new Date());
 //                获取电的消费金额和额度
-                        JSONObject jsonObjectElectric = electricEquipmentService.roomCostRecord(electricEquipmentRoomId, live, leave);
-                        BigDecimal costElectric = jsonObjectElectric.getBigDecimal("cost");
-                        BigDecimal consumeElectric = jsonObjectElectric.getBigDecimal("consume");
-                        BigDecimal electricCost = houseOrder.getElectricCost();
-                        if (ObjectUtils.isNotEmpty(electricCost)) {
-                            costElectric = costElectric.add(electricCost);
-                        }
-                        BigDecimal electricConsume = houseOrder.getElectricConsume();
-                        if (ObjectUtils.isNotEmpty(electricConsume)) {
-                            consumeElectric = consumeElectric.add(electricConsume);
-                        }
-                        houseOrder.setElectricCost(costElectric);
-                        houseOrder.setElectricConsume(consumeElectric);
+                            JSONObject jsonObjectElectric = electricEquipmentService.roomCostRecord(electricEquipmentRoomId, live, leave);
+                            BigDecimal costElectric = jsonObjectElectric.getBigDecimal("cost");
+                            BigDecimal consumeElectric = jsonObjectElectric.getBigDecimal("consume");
+                            BigDecimal electricCost = houseOrder.getElectricCost();
+                            if (ObjectUtils.isNotEmpty(electricCost)) {
+                                costElectric = costElectric.add(electricCost);
+                            }
+                            BigDecimal electricConsume = houseOrder.getElectricConsume();
+                            if (ObjectUtils.isNotEmpty(electricConsume)) {
+                                consumeElectric = consumeElectric.add(electricConsume);
+                            }
+                            houseOrder.setElectricCost(costElectric);
+                            houseOrder.setElectricConsume(consumeElectric);
 //                获取水的消费金额和额度
-                        JSONObject jsonObjectWater = waterEquipmentService.roomCostRecord(waterEquipmentRoomId, live, leave);
-                        BigDecimal costWater = jsonObjectWater.getBigDecimal("cost");
-                        BigDecimal consumeWater = jsonObjectWater.getBigDecimal("consume");
-                        BigDecimal waterCost = houseOrder.getWaterCost();
-                        if (ObjectUtils.isNotEmpty(waterCost)) {
-                            costWater = costWater.add(waterCost);
-                        }
-                        BigDecimal waterConsume = houseOrder.getWaterConsume();
-                        if (ObjectUtils.isNotEmpty(waterConsume)) {
-                            consumeWater = consumeWater.add(waterConsume);
+                            JSONObject jsonObjectWater = waterEquipmentService.roomCostRecord(waterEquipmentRoomId, live, leave);
+                            BigDecimal costWater = jsonObjectWater.getBigDecimal("cost");
+                            BigDecimal consumeWater = jsonObjectWater.getBigDecimal("consume");
+                            BigDecimal waterCost = houseOrder.getWaterCost();
+                            if (ObjectUtils.isNotEmpty(waterCost)) {
+                                costWater = costWater.add(waterCost);
+                            }
+                            BigDecimal waterConsume = houseOrder.getWaterConsume();
+                            if (ObjectUtils.isNotEmpty(waterConsume)) {
+                                consumeWater = consumeWater.add(waterConsume);
+                            }
+
+                            houseOrder.setWaterCost(costWater);
+                            houseOrder.setWaterConsume(consumeWater);
                         }
 
-                        houseOrder.setWaterCost(costWater);
-                        houseOrder.setWaterConsume(consumeWater);
-                    }
-
 //          将房间设置成脏房
-                    houseNumber.setHouseStatus(2);
+                        houseNumber.setHouseStatus(2);
 
-                    houseOrders.add(houseOrder);
-                    houseNumbers.add(houseNumber);
-                }
+                        houseOrders.add(houseOrder);
+                        houseNumbers.add(houseNumber);
+                    }
                     if (ObjectUtils.isNotEmpty(houseOrders)) {
                         houseOrderService.updateBatchById(houseOrders);
                     }
@@ -3426,8 +3429,8 @@ public class HouseOrderController implements HouseOrderAPI {
                         houseNumberService.updateBatchById(houseNumbers);
                     }
 
+                }
             }
-        }
 
         } catch (Exception e) {
             e.printStackTrace();
@@ -3572,7 +3575,7 @@ public class HouseOrderController implements HouseOrderAPI {
                     .eq(HouseNumberState::getOrderNumber, orderNumber);
             HouseNumberState houseNumberState = houseNumberStateService.getOne(wrapperHns);
             if (ObjectUtils.isNotEmpty(houseNumberState)) {
-               houseNumberStateService.removeById(houseNumberState.getId());
+                houseNumberStateService.removeById(houseNumberState.getId());
             }
 
             // 修改订单状态
@@ -3583,7 +3586,7 @@ public class HouseOrderController implements HouseOrderAPI {
             houseOrders.add(houseOrder);
         }
 
-        if (houseOrders.size()>0) {
+        if (houseOrders.size() > 0) {
             houseOrderService.updateBatchById(houseOrders);
         }
 

+ 18 - 0
src/main/java/com/template/mapper/BlacklistMapper.java

@@ -0,0 +1,18 @@
+package com.template.mapper;
+
+import com.template.model.pojo.Blacklist;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-23
+ */
+@Mapper
+public interface BlacklistMapper extends BaseMapper<Blacklist> {
+
+}

+ 23 - 0
src/main/java/com/template/mapper/BlacklistOrderMapper.java

@@ -0,0 +1,23 @@
+package com.template.mapper;
+
+import com.template.model.pojo.BlacklistOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.BlacklistVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@Mapper
+public interface BlacklistOrderMapper extends BaseMapper<BlacklistOrder> {
+
+    List<BlacklistVo> getBlacklist(@Param("count") Integer count);
+}

+ 18 - 0
src/main/java/com/template/mapper/BlacklistSettingMapper.java

@@ -0,0 +1,18 @@
+package com.template.mapper;
+
+import com.template.model.pojo.BlacklistSetting;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@Mapper
+public interface BlacklistSettingMapper extends BaseMapper<BlacklistSetting> {
+
+}

+ 2 - 0
src/main/java/com/template/mapper/EmployeeUsersMapper.java

@@ -3,6 +3,7 @@ package com.template.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.template.model.pojo.EmployeeUsers;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * <p>
@@ -12,6 +13,7 @@ import com.template.model.pojo.EmployeeUsers;
  * @author ceshi
  * @since 2024-08-09
  */
+@Mapper
 public interface EmployeeUsersMapper extends BaseMapper<EmployeeUsers> {
 
 }

+ 2 - 0
src/main/java/com/template/mapper/OrganizationMapper.java

@@ -2,6 +2,7 @@ package com.template.mapper;
 
 import com.template.model.pojo.Organization;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * <p>
@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author ceshi
  * @since 2024-08-22
  */
+@Mapper
 public interface OrganizationMapper extends BaseMapper<Organization> {
 
 }

+ 10 - 0
src/main/java/com/template/model/dto/BlacklistOrderDeleteDto.java

@@ -0,0 +1,10 @@
+package com.template.model.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BlacklistOrderDeleteDto {
+    private List<Integer> ids;
+}

+ 14 - 0
src/main/java/com/template/model/dto/BlacklistUpdateDto.java

@@ -0,0 +1,14 @@
+package com.template.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BlacklistUpdateDto {
+
+    @ApiModelProperty(value = "黑名单表id")
+    private Integer id;
+
+    @ApiModelProperty(value = "次数")
+    private Integer count;
+}

+ 3 - 0
src/main/java/com/template/model/pojo/ApplicationProcedureTemporary.java

@@ -31,6 +31,9 @@ public class ApplicationProcedureTemporary implements Serializable {
     @ApiModelProperty(value = "申请人id")
     private Integer usersId;
 
+    @ApiModelProperty(value = "房间数量")
+    private String houseCount;
+
     @ApiModelProperty(value = "开始时间")
     private String startTime;
 

+ 66 - 0
src/main/java/com/template/model/pojo/Blacklist.java

@@ -0,0 +1,66 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="Blacklist对象", description="")
+public class Blacklist implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "黑名单")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "预定人id")
+    private Integer reserveUserId;
+
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+
+    @ApiModelProperty(value = "微校卡号")
+    private String cardNumber;
+
+    @ApiModelProperty(value = "次数")
+    private Integer count;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private String createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

+ 95 - 0
src/main/java/com/template/model/pojo/BlacklistOrder.java

@@ -0,0 +1,95 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="BlacklistOrder对象", description="")
+public class BlacklistOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "黑名订单表")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "订单表id")
+    private Integer houseOrderId;
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNumber;
+
+    @ApiModelProperty(value = "订单状态 1.待支付,2.已支付,3.待入住,4.已入住,5.待结账,6.退款中,7.已退款,8.已退房,9.已取消,超时,10.已支付未入住")
+    private String orderStatus;
+
+    @ApiModelProperty(value = "预定人id")
+    private String reserveUserId;
+
+    @ApiModelProperty(value = "预定人姓名")
+    private String reserveName;
+
+    @ApiModelProperty(value = "预定人手机号")
+    private String reservePhone;
+
+    @ApiModelProperty(value = "微校卡号")
+    private Integer cardNumber;
+
+    @ApiModelProperty(value = "入住人id")
+    private Integer liveUsersId;
+
+    @ApiModelProperty(value = "入住人姓名")
+    private String liveName;
+
+    @ApiModelProperty(value = "入住人身份证")
+    private String liveIdCard;
+
+    @ApiModelProperty(value = "预定入住时间")
+    private Date reserveLiveTime;
+
+    @ApiModelProperty(value = "预定离开时间")
+    private Date reserveLeaveTime;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

+ 56 - 0
src/main/java/com/template/model/pojo/BlacklistSetting.java

@@ -0,0 +1,56 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="BlacklistSetting对象", description="")
+public class BlacklistSetting implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "次数")
+    private Integer count;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private String createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

+ 9 - 0
src/main/java/com/template/model/vo/BlacklistVo.java

@@ -0,0 +1,9 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class BlacklistVo {
+    private Integer id;
+    private Integer count;
+}

+ 20 - 0
src/main/java/com/template/services/BlacklistOrderService.java

@@ -0,0 +1,20 @@
+package com.template.services;
+
+import com.template.model.pojo.BlacklistOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.template.model.vo.BlacklistVo;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+public interface BlacklistOrderService extends IService<BlacklistOrder> {
+
+    List<BlacklistVo> getBlacklist(Integer count);
+}

+ 16 - 0
src/main/java/com/template/services/BlacklistService.java

@@ -0,0 +1,16 @@
+package com.template.services;
+
+import com.template.model.pojo.Blacklist;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-23
+ */
+public interface BlacklistService extends IService<Blacklist> {
+
+}

+ 16 - 0
src/main/java/com/template/services/BlacklistSettingService.java

@@ -0,0 +1,16 @@
+package com.template.services;
+
+import com.template.model.pojo.BlacklistSetting;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+public interface BlacklistSettingService extends IService<BlacklistSetting> {
+
+}

+ 31 - 0
src/main/java/com/template/services/impl/BlacklistOrderServiceImpl.java

@@ -0,0 +1,31 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.BlacklistOrder;
+import com.template.mapper.BlacklistOrderMapper;
+import com.template.model.vo.BlacklistVo;
+import com.template.services.BlacklistOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@Service
+public class BlacklistOrderServiceImpl extends ServiceImpl<BlacklistOrderMapper, BlacklistOrder> implements BlacklistOrderService {
+
+    @Autowired
+    BlacklistOrderMapper blacklistOrderMapper;
+
+    @Override
+    public List<BlacklistVo> getBlacklist(Integer count) {
+        return blacklistOrderMapper.getBlacklist(count);
+    }
+}

+ 20 - 0
src/main/java/com/template/services/impl/BlacklistServiceImpl.java

@@ -0,0 +1,20 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.Blacklist;
+import com.template.mapper.BlacklistMapper;
+import com.template.services.BlacklistService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-23
+ */
+@Service
+public class BlacklistServiceImpl extends ServiceImpl<BlacklistMapper, Blacklist> implements BlacklistService {
+
+}

+ 20 - 0
src/main/java/com/template/services/impl/BlacklistSettingServiceImpl.java

@@ -0,0 +1,20 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.BlacklistSetting;
+import com.template.mapper.BlacklistSettingMapper;
+import com.template.services.BlacklistSettingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-08-26
+ */
+@Service
+public class BlacklistSettingServiceImpl extends ServiceImpl<BlacklistSettingMapper, BlacklistSetting> implements BlacklistSettingService {
+
+}

+ 5 - 0
src/main/resources/mapper/template/BlacklistMapper.xml

@@ -0,0 +1,5 @@
+<?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.template.mapper.BlacklistMapper">
+
+</mapper>

+ 16 - 0
src/main/resources/mapper/template/BlacklistOrderMapper.xml

@@ -0,0 +1,16 @@
+<?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.template.mapper.BlacklistOrderMapper">
+
+    <select id="getBlacklist" resultType="com.template.model.vo.BlacklistVo">
+        SELECT *
+        FROM (SELECT reserve_user_id as id,
+                     COUNT(reserve_user_id) AS count
+              FROM
+                  `blacklist`
+              WHERE deleted=0
+              GROUP BY
+                  reserve_user_id) a
+        WHERE a.count > #{count}
+    </select>
+</mapper>

+ 5 - 0
src/main/resources/mapper/template/BlacklistSettingMapper.xml

@@ -0,0 +1,5 @@
+<?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.template.mapper.BlacklistSettingMapper">
+
+</mapper>