Procházet zdrojové kódy

添加黑名单订单表,添加黑名单配置展示,修改接口,添加黑名单订单展示,移除接口

liu před 1 rokem
rodič
revize
5e8153e901

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

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

+ 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);
+
+}

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

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

+ 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();
+    }
+}
+

+ 102 - 1
src/main/java/com/template/controller/BlacklistSettingController.java

@@ -1,12 +1,29 @@
 package com.template.controller;
 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.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 org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  * </p>
  *
  *
  * @author ceshi
  * @author ceshi
@@ -15,5 +32,89 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RestController
 public class BlacklistSettingController implements BlacklistSettingControllerAPI {
 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();
+    }
 }
 }
 
 

+ 100 - 99
src/main/java/com/template/controller/HouseOrderController.java

@@ -570,8 +570,8 @@ public class HouseOrderController implements HouseOrderAPI {
 
 
             HouseNumber number = houseNumberService.getById(houseLock.getHouseNumberId());
             HouseNumber number = houseNumberService.getById(houseLock.getHouseNumberId());
 //                开电
 //                开电
-               // Boolean aBoolean = electricEquipmentService.openMeterControl(number.getElectricEquipmentId());
-                String msg="";
+            // Boolean aBoolean = electricEquipmentService.openMeterControl(number.getElectricEquipmentId());
+            String msg = "";
 //                if (!aBoolean) {
 //                if (!aBoolean) {
 ////                    return CommonResult.fail("开电失败");
 ////                    return CommonResult.fail("开电失败");
 //                    msg="开电失败";
 //                    msg="开电失败";
@@ -601,7 +601,7 @@ public class HouseOrderController implements HouseOrderAPI {
             houseNumberStateService.updateBatchById(houseNumberStates);
             houseNumberStateService.updateBatchById(houseNumberStates);
             if (msg.equals("")) {
             if (msg.equals("")) {
                 return CommonResult.ok();
                 return CommonResult.ok();
-            }else {
+            } else {
                 return CommonResult.ok(msg);
                 return CommonResult.ok(msg);
             }
             }
 
 
@@ -614,7 +614,7 @@ public class HouseOrderController implements HouseOrderAPI {
     }
     }
 
 
     @Override
     @Override
-    public CommonResult pageList(int adminId, int page, int size, String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime,String houseId,Integer keyType,Integer giveBack,Integer buildingId) {
+    public CommonResult pageList(int adminId, int page, int size, String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime, String houseId, Integer keyType, Integer giveBack, Integer buildingId) {
 //        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
 //        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
 //        if (ObjectUtils.isEmpty(permissionSetting)) {
 //        if (ObjectUtils.isEmpty(permissionSetting)) {
 //            return CommonResult.fail("非法进入");
 //            return CommonResult.fail("非法进入");
@@ -633,7 +633,7 @@ public class HouseOrderController implements HouseOrderAPI {
             size = 10;
             size = 10;
         }
         }
 
 
-        PageUtils<HouseOrderPageListVo> pageList = houseOrderService.pageList(page, size, keyWord, houseType, orderStatus, payPriceStartTime, payPriceEndTime, refundStartTime, refundEndTime, cancelStartTime, cancelEndTime, liveStartTime, liveEndTime, leaveStartTime, leaveEndTime,houseId,keyType,giveBack,buildingId);
+        PageUtils<HouseOrderPageListVo> pageList = houseOrderService.pageList(page, size, keyWord, houseType, orderStatus, payPriceStartTime, payPriceEndTime, refundStartTime, refundEndTime, cancelStartTime, cancelEndTime, liveStartTime, liveEndTime, leaveStartTime, leaveEndTime, houseId, keyType, giveBack, buildingId);
         List<HouseOrderPageListVo> list = pageList.getList();
         List<HouseOrderPageListVo> list = pageList.getList();
         for (int i = 0; i < list.size(); i++) {
         for (int i = 0; i < list.size(); i++) {
             HouseOrderPageListVo houseOrderPageListVo = list.get(i);
             HouseOrderPageListVo houseOrderPageListVo = list.get(i);
@@ -905,12 +905,12 @@ public class HouseOrderController implements HouseOrderAPI {
             HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
             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("开电失败");
 //                return CommonResult.fail("开电失败");
-       //         msg="开电失败";
-          //  }
+            //         msg="开电失败";
+            //  }
             houseNumber.setElectricType("1");
             houseNumber.setElectricType("1");
 
 
             String roomNumber = houseNumber.getRoomNumber();
             String roomNumber = houseNumber.getRoomNumber();
@@ -1015,7 +1015,7 @@ public class HouseOrderController implements HouseOrderAPI {
             operatingRecordService.save(operatingRecord);
             operatingRecordService.save(operatingRecord);
             if (msg.equals("")) {
             if (msg.equals("")) {
                 return CommonResult.ok();
                 return CommonResult.ok();
-            }else {
+            } else {
                 return CommonResult.ok(msg);
                 return CommonResult.ok(msg);
             }
             }
 
 
@@ -1228,7 +1228,6 @@ public class HouseOrderController implements HouseOrderAPI {
     }
     }
 
 
 
 
-
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public CommonResult roomChange(RoomChangeDto roomChangeDto) {
     public CommonResult roomChange(RoomChangeDto roomChangeDto) {
@@ -1346,12 +1345,12 @@ public class HouseOrderController implements HouseOrderAPI {
 //        房间置脏需退房后
 //        房间置脏需退房后
 //            houseNumber.setHouseStatus(2);
 //            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("开电失败");
 //                return CommonResult.fail("开电失败");
-        //        msg="开电失败";
-          //  }
+            //        msg="开电失败";
+            //  }
             houseNumber.setElectricType("1");
             houseNumber.setElectricType("1");
             houseNumberService.updateById(houseNumber);
             houseNumberService.updateById(houseNumber);
 
 
@@ -1465,7 +1464,7 @@ public class HouseOrderController implements HouseOrderAPI {
             operatingRecordService.save(operatingRecord);
             operatingRecordService.save(operatingRecord);
             if (msg.equals("")) {
             if (msg.equals("")) {
                 return CommonResult.ok();
                 return CommonResult.ok();
-            }else {
+            } else {
                 return CommonResult.ok(msg);
                 return CommonResult.ok(msg);
             }
             }
 
 
@@ -1476,7 +1475,7 @@ public class HouseOrderController implements HouseOrderAPI {
     }
     }
 
 
     @Override
     @Override
-    public void queryExport(HttpServletResponse response, int adminId, String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime,String houseId,Integer keyType,Integer giveBack,Integer buildingId) {
+    public void queryExport(HttpServletResponse response, int adminId, String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime, String houseId, Integer keyType, Integer giveBack, Integer buildingId) {
 //        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
 //        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
 //        if (ObjectUtils.isEmpty(permissionSetting)) {
 //        if (ObjectUtils.isEmpty(permissionSetting)) {
 //            return CommonResult.fail("非法进入");
 //            return CommonResult.fail("非法进入");
@@ -1487,7 +1486,7 @@ public class HouseOrderController implements HouseOrderAPI {
 //            return CommonResult.fail("此账号暂无该权限");
 //            return CommonResult.fail("此账号暂无该权限");
 //        }
 //        }
 
 
-        List<QueryExportVo> vos = houseOrderService.queryExport(keyWord, houseType, orderStatus, payPriceStartTime, payPriceEndTime, refundStartTime, refundEndTime, cancelStartTime, cancelEndTime, liveStartTime, liveEndTime, leaveStartTime, leaveEndTime,houseId,keyType,giveBack,buildingId);
+        List<QueryExportVo> vos = houseOrderService.queryExport(keyWord, houseType, orderStatus, payPriceStartTime, payPriceEndTime, refundStartTime, refundEndTime, cancelStartTime, cancelEndTime, liveStartTime, liveEndTime, leaveStartTime, leaveEndTime, houseId, keyType, giveBack, buildingId);
 
 
         //        导出
         //        导出
         Workbook workbook = new XSSFWorkbook();
         Workbook workbook = new XSSFWorkbook();
@@ -1520,41 +1519,41 @@ public class HouseOrderController implements HouseOrderAPI {
                 Row dataRow1 = sheet.createRow(i + 1);
                 Row dataRow1 = sheet.createRow(i + 1);
                 dataRow1.createCell(0).setCellValue(vo.getHouseNumber());
                 dataRow1.createCell(0).setCellValue(vo.getHouseNumber());
                 Integer roomType = vo.getRoomType();
                 Integer roomType = vo.getRoomType();
-                String houseSta="";
+                String houseSta = "";
                 if (ObjectUtils.isNotEmpty(roomType)) {
                 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(1).setCellValue(houseSta);
                 dataRow1.createCell(2).setCellValue(vo.getHouseName());
                 dataRow1.createCell(2).setCellValue(vo.getHouseName());
                 Integer lockStatus = vo.getLockStatus();
                 Integer lockStatus = vo.getLockStatus();
-                String lockString="";
+                String lockString = "";
                 if (ObjectUtils.isNotEmpty(lockStatus)) {
                 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);
                 dataRow1.createCell(3).setCellValue(lockString);
                 Integer giveBack1 = vo.getGiveBack();
                 Integer giveBack1 = vo.getGiveBack();
-                String back="";
+                String back = "";
                 if (ObjectUtils.isNotEmpty(giveBack1)) {
                 if (ObjectUtils.isNotEmpty(giveBack1)) {
-                    if (1==giveBack1) {
-                        back="已归还";
-                    }else {
-                        back="未归还";
+                    if (1 == giveBack1) {
+                        back = "已归还";
+                    } else {
+                        back = "未归还";
                     }
                     }
                 }
                 }
 
 
@@ -1594,7 +1593,7 @@ public class HouseOrderController implements HouseOrderAPI {
                     orderName = "已退房";
                     orderName = "已退房";
                 } else if ("9".equals(orderStart)) {
                 } else if ("9".equals(orderStart)) {
                     orderName = "已取消";
                     orderName = "已取消";
-                }else if ("10".equals(orderStart)) {
+                } else if ("10".equals(orderStart)) {
                     orderName = "已支付未入住";
                     orderName = "已支付未入住";
                 }
                 }
                 dataRow1.createCell(13).setCellValue(orderName);
                 dataRow1.createCell(13).setCellValue(orderName);
@@ -1743,7 +1742,7 @@ public class HouseOrderController implements HouseOrderAPI {
                     orderName = "已退房";
                     orderName = "已退房";
                 } else if ("9".equals(orderStatus)) {
                 } else if ("9".equals(orderStatus)) {
                     orderName = "已取消";
                     orderName = "已取消";
-                }else if("10".equals(orderStatus)){
+                } else if ("10".equals(orderStatus)) {
                     orderName = "已支付未入住";
                     orderName = "已支付未入住";
                 }
                 }
 
 
@@ -1898,7 +1897,7 @@ public class HouseOrderController implements HouseOrderAPI {
     public CommonResult pay(WxPayDto wpd, BindingResult bindingResult, HttpServletRequest request) throws Exception {
     public CommonResult pay(WxPayDto wpd, BindingResult bindingResult, HttpServletRequest request) throws Exception {
         System.out.println(TimeExchange.getTime() + "微信支付参数====:" + JSON.toJSON(wpd));
         System.out.println(TimeExchange.getTime() + "微信支付参数====:" + JSON.toJSON(wpd));
         String wxCode = request.getHeader("openId");
         String wxCode = request.getHeader("openId");
-        log.info("openId:"+wxCode);
+        log.info("openId:" + wxCode);
         if (wxCode == null || wxCode == "") {
         if (wxCode == null || wxCode == "") {
             return CommonResult.fail("openId不能为空");
             return CommonResult.fail("openId不能为空");
         }
         }
@@ -2601,7 +2600,7 @@ public class HouseOrderController implements HouseOrderAPI {
 
 
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public CommonResult cancelApplet(CancelAppletDto cancelAppletDto,HttpServletRequest request) {
+    public CommonResult cancelApplet(CancelAppletDto cancelAppletDto, HttpServletRequest request) {
         String houseNumberId = cancelAppletDto.getHouseNumberId();
         String houseNumberId = cancelAppletDto.getHouseNumberId();
         String orderNumber = cancelAppletDto.getOrderNumber();
         String orderNumber = cancelAppletDto.getOrderNumber();
         String ua = request.getHeader("User-Agent");
         String ua = request.getHeader("User-Agent");
@@ -2648,8 +2647,8 @@ public class HouseOrderController implements HouseOrderAPI {
                 LocalDateTime now = LocalDateTime.now();
                 LocalDateTime now = LocalDateTime.now();
                 String reserveLiveTime = houseOrder.getReserveLiveTime();
                 String reserveLiveTime = houseOrder.getReserveLiveTime();
                 LocalDateTime date = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
                 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("已超过退款时间,如需退款请前往前台办理");
                     return CommonResult.fail("已超过退款时间,如需退款请前往前台办理");
                 }
                 }
 
 
@@ -3235,11 +3234,11 @@ public class HouseOrderController implements HouseOrderAPI {
 
 
     @Override
     @Override
     public CommonResult ifGiveBack(String houseOrderId, Integer giveBack) {
     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);
         HouseOrder houseOrder = houseOrderService.getOne(wrapper);
         if (ObjectUtils.isEmpty(houseOrder)) {
         if (ObjectUtils.isEmpty(houseOrder)) {
-            return  CommonResult.fail("订单异常");
+            return CommonResult.fail("订单异常");
         }
         }
         houseOrder.setGiveBack(giveBack);
         houseOrder.setGiveBack(giveBack);
 
 
@@ -3329,9 +3328,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)
     @Transactional(rollbackFor = Exception.class)
     public void getOrder() {
     public void getOrder() {
         LambdaQueryWrapper<HouseOrder> wrapperHo = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<HouseOrder> wrapperHo = new LambdaQueryWrapper<>();
@@ -3344,6 +3344,7 @@ public class HouseOrderController implements HouseOrderAPI {
             ArrayList<HouseOrder> houseOrders = new ArrayList<>();
             ArrayList<HouseOrder> houseOrders = new ArrayList<>();
             ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
             ArrayList<HouseNumber> houseNumbers = new ArrayList<>();
             if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
             if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
+                log.info("开始自动退房");
                 for (HouseOrder houseOrder : list) {
                 for (HouseOrder houseOrder : list) {
                     houseOrder.setOrderStatus("8");
                     houseOrder.setOrderStatus("8");
                     houseOrder.setLeaveTime(new Date());
                     houseOrder.setLeaveTime(new Date());
@@ -3363,56 +3364,56 @@ public class HouseOrderController implements HouseOrderAPI {
 
 
                     if (ObjectUtils.isNotEmpty(houseNumber)) {
                     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);
+                            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);
                         }
                         }
-                        BigDecimal waterConsume = houseOrder.getWaterConsume();
-                        if (ObjectUtils.isNotEmpty(waterConsume)) {
-                            consumeWater = consumeWater.add(waterConsume);
-                        }
-
-                        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)) {
                     if (ObjectUtils.isNotEmpty(houseOrders)) {
                         houseOrderService.updateBatchById(houseOrders);
                         houseOrderService.updateBatchById(houseOrders);
                     }
                     }
@@ -3420,8 +3421,8 @@ public class HouseOrderController implements HouseOrderAPI {
                         houseNumberService.updateBatchById(houseNumbers);
                         houseNumberService.updateBatchById(houseNumbers);
                     }
                     }
 
 
+                }
             }
             }
-        }
 
 
         } catch (Exception e) {
         } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
@@ -3566,7 +3567,7 @@ public class HouseOrderController implements HouseOrderAPI {
                     .eq(HouseNumberState::getOrderNumber, orderNumber);
                     .eq(HouseNumberState::getOrderNumber, orderNumber);
             HouseNumberState houseNumberState = houseNumberStateService.getOne(wrapperHns);
             HouseNumberState houseNumberState = houseNumberStateService.getOne(wrapperHns);
             if (ObjectUtils.isNotEmpty(houseNumberState)) {
             if (ObjectUtils.isNotEmpty(houseNumberState)) {
-               houseNumberStateService.removeById(houseNumberState.getId());
+                houseNumberStateService.removeById(houseNumberState.getId());
             }
             }
 
 
             // 修改订单状态
             // 修改订单状态
@@ -3577,7 +3578,7 @@ public class HouseOrderController implements HouseOrderAPI {
             houseOrders.add(houseOrder);
             houseOrders.add(houseOrder);
         }
         }
 
 
-        if (houseOrders.size()>0) {
+        if (houseOrders.size() > 0) {
             houseOrderService.updateBatchById(houseOrders);
             houseOrderService.updateBatchById(houseOrders);
         }
         }
 
 

+ 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);
+}

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

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

@@ -29,17 +29,17 @@ public class Blacklist implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
     private Integer id;
 
 
-    @ApiModelProperty(value = "订单表id")
-    private Integer houseOrderId;
+    @ApiModelProperty(value = "预定人id")
+    private Integer reserveUserId;
 
 
-    @ApiModelProperty(value = "订单号")
-    private String orderNumber;
+    @ApiModelProperty(value = "手机号")
+    private String phone;
 
 
-    @ApiModelProperty(value = "订单状态 1.待支付,2.已支付,3.待入住,4.已入住,5.待结账,6.退款中,7.已退款,8.已退房,9.已取消,超时,10.已支付未入住")
-    private String orderStatus;
+    @ApiModelProperty(value = "微校卡号")
+    private String cardNumber;
 
 
-    @ApiModelProperty(value = "预定人id")
-    private String reserveUserId;
+    @ApiModelProperty(value = "次数")
+    private Integer count;
 
 
     @ApiModelProperty(value = "创建时间")
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     @TableField(fill = FieldFill.INSERT)

+ 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;
+
+
+}

+ 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);
+}

+ 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);
+    }
+}

+ 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>