liu 1 jaar geleden
bovenliggende
commit
3b777e7595

+ 1 - 1
src/main/java/com/template/controller/HouseLockController.java

@@ -486,7 +486,7 @@ public class HouseLockController implements HouseLockControllerAPI {
                 houseLock1.setElectricQuantity("0");
                 houseLock1.setElectricQuantity("0");
                 houseLock1.setNetworkState("1");
                 houseLock1.setNetworkState("1");
                 houseLock1.setEquipmentState("1");
                 houseLock1.setEquipmentState("1");
-                houseLock.setNfcFunction(0);
+                houseLock1.setNfcFunction(0);
                 houseLocks.add(houseLock1);
                 houseLocks.add(houseLock1);
             }
             }
 
 

+ 4 - 0
src/main/java/com/template/controller/HouseNumberStateController.java

@@ -1779,7 +1779,11 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         String msg = "";
         String msg = "";
 
 
 //        MyGlobalThreadPool.execute(()->{
 //        MyGlobalThreadPool.execute(()->{
+//        try(
           Boolean aBoolean = electricEquipmentService.closeMeterControl(houseNumber.getElectricEquipmentId());
           Boolean aBoolean = electricEquipmentService.closeMeterControl(houseNumber.getElectricEquipmentId());
+//        )catch (Exception e) {
+//                    log.error("置净失败,失败原因:{}", e);
+//                }
 //        });
 //        });
 
 
         if (!aBoolean) {
         if (!aBoolean) {

+ 48 - 1
src/main/java/com/template/controller/HouseOrderController.java

@@ -1408,7 +1408,7 @@ public class HouseOrderController implements HouseOrderAPI {
         LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
         wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
         wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
         HouseLock houseLock = houseLockService.getOne(wrapperHl);
         HouseLock houseLock = houseLockService.getOne(wrapperHl);
-        String equipment="";
+        String equipment = "";
         if (ObjectUtils.isNotEmpty(houseLock)) {
         if (ObjectUtils.isNotEmpty(houseLock)) {
             equipment = houseLock.getEquipmentType();
             equipment = houseLock.getEquipmentType();
         }
         }
@@ -3630,6 +3630,53 @@ public class HouseOrderController implements HouseOrderAPI {
 
 
     }
     }
 
 
+//    @Scheduled(cron = "0 0/1 * * * ?")
+    public void pay() {
+        //        计算上个免费的订单
+        LocalDateTime end = LocalDateTime.now().withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0);
+        LocalDateTime start = end.minusMonths(1);
+
+        LambdaQueryWrapper<HouseOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper/*.between(HouseOrder::getLeaveTime, start, end)*/
+                .eq(HouseOrder::getPayPrice, 0)
+                .eq(HouseOrder::getOrderStatus, 8);
+        List<HouseOrder> list = houseOrderService.list(wrapper);
+        //        重新计算订单
+        for (int i = 0; i < list.size(); i++) {
+            HouseOrder houseOrder = list.get(i);
+            String houseNumberId = houseOrder.getHouseNumberId();
+            //      获取水电消费金额和额度
+            HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
+            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();
+                Date leaveTime = houseOrder.getLeaveTime();
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String live = sdf.format(liveTime);
+                String leave = sdf.format(leaveTime);
+//                获取电的消费金额和额度
+                JSONObject jsonObjectElectric = electricEquipmentService.roomCostRecord(electricEquipmentRoomId, live, leave);
+                BigDecimal costElectric = jsonObjectElectric.getBigDecimal("cost");
+                BigDecimal consumeElectric = jsonObjectElectric.getBigDecimal("consume");
+                houseOrder.setElectricCost(costElectric);
+                houseOrder.setElectricConsume(consumeElectric);
+//                获取水的消费金额和额度
+                JSONObject jsonObjectWater = waterEquipmentService.roomCostRecord(waterEquipmentRoomId, live, leave);
+                BigDecimal costWater = jsonObjectWater.getBigDecimal("cost");
+                BigDecimal consumeWater = jsonObjectWater.getBigDecimal("consume");
+                houseOrder.setWaterCost(costWater);
+                houseOrder.setWaterConsume(consumeWater);
+            }
+
+        }
+        houseOrderService.updateBatchById(list);
+    }
 
 
     //    计算一个月内每个人的免费入住所消费的水电
     //    计算一个月内每个人的免费入住所消费的水电
     @Scheduled(cron = "0 0 1 1 * ? ")
     @Scheduled(cron = "0 0 1 1 * ? ")

