diff --git a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java index 3530d87..942c913 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java @@ -111,64 +111,66 @@ public class PtyGroupQueryRepository{ */ public List groupList(int cstmrSno){ QPtyGroupBas bas = QPtyGroupBas.ptyGroupBas; - QPtyCstmrGroup group = QPtyCstmrGroup.ptyCstmrGroup; - - List result = new ArrayList<>(); - List resultList = new ArrayList<>(); - String appAuth = jwtTokenUtil.getUserAuthByToken(); - List groupAuth = jwtTokenUtil.getGroupAuthByToken(); - BooleanBuilder builder = new BooleanBuilder(); - builder.and(bas.useYn.eq("Y")); + QPtyCstmrGroup group = QPtyCstmrGroup.ptyCstmrGroup; + + String appAuth = jwtTokenUtil.getUserAuthByToken(); + List groupAuth = jwtTokenUtil.getGroupAuthByToken(); + BooleanBuilder builder = new BooleanBuilder(); + builder.and(bas.useYn.eq("Y")); builder.and(group.joinYn.eq("Y")); - builder.and(group.cstmrSno.eq(cstmrSno)); - - result = - query.select(Projections.bean(BasGroupJoinModel.class , - bas.groupId, - bas.groupNm, - group.groupAuthCd - )).from(bas) - .leftJoin(group) - .on(bas.groupId.eq(group.groupId)) - .where(builder) - .orderBy(group.joinDt.desc()) - .orderBy(bas.createDt.desc()) - .groupBy(bas.groupId) - .fetch(); - if(appAuth.equals("USER") || appAuth.equals("ROLE_USER")) { - return result; - }else { - resultList = - query.select(Projections.bean(BasGroupJoinModel.class , - bas.groupId, - bas.groupNm, - group.groupAuthCd - )).from(bas) - .leftJoin(group) - .on(bas.groupId.eq(group.groupId)) - .where(bas.useYn.eq("Y")) - .orderBy(group.joinDt.desc()) - .orderBy(bas.createDt.desc()) - .groupBy(bas.groupId) - .fetch(); - - for(BasGroupJoinModel lists : resultList) { - int cnt = 0; - for(JwtGroupModel list : groupAuth) { - if(list.getGroupId().equals(lists.getGroupId())) { - cnt++; - } - } - if(cnt==0) { - lists.setGroupAuthCd(""); - result.add(lists); - } - } - } - - return result; + builder.and(group.cstmrSno.eq(cstmrSno)); + + //joinList + List result = query.select(Projections.bean(BasGroupJoinModel.class , + bas.groupId, + bas.groupNm, + group.groupAuthCd, + bas.createDt, + group.joinDt + )).from(bas) + .leftJoin(group) + .on(bas.groupId.eq(group.groupId)) + .where(builder) +// .orderBy(group.joinDt.desc()) +// .orderBy(bas.createDt.desc()) + .orderBy(bas.groupNm.asc()) + .groupBy(bas.groupId) + .fetch(); + + //not joinList + List notResult = query.select(Projections.bean(BasGroupJoinModel.class , + bas.groupId, + bas.groupNm, + group.groupAuthCd, + bas.createDt + )).from(bas) + .leftJoin(group) + .on(bas.groupId.eq(group.groupId)) + .where(bas.useYn.eq("Y")) +// .orderBy(group.joinDt.desc()) +// .orderBy(bas.createDt.desc()) + .orderBy(bas.groupNm.asc()) + .groupBy(bas.groupId) + .fetch(); + + for(BasGroupJoinModel not : notResult) { + int cnt = 0; + for(JwtGroupModel list : groupAuth) { + if(list.getGroupId().equals(not.getGroupId())) { + cnt++; + } + } + if(cnt==0) { + not.setGroupAuthCd(""); + result.add(not); + } + } - } + + + return result; + + } /** * 나의 그룹 - 참여 그룹 목록