Bladeren bron

设备列表展示wcTimes

chejianzheng 4 maanden geleden
bovenliggende
commit
6187acab56
2 gewijzigde bestanden met toevoegingen van 173 en 81 verwijderingen
  1. 65 0
      src/main/java/com/wxxcx/index/WxxcxIndexController.java
  2. 108 81
      src/test/java/Test.java

+ 65 - 0
src/main/java/com/wxxcx/index/WxxcxIndexController.java

@@ -513,6 +513,71 @@ public class WxxcxIndexController<AesException extends Throwable> {
     }
 
     /**
+     * 设备列表
+     *
+     * @param user_openid
+     * @param keyword
+     * @param zt
+     * @return
+     * @throws IOException
+     */
+    @GetMapping("/devListWithTimes")
+    @ApiOperation(value = "查询设备列表")
+    public R devListWithTimes(String user_openid, String keyword, Integer zt) throws IOException {
+        R r = JSONUtil.getSuccessMsg(null);
+        String con = "";
+        if (StringUtils.isNotEmpty(keyword)) {
+            con = con + " and (dev_name like '%" + keyword + "%' or dev_id like '%" + keyword + "%') ";
+        }
+        if (zt != null) {
+            if (zt == 2) {
+                con = con + " and online=0 ";
+            }
+            if (zt == 3) {
+                con = con + " and online=1 ";
+            }
+            if (zt == 4) {
+                con = con + " and dev_warn is not null and dev_warn =1";
+            }
+        }
+        List<DevVO> devs = baseDAO.queryAllByCondition(DevVO.class, " and (user_openid='" + user_openid + "' or " +
+                "dev_id in (select dev_id from dev_share where delete_tag =0 and shared ='" + user_openid + "' and state =1)) " + con, null);
+
+        List<Map> res = new ArrayList<>();
+        if (devs != null && devs.size() > 0) {
+            ObjectMapper objectMapper = new ObjectMapper();
+            for (DevVO dev : devs) {
+
+                Map beanMap = objectMapper.convertValue(dev, Map.class);
+
+                LocalDate previousDate = LocalDate.now().minusDays(1);
+                String previousDateStr = previousDate.toString();
+                // 判断查询结果并返回
+                List<AlarmEvent> stayTimes = null;
+                try {
+                    stayTimes = jdbcTemplate.query(
+                            "SELECT * FROM alarm_event WHERE dev_id = ? AND DATE(create_time) = ?",
+                            new Object[]{dev.getDev_id(), previousDateStr},
+                            new BeanPropertyRowMapper<>(AlarmEvent.class)
+                    );
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                if (Objects.nonNull(stayTimes) && stayTimes.size() > 0) {
+                    beanMap.put("stayTimes", stayTimes);
+                    beanMap.put("count", stayTimes.size());
+                } else {
+                    beanMap.put("stayTimes", null);
+                    beanMap.put("count", 0);
+                }
+                res.add(beanMap);
+            }
+        }
+        r.data.put("devs", res);
+        return r;
+    }
+
+    /**
      * 设备解绑
      *
      * @param dev_id

+ 108 - 81
src/test/java/Test.java

@@ -1,89 +1,97 @@
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.UUID;
 
+import com.admin.dev.DevVO;
+import com.alibaba.fastjson.JSON;
 import com.aliyun.teaopenapi.models.Config;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.commons.beanutils.BeanMap;
+import org.springframework.beans.BeanUtils;
 
 public class Test {
-	public static void main(String[] args) throws Exception {
-		/*
-		 * DingTalkClient client = new DefaultDingTalkClient(
-		 * "https://oapi.dingtalk.com/topapi/processinstance/create");
-		 * OapiProcessinstanceCreateRequest req = new
-		 * OapiProcessinstanceCreateRequest();
-		 * req.setProcessCode("PROC-BB5BC02E-4015-4A3C-87B9-B8C7E3687041");
-		 * req.setOriginatorUserId("0151581829166507"); req.setDeptId(671448655L);
-		 * List<FormComponentValueVo> list2 = new ArrayList<FormComponentValueVo>();
-		 * FormComponentValueVo obj1 = new FormComponentValueVo(); obj1.setName("车牌号");
-		 * obj1.setValue("皖A030K3"); FormComponentValueVo obj2 = new
-		 * FormComponentValueVo(); obj2.setName("公司名称"); obj2.setValue("安徽柒零玖科技");
-		 * FormComponentValueVo obj3 = new FormComponentValueVo(); obj3.setName("联系人");
-		 * obj3.setValue("周楠楠"); FormComponentValueVo obj4 = new FormComponentValueVo();
-		 * obj4.setName("联系电话"); obj4.setValue("18019978951");
-		 * 
-		 * 
-		 * list2.add(obj1); list2.add(obj2); list2.add(obj3); list2.add(obj4);
-		 * 
-		 * req.setFormComponentValues(list2); OapiProcessinstanceCreateResponse rsp =
-		 * client.execute(req, "2379f605e4883461b3a97ffabab23031");
-		 * System.out.println(rsp.getBody());
-		 */
-		/*
-		 * com.aliyun.dingtalkworkflow_1_0.Client client = createClient();
-		 * StartProcessInstanceHeaders startProcessInstanceHeaders = new
-		 * StartProcessInstanceHeaders();
-		 * startProcessInstanceHeaders.xAcsDingtalkAccessToken =
-		 * "2379f605e4883461b3a97ffabab23031";
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
-		 * fcv0 = new
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
-		 * .setName("车牌号") .setValue("皖A030K3");
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
-		 * fcv1 = new
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
-		 * .setName("公司名称") .setValue("安徽柒零玖科技");
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
-		 * fcv2 = new
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
-		 * .setName("联系人") .setValue("周楠楠");
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
-		 * fcv3 = new
-		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
-		 * .setName("联系电话") .setValue("18019978951");
-		 * List<StartProcessInstanceRequestFormComponentValues> fvlist = new
-		 * ArrayList<StartProcessInstanceRequestFormComponentValues>();
-		 * fvlist.add(fcv0); fvlist.add(fcv1); fvlist.add(fcv2); fvlist.add(fcv3);
-		 * 
-		 * StartProcessInstanceRequest startProcessInstanceRequest = new
-		 * StartProcessInstanceRequest() .setOriginatorUserId("0151581829166507")
-		 * .setDeptId(671448655L)
-		 * .setProcessCode("PROC-BB5BC02E-4015-4A3C-87B9-B8C7E3687041")
-		 * .setFormComponentValues(fvlist); try { StartProcessInstanceResponse res =
-		 * client.startProcessInstanceWithOptions(startProcessInstanceRequest,
-		 * startProcessInstanceHeaders, new RuntimeOptions());
-		 * System.out.println(res.getBody()); }catch (Exception _err) {
-		 * _err.printStackTrace(); }
-		 */
-		/*
-		 * 支付宝APP支付 AlipayClient alipayClient = new
-		 * DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
-		 * "2021003167604052",
-		 * "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCh+kNZzckqMxlaDwIEesCZhgk0+Jt9hWB1lDx9l7tCuRXWqy4LDFQwyii8Z/UvrFyaPO1hlFhFBDE19xpD8uObJXZK46kJpbLAGyrAxQxTGUj6ElD3g8DyHtomlPIPY/CSnXLPHqiIXID+qZTCwsd8jLG10MFmKcFk12vM3JSEDAzl0JJzkQyJHxWO4BNL3WfFfifAIOSL0v8WguLxkKPTsmcVQEXejiq8gs5B42kTD70L5Zo+MhLUv+RJmUSCSkxmqUIs2PLRO8uuBOAi+S2jfud+T/zg0qQTgNoGEHRo3UCuUcVIKar4/0Qtg8wBMoNY+HCSzFJ3C5ik0nh1qpnNAgMBAAECggEAV+9gvxE8I7/IBJ9fLgViKDafKvXInFVbb5nBWUGVdPy8QWV/Qpo33qDxio85id8eCtIG4VHCtf03ph93T+o97I1i8fc0XrtpFmfpRuvy6+4vMyvcbvNFPWzIa+eyne5YvY/is1Tmk9j8YsS3sSBDYneTRqyFQixrBI76xCYALsrnZgBScPhbBpVBoNd9hdEfThOki3lSXwI0DBAI7Qyl3TtiFz8tP8uD4NrVAFSMp/KxjT0QvWWoKMZ+JqUb+aNBtoTT4TF+R60cXWLAafZfqamfEO/JsigE41Cz2oCiLRqKOAKO7fUuTo1BLPBalatRqgVeqPPmCiNLzkr7LSnqwQKBgQDzFIQPevZ+fwZ1uLQenO3Zikr8nhzrAq2wJ1NBsfQ91WescTuZXKzXiukJxNRJPsjAIwJBSJLp1uSyflg+5GvrQ+8k60m0VXyDTcin9n+h/7hb5rVEMgrS1ePlWbL5epoZcIeAFxBMlvK0paKWvhhIb8WSKKXHUaEQKOmzIl0vHQKBgQCqljh76RPsqFFdWDQZI7XKjDJ+ru+BX2Fd4leI67Py+IivYf4fYxJgnDjXXiFBqGBkCjDC67B9T0mVq5mmDRWFd1Mu65hbaDdqFt1Hi3uDMTfFkyMeCRcZ/ydvNtdvVXdF/WxHcoguUDycz9QWW7uGFaLojsGJXmDp2mnMySymcQKBgQDdHmyDKHfR2fsmWz5+GoLCwOo1oh7sKSOWei9iM17aYKZOVzK/723LJLGYEVSKzHIRVcdXW41I6hJfzE6550/EU6fXDbGeOaVqS/eb0r+HvfcWomeCAYOXBrqoh1AnYT+MpLCd9Fz/TtC5Q3MDbSjpu8MdkZw8FCVPbego67mYgQKBgDBUr1wsBUEfzy2rN9eHjpH8drH9zk3RQDzhS/u3DBzi3ZcTJHSwFRzaJiCewr1ffy/Y00fmjvJx7F9DZxzsyBQwYpkAlwIO3ORp5ffHRQ8+epa3wVNZL/plmD6iQxeAF3L1AiCcColUoleramOLSe4LY0SQbbUF0F9xSliDBuuBAoGBAM7Ojqk/aHxg88lJKR4Vtwtzfw/JPR1VhAdhsYuhZDtqbH4ywuzdLolYWBSKbD8kO0yK5t3/00bP5rpanOLX2AWdkXdlnsozVxdkzPAiKwoHPb9tj9m1avRzGQpeOaMqng/qksGMxwfrVPhZB7hpCVa0yKpqk5zOSLydz01JDDNe",
-		 * "json", "UTF-8",
-		 * "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApIdxxiliw5R6SFLELfXsYmEsinTy9ZHD0okZTYi/0+CD9e/4wfnZMC344DHxd94znOa8LAjySJt1m4DeLc8UJo4Aem4IwvZV3RAR5LLlpr+P7gSeN9CdAo3eZArGvgrmYrt6QVxx0OCqyrPcNbNJo36n5y76ciCfTX8BESrnh3WLYHkmQpgfJqOIhwtUAx259h1frCxHF6Q3ACvNbQ88q+R2qwgZLsQa00dIJOgkGlXxiyhCsLunzn0lkQp9R6fPCFAvFhpIlbImSgyN4oRk7Dprfzc1m8mnTZ9jhBwA/EfNfVmWjdL7kjBZefypIgJUtdmkM1hPaGR116uykdnChQIDAQAB",
-		 * "RSA2"); AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
-		 * request.setNotifyUrl("https://yspx.ah709.com:8443/zfb_pay_notify.jsp");
-		 * JSONObject bizContent = new JSONObject(); bizContent.put("out_trade_no",
-		 * WXUtil.getOut_trade_no()); bizContent.put("total_amount", 0.01);
-		 * bizContent.put("subject", "测试商品"); Map body_map = new HashMap();
-		 * body_map.put("order_id", UUID.randomUUID().toString());
-		 * bizContent.put("body", JSONObject.toJSONString(body_map));
-		 * request.setBizContent(bizContent.toString()); AlipayTradeAppPayResponse
-		 * response = alipayClient.sdkExecute(request); if (response.isSuccess()) {
-		 * System.out.println(response.getBody()); } else { }
-		 */
-
-		System.out.println("ffff00111234111234567801170221000c0101eb4ffefe".length());
-
-	}
+//	public static void main(String[] args) throws Exception {
+//		/*
+//		 * DingTalkClient client = new DefaultDingTalkClient(
+//		 * "https://oapi.dingtalk.com/topapi/processinstance/create");
+//		 * OapiProcessinstanceCreateRequest req = new
+//		 * OapiProcessinstanceCreateRequest();
+//		 * req.setProcessCode("PROC-BB5BC02E-4015-4A3C-87B9-B8C7E3687041");
+//		 * req.setOriginatorUserId("0151581829166507"); req.setDeptId(671448655L);
+//		 * List<FormComponentValueVo> list2 = new ArrayList<FormComponentValueVo>();
+//		 * FormComponentValueVo obj1 = new FormComponentValueVo(); obj1.setName("车牌号");
+//		 * obj1.setValue("皖A030K3"); FormComponentValueVo obj2 = new
+//		 * FormComponentValueVo(); obj2.setName("公司名称"); obj2.setValue("安徽柒零玖科技");
+//		 * FormComponentValueVo obj3 = new FormComponentValueVo(); obj3.setName("联系人");
+//		 * obj3.setValue("周楠楠"); FormComponentValueVo obj4 = new FormComponentValueVo();
+//		 * obj4.setName("联系电话"); obj4.setValue("18019978951");
+//		 *
+//		 *
+//		 * list2.add(obj1); list2.add(obj2); list2.add(obj3); list2.add(obj4);
+//		 *
+//		 * req.setFormComponentValues(list2); OapiProcessinstanceCreateResponse rsp =
+//		 * client.execute(req, "2379f605e4883461b3a97ffabab23031");
+//		 * System.out.println(rsp.getBody());
+//		 */
+//		/*
+//		 * com.aliyun.dingtalkworkflow_1_0.Client client = createClient();
+//		 * StartProcessInstanceHeaders startProcessInstanceHeaders = new
+//		 * StartProcessInstanceHeaders();
+//		 * startProcessInstanceHeaders.xAcsDingtalkAccessToken =
+//		 * "2379f605e4883461b3a97ffabab23031";
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+//		 * fcv0 = new
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
+//		 * .setName("车牌号") .setValue("皖A030K3");
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+//		 * fcv1 = new
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
+//		 * .setName("公司名称") .setValue("安徽柒零玖科技");
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+//		 * fcv2 = new
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
+//		 * .setName("联系人") .setValue("周楠楠");
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+//		 * fcv3 = new
+//		 * StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
+//		 * .setName("联系电话") .setValue("18019978951");
+//		 * List<StartProcessInstanceRequestFormComponentValues> fvlist = new
+//		 * ArrayList<StartProcessInstanceRequestFormComponentValues>();
+//		 * fvlist.add(fcv0); fvlist.add(fcv1); fvlist.add(fcv2); fvlist.add(fcv3);
+//		 *
+//		 * StartProcessInstanceRequest startProcessInstanceRequest = new
+//		 * StartProcessInstanceRequest() .setOriginatorUserId("0151581829166507")
+//		 * .setDeptId(671448655L)
+//		 * .setProcessCode("PROC-BB5BC02E-4015-4A3C-87B9-B8C7E3687041")
+//		 * .setFormComponentValues(fvlist); try { StartProcessInstanceResponse res =
+//		 * client.startProcessInstanceWithOptions(startProcessInstanceRequest,
+//		 * startProcessInstanceHeaders, new RuntimeOptions());
+//		 * System.out.println(res.getBody()); }catch (Exception _err) {
+//		 * _err.printStackTrace(); }
+//		 */
+//		/*
+//		 * 支付宝APP支付 AlipayClient alipayClient = new
+//		 * DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
+//		 * "2021003167604052",
+//		 * "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCh+kNZzckqMxlaDwIEesCZhgk0+Jt9hWB1lDx9l7tCuRXWqy4LDFQwyii8Z/UvrFyaPO1hlFhFBDE19xpD8uObJXZK46kJpbLAGyrAxQxTGUj6ElD3g8DyHtomlPIPY/CSnXLPHqiIXID+qZTCwsd8jLG10MFmKcFk12vM3JSEDAzl0JJzkQyJHxWO4BNL3WfFfifAIOSL0v8WguLxkKPTsmcVQEXejiq8gs5B42kTD70L5Zo+MhLUv+RJmUSCSkxmqUIs2PLRO8uuBOAi+S2jfud+T/zg0qQTgNoGEHRo3UCuUcVIKar4/0Qtg8wBMoNY+HCSzFJ3C5ik0nh1qpnNAgMBAAECggEAV+9gvxE8I7/IBJ9fLgViKDafKvXInFVbb5nBWUGVdPy8QWV/Qpo33qDxio85id8eCtIG4VHCtf03ph93T+o97I1i8fc0XrtpFmfpRuvy6+4vMyvcbvNFPWzIa+eyne5YvY/is1Tmk9j8YsS3sSBDYneTRqyFQixrBI76xCYALsrnZgBScPhbBpVBoNd9hdEfThOki3lSXwI0DBAI7Qyl3TtiFz8tP8uD4NrVAFSMp/KxjT0QvWWoKMZ+JqUb+aNBtoTT4TF+R60cXWLAafZfqamfEO/JsigE41Cz2oCiLRqKOAKO7fUuTo1BLPBalatRqgVeqPPmCiNLzkr7LSnqwQKBgQDzFIQPevZ+fwZ1uLQenO3Zikr8nhzrAq2wJ1NBsfQ91WescTuZXKzXiukJxNRJPsjAIwJBSJLp1uSyflg+5GvrQ+8k60m0VXyDTcin9n+h/7hb5rVEMgrS1ePlWbL5epoZcIeAFxBMlvK0paKWvhhIb8WSKKXHUaEQKOmzIl0vHQKBgQCqljh76RPsqFFdWDQZI7XKjDJ+ru+BX2Fd4leI67Py+IivYf4fYxJgnDjXXiFBqGBkCjDC67B9T0mVq5mmDRWFd1Mu65hbaDdqFt1Hi3uDMTfFkyMeCRcZ/ydvNtdvVXdF/WxHcoguUDycz9QWW7uGFaLojsGJXmDp2mnMySymcQKBgQDdHmyDKHfR2fsmWz5+GoLCwOo1oh7sKSOWei9iM17aYKZOVzK/723LJLGYEVSKzHIRVcdXW41I6hJfzE6550/EU6fXDbGeOaVqS/eb0r+HvfcWomeCAYOXBrqoh1AnYT+MpLCd9Fz/TtC5Q3MDbSjpu8MdkZw8FCVPbego67mYgQKBgDBUr1wsBUEfzy2rN9eHjpH8drH9zk3RQDzhS/u3DBzi3ZcTJHSwFRzaJiCewr1ffy/Y00fmjvJx7F9DZxzsyBQwYpkAlwIO3ORp5ffHRQ8+epa3wVNZL/plmD6iQxeAF3L1AiCcColUoleramOLSe4LY0SQbbUF0F9xSliDBuuBAoGBAM7Ojqk/aHxg88lJKR4Vtwtzfw/JPR1VhAdhsYuhZDtqbH4ywuzdLolYWBSKbD8kO0yK5t3/00bP5rpanOLX2AWdkXdlnsozVxdkzPAiKwoHPb9tj9m1avRzGQpeOaMqng/qksGMxwfrVPhZB7hpCVa0yKpqk5zOSLydz01JDDNe",
+//		 * "json", "UTF-8",
+//		 * "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApIdxxiliw5R6SFLELfXsYmEsinTy9ZHD0okZTYi/0+CD9e/4wfnZMC344DHxd94znOa8LAjySJt1m4DeLc8UJo4Aem4IwvZV3RAR5LLlpr+P7gSeN9CdAo3eZArGvgrmYrt6QVxx0OCqyrPcNbNJo36n5y76ciCfTX8BESrnh3WLYHkmQpgfJqOIhwtUAx259h1frCxHF6Q3ACvNbQ88q+R2qwgZLsQa00dIJOgkGlXxiyhCsLunzn0lkQp9R6fPCFAvFhpIlbImSgyN4oRk7Dprfzc1m8mnTZ9jhBwA/EfNfVmWjdL7kjBZefypIgJUtdmkM1hPaGR116uykdnChQIDAQAB",
+//		 * "RSA2"); AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
+//		 * request.setNotifyUrl("https://yspx.ah709.com:8443/zfb_pay_notify.jsp");
+//		 * JSONObject bizContent = new JSONObject(); bizContent.put("out_trade_no",
+//		 * WXUtil.getOut_trade_no()); bizContent.put("total_amount", 0.01);
+//		 * bizContent.put("subject", "测试商品"); Map body_map = new HashMap();
+//		 * body_map.put("order_id", UUID.randomUUID().toString());
+//		 * bizContent.put("body", JSONObject.toJSONString(body_map));
+//		 * request.setBizContent(bizContent.toString()); AlipayTradeAppPayResponse
+//		 * response = alipayClient.sdkExecute(request); if (response.isSuccess()) {
+//		 * System.out.println(response.getBody()); } else { }
+//		 */
+//
+//		System.out.println("ffff00111234111234567801170221000c0101eb4ffefe".length());
+//
+//	}
 
 	public static com.aliyun.dingtalkworkflow_1_0.Client createClient() throws Exception {
 		Config config = new Config();
@@ -91,4 +99,23 @@ public class Test {
 		config.regionId = "central";
 		return new com.aliyun.dingtalkworkflow_1_0.Client(config);
 	}
+
+	public static void main(String[] args) {
+
+		DevVO devVO = new DevVO();
+		devVO.setDev_id("sjidfj");
+		devVO.setStart_x(BigDecimal.TEN);
+
+		ObjectMapper objectMapper = new ObjectMapper();
+		Map map = objectMapper.convertValue(devVO, Map.class);
+
+//		Map<String, Object> map = new HashMap<>();
+//		BeanUtils.copyProperties(devVO, map);
+		BeanMap beanMap = new BeanMap(devVO);
+		map.put("stayTimes", null);
+		map.put("count", 0);
+
+		System.out.println(map);
+		System.out.println(JSON.toJSONString(map));
+	}
 }