
--- src/main/java/com/takensoft/cms/cntnStats/service/Impl/CntnStatsServiceImpl.java
+++ src/main/java/com/takensoft/cms/cntnStats/service/Impl/CntnStatsServiceImpl.java
... | ... | @@ -56,6 +56,7 @@ |
56 | 56 |
@Transactional(rollbackFor = Exception.class) |
57 | 57 |
public int cntnStatsSave(CntnStatsDTO cntnStatsDTO){ |
58 | 58 |
try { |
59 |
+ |
|
59 | 60 |
LocalDate date = LocalDate.now(); // 오늘 금일 날짜 출력 |
60 | 61 |
CntnStatsVO vo = new CntnStatsVO(); // 접속 통계 객체 생성 |
61 | 62 |
|
... | ... | @@ -68,13 +69,13 @@ |
68 | 69 |
// 사용자 접속 통계 생성 |
69 | 70 |
if (cntnStatsDTO.getTypeId() == null || cntnStatsDTO.getTypeId().equals("")) { |
70 | 71 |
result = userCntnStatsSave(vo, cntnStatsDTO); |
71 |
- // 메뉴 접속 통계 생성 |
|
72 |
+ // 메뉴 접속 통계 생성 |
|
72 | 73 |
} else if (cntnStatsDTO.getTypeId().contains("MENU")) { |
73 | 74 |
result = menuCntnStatsSave(vo, cntnStatsDTO); |
74 |
- // 게시판 접속 통계 생성 |
|
75 |
+ // 게시판 접속 통계 생성 |
|
75 | 76 |
} else if (cntnStatsDTO.getTypeId().contains("BBS")) { |
76 | 77 |
result = bbsCntnStatsSave(vo, cntnStatsDTO); |
77 |
- // 콘텐츠 접속 통게 생성 |
|
78 |
+ // 콘텐츠 접속 통게 생성 |
|
78 | 79 |
} else if (cntnStatsDTO.getTypeId().contains("CONTS")) { |
79 | 80 |
result = contsCntnStatsSave(vo, cntnStatsDTO); |
80 | 81 |
} |
--- src/main/java/com/takensoft/cms/cntnStats/web/CntnStatsController.java
+++ src/main/java/com/takensoft/cms/cntnStats/web/CntnStatsController.java
... | ... | @@ -44,7 +44,7 @@ |
44 | 44 |
* @param cntnStatsDTO - 접속 통계 DTO |
45 | 45 |
* @return ResponseEntity - 접속 통계 등록 응답 결과 |
46 | 46 |
* |
47 |
- * 접속 통게 등록 |
|
47 |
+ * 접속 통계 등록 |
|
48 | 48 |
*/ |
49 | 49 |
@PostMapping("/saveProc.json") |
50 | 50 |
public ResponseEntity<?> saveProc(@RequestBody CntnStatsDTO cntnStatsDTO){ |
--- src/main/resources/mybatis/mapper/cntnStats/cntnStats-SQL.xml
+++ src/main/resources/mybatis/mapper/cntnStats/cntnStats-SQL.xml
... | ... | @@ -237,7 +237,14 @@ |
237 | 237 |
SELECT ai.dates |
238 | 238 |
, array_agg(authrt_nm) AS authrt_nm |
239 | 239 |
, array_agg(COALESCE(ucs.cntn_nope, 0)) AS cntn_nope |
240 |
- FROM (SELECT generate_series(to_date(#{startDt}, 'YYYY-MM-DD'), to_date(#{endDt}, 'YYYY-MM-DD'), '1 day'::interval)::date AS dates , authrt_cd , authrt_nm FROM authrt_info WHERE use_yn = 'Y') AS ai |
|
240 |
+ FROM ( |
|
241 |
+ SELECT generate_series(to_date(#{startDt}, 'YYYY-MM-DD') |
|
242 |
+ , to_date(#{endDt}, 'YYYY-MM-DD'), '1 day'::interval)::date AS dates |
|
243 |
+ , authrt_cd , authrt_nm |
|
244 |
+ FROM authrt_info |
|
245 |
+ WHERE use_yn = 'Y' |
|
246 |
+ AND authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE') /* 커스텀 권한 조회 필요 시 주석처리 */ |
|
247 |
+ ORDER BY reg_dt) AS ai |
|
241 | 248 |
LEFT JOIN (SELECT authrt_cd, to_date(concat(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') AS cntn_date, cntn_nope FROM user_cntn_stats) AS ucs |
242 | 249 |
ON dates = ucs.cntn_date |
243 | 250 |
AND ai.authrt_cd = ucs.authrt_cd |
... | ... | @@ -255,6 +262,7 @@ |
255 | 262 |
FROM user_cntn_stats |
256 | 263 |
WHERE to_date(concat(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') >= to_date(#{startDt}, 'YYYY-MM-DD') |
257 | 264 |
AND to_date(#{endDt}, 'YYYY-MM-DD') >= to_date(concat(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') |
265 |
+ AND authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE') /* 커스텀 권한 조회 필요 시 주석처리 */ |
|
258 | 266 |
</select> |
259 | 267 |
|
260 | 268 |
<!-- |
... | ... | @@ -279,25 +287,59 @@ |
279 | 287 |
WHERE mi.use_yn = 'Y' |
280 | 288 |
AND mi.menu_nm != '메인' |
281 | 289 |
) |
282 |
- select (SELECT menu_name FROM menu_tree WHERE menu_tree.menu_id = menus.menu_id) AS menu_name |
|
283 |
- , array_agg((SELECT authrt_nm FROM authrt_info WHERE authrt_info.authrt_cd = menus.authrt_cd AND authrt_info.use_yn = 'Y')) AS authrt_nm |
|
284 |
- , array_agg(cntn_nope) AS cntn_nope |
|
285 |
- from (select mt.menu_id, mai.authrt_cd, SUM(COALESCE(mcs.cntn_nope, 0)) AS cntn_nope |
|
290 |
+ SELECT (SELECT menu_name FROM menu_tree WHERE menu_tree.menu_id = menus.menu_id) AS menu_name |
|
291 |
+ , array_agg(menus.authrt_nm ORDER BY sort_order) AS authrt_nm |
|
292 |
+ , array_agg(menus.cntn_nope ORDER BY sort_order) AS cntn_nope |
|
293 |
+ FROM (SELECT mt.menu_id, mai.authrt_cd, ai.authrt_nm, ai.sort_order, SUM(COALESCE(mcs.cntn_nope, 0)) AS cntn_nope |
|
286 | 294 |
from menu_tree AS mt |
287 |
- LEFT JOIN menu_authrt_info AS mai |
|
295 |
+ LEFT JOIN (SELECT menu_id, authrt_cd FROM menu_authrt_info WHERE authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE')) AS mai /* 커스텀 권한 조회 필요 시 WHERE 조건 주석처리 */ |
|
288 | 296 |
ON mt.menu_id = mai.menu_id |
289 |
- LEFT JOIN authrt_info AS ai |
|
297 |
+ LEFT JOIN ( |
|
298 |
+ SELECT authrt_cd, authrt_nm, reg_dt, |
|
299 |
+ ROW_NUMBER() OVER (ORDER BY reg_dt) AS sort_order |
|
300 |
+ FROM authrt_info |
|
301 |
+ WHERE use_yn = 'Y' |
|
302 |
+ ) AS ai |
|
290 | 303 |
ON mai.authrt_cd = ai.authrt_cd |
291 | 304 |
LEFT JOIN menu_cntn_stats AS mcs |
292 | 305 |
ON mt.menu_id = mcs.menu_id |
293 | 306 |
AND mai.authrt_cd = mcs.authrt_cd |
294 | 307 |
AND TO_DATE(CONCAT(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') >= TO_DATE(#{startDt}, 'YYYY-MM-DD') |
295 | 308 |
AND TO_DATE(#{endDt}, 'YYYY-MM-DD') >= TO_DATE(CONCAT(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') |
296 |
- WHERE ai.use_yn='Y' |
|
297 |
- group by mt.menu_id, mai.authrt_cd) as menus |
|
298 |
- group by menu_id |
|
299 |
- order by menu_name |
|
309 |
+ GROUP BY mt.menu_id, mai.authrt_cd, ai.authrt_nm, ai.sort_order) as menus |
|
310 |
+ GROUP BY menu_id |
|
311 |
+ ORDER BY menu_name |
|
300 | 312 |
</select> |
313 |
+ |
|
314 |
+<!-- authrt_ordered AS (--> |
|
315 |
+<!-- SELECT authrt_cd, authrt_nm, reg_dt,--> |
|
316 |
+<!-- ROW_NUMBER() OVER (ORDER BY reg_dt) AS sort_order--> |
|
317 |
+<!-- FROM authrt_info--> |
|
318 |
+<!-- WHERE use_yn = 'Y'--> |
|
319 |
+<!-- AND authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE')--> |
|
320 |
+<!-- ),--> |
|
321 |
+<!-- menus AS (--> |
|
322 |
+<!-- SELECT--> |
|
323 |
+<!-- mt.menu_id,--> |
|
324 |
+<!-- ao.authrt_cd,--> |
|
325 |
+<!-- ao.authrt_nm,--> |
|
326 |
+<!-- ao.sort_order,--> |
|
327 |
+<!-- SUM(COALESCE(mcs.cntn_nope, 0)) AS cntn_nope--> |
|
328 |
+<!-- FROM menu_tree mt--> |
|
329 |
+<!-- LEFT JOIN (SELECT menu_id, authrt_cd FROM menu_authrt_info WHERE authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE')) mai ON mt.menu_id = mai.menu_id--> |
|
330 |
+<!-- LEFT JOIN authrt_ordered ao ON mai.authrt_cd = ao.authrt_cd--> |
|
331 |
+<!-- LEFT JOIN menu_cntn_stats mcs ON mt.menu_id = mcs.menu_id--> |
|
332 |
+<!-- AND mai.authrt_cd = mcs.authrt_cd--> |
|
333 |
+<!-- AND TO_DATE(CONCAT(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') BETWEEN TO_DATE(#{startDt}, 'YYYY-MM-DD') AND TO_DATE(#{endDt}, 'YYYY-MM-DD')--> |
|
334 |
+<!-- GROUP BY mt.menu_id, ao.authrt_cd, ao.authrt_nm, ao.sort_order--> |
|
335 |
+<!-- )--> |
|
336 |
+<!-- SELECT--> |
|
337 |
+<!-- (SELECT menu_name FROM menu_tree WHERE menu_tree.menu_id = menus.menu_id) AS menu_name,--> |
|
338 |
+<!-- array_agg(menus.authrt_nm ORDER BY menus.sort_order) AS authrt_nm,--> |
|
339 |
+<!-- array_agg(menus.cntn_nope ORDER BY menus.sort_order) AS cntn_nope--> |
|
340 |
+<!-- FROM menus--> |
|
341 |
+<!-- GROUP BY menu_id--> |
|
342 |
+<!-- ORDER BY menu_name--> |
|
301 | 343 |
|
302 | 344 |
<!-- |
303 | 345 |
작 성 자 : 박정하 |
... | ... | @@ -324,6 +366,7 @@ |
324 | 366 |
FROM menu_cntn_stats |
325 | 367 |
WHERE to_date(concat(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') >= to_date(#{startDt}, 'YYYY-MM-DD') |
326 | 368 |
AND to_date(#{endDt}, 'YYYY-MM-DD') >= to_date(concat(cntn_yr, cntn_mm, cntn_day), 'YYYYMMDD') |
369 |
+ AND authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE') /* 커스텀 권한 조회 필요 시 주석처리 */ |
|
327 | 370 |
) as menu |
328 | 371 |
on menu_tree.menu_id = menu.menu_id |
329 | 372 |
WHERE menu_tree.use_yn = 'Y' |
... | ... | @@ -338,15 +381,19 @@ |
338 | 381 |
--> |
339 | 382 |
<select id="selectBbsCntnStats" parameterType="HashMap" resultType="HashMap"> |
340 | 383 |
SELECT (SELECT bbs_nm from bbs_mng where bbs_mng_id = bbs.bbs_mng_id) AS bbs_nm |
341 |
- , array_agg((SELECT authrt_nm FROM authrt_info WHERE authrt_info.authrt_cd = bbs.authrt_cd AND authrt_info.use_yn = 'Y')) AS authrt_nm |
|
342 |
- , array_agg(coalesce(cntn_nope, 0)) AS cntn_nope |
|
384 |
+ , array_agg(bbs.authrt_nm ORDER BY bbs.sort_order) AS authrt_nm |
|
385 |
+ , array_agg(coalesce(cntn_nope, 0) ORDER BY bbs.sort_order) AS cntn_nope |
|
343 | 386 |
from ( |
344 | 387 |
SELECT bm.bbs_mng_id |
345 | 388 |
, ad.authrt_cd |
389 |
+ , ad.authrt_nm |
|
390 |
+ , ad.sort_order |
|
346 | 391 |
from bbs_mng as bm |
347 | 392 |
left join ( |
348 | 393 |
SELECT mai.authrt_cd |
394 |
+ , ai.authrt_nm |
|
349 | 395 |
, menu_type_ctgry |
396 |
+ , ROW_NUMBER() OVER (ORDER BY ai.reg_dt) AS sort_order |
|
350 | 397 |
from menu_info as mi |
351 | 398 |
LEFT JOIN menu_authrt_info as mai |
352 | 399 |
on mi.menu_id = mai.menu_id |
... | ... | @@ -354,6 +401,7 @@ |
354 | 401 |
ON mai.authrt_cd = ai.authrt_cd |
355 | 402 |
WHERE mi.use_yn = 'Y' |
356 | 403 |
AND ai.use_yn='Y' |
404 |
+ AND mai.authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE') /* 커스텀 권한 조회 필요 시 주석처리 */ |
|
357 | 405 |
order by mi.menu_id |
358 | 406 |
) as ad |
359 | 407 |
on bm.bbs_mng_id = ad.menu_type_ctgry |
... | ... | @@ -394,6 +442,7 @@ |
394 | 442 |
ON mai.authrt_cd = ai.authrt_cd |
395 | 443 |
WHERE mi.use_yn = 'Y' |
396 | 444 |
AND ai.use_yn='Y' |
445 |
+ AND mai.authrt_cd IN ('ROLE_ADMIN', 'ROLE_USER', 'ROLE_NONE') /* 커스텀 권한 조회 필요 시 주석처리 */ |
|
397 | 446 |
ORDER BY mi.menu_id |
398 | 447 |
) AS ad |
399 | 448 |
ON bm.bbs_mng_id = ad.menu_type_ctgry |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?