Browse Source

그룹목록 표출조건 수정

Test
qkr7828(박재우) 2 years ago
parent
commit
8cd31231f1
  1. 21
      src/main/java/com/palnet/biz/api/bas/group/service/BasGroupService.java
  2. 57
      src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java

21
src/main/java/com/palnet/biz/api/bas/group/service/BasGroupService.java

@ -1,5 +1,6 @@
package com.palnet.biz.api.bas.group.service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@ -79,21 +80,11 @@ public class BasGroupService {
public List<BasGroupJoinModel> groupList(int cstmrSno){
String appAuth = jwtTokenUtil.getUserAuthByToken();
List<BasGroupJoinModel> resultList = query.groupList(cstmrSno);
if("SUPER".equals(appAuth) || "ADMIN".equals(appAuth)) {
Comparator<BasGroupJoinModel> comparator = (o1, o2) -> {
if (DateUtils.diffSecond(o1.getJoinDt(), o2.getJoinDt()) < 0) {
return -1;
} else if(DateUtils.diffSecond(o1.getJoinDt(), o2.getJoinDt()) > 0) {
return 1;
}
return 0;
};
Collections.sort(resultList, comparator);
List<BasGroupJoinModel> resultList = new ArrayList<>();
if("SUPER".equals(appAuth)||"ADMIN".equals(appAuth)) {
resultList = query.groupAdminList(cstmrSno);
} else {
resultList = query.groupUserList(cstmrSno);
}
return resultList;

57
src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java

@ -109,69 +109,54 @@ public class PtyGroupQueryRepository{
* @param cstmrSno
* @return
*/
public List<BasGroupJoinModel> groupList(int cstmrSno){
public List<BasGroupJoinModel> groupAdminList(int cstmrSno){
QPtyGroupBas bas = QPtyGroupBas.ptyGroupBas;
QPtyCstmrGroup group = QPtyCstmrGroup.ptyCstmrGroup;
String appAuth = jwtTokenUtil.getUserAuthByToken();
List<JwtGroupModel> 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));
//joinList
List<BasGroupJoinModel> result = query.select(Projections.bean(BasGroupJoinModel.class ,
bas.groupId,
bas.groupNm,
group.groupAuthCd,
bas.createDt,
group.joinDt
bas.createDt
)).from(bas)
.leftJoin(group)
.on(bas.groupId.eq(group.groupId))
.where(builder)
.orderBy(group.joinDt.desc())
// .orderBy(bas.createDt.desc())
// .orderBy(group.joinDt.desc())
.orderBy(bas.createDt.desc())
.orderBy(bas.groupNm.asc())
.groupBy(bas.groupId)
.fetch();
//not joinList
List<BasGroupJoinModel> notResult = query.select(Projections.bean(BasGroupJoinModel.class ,
return result;
}
public List<BasGroupJoinModel> groupUserList(int cstmrSno){
QPtyGroupBas bas = QPtyGroupBas.ptyGroupBas;
QPtyCstmrGroup group = QPtyCstmrGroup.ptyCstmrGroup;
BooleanBuilder builder = new BooleanBuilder();
builder.and(bas.useYn.eq("Y"));
builder.and(group.joinYn.eq("Y"));
builder.and(group.cstmrSno.eq(cstmrSno));
List<BasGroupJoinModel> result = query.select(Projections.bean(BasGroupJoinModel.class ,
bas.groupId,
bas.groupNm,
group.groupAuthCd,
bas.createDt
)).from(bas)
.where(builder)
.leftJoin(group)
.on(bas.groupId.eq(group.groupId))
.where(bas.useYn.eq("Y"))
.orderBy(group.joinDt.desc())
// .orderBy(bas.createDt.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;
}
/**
* 나의 그룹 - 참여 그룹 목록
* @param cstmrSno

Loading…
Cancel
Save