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