+ 64 - 0
src/main/java/com/template/controller/PasswordIssController.java

@@ -1,6 +1,7 @@
 package com.template.controller;
 package com.template.controller;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.common.utils.AesUtils;
 import com.template.common.utils.AesUtils;
@@ -13,6 +14,7 @@ import com.template.model.pojo.Unlocking;
 import com.template.model.pojo.UnlockingAdmin;
 import com.template.model.pojo.UnlockingAdmin;
 import com.template.model.pojo.UnlockingCustom;
 import com.template.model.pojo.UnlockingCustom;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
@@ -717,4 +719,66 @@ public class PasswordIssController {
         }
         }
 
 
     }
     }
+
+
+    //添加公寓
+//    @Scheduled(cron = "0 0/1 * * * ?")
+//    public void saveGy(){
+//
+//        HashMap<String, Object> map = new HashMap<>();
+//        map.put("name","研究生公寓");
+//
+//        HashMap<String, String> hashMap = new HashMap<>();
+//        hashMap.put("name","17栋1单元201");
+//        HashMap<String, String> hashMap2 = new HashMap<>();
+//        hashMap2.put("name","17栋1单元202");
+//        JSONArray jsonArray = new JSONArray();
+//        jsonArray.add(hashMap);
+//        jsonArray.add(hashMap2);
+//
+//        map.put("roomDataList",jsonArray);
+//
+//
+//        String jsonContent = JSONObject.toJSONString(map);
+//
+//        System.out.println("jsonContent = " + jsonContent);
+//        try {
+//            JSONObject jsonObject2 = queryData2(jsonContent, PasswordUrlEnum.SaveApartment.getUrl());
+//            JSONObject data = jsonObject2.getJSONObject("data");
+//            System.out.println("data = " + data);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//
+//    }
+//
+//
+//    /**
+//     * 请求数据
+//     *
+//     * @param content 请求参数
+//     * @param path    请求接口
+//     */
+//    public JSONObject queryData2(String content, String path) throws Exception {
+//        String sign = MD5.getMD5(doorLockConfig.getAppId() + doorLockConfig.getAppSecret());
+//
+//        String appId = doorLockConfig.getAppId();
+//        String jsonStr = AesUtils.encrypt(content, doorLockConfig.getAppSecret());
+//        /*执行请求,使用可以附加token的doPost方*/
+//        HttpClientHelper instance = HttpClientHelper.getInstance();
+//        String result = instance.doPostJson("https://www.qspms.cn/open/api/v2/apartment" + (path.startsWith("/") ? path : ("/" + path)), jsonStr, sign, appId);
+//        if (ObjectUtils.isEmpty(result)) {
+//            return null;
+//        }
+//
+//        /*解析数据 start*/
+//        JSONObject jsonObject = JSON.parseObject(result);
+//
+////        System.out.println("jsonObject = " + jsonObject);
+//
+//
+//        return jsonObject;
+//    }
+
+
 }
 }

+ 1 - 0
src/main/java/com/template/model/enumModel/PasswordUrlEnum.java

