Skip to content

Commit

Permalink
Merge pull request #306 from Kernel360/develop
Browse files Browse the repository at this point in the history
Main 브랜치 �최신화 (24.03.18)
  • Loading branch information
linglong67 committed Mar 18, 2024
2 parents 0e78cbe + 770223c commit 1d45bd6
Show file tree
Hide file tree
Showing 155 changed files with 3,019 additions and 1,086 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/cicd-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ jobs:

- name: Replace SQL Queries
run: |
file_path="${{ secrets.TARGET_SQL_PATH }}"
dir_path="./module-api/src/main/resources/db/migration"
old_text="changeRequired"
new_text="${{ secrets.PUBLIC_KEY }}"
sed -i "s/$old_text/$new_text/g" $file_path
find "$dir_path" -type f -name "*.sql" -exec sed -i "s|$old_text|$new_text|g" {} +
- name: Set application yml file (api)
uses: microsoft/variable-substitution@v1
Expand Down Expand Up @@ -65,7 +65,7 @@ jobs:
with:
files: ./module-batch/src/main/resources/application-dev.yml
env:
spring.datasource.url: ${{ secrets.DB_URL }}
spring.datasource.url: ${{ secrets.VULTR_DB_URL }}
spring.datasource.username: ${{ secrets.DB_USER }}
spring.datasource.password: ${{ secrets.DB_PW }}
external.ecolife-api.path: ${{ secrets.ECOLIFE_PATH }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cicd-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ jobs:

- name: Replace SQL Queries
run: |
file_path="${{ secrets.TARGET_SQL_PATH }}"
dir_path="./module-api/src/main/resources/db/migration"
old_text="changeRequired"
new_text="${{ secrets.PUBLIC_KEY }}"
sed -i "s/$old_text/$new_text/g" $file_path
find "$dir_path" -type f -name "*.sql" -exec sed -i "s|$old_text|$new_text|g" {} +
- name: Set application yml file (api)
uses: microsoft/variable-substitution@v1
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.kernel360.member.code;

import com.kernel360.code.BusinessCode;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;

@RequiredArgsConstructor
public enum MemberBusinessCode implements BusinessCode {

SUCCESS_REQUEST_ALL_MEMBER_LIST(HttpStatus.OK.value(), "BMC001", "전체회원목록 조회 성공");

private final int status;
private final String code;
private final String message;

@Override
public int getStatus() {
return status;
}

@Override
public String getCode() {
return code;
}

@Override
public String getMessage() {
return message;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.kernel360.member.controller;

import com.kernel360.member.code.MemberBusinessCode;
import com.kernel360.member.dto.MemberResponse;
import com.kernel360.member.service.MemberService;
import com.kernel360.response.ApiResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@RequiredArgsConstructor
@RequestMapping("/admin")
public class MemberController {

private final MemberService memberService;

@GetMapping("members")
public ResponseEntity<ApiResponse<Page<MemberResponse>>> getMemberList(Pageable pageable) {
Page<MemberResponse> members = memberService.getAllMembers(pageable);

return ApiResponse.toResponseEntity(MemberBusinessCode.SUCCESS_REQUEST_ALL_MEMBER_LIST, members);
}
}
46 changes: 46 additions & 0 deletions module-admin/src/main/java/com/kernel360/member/dto/MemberDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.kernel360.member.dto;


import java.time.LocalDateTime;


public record MemberDto(Long memberNo,
String id,
String email,
String password,
String gender,
String age,
LocalDateTime createdAt,
String createdBy,
LocalDateTime modifiedAt,
String modifiedBy
) {

public static MemberDto of(
Long memberNo,
String id,
String email,
String password,
String gender,
String age,
LocalDateTime createdAt,
String createdBy,
LocalDateTime modifiedAt,
String modifiedBy
) {
return new MemberDto(
memberNo,
id,
email,
password,
gender,
age,
createdAt,
createdBy,
modifiedAt,
modifiedBy
);
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.kernel360.member.dto;


import com.kernel360.carinfo.entity.CarInfo;
import com.kernel360.washinfo.entity.WashInfo;
import com.querydsl.core.annotations.QueryProjection;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Getter
@NoArgsConstructor
public class MemberResponse {
private Long memberNo;
private String id;
private String email;
private int gender;
private int age;
private LocalDateTime registerDate;
private String accountType;
private WashInfo washInfo;
private CarInfo carInfo;
@QueryProjection
public MemberResponse(Long memberNo, String id, String email, int gender, int age, LocalDateTime registerDate,
String accountType, WashInfo washInfo, CarInfo carInfo) {
this.memberNo = memberNo;
this.id = id;
this.email = email;
this.gender = gender;
this.age = age;
this.registerDate = registerDate;
this.accountType = accountType;
this.washInfo = washInfo;
this.carInfo = carInfo;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.kernel360.member.dto;

import com.kernel360.carinfo.entity.CarInfo;
import com.kernel360.washinfo.entity.WashInfo;
import lombok.Builder;

import java.time.LocalDateTime;

@Builder
public record MemberSearchDto(
String id,
String name,
String email,
String age,
LocalDateTime registerDate,
WashInfo washInfo,
CarInfo carInfo
) {
}
16 changes: 16 additions & 0 deletions module-admin/src/main/java/com/kernel360/member/enumset/Age.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.kernel360.member.enumset;

import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public enum Age {
AGE_20(20),
AGE_30(30),
AGE_40(40),
AGE_50(50),
AGE_60(60),
AGE_99(99);

private final int value;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.kernel360.member.enumset;

import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public enum Gender {
MALE(0),
FEMALE(1),
OTHERS(99);

private final int value;

}
23 changes: 23 additions & 0 deletions module-admin/src/main/java/com/kernel360/member/enumset/Sort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.kernel360.member.enumset;

public enum Sort {
ID_ORDER("id-order"),
GENDER_ORDER("gender-order"),
AGE_ORDER("age-order"),
REGISTER_ORDER("register-order"),
RECENT_PRODUCT_ORDER("recent-order");


private final String orderType;

Sort(String orderType) {
this.orderType = orderType;
}

public String getOrderType() {
return orderType;
}
}



Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.kernel360.member.repository;


public interface MemberRepository extends MemberRepositoryJpa, MemberRepositoryDsl {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.kernel360.member.repository;

import com.kernel360.member.dto.MemberResponse;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface MemberRepositoryDsl {
Page<MemberResponse> findAllMember(Pageable pageable);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package com.kernel360.member.repository;


import com.kernel360.member.dto.MemberResponse;
import com.kernel360.member.dto.QMemberResponse;

import com.querydsl.core.types.dsl.BooleanExpression;
import com.querydsl.jpa.impl.JPAQueryFactory;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.support.PageableExecutionUtils;

import java.util.List;

import static com.kernel360.carinfo.entity.QCarInfo.*;
import static com.kernel360.member.entity.QMember.*;
import static com.kernel360.washinfo.entity.QWashInfo.*;


@RequiredArgsConstructor
public class MemberRepositoryImpl implements MemberRepositoryDsl {

private final JPAQueryFactory query;

@Override
public Page<MemberResponse> findAllMember(Pageable pageable) {
List<MemberResponse> members = query.select(new QMemberResponse(
member.memberNo,
member.id,
member.email,
member.gender,
member.age,
member.createdAt,
member.accountType,
washInfo,
carInfo
))
.from(member)
.leftJoin(member.washInfo, washInfo).on(isWashInfoNotNull())
.leftJoin(member.carInfo, carInfo).on(isCarInfoNotNull())
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.orderBy(member.memberNo.desc())
.fetch();

return PageableExecutionUtils.getPage(members, pageable, members::size);
}

private static BooleanExpression isCarInfoNotNull() {
return member.carInfo.carNo.isNotNull();
}

private static BooleanExpression isWashInfoNotNull() {
return member.washInfo.washNo.isNotNull();
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.kernel360.member.service;

import com.kernel360.member.dto.MemberResponse;
import com.kernel360.member.repository.MemberRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;


@Slf4j
@Service
@RequiredArgsConstructor
public class MemberService {

private final MemberRepository memberRepository;

public Page<MemberResponse> getAllMembers(Pageable pageable) {

return memberRepository.findAllMember(pageable);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.kernel360.product.entity.Product;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
* DTO for {@link com.kernel360.product.entity.Product}
Expand Down Expand Up @@ -36,9 +37,9 @@ public record ProductDetailDto(
String manufactureMethod,
String manufactureNation,
String violationInfo,
LocalDate createdAt,
LocalDateTime createdAt,
String createdBy,
LocalDate modifiedAt,
LocalDateTime modifiedAt,
String modifiedBy
//TODO 브랜드 엔티티
) {
Expand Down Expand Up @@ -72,9 +73,9 @@ public static ProductDetailDto of(
String manufactureMethod,
String manufactureNation,
String violationInfo,
LocalDate createdAt,
LocalDateTime createdAt,
String createdBy,
LocalDate modifiedAt,
LocalDateTime modifiedAt,
String modifiedBy
) {
return new ProductDetailDto(
Expand Down
Loading

0 comments on commit 1d45bd6

Please sign in to comment.