diff --git a/community-security-common/pom.xml b/community-security-common/pom.xml index 1aff501..5b92848 100644 --- a/community-security-common/pom.xml +++ b/community-security-common/pom.xml @@ -64,6 +64,12 @@ org.springframework.boot spring-boot-starter-data-redis + + + logback-classic + ch.qos.logback + + @@ -91,17 +97,19 @@ com.aliyun dysmsapi20170525 2.0.1 + + + bcpkix-jdk15on + org.bouncycastle + + org.springframework.boot spring-boot-starter-amqp - - com.alibaba - easyexcel - 3.2.1 - + org.apache.tomcat.embed tomcat-embed-core @@ -117,11 +125,7 @@ - - org.springframework.kafka - spring-kafka - 2.8.1 - + com.fasterxml.jackson.core jackson-databind @@ -129,9 +133,32 @@ + + + com.baidu.aip + java-sdk + 4.12.0 + + + org.slf4j + slf4j-simple + + + + + com.squareup.okhttp3 + okhttp + 4.9.1 + + + org.slf4j + slf4j-api + 1.7.30 + + diff --git a/community-security-common/src/main/java/com/zyh/common/constants/RabbitMQQueueNameConstants.java b/community-security-common/src/main/java/com/zyh/common/constants/RabbitMQQueueNameConstants.java index 933f4dd..32e561a 100644 --- a/community-security-common/src/main/java/com/zyh/common/constants/RabbitMQQueueNameConstants.java +++ b/community-security-common/src/main/java/com/zyh/common/constants/RabbitMQQueueNameConstants.java @@ -13,6 +13,11 @@ public class RabbitMQQueueNameConstants { */ public static final String SEND_SMS_QUEUE_NAME = "send_sms_queue"; + /** + * 人脸布控 + */ + public static final String FACE_CONTROLS = "face_controls"; + /** * 批量添加入库单队列名称 */ diff --git a/community-security-common/src/main/java/com/zyh/common/domain/Alarm.java b/community-security-common/src/main/java/com/zyh/common/domain/Alarm.java new file mode 100644 index 0000000..d57fb2e --- /dev/null +++ b/community-security-common/src/main/java/com/zyh/common/domain/Alarm.java @@ -0,0 +1,17 @@ +package com.zyh.common.domain; + +import cn.hutool.db.DaoTemplate; +import lombok.Data; + +import java.util.Date; + +@Data +public class Alarm { + private Integer id; + private String address; + private String name; + + private Date time; + private Integer status; + private String cameraId; +} diff --git a/community-security-common/src/main/java/com/zyh/common/domain/FaceControls.java b/community-security-common/src/main/java/com/zyh/common/domain/FaceControls.java new file mode 100644 index 0000000..e0b3be6 --- /dev/null +++ b/community-security-common/src/main/java/com/zyh/common/domain/FaceControls.java @@ -0,0 +1,20 @@ +package com.zyh.common.domain; + +import lombok.Data; + +import java.util.Date; + +@Data +public class FaceControls { + private Integer id; + private String name; + private String object; + private String startTime; + private String endTime; + private Integer type; + private String pic; + private Integer similarity; + private String remark; + + +} diff --git a/community-security-common/src/main/java/com/zyh/common/face/FaceMatchUtil.java b/community-security-common/src/main/java/com/zyh/common/face/FaceMatchUtil.java new file mode 100644 index 0000000..7831f6d --- /dev/null +++ b/community-security-common/src/main/java/com/zyh/common/face/FaceMatchUtil.java @@ -0,0 +1,79 @@ +package com.zyh.common.face; + +import com.baidu.aip.util.Base64Util; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class FaceMatchUtil { + + public static float matchImages(String imageUrl1, String imageUrl2) { + try { + byte[] bytes1 = readImageFromUrl(imageUrl1); + byte[] bytes2 = readImageFromUrl(imageUrl2); + + List> images = new ArrayList<>(); + + Map map1 = createImageMap(Base64Util.encode(bytes1), "IDCARD"); + Map map2 = createImageMap(Base64Util.encode(bytes2), "LIVE"); + + images.add(map1); + images.add(map2); + + String param = GsonUtils.toJson(images); + + String accessToken = GetAccessToken.getAuth(); + + String result = HttpUtil.post("https://aip.baidubce.com/rest/2.0/face/v3/match", accessToken, "application/json", param); + + return parseScore(result); + } catch (Exception e) { + e.printStackTrace(); + return 0.0f; + } + } + + private static byte[] readImageFromUrl(String imageUrl) throws IOException { + URL url = new URL(imageUrl); + try (InputStream inputStream = url.openStream(); + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) { + + byte[] buffer = new byte[1024]; + int bytesRead; + + while ((bytesRead = inputStream.read(buffer)) != -1) { + byteArrayOutputStream.write(buffer, 0, bytesRead); + } + + return byteArrayOutputStream.toByteArray(); + } + } + + private static Map createImageMap(String image, String faceType) { + Map map = new HashMap<>(); + map.put("image", image); + map.put("image_type", "BASE64"); + map.put("face_type", faceType); + map.put("quality_control", "LOW"); + map.put("liveness_control", "NONE"); + return map; + } + + private static float parseScore(String result) { + try { + Map resultMap = GsonUtils.fromJson(result, Map.class); + Map resultData = (Map) resultMap.get("result"); + float score = Float.parseFloat(resultData.get("score").toString()); + return score; + } catch (Exception e) { + e.printStackTrace(); + return 0.0f; + } + } +} diff --git a/community-security-common/src/main/java/com/zyh/common/face/GetAccessToken.java b/community-security-common/src/main/java/com/zyh/common/face/GetAccessToken.java new file mode 100644 index 0000000..0b44600 --- /dev/null +++ b/community-security-common/src/main/java/com/zyh/common/face/GetAccessToken.java @@ -0,0 +1,58 @@ +package com.zyh.common.face; + +import okhttp3.*; + +import java.io.IOException; + +public class GetAccessToken { + + private static String accessToken; // 存储缓存的 access_token + private static long tokenExpirationTime; // 存储 access_token 的过期时间 + + public static final String API_KEY = "w8Pq8koRUlyh9NgHfjzuDdFZ"; + public static final String SECRET_KEY = "TbIOz63AWQFXSgbP2urk0v34zdyPUac7"; + + static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build(); + + public static void main(String[] args) throws Exception { + String accessToken = getAuth(); + System.out.println("Access Token: " + accessToken); + } + + public static String getAuth() throws Exception { + if (accessToken != null && System.currentTimeMillis() < tokenExpirationTime) { + // 如果缓存的 access_token 仍然有效,则直接返回缓存的值 + return accessToken; + } + + // 缓存的 access_token 已过期或为空,重新获取 + MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); + RequestBody body = RequestBody.create( + mediaType, + "grant_type=client_credentials&client_id=" + API_KEY + "&client_secret=" + SECRET_KEY + ); + + Request request = new Request.Builder() + .url("https://aip.baidubce.com/oauth/2.0/token") + .post(body) + .addHeader("Content-Type", "application/x-www-form-urlencoded") + .build(); + + try (Response response = HTTP_CLIENT.newCall(request).execute()) { + if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); + + String responseBody = response.body().string(); + accessToken = parseAccessToken(responseBody); + // 设置新的过期时间,假设百度AI的 access_token 有效期是30天 + tokenExpirationTime = System.currentTimeMillis() + 30 * 24 * 60 * 60 * 1000; + return accessToken; + } + } + + private static String parseAccessToken(String responseBody) { + // 使用 JSON 解析库解析响应体,提取出 Access Token + // 这里使用的是 org.json.JSONObject,你也可以选择其他 JSON 解析库 + org.json.JSONObject jsonObject = new org.json.JSONObject(responseBody); + return jsonObject.getString("access_token"); + } +} diff --git a/community-security-common/src/main/java/com/zyh/common/face/GsonUtils.java b/community-security-common/src/main/java/com/zyh/common/face/GsonUtils.java new file mode 100644 index 0000000..67bf442 --- /dev/null +++ b/community-security-common/src/main/java/com/zyh/common/face/GsonUtils.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2017 Baidu, Inc. All Rights Reserved. + */ +package com.zyh.common.face; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; + +import java.lang.reflect.Type; + +/** + * Json工具类. + */ +public class GsonUtils { + private static Gson gson = new GsonBuilder().create(); + + public static String toJson(Object value) { + return gson.toJson(value); + } + + public static T fromJson(String json, Class classOfT) throws JsonParseException { + return gson.fromJson(json, classOfT); + } + + public static T fromJson(String json, Type typeOfT) throws JsonParseException { + return (T) gson.fromJson(json, typeOfT); + } +} diff --git a/community-security-common/src/main/java/com/zyh/common/face/HttpUtil.java b/community-security-common/src/main/java/com/zyh/common/face/HttpUtil.java new file mode 100644 index 0000000..ec21014 --- /dev/null +++ b/community-security-common/src/main/java/com/zyh/common/face/HttpUtil.java @@ -0,0 +1,77 @@ +package com.zyh.common.face; + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.List; +import java.util.Map; + +/** + * http 工具类 + */ +public class HttpUtil { + + public static String post(String requestUrl, String accessToken, String params) + throws Exception { + String contentType = "application/x-www-form-urlencoded"; + return HttpUtil.post(requestUrl, accessToken, contentType, params); + } + + public static String post(String requestUrl, String accessToken, String contentType, String params) + throws Exception { + String encoding = "UTF-8"; + if (requestUrl.contains("nlp")) { + encoding = "GBK"; + } + return HttpUtil.post(requestUrl, accessToken, contentType, params, encoding); + } + + public static String post(String requestUrl, String accessToken, String contentType, String params, String encoding) + throws Exception { + String url = requestUrl + "?access_token=" + accessToken; + return HttpUtil.postGeneralUrl(url, contentType, params, encoding); + } + + public static String postGeneralUrl(String generalUrl, String contentType, String params, String encoding) + throws Exception { + URL url = new URL(generalUrl); + // 打开和URL之间的连接 + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("POST"); + // 设置通用的请求属性 + connection.setRequestProperty("Content-Type", contentType); + connection.setRequestProperty("Connection", "Keep-Alive"); + connection.setUseCaches(false); + connection.setDoOutput(true); + connection.setDoInput(true); + + // 得到请求的输出流对象 + DataOutputStream out = new DataOutputStream(connection.getOutputStream()); + out.write(params.getBytes(encoding)); + out.flush(); + out.close(); + + // 建立实际的连接 + connection.connect(); + // 获取所有响应头字段 + Map> headers = connection.getHeaderFields(); + // 遍历所有的响应头字段 + for (String key : headers.keySet()) { + System.err.println(key + "--->" + headers.get(key)); + } + // 定义 BufferedReader输入流来读取URL的响应 + BufferedReader in = null; + in = new BufferedReader( + new InputStreamReader(connection.getInputStream(), encoding)); + String result = ""; + String getLine; + while ((getLine = in.readLine()) != null) { + result += getLine; + } + in.close(); + System.err.println("result:" + result); + return result; + } +} diff --git a/community-security-modules/community-security-modules-es/src/main/resources/bootstrap.yml b/community-security-modules/community-security-modules-es/src/main/resources/bootstrap.yml index 134bd95..a98e40d 100644 --- a/community-security-modules/community-security-modules-es/src/main/resources/bootstrap.yml +++ b/community-security-modules/community-security-modules-es/src/main/resources/bootstrap.yml @@ -23,9 +23,4 @@ spring: fileExtension: yml shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} -# Elasticsearch -#es: -# host: 152.136.54.230 -# port: 9200 -# scheme: http diff --git a/community-security-modules/community-security-modules-photo/src/main/java/com/zyh/system/service/impl/ComprefaceServicempl.java b/community-security-modules/community-security-modules-photo/src/main/java/com/zyh/system/service/impl/ComprefaceServicempl.java index 897a43d..cea9aec 100644 --- a/community-security-modules/community-security-modules-photo/src/main/java/com/zyh/system/service/impl/ComprefaceServicempl.java +++ b/community-security-modules/community-security-modules-photo/src/main/java/com/zyh/system/service/impl/ComprefaceServicempl.java @@ -52,6 +52,13 @@ public class ComprefaceServicempl implements ComprefaceService { }); + rabbitTemplate.convertAndSend(RabbitMQQueueNameConstants.FACE_CONTROLS, bytes, message -> { + + message.getMessageProperties().setMessageId(UUID.randomUUID().toString().replaceAll("-", "")); + message.getMessageProperties().setHeader("cameraId", cameraId); // 设置消息头中的相机ID + return message; + }); + return Result.success(data); } diff --git a/community-security-modules/community-security-modules-shop/pom.xml b/community-security-modules/community-security-modules-shop/pom.xml index c2a2dc3..3c9597b 100644 --- a/community-security-modules/community-security-modules-shop/pom.xml +++ b/community-security-modules/community-security-modules-shop/pom.xml @@ -40,7 +40,6 @@ mysql mysql-connector-java - diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/controller/AlarmController.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/controller/AlarmController.java new file mode 100644 index 0000000..2927387 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/controller/AlarmController.java @@ -0,0 +1,29 @@ +package com.zyh.system.controller; + +import com.zyh.common.domain.Alarm; +import com.zyh.common.result.Result; +import com.zyh.system.service.AlarmService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("alarm") +public class AlarmController { + @Autowired + private AlarmService alarmService; + + //查询告警 + @PostMapping("getAlarm") + public Result> getAlarm() { + return alarmService.getAlarm(); + } + + + //删除告警 + @PostMapping("deleteAlarm") + public Result deleteAlarm(@RequestParam Integer id) { + return alarmService.deleteAlarm(id); + } +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/controller/FaceControlsController.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/controller/FaceControlsController.java new file mode 100644 index 0000000..7b8b456 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/controller/FaceControlsController.java @@ -0,0 +1,45 @@ +package com.zyh.system.controller; + +import com.zyh.common.domain.FaceControls; +import com.zyh.common.result.Result; +import com.zyh.system.service.FaceControlsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("face") +public class FaceControlsController { + + @Autowired + private FaceControlsService faceControlsService; + + // 添加人脸控制 + @PostMapping("addFaceControls") + public Result addFaceControls(@RequestBody FaceControls faceControls) { + return faceControlsService.addFaceControls(faceControls); + } + + // 删除人脸控制 + @PostMapping("deleteFaceControls") + public Result deleteFaceControls(@RequestParam Integer id) { + return faceControlsService.deleteFaceControls(id); + } + + // 修改人脸控制 + @PostMapping("updateFaceControls") + public Result updateFaceControls(@RequestBody FaceControls faceControls) { + return faceControlsService.updateFaceControls(faceControls); + } + + // 查询人脸控制 + @PostMapping("getFaceControls") + public Result> getFaceControls() { + return faceControlsService.getFaceControls(); + } + + + + +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mapper/AlarmMapper.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mapper/AlarmMapper.java new file mode 100644 index 0000000..e56d1a5 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mapper/AlarmMapper.java @@ -0,0 +1,19 @@ +package com.zyh.system.mapper; + +import com.zyh.common.domain.Alarm; +import com.zyh.common.domain.Camera; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface AlarmMapper { + List getAlarm(); + + Integer addAlarm(Alarm alarm); + + Camera selectCamera(@Param("cameraId") String cameraId); + + Integer deleteAlarm(@Param("id") Integer id); +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mapper/FaceControlsMapper.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mapper/FaceControlsMapper.java new file mode 100644 index 0000000..5c65e47 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mapper/FaceControlsMapper.java @@ -0,0 +1,21 @@ +package com.zyh.system.mapper; + +import com.zyh.common.domain.FaceControls; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface FaceControlsMapper { + Integer addFaceControls(FaceControls faceControls); + + Integer deleteFaceControls(@Param("id") Integer id); + + Integer updateFaceControls(FaceControls faceControls); + + List getFaceControls(); + + List getFaceControlsPic(); + +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mq/FaceControlsConsumer.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mq/FaceControlsConsumer.java new file mode 100644 index 0000000..08f23ea --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/mq/FaceControlsConsumer.java @@ -0,0 +1,79 @@ +package com.zyh.system.mq; + +import com.baidu.aip.util.Base64Util; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.rabbitmq.client.Channel; +import com.zyh.common.constants.RabbitMQQueueNameConstants; +import com.zyh.common.domain.Alarm; +import com.zyh.common.domain.CompreFaceApiResponse; +import com.zyh.common.face.FaceMatchUtil; +import com.zyh.common.result.Result; +import com.zyh.common.util.ComprefaceUtils; +import com.zyh.system.service.AlarmService; +import com.zyh.system.service.FaceControlsService; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +@Log4j2 +public class FaceControlsConsumer { + @Autowired + private AlarmService alarmService; + @Autowired + private FaceControlsService faceControlsService; + @Autowired + RedisTemplate redisTemplate; + + @RabbitListener(queuesToDeclare = {@Queue(RabbitMQQueueNameConstants.FACE_CONTROLS)}) + public void SendCodeMq(byte[] bytes, Message message, Channel channel) throws JsonProcessingException { + long l = System.currentTimeMillis(); + log.info("短信消费者队列开始消费...,消费内容为:{}", bytes); + String messageId = message.getMessageProperties().getMessageId(); + String cameraId = message.getMessageProperties().getHeaders().get("cameraId").toString(); + + try { + Long count = redisTemplate.opsForSet().add(RabbitMQQueueNameConstants.FACE_CONTROLS, messageId); + if (count == 1) { + float num = 0; + Result result = ComprefaceUtils.recognizeFace(bytes); + CompreFaceApiResponse.Result data = result.getData(); + String encode = Base64Util.encode(bytes); + List pics = faceControlsService.getFaceControlsPic(); + for (String pic : pics) { + float v = FaceMatchUtil.matchImages(encode, pic); + if (v > num) { // 如果当前v的值大于num,则更新num的值为v + num = v; + } + } + if (num > 0.95) { + + + alarmService.addAlarm(data,cameraId); + + } + log.info("短信消费者队列消费成功,耗时:{}毫秒!", System.currentTimeMillis()-l); + }else{ + log.info("短信消费者队列重复消费,消费内容为:{}", bytes); + } + + } catch (Exception e) { + log.info("短信消费者队列消费失败,异常内容为:{}", e.getMessage()); + redisTemplate.opsForSet().remove(RabbitMQQueueNameConstants.FACE_CONTROLS, messageId); + + try { + channel.basicReject(message.getMessageProperties().getDeliveryTag(),true); + } catch (Exception ex) { + log.info("短信消费者队列回退失败,异常内容为:{}", ex.getMessage()); + } + } + } + +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/AlarmService.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/AlarmService.java new file mode 100644 index 0000000..a57441a --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/AlarmService.java @@ -0,0 +1,15 @@ +package com.zyh.system.service; + +import com.zyh.common.domain.Alarm; +import com.zyh.common.domain.CompreFaceApiResponse; +import com.zyh.common.result.Result; + +import java.util.List; + +public interface AlarmService { + Result> getAlarm(); + + Result addAlarm(CompreFaceApiResponse.Result data,String cameraId); + + Result deleteAlarm(Integer id); +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/FaceControlsService.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/FaceControlsService.java new file mode 100644 index 0000000..3e77ba7 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/FaceControlsService.java @@ -0,0 +1,19 @@ +package com.zyh.system.service; + +import com.zyh.common.domain.FaceControls; +import com.zyh.common.result.Result; + +import java.util.List; + +public interface FaceControlsService { + Result addFaceControls(FaceControls faceControls); + + Result deleteFaceControls(Integer id); + + Result updateFaceControls(FaceControls faceControls); + + Result> getFaceControls(); + + List getFaceControlsPic(); + +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/impl/AlarmServicempl.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/impl/AlarmServicempl.java new file mode 100644 index 0000000..9479b05 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/impl/AlarmServicempl.java @@ -0,0 +1,52 @@ +package com.zyh.system.service.impl; + +import com.zyh.common.domain.Alarm; +import com.zyh.common.domain.Camera; +import com.zyh.common.domain.CompreFaceApiResponse; +import com.zyh.common.result.Result; +import com.zyh.system.mapper.AlarmMapper; +import com.zyh.system.service.AlarmService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class AlarmServicempl implements AlarmService { + @Autowired + private AlarmMapper alarmMapper; + @Override + public Result> getAlarm() { + List list = alarmMapper.getAlarm(); + if (list.size() == 0) { + return Result.error("未查询到数据"); + } + return Result.success(list); + } + + @Override + public Result addAlarm(CompreFaceApiResponse.Result data, String cameraId) { + Camera camera = alarmMapper.selectCamera(cameraId); + Alarm alarm = new Alarm(); + alarm.setName(data.getSubjects().get(0).getSubject()); + alarm.setAddress(camera.getAddress()); + alarm.setCameraId(cameraId); + Integer integer = alarmMapper.addAlarm(alarm); + if (integer > 0) { + + return Result.success("添加成功"); + } + return Result.error("添加失败"); + } + + @Override + public Result deleteAlarm(Integer id) { + Integer integer = alarmMapper.deleteAlarm(id); + if (integer > 0) { + return Result.success("删除成功"); + } + return Result.error("删除失败"); + } + + +} diff --git a/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/impl/FaceControlsServicempl.java b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/impl/FaceControlsServicempl.java new file mode 100644 index 0000000..7272551 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/java/com/zyh/system/service/impl/FaceControlsServicempl.java @@ -0,0 +1,60 @@ +package com.zyh.system.service.impl; + +import com.zyh.common.domain.FaceControls; +import com.zyh.common.result.Result; +import com.zyh.system.mapper.FaceControlsMapper; +import com.zyh.system.service.FaceControlsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class FaceControlsServicempl implements FaceControlsService { + @Autowired + private FaceControlsMapper faceControlsMapper; + + @Override + public Result addFaceControls(FaceControls faceControls) { + Integer add=faceControlsMapper.addFaceControls(faceControls); + if(add>0){ + return Result.success("新增成功"); + } + + return Result.error("新增失败"); + } + + @Override + public Result deleteFaceControls(Integer id) { + Integer delete=faceControlsMapper.deleteFaceControls(id); + if(delete>0){ + return Result.success("删除成功"); + } + return Result.error("删除失败"); + } + + @Override + public Result updateFaceControls(FaceControls faceControls) { + Integer update=faceControlsMapper.updateFaceControls(faceControls); + if(update>0){ + return Result.success("修改成功"); + } + return Result.error("修改失败"); + } + + @Override + public Result> getFaceControls() { + List faceControls=faceControlsMapper.getFaceControls(); + if(faceControls!=null){ + return Result.success(faceControls,"查询成功"); + } + return Result.error("查询失败"); + } + + @Override + public List getFaceControlsPic() { + + return faceControlsMapper.getFaceControlsPic(); + } + +} diff --git a/community-security-modules/community-security-modules-shop/src/main/resources/mapper/AlarmMapper.xml b/community-security-modules/community-security-modules-shop/src/main/resources/mapper/AlarmMapper.xml new file mode 100644 index 0000000..e36115d --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/resources/mapper/AlarmMapper.xml @@ -0,0 +1,24 @@ + + + + + + insert into alarm + values (0, + #{address}, + #{name}, + now(), + 1) + + + delete from alarm where id=#{id} + + + + + + diff --git a/community-security-modules/community-security-modules-shop/src/main/resources/mapper/FaceControlsMapper.xml b/community-security-modules/community-security-modules-shop/src/main/resources/mapper/FaceControlsMapper.xml new file mode 100644 index 0000000..f078d24 --- /dev/null +++ b/community-security-modules/community-security-modules-shop/src/main/resources/mapper/FaceControlsMapper.xml @@ -0,0 +1,32 @@ + + + + + + + insert into facecontrols + values (0, + #{name}, + #{object}, + #{startTime}, + #{endTime}, + #{type}, + #{pic}, + #{similarity}, + #{remark}) + + + update facecontrols set + name=#{name},object=#{object},start_time=#{startTime},end_time=#{endTime},type=#{type},pic=#{pic},similarity=#{similarity},remark=#{remark} + where id=#{id} + + + delete from facecontrols where id=#{id} + + + +