From daef508013d86047850c59dd5d4ecb5db44f93fc Mon Sep 17 00:00:00 2001
From: jack <jack.su@pollex.com.tw>
Date: 星期二, 11 七月 2023 11:22:44 +0800
Subject: [PATCH] [ADD] 影片點擊新增紀錄的API和文件, todo : 169679

---
 pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java    |    1 
 pamapi/src/main/java/com/pollex/pam/service/CustomerService.java         |    1 
 pamapi/src/doc/sql/20230710_j.sql                                        |   10 +++++
 pamapi/src/doc/sql/executed/20220906_j.sql                               |    0 
 pamapi/src/doc/影片點擊統計/影片點擊新增.txt                                         |   10 +++++
 pamapi/src/main/java/com/pollex/pam/web/rest/AccessAnalysisResource.java |   41 ++++++++++++++++++++
 6 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/pamapi/src/doc/sql/20230710_j.sql b/pamapi/src/doc/sql/20230710_j.sql
new file mode 100644
index 0000000..49c0a3d
--- /dev/null
+++ b/pamapi/src/doc/sql/20230710_j.sql
@@ -0,0 +1,10 @@
+-- �憓蔣��������瘙�able -- 
+
+CREATE TABLE omo.access_analysis (
+	id bigserial NOT NULL,
+	"source" varchar NOT NULL,
+	event_type varchar NOT NULL,
+	created_date timestamp NOT NULL,
+	ip varchar NULL,
+	CONSTRAINT access_analysis_pk PRIMARY KEY (id)
+);
\ No newline at end of file
diff --git a/pamapi/src/doc/sql/20220906_j.sql b/pamapi/src/doc/sql/executed/20220906_j.sql
similarity index 100%
rename from pamapi/src/doc/sql/20220906_j.sql
rename to pamapi/src/doc/sql/executed/20220906_j.sql
diff --git "a/pamapi/src/doc/\345\275\261\347\211\207\351\273\236\346\223\212\347\265\261\350\250\210/\345\275\261\347\211\207\351\273\236\346\223\212\346\226\260\345\242\236.txt" "b/pamapi/src/doc/\345\275\261\347\211\207\351\273\236\346\223\212\347\265\261\350\250\210/\345\275\261\347\211\207\351\273\236\346\223\212\346\226\260\345\242\236.txt"
new file mode 100644
index 0000000..d4272d4
--- /dev/null
+++ "b/pamapi/src/doc/\345\275\261\347\211\207\351\273\236\346\223\212\347\265\261\350\250\210/\345\275\261\347\211\207\351\273\236\346\223\212\346\226\260\345\242\236.txt"
@@ -0,0 +1,10 @@
+http post :
+
+http://localhost:8080/api/access_analysis/insert
+
+request body��撣嗅撠��蝯�脖�����, TEST�蝭������
+
+request body: 
+
+
+"TEST"
diff --git a/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java b/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java
index c7f6824..b9d3baf 100644
--- a/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java
+++ b/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java
@@ -78,6 +78,7 @@
             .sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
         .and()
             .authorizeRequests()
+            .antMatchers("/api/access_analysis/**").permitAll()
             .antMatchers("/api/authenticate").permitAll()
             .antMatchers("/api/register").permitAll()
             .antMatchers("/api/activate").permitAll()
diff --git a/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java b/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java
index de7724a..98af88a 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/CustomerService.java
@@ -64,7 +64,6 @@
 	    		Customer customer = customerDTOMapper.toCustomer(registDTO);
 	    		customer.setDataFrom(DataFromEnum.PAM);
 	        	save(customer);
-	        	Customer test = customerRepository.findById(customer.getId()).get();
 	        	return customer;
 	    	}else {
 	    		throw new IllegalArgumentException("Invalid indexKey state error. IndexKey: "
diff --git a/pamapi/src/main/java/com/pollex/pam/web/rest/AccessAnalysisResource.java b/pamapi/src/main/java/com/pollex/pam/web/rest/AccessAnalysisResource.java
new file mode 100644
index 0000000..994cb29
--- /dev/null
+++ b/pamapi/src/main/java/com/pollex/pam/web/rest/AccessAnalysisResource.java
@@ -0,0 +1,41 @@
+package com.pollex.pam.web.rest;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.beans.factory.annotation.Autowired;
+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.RestController;
+
+import com.pollex.pam.business.enums.AccessAnalysisSourceEnum;
+import com.pollex.pam.business.service.AccessAnalysisService;
+
+@RestController
+@RequestMapping("/api/access_analysis")
+public class AccessAnalysisResource {
+	
+	@Autowired
+	AccessAnalysisService accessAnalysisService;
+	
+	@PostMapping("/insert")
+	public void insert(HttpServletRequest httpServletRequest, @RequestBody AccessAnalysisSourceEnum source) {
+		String ip = getClientIp(httpServletRequest);
+		accessAnalysisService.insert(source, ip);
+		
+	}
+	
+	private static String getClientIp(HttpServletRequest request) {
+
+        String remoteAddr = "";
+
+        if (request != null) {
+            remoteAddr = request.getHeader("X-FORWARDED-FOR");
+            if (remoteAddr == null || "".equals(remoteAddr)) {
+                remoteAddr = request.getRemoteAddr();
+            }
+        }
+        return remoteAddr;
+    }
+
+}

--
Gitblit v1.8.0