Explorar o código

增加faceLogFrom的切面

wxg %!s(int64=3) %!d(string=hai) anos
pai
achega
0aedb7e3d9

+ 12 - 0
src/main/java/com/yx/face/dao/FaceLogFromDao.java

@@ -0,0 +1,12 @@
+package com.yx.face.dao;
+
+import com.yx.face.boot.component.tk.TKMapper;
+import com.yx.face.model.entity.FaceLogFrom;
+
+
+public interface FaceLogFromDao extends TKMapper<FaceLogFrom> {
+
+    Integer updateByForgeinId(FaceLogFrom faceLogFrom);
+
+    Integer delteByForgeinId(Long forgeinId);
+}

+ 22 - 0
src/main/java/com/yx/face/model/entity/FaceLogFrom.java

@@ -0,0 +1,22 @@
+package com.yx.face.model.entity;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+
+@Data
+@Table(name = "face_Log_from")
+public class FaceLogFrom implements Serializable {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "face_log_id")
+    private Long faceLogId;
+
+    @Column(name = "img_base")
+    private byte[] imgBase;
+}

+ 65 - 0
src/main/java/com/yx/face/service/Aspect/FaceLogDaoAspect.java

@@ -0,0 +1,65 @@
+package com.yx.face.service.Aspect;
+
+import com.yx.face.boot.uitls.Base64Util;
+import com.yx.face.dao.FaceLogFromDao;
+import com.yx.face.model.entity.FaceLog;
+import com.yx.face.model.entity.FaceLogFrom;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @description:
+ * @ClassName FaceLogDaoAspect
+ * @Author WXG
+ * @Date 2021/12/2 15:09
+ */
+@Component
+@Aspect
+public class FaceLogDaoAspect {
+
+    @Resource
+    FaceLogFromDao faceLogFromDao;
+
+    @After("execution( public * com.yx.face.dao.FaceLogDao.delete*(*))")
+    public void deleteAfter(JoinPoint joinPoint){
+        String name = joinPoint.getSignature().getName();
+        Object[] args = joinPoint.getArgs();
+        if(name.equals("deleteByPrimaryKey")){
+            faceLogFromDao.delteByForgeinId((Long) args[0]);
+        }
+    }
+
+    @After("execution( public * com.yx.face.dao.FaceLogDao.insert*(*))")
+    public void insertAfter(JoinPoint joinPoint){
+        String name = joinPoint.getSignature().getName();
+        Object[] args = joinPoint.getArgs();
+        FaceLogFrom ublf = new FaceLogFrom();
+        if(name.equals("insert")||name.equals("insertSelective")){
+            FaceLog ubl = (FaceLog)args[0];
+            if(ubl.getPhoto() != null && !ubl.getPhoto().equals("")&& ubl.getPhoto().indexOf("请求失败")==-1&&ubl.getId()!=null){
+                ublf.setFaceLogId(ubl.getId());
+                ublf.setImgBase(Base64Util.getByteArrayFromUrl(ubl.getPhoto()));
+                faceLogFromDao.insertSelective(ublf);
+            }
+        }
+    }
+    @After("execution( public * com.yx.face.dao.FaceLogDao.update*(*))")
+    public void updateAfter(JoinPoint joinPoint){
+        String name = joinPoint.getSignature().getName();
+        Object[] args = joinPoint.getArgs();
+        FaceLogFrom ublf = new FaceLogFrom();
+        if(name.equals("updateByPrimaryKey")||name.equals("updateByPrimaryKeySelective")){
+            FaceLog ubl = (FaceLog)args[0];
+            if(ubl.getPhoto() != null && !ubl.getPhoto().equals("")){
+                ublf.setFaceLogId(ubl.getId());
+                ublf.setImgBase(Base64Util.getByteArrayFromUrl(ubl.getPhoto()));
+                faceLogFromDao.updateByForgeinId(ublf);
+            }
+        }
+    }
+
+}

+ 13 - 0
src/main/resources/mapper/FaceLogFromDao.xml

@@ -0,0 +1,13 @@
+<?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.yx.face.dao.FaceLogFromDao">
+    <update id="updateByForgeinId">
+        update face_log_from
+        set img_base = #{imgBase}
+        where face_log_id = #{faceLogId}
+    </update>
+    <delete id="delteByForgeinId">
+        delete from face_log_from
+        where face_log_id = #{forgeinId}
+    </delete>
+</mapper>