From d49509ae18527c00b3a92ead7e75a78c0fbc97ae Mon Sep 17 00:00:00 2001 From: "DESKTOP-KUL8TT4\\siina" Date: Thu, 22 Aug 2024 15:57:02 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=85=EB=A1=9C=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quantecContract/README.md | 259 +++++++++++++++++++++++++++++++++++++- 1 file changed, 257 insertions(+), 2 deletions(-) diff --git a/quantecContract/README.md b/quantecContract/README.md index a2adfcc..92244d9 100644 --- a/quantecContract/README.md +++ b/quantecContract/README.md @@ -10,6 +10,7 @@ !!! info 전략투자에 3개 변경 및 추가 사항이 있음 + **1. 로보어드바이저 투자일임계약(비대면) 약관** > 1. 동의 내용은 투자일임계약 약관 동의 + 투자일임계약서 + 성과수수료 동의서 > 2. 약관파일명 : (콴텍투자일임주식회사)+비대면+투자일임계약+약관+개정(시행_20240808)_수정요청사항반영최종(배포용)_240624 @@ -210,6 +211,261 @@ const getAccountList = () => { 최종적으로 투자 설명서 및 계약서 확인이 가능한 부분까지 나옴 +처음 로그인 시 [내 자산]으로 넘어가는데 위 부분을 처리하기 위해 또! 샘플데이터를 만듬. 위치는 sample.ts + +```javascript +export const IBankAccountSample: IBankAccount = { + profitAndLoss: 1500.75, + profitAndLossRate: 7.5, + investableAmount: 10000.0, + recomPortfolioJoinYn: 'Y', + accountList: [ + { + accountNo: '1234567890', + accountName: 'My Savings Account', + sccoFnstCd: 'SC001', + securitiesName: 'ABC Securities', + accountType: 'Savings', + accountTypeNm: 'Savings Account', + accountInvestableAmount: 5000.5, + accountJoinDate: '2022-01-15', + pbId: 'PB1234', + withAgree: 'Y', + accountJourneyStatus: 'Active' + }, + { + accountNo: '0987654321', + accountName: 'Investment Account', + sccoFnstCd: 'SC002', + securitiesName: 'XYZ Securities', + accountType: 'Investment', + accountTypeNm: 'Investment Account', + accountInvestableAmount: 3000.0, + accountJoinDate: '2023-03-10', + accountJourneyStatus: 'Pending' + }, + { + accountNo: '1122334455', + accountName: 'Retirement Account', + sccoFnstCd: 'SC003', + securitiesName: 'QRS Securities', + accountType: 'Retirement', + accountTypeNm: 'Retirement Account', + accountInvestableAmount: 2000.0, + accountJoinDate: '2021-07-20', + withAgree: 'N', + accountJourneyStatus: 'Closed' + } + ] +}; +``` + +위의 샘플데이터를 useBankAccount.ts에 넣음 +코드는 아래와 같음 + +변경전 + +```javascript + +const getList = useCallback(() => { + if (userInfo) { + getAccountList({ + customerId: userInfo.userId, // ! 이거 나중에 recoil로 빼서 와주세요. + sccoFnstCd: getCompanyInfo().companyCode || '' // ! 얘도 마찬가지로 아마 api호출할 때 env꺼 쓸 겁니다. + }).then((result) => { + if (result.accountList === undefined) { + setIsLoading(false); + return; + } + setInvestmentStatus(result); + }); + } + }, [userInfo]); + +``` + +

+ +변경후 + +```javascript +const getList = useCallback(() => { + if (userInfo) { + // 24-08-20 로컬 개발&테스트용 샘플데이터 + if (process.env.NODE_ENV === 'development') { + setInvestmentStatus(IBankAccountSample); + } else { + getAccountList({ + customerId: userInfo.userId, // ! 이거 나중에 recoil로 빼서 와주세요. + sccoFnstCd: getCompanyInfo().companyCode || '' // ! 얘도 마찬가지로 아마 api호출할 때 env꺼 쓸 겁니다. + }).then((result) => { + if (result.accountList === undefined) { + setIsLoading(false); + return; + } + setInvestmentStatus(result); + }); + } + } + }, [userInfo]); + +``` + +로그인하고 내자산에서 가입한 포트폴리오등을 출력하기 위해서 샘플데이터 또 만듬! +위치는 역시 sample.ts + +```javascript +export const IBankAccountSample: IBankAccount = { + profitAndLoss: 1500.75, + profitAndLossRate: 7.5, + investableAmount: 10000.0, + recomPortfolioJoinYn: 'Y', + accountList: [ + { + accountNo: '1234567890', + accountName: 'My Savings Account', + sccoFnstCd: 'SC001', + securitiesName: 'ABC Securities', + accountType: 'Savings', + accountTypeNm: 'Savings Account', + accountInvestableAmount: 5000.5, + accountJoinDate: '2022-01-15', + pbId: 'PB1234', + withAgree: 'Y', + accountJourneyStatus: 'Active' + }, + { + accountNo: '0987654321', + accountName: 'Investment Account', + sccoFnstCd: 'SC002', + securitiesName: 'XYZ Securities', + accountType: 'Investment', + accountTypeNm: 'Investment Account', + accountInvestableAmount: 3000.0, + accountJoinDate: '2023-03-10', + accountJourneyStatus: 'Pending' + }, + { + accountNo: '1122334455', + accountName: 'Retirement Account', + sccoFnstCd: 'SC003', + securitiesName: 'QRS Securities', + accountType: 'Retirement', + accountTypeNm: 'Retirement Account', + accountInvestableAmount: 2000.0, + accountJoinDate: '2021-07-20', + withAgree: 'N', + accountJourneyStatus: 'Closed' + } + ] +}; + +export const assetsByAccountSample: IAssetsAccount = { + investableAmount: 15000.0, + accountLinkedYn: 'Y', + investingYn: 'Y', + terminatedYn: 'N', + investAmount: 10000.0, + profitAndLoassAmount: 500.75, + valuationAmount: 15500.75, + befDtCompPl: 400.5, + befDtCompRate: 2.75, + dayProfitRateChart: [ + {x: '2024-08-01', y: 1.25}, + {x: '2024-08-02', y: 1.5}, + {x: '2024-08-03', y: 1.75}, + {x: '2024-08-04', y: 1.6}, + {x: '2024-08-05', y: 2.0} + ], + portfolioList: [ + { + portfolioId: 'PF001', + portfolioName: 'Growth Strategy', + title: 'High Growth Portfolio', + strategyCount: 3, + valuationAmount: 8000.0, + profitRate: 5.5, + investType: 'Equity', + status: 'Active', + weight: 60 + }, + { + portfolioId: 'PF002', + portfolioName: 'Balanced Strategy', + title: 'Balanced Risk Portfolio', + strategyCount: 2, + valuationAmount: 5500.75, + profitRate: 3.25, + investType: 'Mixed', + status: 'Active', + weight: 30 + }, + { + portfolioId: 'PF003', + portfolioName: 'Conservative Strategy', + title: 'Low Risk Portfolio', + strategyCount: 1, + valuationAmount: 2000.0, + profitRate: 1.75, + investType: 'Bonds', + status: 'Pending', + weight: 10 + } + ] +}; + + +``` + +

+ +변경전 + +```javascript + + // 선택된 계좌 투자 정보 조회 api 함수 + const getAccount = useCallback(() => { + if (selectedAcccount) { + const tempAccount: IAssetsAccountPrams = { + accountNo: selectedAcccount.accountNo + }; + + getAccountByAssets(tempAccount).then((account) => { + setIsLoading(false); + if (account.investableAmount === undefined) return; + setAccount(account); + }); + } + }, [selectedAcccount, setIsLoading]); + +``` + +

+ +변경후 + +```javascript + // 선택된 계좌 투자 정보 조회 api 함수 + // 24-08-20 로컬 개발&테스트용 샘플데이터 + const getAccount = useCallback(() => { + if (selectedAcccount) { + const tempAccount: IAssetsAccountPrams = { + accountNo: selectedAcccount.accountNo + }; + if (process.env.NODE_ENV === 'development') { + setAccount(assetsByAccountSample); + } else { + getAccountByAssets(tempAccount).then((account) => { + setIsLoading(false); + if (account.investableAmount === undefined) return; + setAccount(account); + }); + } + } + }, [selectedAcccount, setIsLoading]); + +``` + 6. ## 여기부터 필요한 내용 투자 설명서 및 계약서 페이지는 ContractDocTask.tsx --> ContractDocList.tsx 이며 @@ -404,5 +660,4 @@ module.exports = { } ``` - -6. 기존 react-scripts 제거 `npm uninstall react-scripts` \ No newline at end of file +6. 기존 react-scripts 제거 `npm uninstall react-scripts`