@@ -17,6 +17,7 @@ public enum PasswordUrlEnum {
     RemoteOpen("remoteOpen","远程开锁"),
     RemoteOpen("remoteOpen","远程开锁"),
     SetNFC("setNFC","设置NFC"),
     SetNFC("setNFC","设置NFC"),
     ModifyPassword("modifyPassword","修改密码"),
     ModifyPassword("modifyPassword","修改密码"),
+
     BatchModifyUserValidTimeRequest("batchModifyUserValidTimeRequest","批量修改用户时效");
     BatchModifyUserValidTimeRequest("batchModifyUserValidTimeRequest","批量修改用户时效");
     String url;
     String url;
     String dsc;
     String dsc;

+ 25 - 6
src/main/java/com/template/services/impl/ElectricEquipmentServiceImpl.java

@@ -2,11 +2,14 @@ package com.template.services.impl;
 
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.template.mapper.ElectricEquipmentMapper;
 import com.template.mapper.ElectricEquipmentMapper;
 import com.template.model.pojo.ElectricEquipment;
 import com.template.model.pojo.ElectricEquipment;
 import com.template.services.ElectricEquipmentService;
 import com.template.services.ElectricEquipmentService;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.client.RestTemplate;
@@ -29,7 +32,7 @@ public class ElectricEquipmentServiceImpl extends ServiceImpl<ElectricEquipmentM
     /**
     /**
      * 获取所有房间的电表设备
      * 获取所有房间的电表设备
      */
      */
-//    @Scheduled(cron = "0 22 * * * ? ")
+//    @Scheduled(cron = "0 34 * * * ? ")
 //    1
 //    1
     @Transactional(rollbackFor = Exception.class)//1
     @Transactional(rollbackFor = Exception.class)//1
     public void getHouseNumberEquipment() {
     public void getHouseNumberEquipment() {
@@ -42,20 +45,36 @@ public class ElectricEquipmentServiceImpl extends ServiceImpl<ElectricEquipmentM
         JSONArray meterObj = jsonObject.getJSONArray("meterObj");
         JSONArray meterObj = jsonObject.getJSONArray("meterObj");
         ArrayList<ElectricEquipment> electricEquipments = new ArrayList<>();
         ArrayList<ElectricEquipment> electricEquipments = new ArrayList<>();
 
 
+
         for (int i = 0; i < meterObj.size(); i++) {
         for (int i = 0; i < meterObj.size(); i++) {
             JSONObject jsonObject1 = meterObj.getJSONObject(i);
             JSONObject jsonObject1 = meterObj.getJSONObject(i);
-            ElectricEquipment electricEquipment = new ElectricEquipment();
+//            ElectricEquipment electricEquipment = new ElectricEquipment();
+//            electricEquipment.setMeterId(jsonObject1.getString("meterId"));
+//            electricEquipment.setRoomId(jsonObject1.getString("roomId"));
+//            electricEquipment.setRoomNum(jsonObject1.getString("roomNum"));
+//            electricEquipment.setMeterName(jsonObject1.getString("meterName"));
+//            electricEquipments.add(electricEquipment);
+
+            String roomNum = jsonObject1.getString("roomNum");
+            String roomId = jsonObject1.getString("roomId");
+            LambdaQueryWrapper<ElectricEquipment> wrapper=new LambdaQueryWrapper<>();
+            wrapper/*.eq(ElectricEquipment::getRoomNum,roomNum)*/
+                    .eq(ElectricEquipment::getRoomId,roomId);
+            ElectricEquipment electricEquipment = this.getOne(wrapper);
+            if (ObjectUtils.isEmpty(electricEquipment)) {
+                electricEquipment=new ElectricEquipment();
+//                electricEquipment.setRoomNum(roomNum);
+                electricEquipment.setRoomId(roomId);
+            }
+            electricEquipment.setRoomNum(roomNum);
             electricEquipment.setMeterId(jsonObject1.getString("meterId"));
             electricEquipment.setMeterId(jsonObject1.getString("meterId"));
-            electricEquipment.setRoomId(jsonObject1.getString("roomId"));
-            electricEquipment.setRoomNum(jsonObject1.getString("roomNum"));
             electricEquipment.setMeterName(jsonObject1.getString("meterName"));
             electricEquipment.setMeterName(jsonObject1.getString("meterName"));
             electricEquipments.add(electricEquipment);
             electricEquipments.add(electricEquipment);
-//            this.save(electricEquipment);
         }
         }
 
 
         System.out.println("electricEquipments.size() = " + electricEquipments.size());
         System.out.println("electricEquipments.size() = " + electricEquipments.size());
         System.out.println("meterObj.size() = " + meterObj.size());
         System.out.println("meterObj.size() = " + meterObj.size());
-        this.saveBatch(electricEquipments);
+        this.saveOrUpdateBatch(electricEquipments);
 
 
     }
     }
 
 

+ 4 - 2
src/main/resources/mapper/template/HouseOrderMapper.xml

@@ -10,8 +10,10 @@
         ho.reserve_leave_time as reserveLeaveTime,
         ho.reserve_leave_time as reserveLeaveTime,
         ho.live_time as liveTime,
         ho.live_time as liveTime,
         ho.leave_time as LeaveTime,
         ho.leave_time as LeaveTime,
-        ho.reserve_name as reserveName,
-        ho.reserve_phone as phone,
+
+        u1.user_name as reserveName,
+        u1.phone as phone,
+
         u1.card_number  as cardNumber,
         u1.card_number  as cardNumber,
         org.name  as orgName,
         org.name  as orgName,
         ho.live_name as liveName,
         ho.live_name as liveName,