diff --git a/.classpath b/.classpath
index 52e7eea..016d248 100644
--- a/.classpath
+++ b/.classpath
@@ -20,17 +20,17 @@
-
+
+
+
-
+
-
+
-
+
-
-
diff --git a/.gitignore b/.gitignore
index afa74e6..a62d74a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,7 +21,7 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
-target/*
+/target/*
pom.properties
MANIFEST.MF
.project
diff --git a/.project b/.project
deleted file mode 100644
index 5351214..0000000
--- a/.project
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- KOSMO_BANK_PJ
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.wst.common.project.facet.core.builder
-
-
-
-
- org.springframework.ide.eclipse.core.springbuilder
-
-
-
-
- org.eclipse.wst.jsdt.core.javascriptValidator
-
-
-
-
- org.eclipse.wst.validation.validationbuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.springframework.ide.eclipse.core.springnature
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
- org.eclipse.wst.common.project.facet.core.nature
- org.eclipse.wst.common.modulecore.ModuleCoreNature
- org.eclipse.wst.jsdt.core.jsNature
-
-
diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope
new file mode 100644
index 0000000..d6bee98
--- /dev/null
+++ b/.settings/.jsdtscope
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 3a0745f..0fee6a9 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -10,7 +10,6 @@ org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
diff --git a/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs b/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs
deleted file mode 100644
index 7c8126d..0000000
--- a/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-XDOCLETBUILDERACTIVE=true
-XDOCLETHOME=
-XDOCLETUSEGLOBAL=true
-XDOCLETVERSION=1.2.1
-eclipse.preferences.version=1
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f..0000000
--- a/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 7c70e41..064eee7 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,11 +1,12 @@
-
-
-
-
-
+
+
+
+
-
-
-
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
index ef3edfe..4062e2e 100644
--- a/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -1,8 +1,6 @@
-
-
-
+
-
+
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs
deleted file mode 100644
index 75abca5..0000000
--- a/.settings/org.eclipse.wst.validation.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Fri Jun 06 17:00:12 BST 2008
-DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;
-USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
-USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
-USER_PREFERENCE=overrideGlobalPreferencesfalse
-eclipse.preferences.version=1
diff --git a/.settings/org.springframework.ide.eclipse.beans.core.prefs b/.settings/org.springframework.ide.eclipse.beans.core.prefs
deleted file mode 100644
index bb50bcf..0000000
--- a/.settings/org.springframework.ide.eclipse.beans.core.prefs
+++ /dev/null
@@ -1,78 +0,0 @@
-#Mon Oct 18 12:37:52 EDT 2010
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.osgi.org/xmlns/blueprint/v1.0.0=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/aop=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/batch=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/beans=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/context=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/faces=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/flex=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/file=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/http=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/httpinvoker=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/ip=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jdbc=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jms=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jmx=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/mail=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/rmi=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/security=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/stream=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/ws=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/xml=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jdbc=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jee=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jms=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/lang=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/mvc=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/osgi=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/osgi-compendium=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/oxm=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/p=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/security=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/task=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/tx=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/util=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/web-services=
-//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/webflow-config=
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.osgi.org/xmlns/blueprint/v1.0.0=bp
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/aop=aop
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/batch=batch
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/beans=beans
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/context=context
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/faces=faces
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/flex=flex
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration=int
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/file=int-file
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/http=int-http
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/httpinvoker=int-httpinvoker
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/ip=int-ip
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jdbc=int-jdbc
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jms=int-jms
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jmx=int-jmx
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/mail=int-mail
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/rmi=int-rmi
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/security=int-security
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/stream=int-stream
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/ws=int-ws
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/xml=int-xml
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jdbc=jdbc
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jee=jee
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jms=jms
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/lang=lang
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/mvc=mvc
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/osgi=osgi
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/osgi-compendium=osgix
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/oxm=oxm
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/p=p
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/security=sec
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/task=task
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/tx=tx
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/util=util
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/web-services=ws
-//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/webflow-config=flow
-eclipse.preferences.version=1
-org.springframework.ide.eclipse.beans.core.default.version.check.classpath=true
-org.springframework.ide.eclipse.beans.core.enable.project.preferences=false
-org.springframework.ide.eclipse.beans.core.ignoreMissingNamespaceHandler=false
-org.springframework.ide.eclipse.beans.core.loadNamespaceHandlerFromClasspath=false
diff --git a/.settings/org.springframework.ide.eclipse.core.prefs b/.settings/org.springframework.ide.eclipse.core.prefs
deleted file mode 100644
index 0f65cd5..0000000
--- a/.settings/org.springframework.ide.eclipse.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Tue Apr 20 16:59:06 EDT 2010
-eclipse.preferences.version=1
-org.springframework.ide.eclipse.core.builders.enable.aopreferencemodelbuilder=true
-org.springframework.ide.eclipse.core.builders.enable.beanmetadatabuilder=true
-org.springframework.ide.eclipse.core.builders.enable.osgibundleupdater=false
-org.springframework.ide.eclipse.core.enable.project.preferences=false
-org.springframework.ide.eclipse.core.validator.enable.com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.enable.com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.enable.com.springsource.sts.server.quickfix.manifestvalidator=false
-org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.core.springvalidator=false
-org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.applicationSymbolicNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.applicationVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleActivationPolicyRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleActivatorRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleManifestVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleSymbolicNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.exportPackageRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.importRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.parsingProblemsRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.requireBundleRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.AvoidDriverManagerDataSource-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.ImportElementsAtTopRulee-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.ParentBeanSpecifiesAbstractClassRule-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.RefElementRule-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.TooManyBeansInFileRule-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.UnnecessaryValueElementRule-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.UseBeanInheritance-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.legacyxmlusage.jndiobjectfactory-com.springsource.sts.bestpractices.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importBundleVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importLibraryVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importPackageVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.requireBundleVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.autowire.autowire-org.springframework.ide.eclipse.beans.core.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanAlias-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanClass-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanConstructorArgument-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinition-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinitionHolder-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanFactory-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanInitDestroyMethod-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanReference-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.methodOverride-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.parsingProblems-org.springframework.ide.eclipse.beans.core.beansvalidator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.requiredProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.toolAnnotation-org.springframework.ide.eclipse.beans.core.beansvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.core.springClasspath-org.springframework.ide.eclipse.core.springvalidator=false
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.action-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.actionstate-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attribute-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attributemapper-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.beanaction-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationaction-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationresult-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.exceptionhandler-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.import-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.inputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.mapping-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.outputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.set-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.state-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.subflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.transition-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.variable-org.springframework.ide.eclipse.webflow.core.validator=true
-org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.webflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
diff --git a/README.md b/README.md
index e1ed6f2..c934388 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,4 @@
-# Kosmo_Bank
\ No newline at end of file
+# Kosmo_Bank
+
+gitignore 적용 안될 때 *
+https://coding-groot.tistory.com/59
diff --git a/jar/activation.jar b/jar/activation.jar
deleted file mode 100644
index 29a59a9..0000000
Binary files a/jar/activation.jar and /dev/null differ
diff --git a/jar/javax.mail.jar b/jar/javax.mail.jar
deleted file mode 100644
index 60f8201..0000000
Binary files a/jar/javax.mail.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
index 9536747..b81d34d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,6 +13,16 @@
1.6.10
1.6.6
+
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+
@@ -262,6 +272,14 @@
+
+
+ com.github.iamport
+ iamport-rest-client-java
+ 0.2.15
+
+
+
junit
@@ -306,6 +324,19 @@
org.test.int1.Main
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 2.4
+
+ src/main/webapp
+ sample
+
+ false
+
+
+
+
diff --git a/src/main/java/com/spring/bank/HomeController.java b/src/main/java/com/spring/bank/HomeController.java
index ff1e7aa..6c06826 100644
--- a/src/main/java/com/spring/bank/HomeController.java
+++ b/src/main/java/com/spring/bank/HomeController.java
@@ -4,13 +4,18 @@
import java.util.Date;
import java.util.Locale;
+import javax.servlet.http.HttpServletRequest;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import com.spring.bank.user.service.CustomerService;
+
/**
* Handles requests for the application home page.
*/
@@ -23,19 +28,28 @@ public class HomeController {
/**
* Simply selects the home view to render by returning its name.
*/
+ @Autowired
+ CustomerService service;
- @RequestMapping(value = "/", method = RequestMethod.GET) public String
- home(Locale locale, Model model) {
+ @RequestMapping(value = {"/", "index"}, method = RequestMethod.GET)
+ public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date(); DateFormat dateFormat =
DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
-
+ //service.exchanges(model);
model.addAttribute("serverTime", formattedDate );
- return "index"; }
+ return "index";
+ }
-
+ // 회원가입 페이지
+ @RequestMapping("register")
+ public String register(HttpServletRequest req, Model model) {
+
+
+ return "customer/account/register";
+ }
}
diff --git a/src/main/java/com/spring/bank/admin/controller/AdminController.java b/src/main/java/com/spring/bank/admin/controller/AdminController.java
index 1da1136..737dee9 100644
--- a/src/main/java/com/spring/bank/admin/controller/AdminController.java
+++ b/src/main/java/com/spring/bank/admin/controller/AdminController.java
@@ -2,27 +2,28 @@
import java.io.File;
import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
+import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
-import com.spring.bank.HomeController;
import com.spring.bank.admin.service.AdminServiceImpl;
+import com.spring.bank.user.service.CustomerServiceImpl;
import com.spring.bank.util.ImageUploaderHandler;
+
+
//@WebServlet("시작url") : 웹브라우저의 모든 요청은 하나의 서블릿에서 처리한다. 즉 모든 요청의 단일 진입점에서 시작 url을 지정
/*
Servlet => 클라이언트의 요청을 받아서 비즈니스 로직 처리, DB에 접근 등의 요청을 처리한 후,
@@ -49,19 +50,22 @@
//여기서 설정한 용량을 넘어갈 경우 location 에 upload_e1969376_b006_4781_b1cc_006e6e948798_00000074.tmp 같은형태로 저장됩니다.
//ref : https://gs.saro.me/dev?tn=131
-@MultipartConfig(location = "C:\\dev88\\workspace\\SPRING_PJ_ABH\\src\\main\\webapp\\resources\\images\\upload", fileSizeThreshold = 1024
+@MultipartConfig(location = "C:\\Dev88\\KOSMO_BANK_PJ\\src\\main\\webapp\\resources\\images\\admin\\upload", fileSizeThreshold = 1024
* 1024, maxFileSize = 1024 * 1024 * 5, maxRequestSize = 1024 * 1024 * 5 * 5)
@Controller
@RequestMapping("manager")
public class AdminController {
- private static final String IMG_UPLOAD_DIR = "C:\\\\dev88\\\\workspace\\\\SPRING_PJ_ABH\\\\src\\\\main\\\\webapp\\\\resources\\\\images\\\\upload";
+ private static final String IMG_UPLOAD_DIR = "C:\\\\Dev88\\\\KOSMO_BANK_PJ\\\\src\\\\main\\\\webapp\\\\resources\\\\images\\\\admin\\\\upload";
private ImageUploaderHandler uploader;
- private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
+ private static final Logger logger = LoggerFactory.getLogger(AdminController.class);
@Autowired
private AdminServiceImpl service;
+ @Autowired
+ private CustomerServiceImpl service2;
+
/*
// 스케쥴링 테스트
@Scheduled(fixedDelay=60000)
@@ -75,6 +79,7 @@ public void TestScheduler(){
@RequestMapping("index")
public String index(HttpServletRequest req, Model model) {
System.out.println("[index.ad]");
+
// 이동할 페이지
return "index(manager)";
@@ -123,7 +128,7 @@ public String requestupload1(MultipartHttpServletRequest mRequest) {
String src = mRequest.getParameter("src");
MultipartFile mf = mRequest.getFile("file");
- String path = "G:\\dev88\\workspace\\SPRING_PJ_ABH\\src\\main\\webapp\\resources\\images\\upload\\";
+ String path = "C:\\Dev88\\KOSMO_BANK_PJ\\src\\main\\webapp\\resources\\images\\admin\\upload\\";
String originFileName = mf.getOriginalFilename(); // 원본 파일 명
long fileSize = mf.getSize(); // 파일 사이즈
@@ -173,6 +178,16 @@ public String customerDelete(HttpServletRequest req, Model model) {
return "manager/customerInfo/customerInfo";
}
+ //관리자 - 금융상품 관리
+ @RequestMapping("bankingAccept")
+ public String bankingAccept(HttpServletRequest req, Model model) {
+ logger.info("url => bankingAccept");
+
+ service.selectBanking(req, model);
+
+ return "manager/customerInfo/bankingAccept";
+ }
+
// 관리자 - 예금관리 - 상품등록페이지
@RequestMapping("depositProductInsert")
public String depositProductInsert(HttpServletRequest req, Model model) {
@@ -239,6 +254,144 @@ public String depositProductDelete(HttpServletRequest req, Model model) {
return "manager/depositProduct/depositProductList";
}
+ // 관리자 - 적금관리 - 상품등록(지호)
+ @RequestMapping("savingProductInsert")
+ public String savingProductInsert(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> savingProductInsert]");
+
+ return "manager/savingProduct/savingProductInsert";
+ }
+
+ // 관리자 - 적금관리 - 상품등록처리(지호)
+ @RequestMapping("savingProductInsertAction")
+ public String savingProductInsertAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductInsertAction]");
+ service.savingProductInsertAction(req, model);
+ return "manager/savingProduct/savingProductInsertAction";
+ }
+
+ // 관리자 - 적금관리 - 상품조회(지호)
+ @RequestMapping("savingProductList")
+ public String savingProductList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductList]");
+ service.selectSavingProduct(req, model);
+ return "manager/savingProduct/savingProductList";
+ }
+
+ // 관리자 - 적금관리 - 상품검색(지호)
+ @RequestMapping("savingProductSearch")
+ public String savingProductSearch(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductSearch]");
+ service.searchSavingProduct(req, model);
+ return "manager/savingProduct/savingProductSearch";
+ }
+
+ // 관리자 적금 관리 - 상품 상세조회
+ @RequestMapping("savingProductInfo")
+ public String savingProductInfo(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductInfo]");
+ service.getSavingProductInfo(req, model);
+ return "manager/savingProduct/savingProductInfo";
+ }
+
+ // 관리자 적금 관리 - 상품 수정 페이지
+ @RequestMapping("savingProductUpdate")
+ public String savingProductUpdate(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductUpdate]");
+ service.getSavingProductInfo(req, model);
+ return "manager/savingProduct/savingProductUpdate";
+ }
+
+ // 관리자 적금 관리 - 상품 수정 처리
+ @RequestMapping("savingProductUpdateAction")
+ public String savingProductUpdateAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductUpdateAction]");
+ service.updateSavingProduct(req, model);
+ return "manager/savingProduct/savingProductUpdateAction";
+ }
+
+ // 관리자 - 적금관리 - 상품삭제(지호)
+ @RequestMapping("savingProductDelete")
+ public String savingProductDelete(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductDelete]");
+ service.deleteSavingProduct(req, model);
+ service.selectSavingProduct(req, model);
+ return "manager/savingProduct/savingProductList";
+ }
+
+ // 관리자 - 펀드관리 - 상품추가 (지호)
+ @RequestMapping("fundProductInsert")
+ public String fundProductInsert(HttpServletRequest req ,Model model) {
+ System.out.println("url ==> fundProductInsert");
+
+ return "manager/fundProduct/fundProductInsert";
+ }
+
+ // 관리자 - 펀드관리 - 상품등록처리(지호)
+ @RequestMapping("fundProductInsertAction")
+ public String fundProductInsertAction(HttpServletRequest req, Model model) throws ServletException, IOException {
+ System.out.println("[url ==> /fundProductInsertAction]");
+
+ // 이미지 업로드 설정 시작
+ String contentType = req.getContentType();
+ if(contentType != null && contentType.toLowerCase().startsWith("multipart/")) {
+ uploader = new ImageUploaderHandler();
+ System.out.println("IMG_UPLOAD" + IMG_UPLOAD_DIR);
+ uploader.setUploadPath(IMG_UPLOAD_DIR);
+ uploader.imageUpload(req, model);
+ }
+ // 이미지 업로드 설정 끝
+ service.fundProductInsertAction(req, model);
+ return "manager/fundProduct/fundProductInsertAction";
+ }
+ // 관리자 - 펀드관리 - 상품조회(지호)
+ @RequestMapping("fundProductList")
+ public String fundProductList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /fundProductList]");
+ service.selectFundProduct(req, model);
+ return "manager/fundProduct/fundProductList";
+ }
+
+ // 관리자 - 펀드관리 - 상품검색(지호)
+ @RequestMapping("fundProductSearch")
+ public String fundProductSearch(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /fundProductSearch]");
+ service.searchFundProduct(req, model);
+ return "manager/fundProduct/fundProductSearch";
+ }
+
+ // 관리자 - 펀드관리 - 상품 상세조회
+ @RequestMapping("fundProductInfo")
+ public String fundProductInfo(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /fundProductInfo]");
+ service.getFundProductInfo(req, model);
+ return "manager/fundProduct/fundProductInfo";
+ }
+
+ // 관리자 - 펀드관리 - 상품 수정 페이지
+ @RequestMapping("fundProductUpdate")
+ public String fundProductUpdate(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /fundProductUpdate]");
+ service.getFundProductInfo(req, model);
+ return "manager/fundProduct/fundProductUpdate";
+ }
+
+ // 관리자 - 펀드관리 - 상품 수정 처리
+ @RequestMapping("fundProductUpdateAction")
+ public String fundProductUpdateAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /fundProductUpdateAction]");
+ service.updateFundProduct(req, model);
+ return "manager/fundProduct/fundProductUpdateAction";
+ }
+
+ // 관리자 - 펀드관리 - 상품삭제(지호)
+ @RequestMapping("fundProductDelete")
+ public String fundProductDelete(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /fundProductDelete]");
+ service.deleteFundProduct(req, model);
+ service.selectFundProduct(req, model);
+ return "manager/fundProduct/fundProductList";
+ }
//qnalist 회원이 작성한것 리스트 가져오기(지현)
@RequestMapping("qnaList_mng")
@@ -333,6 +486,83 @@ public String faqDelete(HttpServletRequest req, Model model) {
return "manager/qna/faqDeleteAction";
}
+ //관리자 - 연금 추가(지현)
+ @RequestMapping("irpProductInsert")
+ public String irpAdd(HttpServletRequest req, Model model) {
+ logger.info("url => irpInsert");
+
+ return "manager/irp/irpProductInsert";
+ }
+
+ //관리자 - 연금 추가 처리 (지현)
+ @RequestMapping("irpProductInsertAction")
+ public String irpProductInsertAction(HttpServletRequest req, Model model) {
+ logger.info("url => irpProductInsertAction");
+
+ service.insertIrpProduct(req, model);
+
+ return "manager/irp/irpProductInsertAction";
+ }
+
+ // 관리자 - 연금관리 - 상품조회페이지
+ @RequestMapping("IrpProductList")
+ public String IrpProductList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /IrpProductList]");
+
+ service.selectIrpProduct(req, model);
+
+ return "manager/irp/irpProductList";
+ }
+
+ // 관리자 - 연금관리 - 상품검색
+ @RequestMapping("irpProductSearch")
+ public String irpProductSearch(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /irpProductSearch]");
+ service.searchIrpProduct(req, model);
+ return "manager/irp/irpProductSearch";
+ }
+
+ // 관리자 - 연금 관리 - 상품 상세조회
+ @RequestMapping("irpProductInfo")
+ public String irpProductInfo(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /irpProductInfo]");
+
+ service.getIrpProductInfo(req, model);
+
+ return "manager/irp/irpProductInfo";
+ }
+
+ // 관리자 연금 관리 - 상품 수정 페이지
+ @RequestMapping("irpProductUpdate")
+ public String irpProductUpdate(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /irpProductUpdate]");
+
+ service.getIrpProductInfo(req, model);
+
+ return "manager/irp/irpProductUpdate";
+ }
+
+ // 관리자 연금 관리 - 상품 수정 처리
+ @RequestMapping("irpProductUpdateAction")
+ public String irpProductUpdateAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /irpProductUpdateAction]");
+
+ service.updateIrpProduct(req, model);
+
+ return "manager/irp/irpProductUpdateAction";
+ }
+
+ // 관리자 - 연금 관리 - 상품삭제
+ @RequestMapping("irpProductDelete")
+ public String irpProductDelete(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /irpProductDelete]");
+
+ service.deleteIrpProduct(req, model);
+ service.selectIrpProduct(req, model);
+
+ return "manager/irp/irpProductList";
+ }
+
// 회원별 계좌목록페이지
@RequestMapping("customerAccountInfo")
public String customerAccountInfo(HttpServletRequest req, Model model) {
@@ -347,5 +577,235 @@ public String customerAccountSearch(HttpServletRequest req, Model model) {
logger.info("url => customerAccountSearch");
service.searchCustomerAccountList(req, model);
return "manager/customerInfo/customerAccountSearch";
- }
+ }
+
+ // 고객 TEST 계좌 추가
+ @RequestMapping("testAccountData")
+ public String testAccountData(HttpServletRequest req, Model model) {
+
+
+ return "manager/test/accountData";
+ }
+
+ // 고객 TEST 계좌 추가
+ @ResponseBody
+ @RequestMapping(value="testAccountInsert", method= {RequestMethod.POST})
+ public int testAccountInsert(HttpServletRequest req, Model model) {
+ System.out.println("url => testAccountInsert");
+ logger.info("url => testAccountInsert");
+
+ return service.insertTestAccount(req, model);
+ }
+
+ //!지은!
+ // 대출 상품 목록
+ @RequestMapping("loanProductList.do")
+ public String loanProductList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanProductList]");
+ service.loanProductList(req, model);
+ return "manager/loan/loanProductList";
+ }
+
+ // 대출 상품 검색
+ @RequestMapping("searchLoanProductList.do")
+ public String searchLoanProductList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /searchLoanProductList]");
+ service.searchLoanProductList(req, model);
+ return "manager/loan/searchLoanProductList";
+ }
+
+ // 대출 상품 추가
+ @RequestMapping("loanProductInsert.do")
+ public String loanProductInsert(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanProductInsert]");
+ return "manager/loan/loanProductInsert";
+ }
+
+ // 대출 상품 추가 처리
+ @RequestMapping("loanProductInsertAction.do")
+ public String loanProductInsertAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanProductInsertAction]");
+ service.loanProductInsertAction(req, model);
+ return "manager/loan/loanProductInsertAction";
+ }
+
+ // 대출 상품 수정
+ @RequestMapping("loanProductUpdate.do")
+ public String loanProductUpdate(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanProductUpdate]");
+ service.loanProductUpdate(req, model);
+ return "manager/loan/loanProductUpdate";
+ }
+
+ // 대출 상품 수정 처리
+ @RequestMapping("loanProductUpdateAction.do")
+ public String loanProductUpdateAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanProductUpdateAction]");
+ service.loanProductUpdateAction(req, model);
+ return "manager/loan/loanProductUpdateAction";
+ }
+
+ // 대출 상품 삭제
+ @RequestMapping("loanProductDelete.do")
+ public String loanProductDelete(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanProductDelete]");
+ service.loanProductDelete(req, model);
+ return "manager/loan/loanProductDeleteAction";
+ }
+
+ // 대출 요청 목록
+ @RequestMapping("loanRequestList.do")
+ public String loanRequestList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanRequestList]");
+ service.loanRequestList(req, model);
+ return "manager/loan/loanRequestList";
+ }
+
+ // 대출 승인 처리
+ @RequestMapping("loanRequestAction.do")
+ public String loanRequestAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanRequestList]");
+ service.loanRequestAction(req, model);
+ return "manager/loan/loanRequestAction";
+ }
+
+ // 대출 거절
+ @RequestMapping("loanRefusalAction.do")
+ public String loanRefusalAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanRequestList]");
+ service.loanRefusalAction(req, model);
+ return "manager/loan/loanRefusalAction";
+ }
+
+ // 대출 목록
+ @RequestMapping("loanList.do")
+ public String loanList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanRequestList]");
+ service.loanList(req, model);
+ return "manager/loan/loanList";
+ }
+
+ // 대출 해지 목록
+ @RequestMapping("loanCancelList.do")
+ public String loanCancelList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanCancelList]");
+ service.loanCancelList(req, model);
+ return "manager/loan/loanCancelList";
+ }
+
+ // 대출 요청 목록 검색
+ @RequestMapping("searchLoanRequestList.do")
+ public String searchLoanRequestAction(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /searchLoanRequestList]");
+ service.searchLoanRequestList(req, model);
+ return "manager/loan/searchLoanRequestList";
+ }
+
+ //대출 목록 검색
+ @RequestMapping("searchLoanList.do")
+ public String searchLoanList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /loanRequestList]");
+ service.searchLoanList(req, model);
+ return "manager/loan/loanList";
+ }
+ //!지은!
+
+ // 공지사항리스트 - 관리자(민재)
+ @RequestMapping("mngNoticeList")
+ public String noticeList(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /mngNoticeList.us]");
+
+ service2.noticeList(req, model);
+
+ // 이동할 페이지
+ return "customer/notice/noticeList";
+ }
+
+ // 공지사항 글쓰기 - 관리자(민재)
+ @RequestMapping("mngNoticeWrite")
+ public String mngNoticeWrite(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /mngNoticeWrite.us]");
+
+ req.setAttribute("notice_writer", req.getSession().getAttribute("adminID"));
+ req.setAttribute("pageNum", req.getParameter("pageNum"));
+ System.out.println("mngNoticeWrite.do 끝");
+ // 이동할 페이지
+ return "manager/notice/mngNoticeWrite";
+ }
+
+ // 공지사항 글쓰기처리 - 관리자(민재)
+ @RequestMapping("mngNoticeWriteAction")
+ public String mngNoticeWriteAction(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /mngNoticeWriteAction.us]");
+
+ service.mngNoticeWriteAction(req, model);
+
+ // 이동할 페이지
+ return "manager/notice/mngNoticeWriteAction";
+ }
+
+ // 공지사항 수정하기(비밀번호인증) - 관리자(민재)
+ @RequestMapping("mngNoticeModify")
+ public String mngNoticeModify(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /mngNoticeModify.us]");
+
+ req.setAttribute("notice_num", Integer.parseInt(req.getParameter("notice_num")));
+ req.setAttribute("pageNum", Integer.parseInt(req.getParameter("pageNum")));
+
+ // 이동할 페이지
+ return "manager/notice/mngNoticeModify";
+ }
+
+ // 공지사항 수정페이지
+ @RequestMapping("mngNoticeModifyDetail")
+ public String mngNoticeModifyDetail(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /mngNoticeModifyDetail.us]");
+
+ service.mngNoticeModifyDetail(req, model);
+
+ // 이동할 페이지
+ return "manager/notice/mngNoticeModifyDetail";
+ }
+
+ // 공지사항 수정처리
+ @RequestMapping("mngNoticeModifyAction")
+ public String mngNoticeModifyAction(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /mngNoticeModifyAction.us]");
+
+ service.mngNoticeModifyAction(req, model);
+
+ // 이동할 페이지
+ return "manager/notice/mngNoticeModifyAction";
+ }
+
+ // 공지사항 삭제하기(비밀번호인증) - 관리자(민재)
+ @RequestMapping("mngNoticeDelete")
+ public String mngNoticeDelete(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /mngNoticeDelete.us]");
+
+ req.setAttribute("notice_num", Integer.parseInt(req.getParameter("notice_num")));
+ req.setAttribute("pageNum", Integer.parseInt(req.getParameter("pageNum")));
+
+ // 이동할 페이지
+ return "manager/notice/mngNoticeDelete";
+ }
+
+ // 공지사항 삭제처리
+ @RequestMapping("mngNoticeDeleteAction")
+ public String mngNoticeDeleteAction(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /mngNoticeDeleteAction.us]");
+
+ service.mngNoticeDeleteAction(req, model);
+
+ // 이동할 페이지
+ return "manager/notice/mngNoticeDeleteAction";
+ }
+
+
}
diff --git a/src/main/java/com/spring/bank/admin/dao/AdminDAO.java b/src/main/java/com/spring/bank/admin/dao/AdminDAO.java
index b0cbcdb..e4afddf 100644
--- a/src/main/java/com/spring/bank/admin/dao/AdminDAO.java
+++ b/src/main/java/com/spring/bank/admin/dao/AdminDAO.java
@@ -5,8 +5,16 @@
import java.util.Map;
import com.spring.bank.product.vo.DepositProductVO;
+import com.spring.bank.product.vo.IrpProductVO;
+import com.spring.bank.product.vo.FundProductVO;
+import com.spring.bank.product.vo.SavingProductVO;
+import com.spring.bank.user.vo.AccountVO;
import com.spring.bank.user.vo.CustomerAccountVO;
import com.spring.bank.user.vo.InquiryVO;
+import com.spring.bank.product.vo.LoanProductVO;
+import com.spring.bank.user.vo.LoanVO;
+import com.spring.bank.user.vo.NoticeVO;
+import com.spring.bank.user.vo.TransferVO;
import com.spring.bank.user.vo.UserVO;
import com.spring.bank.user.vo.faqVO;
@@ -52,6 +60,79 @@ public interface AdminDAO {
// 관리자 페이지 예금 상품 삭제
public int deleteDepositProduct(String deposit_product_name);
+ // 관리자 페이지 적금 상품 등록
+ public int insertSavingProduct(SavingProductVO vo);
+
+ // 관리자 페이지 적금 상품 수
+ public int getSavingProductCnt();
+
+ // 관리자 페이지 적금 상품 조회
+ public ArrayList selectSavingProduct(Map map);
+
+ // 관리자 페이지 적금 상품 수(검색결과수)
+ public int getSavingProductSearchCnt(String search);
+
+ // 관리자 페이지 적금 상품 검색(입력받아서 검색)
+ public ArrayList searchSavingProduct(Map map);
+
+ // 관리자 페이지 적금 상품 상세조회
+ public SavingProductVO getSavingProductInfo(String saving_product_name);
+
+ // 관리자 페이지 적금 상품 수정
+ public int updateSavingProduct(SavingProductVO vo);
+
+ // 관리자 페이지 적금 상품 삭제
+ public int deleteSavingProduct(String saving_product_name);
+
+ // 관리자 페이지 펀드 상품 등록
+ public int insertFundProduct(FundProductVO vo);
+
+ // 관리자 페이지 펀드 상품 수
+ public int getFundProductCnt();
+
+ // 관리자 페이지 펀드 상품 조회
+ public ArrayList selectFundProduct(Map map);
+
+ // 관리자 페이지 펀드 상품 수(검색결과수)
+ public int getFundProductSearchCnt(String search);
+
+ // 관리자 페이지 펀드 상품 검색(입력받아서 검색)
+ public ArrayList searchFundProduct(Map map);
+
+ // 관리자 페이지 펀드 상품 상세조회
+ public FundProductVO getFundProductInfo(String fund_title);
+
+ // 관리자 페이지 펀드 상품 수정
+ public int updateFundProduct(FundProductVO vo);
+
+ // 관리자 페이지 펀드 상품 삭제
+ public int deleteFundProduct(String fund_title);
+
+ //지현
+ // 관리자 페이지 연금 상품 등록
+ public int insertIrpProduct(IrpProductVO vo);
+
+ // 관리자 페이지 연금 상품 수
+ public int getIrpProductCnt();
+
+ // 관리자 페이지 연금 상품 조회
+ public ArrayList selectIrpProduct(Map map);
+
+ // 관리자 페이지 연금 상품 수(검색결과수)
+ public int getIrpProductSearchCnt(String search);
+
+ // 관리자 페이지 연금 상품 검색(입력받아서 검색)
+ public ArrayList searchIrpProduct(Map map);
+
+ // 관리자 페이지 연금 상품 상세조회
+ public IrpProductVO getIrpProductInfo(String deposit_product_name);
+
+ // 관리자 페이지 연금 상품 수정
+ public int updateIrpProduct(IrpProductVO vo);
+
+ // 관리자 페이지 연금 상품 삭제
+ public int deleteIrpProduct(String irp_product_name);
+
//문의사항 갯수 (지현)
public int getInquiryCnt();
@@ -86,5 +167,103 @@ public interface AdminDAO {
public int getSerachCustomerAccountCnt(String search);
// 관리자 페이지 회원계좌 검색결과목록
- public ArrayList getSearchCustomerAccountList(Map map);
+ public ArrayList getSearchCustomerAccountList(Map map);
+
+ // 관리자 페이지 TEST 계좌 생성(복환)
+ public int insertTestAccount(AccountVO vo);
+
+ // !지은!
+ // 대출 상품 개수
+ public int getLoanProductCnt();
+
+ // 대출 상품 목록
+ public ArrayList getLoanProductList(Map map);
+
+ // 대출 상품 검색
+ public ArrayList searchLoanProductList(Map map);
+
+ // 대출 상품 추가
+ public int loanProductInsert(LoanProductVO l);
+
+ // 대출 상품 수정
+ public int loanProductUpdate(LoanProductVO l);
+
+ // 대출 상품 삭제
+ public int loanProductDelete(String loan_product_name);
+
+ // 대출 상품 조회
+ public LoanProductVO getLoanProductInfo(String loan_product_name);
+
+ // 대출 상품 검색 개수
+ public int getSearchLoanProductCnt(String keyword);
+
+ // 대출 목록 개수
+ public int getLoanCnt();
+
+ // 대출 계좌 정상 변경
+ public int changeAccountState0(Map map);
+
+ // 대출 요청 목록 개수
+ public int getLoanRequestCnt();
+
+ // 대출 목록
+ public ArrayList getLoanList(Map map);
+
+ // 대출 요청 목록
+ public ArrayList getLoanRequestList(Map map);
+
+ // 대출 신청 승인 처리
+ public int loanRequestAction(Map map);
+
+ // 대출 신청 검색 개수
+ public int getSearchLoanRequestCnt(String keyword);
+
+ // 대출 검색 개수
+ public int getSearchLoanCnt(String keyword);
+
+ // 대출 요청 검색 목록
+ public ArrayList searchLoanRequestList(Map map);
+
+ // 대출 검색 목록
+ public ArrayList searchLoanList(Map map);
+
+ // 대출 해지? 목록
+ public ArrayList getLoanCancelList(Map map);
+
+ // 대출 해지 개수
+ public int getLoanCancelCnt();
+
+ // 대출 정보 얻어오기
+ public LoanVO getLoanInfo(Map map);
+
+ // 신규 대출 요금 계좌에 넣기
+ public int transNewLoanAccount(TransferVO trans);
+
+ // 계좌 잔고 올려주기
+ public int setNewLoanAccount(Map map);
+
+ // 입금 정정
+ public TransferVO resetNewLoanAccount(Map map);
+
+ // 회원 정보 가져오기
+ public UserVO getUserInfo(String member_id);
+
+
+ // !지은!
+
+ // 공지사항 쓰기 처리(민재)
+ public int mngNoticeWriteAction(NoticeVO vo);
+
+ // 공지사항 - 비밀번호 인증(민재)
+ public String noticePWDCheck(int notice_num);
+
+ // 공지사항 상세페이지(민재)
+ public NoticeVO getNoticeDetail(int notice_num);
+
+ // 공지사항 수정처리(민재)
+ public int noticeModifyAction(NoticeVO vo);
+
+ // 공지사항 수정처리(민재)
+ public int noticeDeleteAction(int notice_num);
+
}
diff --git a/src/main/java/com/spring/bank/admin/dao/AdminDAOImpl.java b/src/main/java/com/spring/bank/admin/dao/AdminDAOImpl.java
index 11699b0..d405c2f 100644
--- a/src/main/java/com/spring/bank/admin/dao/AdminDAOImpl.java
+++ b/src/main/java/com/spring/bank/admin/dao/AdminDAOImpl.java
@@ -9,8 +9,16 @@
import org.springframework.stereotype.Repository;
import com.spring.bank.product.vo.DepositProductVO;
+import com.spring.bank.product.vo.FundProductVO;
+import com.spring.bank.product.vo.IrpProductVO;
+import com.spring.bank.product.vo.SavingProductVO;
+import com.spring.bank.user.vo.AccountVO;
import com.spring.bank.user.vo.CustomerAccountVO;
import com.spring.bank.user.vo.InquiryVO;
+import com.spring.bank.product.vo.LoanProductVO;
+import com.spring.bank.user.vo.LoanVO;
+import com.spring.bank.user.vo.NoticeVO;
+import com.spring.bank.user.vo.TransferVO;
import com.spring.bank.user.vo.UserVO;
import com.spring.bank.user.vo.faqVO;
@@ -98,6 +106,152 @@ public int deleteDepositProduct(String deposit_product_name) {
return sqlSession.getMapper(AdminDAO.class).deleteDepositProduct(deposit_product_name);
}
+ // 관리자 페이지 적금 상품 등록
+ @Override
+ public int insertSavingProduct(SavingProductVO vo) {
+ System.out.println("[DAO = insertSavingProduct]");
+ return sqlSession.getMapper(AdminDAO.class).insertSavingProduct(vo);
+ }
+
+ // 관리자 페이지 적금 상품 수
+ @Override
+ public int getSavingProductCnt() {
+ return sqlSession.getMapper(AdminDAO.class).getSavingProductCnt();
+ }
+
+ // 관리자 페이지 적금 상품 조회
+ @Override
+ public ArrayList selectSavingProduct(Map map) {
+ return sqlSession.getMapper(AdminDAO.class).selectSavingProduct(map);
+ }
+
+ // 관리자 페이지 적금 상품 수(검색결과수)
+ @Override
+ public int getSavingProductSearchCnt(String search) {
+ return sqlSession.getMapper(AdminDAO.class).getSavingProductSearchCnt(search);
+ }
+
+ // 관리자 페이지 적금 상품 검색(입력받아서 검색)
+ @Override
+ public ArrayList searchSavingProduct(Map map) {
+ return sqlSession.getMapper(AdminDAO.class).searchSavingProduct(map);
+ }
+
+ // 관리자 페이지 적금 상품 상세조회
+ @Override
+ public SavingProductVO getSavingProductInfo(String saving_product_name) {
+ return sqlSession.getMapper(AdminDAO.class).getSavingProductInfo(saving_product_name);
+ }
+
+ // 관리자 페이지 적금 상품 수정
+ @Override
+ public int updateSavingProduct(SavingProductVO vo) {
+ return sqlSession.getMapper(AdminDAO.class).updateSavingProduct(vo);
+ }
+
+ // 관리자 페이지 적금 상품 삭제
+ @Override
+ public int deleteSavingProduct(String saving_product_name) {
+ return sqlSession.getMapper(AdminDAO.class).deleteSavingProduct(saving_product_name);
+ }
+
+ // 관리자 페이지 연금 상품 등록
+ public int insertIrpProduct(IrpProductVO vo) {
+ return sqlSession.getMapper(AdminDAO.class).insertIrpProduct(vo);
+ };
+
+ // 관리자 페이지 연금 상품 수
+ @Override
+ public int getIrpProductCnt() {
+ return sqlSession.getMapper(AdminDAO.class).getIrpProductCnt();
+ }
+
+ // 관리자 페이지 연금 상품 조회
+ @Override
+ public ArrayList selectIrpProduct(Map map) {
+ return sqlSession.getMapper(AdminDAO.class).selectIrpProduct(map);
+ }
+
+ // 관리자 페이지 연금 상품 수(검색결과수)
+ @Override
+ public int getIrpProductSearchCnt(String search) {
+ return sqlSession.getMapper(AdminDAO.class).getIrpProductSearchCnt(search);
+ }
+
+ // 관리자 페이지 연금 상품 검색(입력받아서 검색)
+ @Override
+ public ArrayList searchIrpProduct(Map map) {
+ return sqlSession.getMapper(AdminDAO.class).searchIrpProduct(map);
+ }
+
+ // 관리자 페이지 연금 상품 상세조회
+ @Override
+ public IrpProductVO getIrpProductInfo(String irp_product_name) {
+ return sqlSession.getMapper(AdminDAO.class).getIrpProductInfo(irp_product_name);
+ }
+
+ // 관리자 페이지 펀드 상품 등록
+ @Override
+ public int insertFundProduct(FundProductVO vo) {
+ System.out.println("[DAO = insertFundProduct]");
+ return sqlSession.getMapper(AdminDAO.class).insertFundProduct(vo);
+ }
+
+ // 관리자 페이지 펀드 상품 수
+ @Override
+ public int getFundProductCnt() {
+ return sqlSession.getMapper(AdminDAO.class).getFundProductCnt();
+ }
+
+ // 관리자 페이지 펀드 상품 조회
+ @Override
+ public ArrayList selectFundProduct(Map map) {
+ return sqlSession.getMapper(AdminDAO.class).selectFundProduct(map);
+ }
+
+ // 관리자 페이지 펀드 상품 수(검색결과수)
+ @Override
+ public int getFundProductSearchCnt(String search) {
+ return sqlSession.getMapper(AdminDAO.class).getFundProductSearchCnt(search);
+ }
+
+ // 관리자 페이지 펀드 상품 검색(입력받아서 검색)
+ @Override
+ public ArrayList searchFundProduct(Map map) {
+ return sqlSession.getMapper(AdminDAO.class).searchFundProduct(map);
+ }
+
+ // 관리자 페이지 펀드 상품 상세조회
+ @Override
+ public FundProductVO getFundProductInfo(String fund_title) {
+ return sqlSession.getMapper(AdminDAO.class).getFundProductInfo(fund_title);
+ }
+
+ // 관리자 페이지 펀드 상품 수정
+ @Override
+ public int updateFundProduct(FundProductVO vo) {
+ return sqlSession.getMapper(AdminDAO.class).updateFundProduct(vo);
+ }
+
+ // 관리자 페이지 펀드 상품 삭제
+ @Override
+ public int deleteFundProduct(String fund_title) {
+ return sqlSession.getMapper(AdminDAO.class).deleteFundProduct(fund_title);
+ }
+
+
+ // 관리자 페이지 연금 상품 수정
+ @Override
+ public int updateIrpProduct(IrpProductVO vo) {
+ return sqlSession.getMapper(AdminDAO.class).updateIrpProduct(vo);
+ }
+
+ // // 관리자 페이지 연금 상품 삭제
+ @Override
+ public int deleteIrpProduct(String irp_product_name) {
+ return sqlSession.getMapper(AdminDAO.class).deleteIrpProduct(irp_product_name);
+ }
+
//qna 개수(지현)
@Override
public int getInquiryCnt() {
@@ -183,4 +337,206 @@ public int getSerachCustomerAccountCnt(String search) {
public ArrayList getSearchCustomerAccountList(Map map){
return sqlSession.getMapper(AdminDAO.class).getSearchCustomerAccountList(map);
}
+
+ // 관리자 페이지 TEST 계좌 생성(복환)
+ @Override
+ public int insertTestAccount(AccountVO vo) {
+ System.out.println("DAO => insertTestAccount");
+
+ return sqlSession.getMapper(AdminDAO.class).insertTestAccount(vo);
+ }
+
+ // !지은!
+ // 대출 상품 개수
+ public int getLoanProductCnt() {
+ System.out.println("[AdminDAO => getLoanProductCnt()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanProductCnt();
+ }
+
+ // 대출 상품 목록
+ public ArrayList getLoanProductList(Map map) {
+ System.out.println("[AdminDAO => getLoanProductList()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanProductList(map);
+ }
+
+ //
+ public ArrayList searchLoanProductList(Map map) { // parameter : keyword, start, end
+ System.out.println("[AdminDAO => searchLoanProductList()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.searchLoanProductList(map);
+ }
+
+ public int loanProductInsert(LoanProductVO l) {
+ System.out.println("[AdminDAO => loanProductInsert()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.loanProductInsert(l);
+ }
+
+ public int loanProductUpdate(LoanProductVO l) {
+ System.out.println("[AdminDAO => loanProductUpdate()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.loanProductUpdate(l);
+ }
+
+ public int loanProductDelete(String loan_product_name) {
+ System.out.println("[AdminDAO => loanProductDelete()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.loanProductDelete(loan_product_name);
+ }
+
+ public LoanProductVO getLoanProductInfo(String loan_product_name) {
+ System.out.println("[AdminDAO => getLoanProductInfo()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanProductInfo(loan_product_name);
+ }
+
+ public ArrayList getLoanList(Map map) {
+ System.out.println("[AdminDAO => getLoanList()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanList(map);
+ }
+
+ public ArrayList getLoanRequestList(Map map) {
+ System.out.println("[AdminDAO => getLoanRequestList()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanRequestList(map);
+ }
+
+ public int getSearchLoanProductCnt(String keyword) {
+ System.out.println("[AdminDAO => getSearchLoanProductCnt()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getSearchLoanProductCnt(keyword);
+ }
+
+ public int getLoanCnt() {
+ System.out.println("[AdminDAO => getLoanCnt()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanCnt();
+ }
+
+ public int getLoanRequestCnt() {
+ System.out.println("[AdminDAO => getLoanRequestCnt()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanRequestCnt();
+ }
+
+ public int loanRequestAction(Map map) {
+ System.out.println("[AdminDAO => loanRequestAction()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.loanRequestAction(map);
+ }
+
+ public int getSearchLoanRequestCnt(String keyword) {
+ System.out.println("[AdminDAO => getSearchLoanRequestCnt()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getSearchLoanRequestCnt(keyword);
+ }
+
+ public int getSearchLoanCnt(String keyword) {
+ System.out.println("[AdminDAO => getSearchLoanCnt()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getSearchLoanCnt(keyword);
+ }
+
+ public ArrayList searchLoanRequestList(Map map) {
+ System.out.println("[AdminDAO => searchLoanRequestList()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.searchLoanRequestList(map);
+ }
+
+ public ArrayList searchLoanList(Map map) {
+ System.out.println("[AdminDAO => searchLoanList()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.searchLoanList(map);
+ }
+
+ public int getLoanCancelCnt() {
+ System.out.println("[AdminDAO => getLoanCancelCnt()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanCancelCnt();
+ }
+
+ public ArrayList getLoanCancelList(Map map) {
+ System.out.println("[AdminDAO => getLoanCancelList()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanCancelList(map);
+ }
+
+ public LoanVO getLoanInfo(Map map) {
+ System.out.println("[AdminDAO => getLoanInfo()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getLoanInfo(map);
+ }
+
+ public int transNewLoanAccount(TransferVO trans) {
+ System.out.println("[AdminDAO => transNewLoanAccount()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.transNewLoanAccount(trans);
+ }
+
+ public int setNewLoanAccount(Map map) {
+ System.out.println("[AdminDAO => setNewLoanAccount()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.setNewLoanAccount(map);
+ }
+
+ public TransferVO resetNewLoanAccount(Map map) {
+ System.out.println("[AdminDAO => resetNewLoanAccount()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.resetNewLoanAccount(map);
+ }
+
+ // 회원정보 상세 페이지
+ @Override
+ public UserVO getUserInfo(String member_id) {
+ System.out.println("[DAO => getUserInfo()]");
+ AdminDAO dao = sqlSession.getMapper(AdminDAO.class);
+ return dao.getUserInfo(member_id);
+ }
+
+
+ //대출계좌 정상으로 두기
+ public int changeAccountState0(Map map) {
+ return sqlSession.update("com.spring.bank.admin.dao.AdminDAO.changeAccountState0", map);
+
+ }
+ // !지은!
+
+ // 공지사항 쓰기 처리(민재)
+ @Override
+ public int mngNoticeWriteAction(NoticeVO vo) {
+
+ return sqlSession.insert("com.spring.bank.admin.dao.AdminDAO.mngNoticeWriteAction", vo);
+ }
+
+ // 공지사항 - 비밀번호 인증(민재)
+ @Override
+ public String noticePWDCheck(int notice_num) {
+
+ return sqlSession.selectOne("com.spring.bank.admin.dao.AdminDAO.noticePWDCheck", notice_num);
+ }
+
+ // 공지사항 상세페이지(민재)
+ @Override
+ public NoticeVO getNoticeDetail(int notice_num) {
+
+ return sqlSession.selectOne("com.spring.bank.admin.dao.AdminDAO.getNoticeDetail", notice_num);
+ }
+
+ // 공지사항 수정처리(민재)
+ @Override
+ public int noticeModifyAction(NoticeVO vo) {
+
+ return sqlSession.update("com.spring.bank.admin.dao.AdminDAO.noticeModifyAction", vo);
+ }
+
+ // 공지사항 수정처리(민재)
+ @Override
+ public int noticeDeleteAction(int notice_num) {
+
+ return sqlSession.delete("com.spring.bank.admin.dao.AdminDAO.noticeDeleteAction", notice_num);
+ }
+
}
diff --git a/src/main/java/com/spring/bank/admin/service/AdminService.java b/src/main/java/com/spring/bank/admin/service/AdminService.java
index dbd998f..7e82014 100644
--- a/src/main/java/com/spring/bank/admin/service/AdminService.java
+++ b/src/main/java/com/spring/bank/admin/service/AdminService.java
@@ -15,6 +15,9 @@ public interface AdminService {
// 관리자 페이지 회원삭제
public void deleteCustomer(HttpServletRequest req, Model model);
+ // 관리자 금융관리 조회
+ public void selectBanking(HttpServletRequest req, Model model);
+
// 관리자 페이지 예금 상품 등록
public void insertDepositProduct(HttpServletRequest req, Model model);
@@ -33,6 +36,60 @@ public interface AdminService {
// 관리자 페이지 예금 상품 삭제
public void deleteDepositProduct(HttpServletRequest req, Model model);
+ // 관리자 페이지 적금 상품 등록 처리
+ public void savingProductInsertAction(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 적금 상품 조회
+ public void selectSavingProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 적금 상품 검색
+ public void searchSavingProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 적금 상품 상세 조회
+ public void getSavingProductInfo(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 적금 상품 수정
+ public void updateSavingProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 적금 상품 삭제
+ public void deleteSavingProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 연금 상품 등록(지현)
+ public void insertIrpProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 연금 상품 조회(지현)
+ public void selectIrpProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 연금 상품 검색(지현)
+ public void searchIrpProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 연금 상품 상세 조회(지현)
+ public void getIrpProductInfo(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 연금 상품 수정(지현)
+ public void updateIrpProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 연금 상품 삭제(지현)
+ public void deleteIrpProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 펀드 상품 등록 처리
+ public void fundProductInsertAction(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 펀드 상품 조회
+ public void selectFundProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 펀드 상품 검색
+ public void searchFundProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 펀드 상품 상세 조회
+ public void getFundProductInfo(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 펀드 상품 수정
+ public void updateFundProduct(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 펀드 상품 삭제
+ public void deleteFundProduct(HttpServletRequest req, Model model);
+
//qna게시글 조회(지현)
public void qnaList_mng(HttpServletRequest req, Model model);
@@ -56,4 +113,19 @@ public interface AdminService {
// 관리자 페이지 회원계좌검색목록
public void searchCustomerAccountList(HttpServletRequest req, Model model);
+
+ // 관리자 페이지 TEST계좌생성(복환)
+ public int insertTestAccount(HttpServletRequest req, Model model);
+
+ // 공지사항 쓰기 처리(민재)
+ public void mngNoticeWriteAction(HttpServletRequest req, Model model);
+
+ // 공지사항 수정(민재)
+ public void mngNoticeModifyDetail(HttpServletRequest req, Model model);
+
+ // 공지사항 수정처리(민재)
+ public void mngNoticeModifyAction(HttpServletRequest req, Model model);
+
+ // 공지사항 삭제처리(민재)
+ public void mngNoticeDeleteAction(HttpServletRequest req, Model model);
}
diff --git a/src/main/java/com/spring/bank/admin/service/AdminServiceImpl.java b/src/main/java/com/spring/bank/admin/service/AdminServiceImpl.java
index cbf8a81..696c3a4 100644
--- a/src/main/java/com/spring/bank/admin/service/AdminServiceImpl.java
+++ b/src/main/java/com/spring/bank/admin/service/AdminServiceImpl.java
@@ -1,5 +1,6 @@
package com.spring.bank.admin.service;
+import java.sql.Date;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -8,118 +9,130 @@
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import com.spring.bank.admin.dao.AdminDAOImpl;
import com.spring.bank.product.vo.DepositProductVO;
+import com.spring.bank.product.vo.FundProductVO;
+import com.spring.bank.product.vo.IrpProductVO;
+import com.spring.bank.product.vo.SavingProductVO;
+import com.spring.bank.user.vo.AccountVO;
import com.spring.bank.user.vo.CustomerAccountVO;
import com.spring.bank.user.vo.InquiryVO;
+import com.spring.bank.product.vo.LoanProductVO;
+import com.spring.bank.user.vo.LoanVO;
+import com.spring.bank.user.vo.NoticeVO;
+import com.spring.bank.user.vo.TransferVO;
import com.spring.bank.user.vo.UserVO;
import com.spring.bank.user.vo.faqVO;
@Service
public class AdminServiceImpl implements AdminService {
-
+
@Autowired
AdminDAOImpl dao;
+ @Autowired
+ BCryptPasswordEncoder bCryptPasswordEncoder;
+
// 관리자 페이지 회원목록 조회
@Override
public void customerList(HttpServletRequest req, Model model) {
// 3단계. 화면으로부터 입력받은 값을 받아온다.
// 페이징
- int pageSize = 10; // 한 페이지당 출력할 회원수
- int pageBlock = 3; // 한 블럭당 페이지 갯수
-
- int cnt = 0; // 회원수
- int start = 0; // 현재 페이지 시작 글 번호
- int end = 0; // 현재 페이지 마지막 글 번호
- int number = 0; // 출력용 글 번호
- String pageNum = ""; // 페이지 번호
- int currentPage = 0; // 현재 페이지
-
- int pageCount = 0; // 페이지 갯수
- int startPage = 0; // 시작 페이지
- int endPage = 0; // 마지막 페이지
-
- // 5-1단계. 회원 수 조회
+ int pageSize = 10; // 한 페이지당 출력할 회원수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 회원수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 5-1단계. 회원 수 조회
cnt = dao.getCustomerCnt();
System.out.println("회원 수 : " + cnt);
-
+
pageNum = req.getParameter("pageNum");
-
- if(pageNum == null) {
- pageNum = "1"; // 첫 페이지를 1페이지로 지정
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
}
-
+
// 글 30건 기준
currentPage = Integer.parseInt(pageNum);
System.out.println("currentPage : " + currentPage);
-
+
// 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
- pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
-
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
// 현재 페이지 시작 글 번호(페이지별)
// start = (currentPage - 1) * pageSize + 1;
// 1 = (1 - 1) * 10 + 1
start = (currentPage - 1) * pageSize + 1;
-
+
// 현재 페이지 시작 글 번호(페이지별)
// end = start + pageSize - 1;
// 10 = 1 + 10 - 1
- end = start + pageSize - 1 ;
-
+ end = start + pageSize - 1;
+
System.out.println("start : " + start);
System.out.println("end : " + end);
-
+
// 출력용 글 번호
- //number = cnt - (currentPage - 1) * pageSize;
+ // number = cnt - (currentPage - 1) * pageSize;
number = cnt - (currentPage - 1) * pageSize;
-
+
System.out.println("number : " + number);
System.out.println("pageSize : " + pageSize);
-
+
// 시작 페이지
// 1 = (1 / 3) * 3 + 1;
// startPage = (currentPage / pageBlock) * pageBlock + 1;
startPage = (currentPage / pageBlock) * pageBlock + 1;
- if(currentPage % pageBlock == 0) {
+ if (currentPage % pageBlock == 0) {
startPage -= pageBlock;
}
System.out.println("startPage : " + startPage);
-
+
// 마지막 페이지
// 3 = 1 + 3 - 1
endPage = startPage + pageBlock - 1;
- if(endPage > pageCount) {
+ if (endPage > pageCount) {
endPage = pageCount;
}
System.out.println("endPage : " + endPage);
-
+
System.out.println("===================================");
-
+
Map map = new HashMap();
map.put("start", start);
map.put("end", end);
-
+
ArrayList dtos = null;
- if(cnt > 0) {
+ if (cnt > 0) {
// 5-2단계. 회원수 조회
dtos = dao.getCustomerList(map);
}
-
+
// 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
- model.addAttribute("dtos", dtos); // 회원 목록
- model.addAttribute("cnt", cnt); // 회원수
- model.addAttribute("pageNum", pageNum); // 페이지 번호
- model.addAttribute("number", number); // 출력용 회원번호
- if(cnt > 0) {
- model.addAttribute("startPage", startPage); // 시작 페이지
- model.addAttribute("endPage", endPage); // 마지막 페이지
- model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
- model.addAttribute("pageCount", pageCount); // 페이지 갯수
- model.addAttribute("currentPage", currentPage); // 현재 페이지
+ model.addAttribute("dtos", dtos); // 회원 목록
+ model.addAttribute("cnt", cnt); // 회원수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 회원번호
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
}
}
@@ -130,127 +143,133 @@ public void searchCustomer(HttpServletRequest req, Model model) {
String search = req.getParameter("search");
System.out.println("관리자 페이지 회원 검색어 : " + search);
// 페이징
- int pageSize = 10; // 한 페이지당 출력할 회원수
- int pageBlock = 3; // 한 블럭당 페이지 갯수
-
- int cnt = 0; // 회원수
- int start = 0; // 현재 페이지 시작 글 번호
- int end = 0; // 현재 페이지 마지막 글 번호
- int number = 0; // 출력용 글 번호
- String pageNum = ""; // 페이지 번호
- int currentPage = 0; // 현재 페이지
-
- int pageCount = 0; // 페이지 갯수
- int startPage = 0; // 시작 페이지
- int endPage = 0; // 마지막 페이지
-
- // 5-1단계. 회원 수 조회
+ int pageSize = 10; // 한 페이지당 출력할 회원수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 회원수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 5-1단계. 회원 수 조회
cnt = dao.getCustomerSearchCnt(search);
-
+
System.out.println("검색된 회원 수 : " + cnt);
-
+
pageNum = req.getParameter("pageNum");
-
- if(pageNum == null) {
- pageNum = "1"; // 첫 페이지를 1페이지로 지정
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
}
-
+
// 글 30건 기준
currentPage = Integer.parseInt(pageNum);
System.out.println("currentPage : " + currentPage);
-
+
// 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
- pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
-
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
// 현재 페이지 시작 글 번호(페이지별)
// start = (currentPage - 1) * pageSize + 1;
// 1 = (1 - 1) * 10 + 1
start = (currentPage - 1) * pageSize + 1;
-
+
// 현재 페이지 시작 글 번호(페이지별)
// end = start + pageSize - 1;
// 10 = 1 + 10 - 1
- end = start + pageSize - 1 ;
-
+ end = start + pageSize - 1;
+
System.out.println("start : " + start);
System.out.println("end : " + end);
-
+
// 출력용 글 번호
- //number = cnt - (currentPage - 1) * pageSize;
+ // number = cnt - (currentPage - 1) * pageSize;
number = cnt - (currentPage - 1) * pageSize;
-
+
System.out.println("number : " + number);
System.out.println("pageSize : " + pageSize);
-
+
// 시작 페이지
// 1 = (1 / 3) * 3 + 1;
// startPage = (currentPage / pageBlock) * pageBlock + 1;
startPage = (currentPage / pageBlock) * pageBlock + 1;
- if(currentPage % pageBlock == 0) {
+ if (currentPage % pageBlock == 0) {
startPage -= pageBlock;
}
System.out.println("startPage : " + startPage);
-
+
// 마지막 페이지
// 3 = 1 + 3 - 1
endPage = startPage + pageBlock - 1;
- if(endPage > pageCount) {
+ if (endPage > pageCount) {
endPage = pageCount;
}
System.out.println("endPage : " + endPage);
-
+
System.out.println("===================================");
-
+
Map map = new HashMap();
map.put("start", start);
map.put("end", end);
map.put("search", search);
-
+
ArrayList dtos = null;
- if(cnt > 0) {
+ if (cnt > 0) {
// 5-2단계. 회원수 조회
dtos = dao.getCustomerSearchList(map);
}
-
+
// 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
- model.addAttribute("dtos", dtos); // 회원 목록
- model.addAttribute("cnt", cnt); // 회원수
- model.addAttribute("pageNum", pageNum); // 페이지 번호
- model.addAttribute("number", number); // 출력용 회원번호
+ model.addAttribute("dtos", dtos); // 회원 목록
+ model.addAttribute("cnt", cnt); // 회원수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 회원번호
model.addAttribute("search", search);
- if(cnt > 0) {
- model.addAttribute("startPage", startPage); // 시작 페이지
- model.addAttribute("endPage", endPage); // 마지막 페이지
- model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
- model.addAttribute("pageCount", pageCount); // 페이지 갯수
- model.addAttribute("currentPage", currentPage); // 현재 페이지
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
}
}
// 관리자 페이지 회원 삭제
@Override
public void deleteCustomer(HttpServletRequest req, Model model) {
-
+
int deleteCnt = 0;
String member_ids[] = req.getParameterValues("check");
- if(member_ids != null) {
- for(int i=0; i 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
-
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
// 현재 페이지 시작 글 번호(페이지별)
// start = (currentPage - 1) * pageSize + 1;
// 1 = (1 - 1) * 10 + 1
start = (currentPage - 1) * pageSize + 1;
-
+
// 현재 페이지 시작 글 번호(페이지별)
// end = start + pageSize - 1;
// 10 = 1 + 10 - 1
- end = start + pageSize - 1 ;
-
+ end = start + pageSize - 1;
+
System.out.println("start : " + start);
System.out.println("end : " + end);
-
+
// 출력용 글 번호
- //number = cnt - (currentPage - 1) * pageSize;
+ // number = cnt - (currentPage - 1) * pageSize;
number = cnt - (currentPage - 1) * pageSize;
-
+
System.out.println("number : " + number);
System.out.println("pageSize : " + pageSize);
-
+
// 시작 페이지
// 1 = (1 / 3) * 3 + 1;
// startPage = (currentPage / pageBlock) * pageBlock + 1;
startPage = (currentPage / pageBlock) * pageBlock + 1;
- if(currentPage % pageBlock == 0) {
+ if (currentPage % pageBlock == 0) {
startPage -= pageBlock;
}
System.out.println("startPage : " + startPage);
-
+
// 마지막 페이지
// 3 = 1 + 3 - 1
endPage = startPage + pageBlock - 1;
- if(endPage > pageCount) {
+ if (endPage > pageCount) {
endPage = pageCount;
}
System.out.println("endPage : " + endPage);
-
+
System.out.println("===================================");
-
+
Map map = new HashMap();
map.put("start", start);
map.put("end", end);
-
+
ArrayList dtos = null;
- if(cnt > 0) {
+ if (cnt > 0) {
// 5-2단계. 회원수 조회
dtos = dao.selectDepositProduct(map);
}
-
+
// 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
- model.addAttribute("dtos", dtos); // 예금 상품 목록
- model.addAttribute("cnt", cnt); // 예금 상품 수
- model.addAttribute("pageNum", pageNum); // 페이지 번호
- model.addAttribute("number", number); // 출력용 번호
- if(cnt > 0) {
- model.addAttribute("startPage", startPage); // 시작 페이지
- model.addAttribute("endPage", endPage); // 마지막 페이지
- model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
- model.addAttribute("pageCount", pageCount); // 페이지 갯수
- model.addAttribute("currentPage", currentPage); // 현재 페이지
- }
- }
-
+ model.addAttribute("dtos", dtos); // 예금 상품 목록
+ model.addAttribute("cnt", cnt); // 예금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
// 관리자 페이지 예금 상품검색
@Override
public void searchDepositProduct(HttpServletRequest req, Model model) {
-
+
// 입력받은 검색어
String search = req.getParameter("search");
System.out.println("관리자 페이지 회원 검색어 : " + search);
-
+
// 페이징
- int pageSize = 10; // 한 페이지당 출력할 예금상품
- int pageBlock = 3; // 한 블럭당 페이지 갯수
-
- int cnt = 0; // 예금상품 수
- int start = 0; // 현재 페이지 시작 글 번호
- int end = 0; // 현재 페이지 마지막 글 번호
- int number = 0; // 출력용 글 번호
- String pageNum = ""; // 페이지 번호
- int currentPage = 0; // 현재 페이지
-
- int pageCount = 0; // 페이지 갯수
- int startPage = 0; // 시작 페이지
- int endPage = 0; // 마지막 페이지
-
+ int pageSize = 10; // 한 페이지당 출력할 예금상품
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 예금상품 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
// 검색 된 예금 상품 수 조회
cnt = dao.getDepositProductSearchCnt(search);
System.out.println("검색 된 예금 상품 수 : " + cnt);
-
+
pageNum = req.getParameter("pageNum");
-
- if(pageNum == null) {
- pageNum = "1"; // 첫 페이지를 1페이지로 지정
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
}
-
+
// 상품 30건 기준
currentPage = Integer.parseInt(pageNum);
System.out.println("currentPage : " + currentPage);
-
+
// 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
- pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
-
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
// 현재 페이지 시작 글 번호(페이지별)
// start = (currentPage - 1) * pageSize + 1;
// 1 = (1 - 1) * 10 + 1
start = (currentPage - 1) * pageSize + 1;
-
+
// 현재 페이지 시작 글 번호(페이지별)
// end = start + pageSize - 1;
// 10 = 1 + 10 - 1
- end = start + pageSize - 1 ;
-
+ end = start + pageSize - 1;
+
System.out.println("start : " + start);
System.out.println("end : " + end);
-
+
// 출력용 글 번호
- //number = cnt - (currentPage - 1) * pageSize;
+ // number = cnt - (currentPage - 1) * pageSize;
number = cnt - (currentPage - 1) * pageSize;
-
+
System.out.println("number : " + number);
System.out.println("pageSize : " + pageSize);
-
+
// 시작 페이지
// 1 = (1 / 3) * 3 + 1;
// startPage = (currentPage / pageBlock) * pageBlock + 1;
startPage = (currentPage / pageBlock) * pageBlock + 1;
- if(currentPage % pageBlock == 0) {
+ if (currentPage % pageBlock == 0) {
startPage -= pageBlock;
}
System.out.println("startPage : " + startPage);
-
+
// 마지막 페이지
// 3 = 1 + 3 - 1
endPage = startPage + pageBlock - 1;
- if(endPage > pageCount) {
+ if (endPage > pageCount) {
endPage = pageCount;
}
System.out.println("endPage : " + endPage);
-
+
System.out.println("===================================");
-
+
Map map = new HashMap();
map.put("start", start);
map.put("end", end);
map.put("search", search);
-
+
ArrayList dtos = null;
- if(cnt > 0) {
+ if (cnt > 0) {
dtos = dao.searchDepositProduct(map);
}
-
+
// 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
- model.addAttribute("dtos", dtos); // 검색된 예금 상품 목록
- model.addAttribute("cnt", cnt); // 예금 상품 수
- model.addAttribute("pageNum", pageNum); // 페이지 번호
- model.addAttribute("number", number); // 출력용 번호
- model.addAttribute("search", search); // 검색어
- if(cnt > 0) {
- model.addAttribute("startPage", startPage); // 시작 페이지
- model.addAttribute("endPage", endPage); // 마지막 페이지
- model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
- model.addAttribute("pageCount", pageCount); // 페이지 갯수
- model.addAttribute("currentPage", currentPage); // 현재 페이지
+ model.addAttribute("dtos", dtos); // 검색된 예금 상품 목록
+ model.addAttribute("cnt", cnt); // 예금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ model.addAttribute("search", search); // 검색어
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
}
}
-
+
// 관리자 페이지 예금 상품 상세 조회
@Override
public void getDepositProductInfo(HttpServletRequest req, Model model) {
String deposit_product_name = req.getParameter("deposit_product_name");
- int pageNum= Integer.parseInt(req.getParameter("pageNum"));
- System.out.println(deposit_product_name+" 상품 상세조회");
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ System.out.println(deposit_product_name + " 상품 상세조회");
DepositProductVO vo = dao.getDepositProductInfo(deposit_product_name);
model.addAttribute("vo", vo);
model.addAttribute("pageNum", pageNum);
}
-
+
// 관리자 페이지 예금 상품 수정
@Override
public void updateDepositProduct(HttpServletRequest req, Model model) {
@@ -498,27 +517,28 @@ public void updateDepositProduct(HttpServletRequest req, Model model) {
vo.setDeposit_product_explanation(req.getParameter("deposit_product_explanation"));
vo.setDeposit_product_notice(req.getParameter("deposit_product_notice"));
vo.setDeposit_product_bankCode(Integer.parseInt(req.getParameter("deposit_product_bankCode")));
-
+
int updateCnt = dao.updateDepositProduct(vo);
System.out.println("예금 상품 updateCnt : " + updateCnt);
System.out.println("pageNum : " + pageNum);
model.addAttribute("updateCnt", updateCnt);
model.addAttribute("pageNum", pageNum);
+
}
// 관리자 페이지 예금 상품 삭제
@Override
public void deleteDepositProduct(HttpServletRequest req, Model model) {
-
+
int deleteCnt = 0;
String deposit_product_names[] = req.getParameterValues("check");
- if(deposit_product_names != null) {
- for(int i=0; i " + cnt);
-
- // 5-2단계. 게시글 목록 조회
- pageNum = req.getParameter("pageNum");
-
- if (pageNum == null) {
- pageNum = "1"; // 첫페이지를 1페이지로 지정
- }
-
- // 글 30건 기준
- currentPage = Integer.parseInt(pageNum);
- System.out.println("currentPage : " + currentPage);
-
- // 페이지 갯수 6 = (30/5) + (0)
- pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지 있으면 1페이지
-
- // 현재페이지 시작 글번호(페이지별)
- // start = (currentPage - 1) * pageSize +1;
- // 1 = (1 - 1 )* 5 + 1
- start = (currentPage - 1) * pageSize + 1;
-
- // 현재페이지 마지막 글번호(페이지별)
- // end = start + pageSize - 1;
- // 5 = 1 + 5 - 1
- end = start + pageSize - 1;
-
- System.out.println("start : " + start);
- System.out.println("end : " + end);
-
- // 출력용 글번호
- // 30 = 30 - (1 - 1) * 5 //1페이지
- // number = cnt- (currentPage - 1) * pageSize;
- number = cnt - (currentPage - 1) * pageSize;
-
- System.out.println("number : " + number);
- System.out.println("pageSize : " + pageSize);
- // 시작페이지
- // 1 = (1 / 3) * 3 + 1;
- // startPage = (currentPage / pageBlock) * pageBlock + 1;
- startPage = (currentPage / pageBlock) * pageBlock + 1;
- if (currentPage % pageBlock == 0)
- startPage -= pageBlock;
-
- System.out.println("startPage : " + startPage);
-
- // 마지막 페이지
- // 3 = 1 + 3 - 1
- endPage = startPage + pageBlock - 1;
- if (endPage > pageCount)
- endPage = pageCount;
+ // 관리자 페이지 적금 상품 등록 처리
+ @Override
+ public void savingProductInsertAction(HttpServletRequest req, Model model) {
+ SavingProductVO vo = new SavingProductVO();
+ vo.setSaving_product_name(req.getParameter("saving_product_name"));
+ vo.setSaving_product_summary(req.getParameter("saving_product_summary"));
+ vo.setSaving_product_interRate(Float.parseFloat(req.getParameter("saving_product_interRate")));
+ vo.setSaving_product_type(Integer.parseInt(req.getParameter("saving_product_type")));
+ vo.setSaving_product_maxDate(Integer.parseInt(req.getParameter("saving_product_maxDate")));
+ vo.setSaving_product_minDate(Integer.parseInt(req.getParameter("saving_product_minDate")));
+ vo.setSaving_product_minPrice(Integer.parseInt(req.getParameter("saving_product_minPrice")));
+ vo.setSaving_product_explanation(req.getParameter("saving_product_explanation"));
+ vo.setSaving_product_notice(req.getParameter("saving_product_notice"));
+ vo.setSaving_product_bankCode(Integer.parseInt(req.getParameter("saving_product_bankCode")));
+
+ int insertCnt = dao.insertSavingProduct(vo);
+ System.out.println("적금상품등록 insertCnt : " + insertCnt);
+ model.addAttribute("insertCnt", insertCnt);
+ }
- System.out.println("endPage : " + endPage);
+ // 관리자 페이지 적금 상품 조회
+ @Override
+ public void selectSavingProduct(HttpServletRequest req, Model model) {
+ // 페이징
+ int pageSize = 10; // 한 페이지당 출력할 적금상품
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
- System.out.println("--------------------------");
+ int cnt = 0; // 적금상품 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
- List dtos = null;
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
- if (cnt > 0) {
- // 5-2단계. 게시글 목록 조회
- Map map = new HashMap();
- map.put("start", start);
- map.put("end", end);
- dtos = dao.getInquiryList(map);
- }
+ // 적금상품 수 조회
+ cnt = dao.getSavingProductCnt();
+ System.out.println("등록 된 적금 상품 수 : " + cnt);
- // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
- req.setAttribute("dtos", dtos); // 게시글 목록
- req.setAttribute("cnt", cnt); // 글개수
- req.setAttribute("pageNum", pageNum); // 페이지 번호
- req.setAttribute("number", number); // 출력용 글번호
-
- if (cnt > 0) {
- req.setAttribute("startPage", startPage); // 시작페이지
- req.setAttribute("endPage", endPage); // 마지막 페이지
- req.setAttribute("pageBlock", pageBlock); // 한블럭당 페이지 갯수
- req.setAttribute("pageCount", pageCount); // 페이지 갯수
- req.setAttribute("currentPage", currentPage); // 현재페이지
- }
+ pageNum = req.getParameter("pageNum");
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
}
-
- //faq 게시글 조회(지현)
- @Override
- public void faqList_mng(HttpServletRequest req,Model model) {
- // 3단계. 화면으로부터 입력받은 값을 받아온다.
- // 페이징
- int pageSize = 5; // 한페이지당 출력할 글 갯수
- int pageBlock = 3; // 한 블록당 페이지 갯수
-
- int cnt = 0; // 글 갯수
- int start = 0; // 현재페이지 시작 글 번호
- int end = 0; // 현재페이지 마지막 글 번호
- int number = 0; // 출력용 글번호
- String pageNum = ""; // 페이지 번호
- int currentPage = 0; // 현재 페이지
-
- int pageCount = 0; // 페이지 갯수
- int startPage = 0; // 시작페이지
- int endPage = 0; // 마지막페이지
- // 5-1단계. 게시글 갯수 조회
- cnt = dao.getFaqCnt();
-
- System.out.println("cnt ==> " + cnt);
+ // 상품 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
- // 5-2단계. 게시글 목록 조회
- pageNum = req.getParameter("pageNum");
+ // 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
- if (pageNum == null) {
- pageNum = "1"; // 첫페이지를 1페이지로 지정
- }
+ // 현재 페이지 시작 글 번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1 - 1) * 10 + 1
+ start = (currentPage - 1) * pageSize + 1;
- // 글 30건 기준
- currentPage = Integer.parseInt(pageNum);
- System.out.println("currentPage : " + currentPage);
+ // 현재 페이지 시작 글 번호(페이지별)
+ // end = start + pageSize - 1;
+ // 10 = 1 + 10 - 1
+ end = start + pageSize - 1;
- // 페이지 갯수 6 = (30/5) + (0)
- pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지 있으면 1페이지
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
- // 현재페이지 시작 글번호(페이지별)
- // start = (currentPage - 1) * pageSize +1;
- // 1 = (1 - 1 )* 5 + 1
- start = (currentPage - 1) * pageSize + 1;
+ // 출력용 글 번호
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
- // 현재페이지 마지막 글번호(페이지별)
- // end = start + pageSize - 1;
- // 5 = 1 + 5 - 1
- end = start + pageSize - 1;
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
- System.out.println("start : " + start);
- System.out.println("end : " + end);
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0) {
+ startPage -= pageBlock;
+ }
+ System.out.println("startPage : " + startPage);
- // 출력용 글번호
- // 30 = 30 - (1 - 1) * 5 //1페이지
- // number = cnt- (currentPage - 1) * pageSize;
- number = cnt - (currentPage - 1) * pageSize;
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount) {
+ endPage = pageCount;
+ }
+ System.out.println("endPage : " + endPage);
- System.out.println("number : " + number);
- System.out.println("pageSize : " + pageSize);
+ System.out.println("===================================");
- // 시작페이지
- // 1 = (1 / 3) * 3 + 1;
- // startPage = (currentPage / pageBlock) * pageBlock + 1;
- startPage = (currentPage / pageBlock) * pageBlock + 1;
- if (currentPage % pageBlock == 0)
- startPage -= pageBlock;
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
- System.out.println("startPage : " + startPage);
+ ArrayList dtos = null;
+ if (cnt > 0) {
+ // 5-2단계. 회원수 조회
+ dtos = dao.selectSavingProduct(map);
+ }
- // 마지막 페이지
- // 3 = 1 + 3 - 1
- endPage = startPage + pageBlock - 1;
- if (endPage > pageCount)
- endPage = pageCount;
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("dtos", dtos); // 적금 상품 목록
+ model.addAttribute("cnt", cnt); // 적금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
- System.out.println("endPage : " + endPage);
+ // 관리자 페이지 적금 상품 검색
+ @Override
+ public void searchSavingProduct(HttpServletRequest req, Model model) {
+ // 입력받은 검색어
+ String search = req.getParameter("search");
+ System.out.println("관리자 페이지 회원 검색어 : " + search);
- System.out.println("--------------------------");
+ // 페이징
+ int pageSize = 10; // 한 페이지당 출력할 적금상품
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
- List dtos = null;
+ int cnt = 0; // 적금상품 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
- if (cnt > 0) {
- // 5-2단계. 게시글 목록 조회
- Map map = new HashMap();
- map.put("start", start);
- map.put("end", end);
- dtos = dao.getFaqList(map);
- }
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
- // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
- req.setAttribute("dtos", dtos); // 게시글 목록
- req.setAttribute("cnt", cnt); // 글개수
- req.setAttribute("pageNum", pageNum); // 페이지 번호
- req.setAttribute("number", number); // 출력용 글번호
-
- if (cnt > 0) {
- req.setAttribute("startPage", startPage); // 시작페이지
- req.setAttribute("endPage", endPage); // 마지막 페이지
- req.setAttribute("pageBlock", pageBlock); // 한블럭당 페이지 갯수
- req.setAttribute("pageCount", pageCount); // 페이지 갯수
- req.setAttribute("currentPage", currentPage); // 현재페이지
- }
+ // 검색 된 적금 상품 수 조회
+ cnt = dao.getSavingProductSearchCnt(search);
+ System.out.println("검색 된 적금 상품 수 : " + cnt);
- }
-
- //faq 게시글 추가(지현)
- @Override
- public void faqAdd(HttpServletRequest req, Model model) {
- int insertCnt = 0;
-
- faqVO vo = new faqVO();
- // 3-1단계. 화면으로부터 입력받은 값(hidden값)을 받아온다.
- int pageNum = Integer.parseInt(req.getParameter("pageNum"));
-
- // 3-2단계. 화면으로부터 입력받은 값(input 값 = 작성자, 비밀번호, 글제목, 글내용)을 받아와서 바구니에 담는다
- vo.setFaq_title(req.getParameter("faq_title"));
- vo.setFaq_content(req.getParameter("faq_content"));
-
- // 5단계. 게시글 작성
- insertCnt = dao.faqAdd(vo);
- System.out.println("insertCnt : " + insertCnt);
-
- // 6단계
- req.setAttribute("insertCnt", insertCnt);
- req.setAttribute("pageNum", pageNum);
-
- }
-
- //faq 수정 상세(지현)
- @Override
- public void faqModifyDetail(HttpServletRequest req, Model model) {
- int faq_id = Integer.parseInt(req.getParameter("faq_id"));
- int pageNum = Integer.parseInt(req.getParameter("pageNum"));
-
- // 5-2 단계. 상세페이지 조회
- faqVO vo = dao.getFaqDetail(faq_id);
-
- // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
- req.setAttribute("dto", vo);
- req.setAttribute("faq_id", faq_id);
- req.setAttribute("pageNum", pageNum);
- }
-
- //faq 수정 처리(지현)
- @Override
- public void faqModify(HttpServletRequest req, Model model) {
-
- System.out.println(req.getParameter("faq_id"));
- int faq_id = Integer.parseInt(req.getParameter("faq_id"));
- int pageNum = Integer.parseInt(req.getParameter("pageNum"));
-
- // QnaVO바구니 생성
- // 화면으로부터 입력받은 값(input값 - 작성자,비밀번호, 제목, 내용), num을 받아온다.
- faqVO vo = new faqVO();
- vo.setFaq_title(req.getParameter("faq_title"));
- vo.setFaq_content(req.getParameter("faq_content"));
- vo.setFaq_id(faq_id);
-
- // 5단계. 게시글 수정처리
- int updateCnt = dao.updateFaq(vo);
- System.out.println("updateCnt : " + updateCnt);
-
- // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
- req.setAttribute("updateCnt", updateCnt);
- req.setAttribute("pageNum", pageNum);
- req.setAttribute("faq_id", faq_id);
- }
-
- //faq 삭제(지현)
- @Override
- public void faqDelete(HttpServletRequest req, Model model) {
- System.out.println("삭제처리 아이디 : " + req.getParameter("faq_id"));
- int faq_id = Integer.parseInt(req.getParameter("faq_id"));
- int pageNum = Integer.parseInt(req.getParameter("pageNum"));
-
- // 5단계. 게시글 수정처리
- int deleteCnt = dao.deleteFaq(faq_id);
- System.out.println("deleteCnt : " + deleteCnt);
-
- // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
- req.setAttribute("deleteCnt", deleteCnt);
- req.setAttribute("pageNum", pageNum);
- req.setAttribute("faq_id", faq_id);
- }
- // 관리자 페이지 회원계좌목록
- public void customerAccountList(HttpServletRequest req, Model model) {
- int pageSize = 10; // 한 페이지당 출력할 수
- int pageBlock = 3; // 한 블럭당 페이지 갯수
-
- int cnt = 0; // 회원계좌 수
- int start = 0; // 현재 페이지 시작 글 번호
- int end = 0; // 현재 페이지 마지막 글 번호
- int number = 0; // 출력용 글 번호
- String pageNum = ""; // 페이지 번호
- int currentPage = 0; // 현재 페이지
-
- int pageCount = 0; // 페이지 갯수
- int startPage = 0; // 시작 페이지
- int endPage = 0; // 마지막 페이지
-
- // 예금상품 수 조회
- cnt = dao.getCustomerAccountCnt();
- System.out.println("등록 된 회원별 계좌수 : " + cnt);
-
pageNum = req.getParameter("pageNum");
-
- if(pageNum == null) {
- pageNum = "1"; // 첫 페이지를 1페이지로 지정
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
}
-
+
// 상품 30건 기준
currentPage = Integer.parseInt(pageNum);
System.out.println("currentPage : " + currentPage);
-
+
// 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
- pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
-
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
// 현재 페이지 시작 글 번호(페이지별)
// start = (currentPage - 1) * pageSize + 1;
// 1 = (1 - 1) * 10 + 1
start = (currentPage - 1) * pageSize + 1;
-
+
// 현재 페이지 시작 글 번호(페이지별)
// end = start + pageSize - 1;
// 10 = 1 + 10 - 1
- end = start + pageSize - 1 ;
-
+ end = start + pageSize - 1;
+
System.out.println("start : " + start);
System.out.println("end : " + end);
-
+
// 출력용 글 번호
- //number = cnt - (currentPage - 1) * pageSize;
+ // number = cnt - (currentPage - 1) * pageSize;
number = cnt - (currentPage - 1) * pageSize;
-
+
System.out.println("number : " + number);
System.out.println("pageSize : " + pageSize);
-
+
// 시작 페이지
// 1 = (1 / 3) * 3 + 1;
// startPage = (currentPage / pageBlock) * pageBlock + 1;
startPage = (currentPage / pageBlock) * pageBlock + 1;
- if(currentPage % pageBlock == 0) {
+ if (currentPage % pageBlock == 0) {
startPage -= pageBlock;
}
System.out.println("startPage : " + startPage);
-
+
// 마지막 페이지
// 3 = 1 + 3 - 1
endPage = startPage + pageBlock - 1;
- if(endPage > pageCount) {
+ if (endPage > pageCount) {
endPage = pageCount;
}
System.out.println("endPage : " + endPage);
-
+
System.out.println("===================================");
-
+
Map map = new HashMap();
map.put("start", start);
map.put("end", end);
-
- ArrayList dtos = null;
- if(cnt > 0) {
- // 5-2단계. 회원수 조회
- dtos = dao.getCustomerAccountList(map);
+ map.put("search", search);
+
+ ArrayList dtos = null;
+ if (cnt > 0) {
+
+ dtos = dao.searchSavingProduct(map);
}
-
+
// 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
- model.addAttribute("dtos", dtos); // 예금 상품 목록
- model.addAttribute("cnt", cnt); // 예금 상품 수
- model.addAttribute("pageNum", pageNum); // 페이지 번호
- model.addAttribute("number", number); // 출력용 번호
- if(cnt > 0) {
- model.addAttribute("startPage", startPage); // 시작 페이지
- model.addAttribute("endPage", endPage); // 마지막 페이지
- model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
- model.addAttribute("pageCount", pageCount); // 페이지 갯수
- model.addAttribute("currentPage", currentPage); // 현재 페이지
- }
- }
-
- // 관리자 페이지 회원계좌검색목록
- public void searchCustomerAccountList(HttpServletRequest req, Model model) {
- String search = req.getParameter("search");
-
- int pageSize = 10; // 한 페이지당 출력할 수
- int pageBlock = 3; // 한 블럭당 페이지 갯수
-
- int cnt = 0; // 회원계좌 수
- int start = 0; // 현재 페이지 시작 글 번호
- int end = 0; // 현재 페이지 마지막 글 번호
- int number = 0; // 출력용 글 번호
- String pageNum = ""; // 페이지 번호
- int currentPage = 0; // 현재 페이지
-
- int pageCount = 0; // 페이지 갯수
- int startPage = 0; // 시작 페이지
- int endPage = 0; // 마지막 페이지
-
- // 예금상품 수 조회
- cnt = dao.getSerachCustomerAccountCnt(search);
- System.out.println("검색된 회원별 계좌수 : " + cnt);
-
+ model.addAttribute("dtos", dtos); // 검색된 적금 상품 목록
+ model.addAttribute("cnt", cnt); // 적금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ model.addAttribute("search", search); // 검색어
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
+ // 관리자 페이지 적금 상품 상세 조회
+ @Override
+ public void getSavingProductInfo(HttpServletRequest req, Model model) {
+ String saving_product_name = req.getParameter("saving_product_name");
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ System.out.println("req.getParameter('pageNum')" + req.getParameter("pageNum"));
+ System.out.println(saving_product_name + " 상품 상세조회");
+ SavingProductVO vo = dao.getSavingProductInfo(saving_product_name);
+ model.addAttribute("vo", vo);
+ model.addAttribute("pageNum", pageNum);
+ }
+
+ // 관리자 페이지 적금 상품 수정
+ @Override
+ public void updateSavingProduct(HttpServletRequest req, Model model) {
+
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ SavingProductVO vo = new SavingProductVO();
+ vo.setSaving_product_name(req.getParameter("saving_product_name"));
+ vo.setSaving_product_summary(req.getParameter("saving_product_summary"));
+ vo.setSaving_product_interRate(Float.parseFloat(req.getParameter("saving_product_interRate")));
+ vo.setSaving_product_type(Integer.parseInt(req.getParameter("saving_product_type")));
+ vo.setSaving_product_maxDate(Integer.parseInt(req.getParameter("saving_product_maxDate")));
+ vo.setSaving_product_minDate(Integer.parseInt(req.getParameter("saving_product_minDate")));
+ vo.setSaving_product_minPrice(Integer.parseInt(req.getParameter("saving_product_minPrice")));
+ vo.setSaving_product_explanation(req.getParameter("saving_product_explanation"));
+ vo.setSaving_product_notice(req.getParameter("saving_product_notice"));
+ vo.setSaving_product_bankCode(Integer.parseInt(req.getParameter("saving_product_bankCode")));
+
+ int updateCnt = dao.updateSavingProduct(vo);
+ System.out.println("적금 상품 updateCnt : " + updateCnt);
+ System.out.println("pageNum : " + pageNum);
+ model.addAttribute("updateCnt", updateCnt);
+ model.addAttribute("pageNum", pageNum);
+ }
+
+ // 관리자 페이지 적금 상품 삭제
+ @Override
+ public void deleteSavingProduct(HttpServletRequest req, Model model) {
+ int deleteCnt = 0;
+ String saving_product_names[] = req.getParameterValues("check");
+ if (saving_product_names != null) {
+ for (int i = 0; i < saving_product_names.length; i++) {
+ deleteCnt = dao.deleteSavingProduct(saving_product_names[i]);
+ System.out.println("삭제선택된 적금상품명: " + saving_product_names[i]);
+ }
+ model.addAttribute("msg", "적금상품 삭제처리되었습니다");
+ } else {
+ model.addAttribute("msg", "삭제하실 상품을 선택해주세요.");
+ }
+ System.out.println("적금상품 삭제여부 : " + deleteCnt);
+ model.addAttribute("deleteCnt", deleteCnt);
+ }
+
+ // 관리자 페이지 연금 상품 등록(지현)
+ @Override
+ public void insertIrpProduct(HttpServletRequest req, Model model) {
+ IrpProductVO vo = new IrpProductVO();
+ vo.setIrp_product_name(req.getParameter("irp_product_name"));
+ vo.setIrp_product_summary(req.getParameter("irp_product_summary"));
+ System.out.println("rateart" + req.getParameter("irp_product_bankCode"));
+ vo.setIrp_product_interRate(Float.parseFloat(req.getParameter("irp_product_interRate")));
+ vo.setIrp_product_expiryTerm(Integer.parseInt(req.getParameter("irp_product_expiryTerm")));
+ vo.setIrp_product_explanation(req.getParameter("irp_product_explanation"));
+ vo.setIrp_product_notice(req.getParameter("irp_product_notice"));
+ vo.setIrp_product_bankCode(Integer.parseInt(req.getParameter("irp_product_bankCode")));
+ vo.setIrp_product_money(Integer.parseInt(req.getParameter("irp_product_money")) * 10000);
+
+ int insertCnt = dao.insertIrpProduct(vo);
+ System.out.println("연금상품등록 insertCnt : " + insertCnt);
+ model.addAttribute("insertCnt", insertCnt);
+
+ }
+
+ // 관리자 페이지 연금 상품 조회(지현)
+ @Override
+ public void selectIrpProduct(HttpServletRequest req, Model model) {
+ // 페이징
+ int pageSize = 10; // 한 페이지당 출력할 예금상품
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 예금상품 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 예금상품 수 조회
+ cnt = dao.getIrpProductCnt();
+ System.out.println("등록 된 연금 상품 수 : " + cnt);
+
pageNum = req.getParameter("pageNum");
-
- if(pageNum == null) {
- pageNum = "1"; // 첫 페이지를 1페이지로 지정
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
}
-
+
// 상품 30건 기준
currentPage = Integer.parseInt(pageNum);
System.out.println("currentPage : " + currentPage);
-
+
// 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
- pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
-
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
// 현재 페이지 시작 글 번호(페이지별)
// start = (currentPage - 1) * pageSize + 1;
// 1 = (1 - 1) * 10 + 1
start = (currentPage - 1) * pageSize + 1;
-
+
// 현재 페이지 시작 글 번호(페이지별)
// end = start + pageSize - 1;
// 10 = 1 + 10 - 1
- end = start + pageSize - 1 ;
-
+ end = start + pageSize - 1;
+
System.out.println("start : " + start);
System.out.println("end : " + end);
-
+
// 출력용 글 번호
- //number = cnt - (currentPage - 1) * pageSize;
+ // number = cnt - (currentPage - 1) * pageSize;
number = cnt - (currentPage - 1) * pageSize;
-
+
System.out.println("number : " + number);
System.out.println("pageSize : " + pageSize);
-
+
// 시작 페이지
// 1 = (1 / 3) * 3 + 1;
// startPage = (currentPage / pageBlock) * pageBlock + 1;
startPage = (currentPage / pageBlock) * pageBlock + 1;
- if(currentPage % pageBlock == 0) {
+ if (currentPage % pageBlock == 0) {
startPage -= pageBlock;
}
System.out.println("startPage : " + startPage);
-
+
// 마지막 페이지
// 3 = 1 + 3 - 1
endPage = startPage + pageBlock - 1;
- if(endPage > pageCount) {
+ if (endPage > pageCount) {
endPage = pageCount;
}
System.out.println("endPage : " + endPage);
-
+
System.out.println("===================================");
-
+
Map map = new HashMap();
map.put("start", start);
map.put("end", end);
- map.put("search", search);
-
- ArrayList dtos = null;
- if(cnt > 0) {
+
+ ArrayList dtos = null;
+ if (cnt > 0) {
// 5-2단계. 회원수 조회
- dtos = dao.getSearchCustomerAccountList(map);
+ dtos = dao.selectIrpProduct(map);
}
-
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("dtos", dtos); // 예금 상품 목록
+ model.addAttribute("cnt", cnt); // 예금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
+ // 관리자 페이지 연금 상품 검색(지현)
+ @Override
+ public void searchIrpProduct(HttpServletRequest req, Model model) {
+
+ // 입력받은 검색어
+ String search = req.getParameter("search");
+ System.out.println("관리자 페이지 회원 검색어 : " + search);
+
+ // 페이징
+ int pageSize = 10; // 한 페이지당 출력할 예금상품
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 예금상품 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 검색 된 예금 상품 수 조회
+ cnt = dao.getIrpProductSearchCnt(search);
+ System.out.println("검색 된 연금 상품 수 : " + cnt);
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ // 상품 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1 - 1) * 10 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // end = start + pageSize - 1;
+ // 10 = 1 + 10 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글 번호
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0) {
+ startPage -= pageBlock;
+ }
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount) {
+ endPage = pageCount;
+ }
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("===================================");
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ map.put("search", search);
+
+ ArrayList dtos = null;
+ if (cnt > 0) {
+
+ dtos = dao.searchIrpProduct(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("dtos", dtos); // 검색된 예금 상품 목록
+ model.addAttribute("cnt", cnt); // 예금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ model.addAttribute("search", search); // 검색어
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
+ // 관리자 페이지 연금 상품 상세 조회(지현)
+ @Override
+ public void getIrpProductInfo(HttpServletRequest req, Model model) {
+ String irp_product_name = req.getParameter("irp_product_name");
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ System.out.println(irp_product_name + " 상품 상세조회");
+ IrpProductVO vo = dao.getIrpProductInfo(irp_product_name);
+ model.addAttribute("vo", vo);
+ model.addAttribute("pageNum", pageNum);
+
+ }
+
+ // 관리자 페이지 연금 상품 수정(지현)
+ @Override
+ public void updateIrpProduct(HttpServletRequest req, Model model) {
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ IrpProductVO vo = new IrpProductVO();
+ vo.setIrp_product_name(req.getParameter("irp_product_name"));
+ vo.setIrp_product_summary(req.getParameter("irp_product_summary"));
+ vo.setIrp_product_interRate(Float.parseFloat(req.getParameter("irp_product_interRate")));
+ vo.setIrp_product_expiryTerm(Integer.parseInt(req.getParameter("irp_product_expiryTerm")));
+ vo.setIrp_product_explanation(req.getParameter("irp_product_explanation"));
+ vo.setIrp_product_money(Integer.parseInt(req.getParameter("irp_product_money")) * 10000);
+ vo.setIrp_product_notice(req.getParameter("irp_product_notice"));
+ vo.setIrp_product_bankCode(Integer.parseInt(req.getParameter("irp_product_bankCode")));
+
+ int updateCnt = dao.updateIrpProduct(vo);
+ System.out.println("연금 상품 updateCnt : " + updateCnt);
+ System.out.println("pageNum : " + pageNum);
+ model.addAttribute("updateCnt", updateCnt);
+ model.addAttribute("pageNum", pageNum);
+ }
+
+ // 관리자 페이지 연금 상품 삭제(지현)
+ @Override
+ public void deleteIrpProduct(HttpServletRequest req, Model model) {
+ int deleteCnt = 0;
+ String irp_product_names[] = req.getParameterValues("check");
+ if (irp_product_names != null) {
+ for (int i = 0; i < irp_product_names.length; i++) {
+ deleteCnt = dao.deleteIrpProduct(irp_product_names[i]);
+ System.out.println("삭제선택된 연금상품명: " + irp_product_names[i]);
+ }
+ // String deposit_product_name = String.join(",", deposit_product_names);
+ // System.out.println("선택된 상품들: " + deposit_product_name);
+ model.addAttribute("msg", "연금상품 삭제처리되었습니다");
+ } else {
+ model.addAttribute("msg", "삭제하실 상품을 선택해주세요.");
+ }
+ System.out.println("연금상품 삭제여부 : " + deleteCnt);
+ model.addAttribute("deleteCnt", deleteCnt);
+ }
+
+ // 관리자 페이지 펀드 상품 등록 처리
+ @Override
+ public void fundProductInsertAction(HttpServletRequest req, Model model) {
+ FundProductVO vo = new FundProductVO();
+
+ vo.setFund_title(req.getParameter("fund_title"));
+ vo.setFund_content(req.getParameter("fund_content"));
+ vo.setFund_summary(req.getParameter("fund_summary"));
+ vo.setFund_start_date(Date.valueOf(req.getParameter("fund_start_date")));
+ vo.setFund_end_date(Date.valueOf(req.getParameter("fund_end_date")));
+ vo.setFund_goal_money(Integer.parseInt(req.getParameter("fund_goal_money")));
+ vo.setFund_category(req.getParameter("fund_category"));
+ vo.setFund_approve(req.getParameter("saving_product_explanation"));
+ vo.setFund_mem_name(req.getParameter("fund_mem_name"));
+
+ String hp1 = req.getParameter("fund_mem_hp1");
+ String hp2 = req.getParameter("fund_mem_hp2");
+ String hp3 = req.getParameter("fund_mem_hp3");
+
+ String hp = hp1 + "-" + hp2 + "-" + hp3;
+ vo.setFund_mem_hp(hp);
+
+ String email1 = req.getParameter("fund_mem_email1");
+ String email2 = req.getParameter("fund_mem_email2");
+
+ String email = email1 + "@" + email2;
+ vo.setFund_mem_email(email);
+
+ vo.setFund_bank_code(Integer.parseInt(req.getParameter("fund_bank_code")));
+ System.out.println("req.getParameter('fund_bank_code') : " + req.getParameter("fund_bank_code"));
+ vo.setFund_account(req.getParameter("fund_account"));
+ String img = "../resources/images/admin/upload/" + req.getParameter("fund_filename");
+ vo.setFund_filename(img);
+
+ int insertCnt = dao.insertFundProduct(vo);
+ System.out.println("펀드상품등록 insertCnt : " + insertCnt);
+ model.addAttribute("insertCnt", insertCnt);
+ }
+
+ // 관리자 페이지 펀드 상품 조회
+ @Override
+ public void selectFundProduct(HttpServletRequest req, Model model) {
+ // 페이징
+ int pageSize = 10; // 한 페이지당 출력할 펀드상품
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 펀드상품 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 펀드상품 수 조회
+ cnt = dao.getFundProductCnt();
+ System.out.println("등록 된 펀드 상품 수 : " + cnt);
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ // 상품 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1 - 1) * 10 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // end = start + pageSize - 1;
+ // 10 = 1 + 10 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글 번호
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0) {
+ startPage -= pageBlock;
+ }
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount) {
+ endPage = pageCount;
+ }
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("===================================");
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+
+ ArrayList dtos = null;
+ if (cnt > 0) {
+ // 5-2단계. 회원수 조회
+ dtos = dao.selectFundProduct(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("dtos", dtos); // 펀드 상품 목록
+ model.addAttribute("cnt", cnt); // 펀드 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
+ // 관리자 페이지 펀드 상품 검색
+ @Override
+ public void searchFundProduct(HttpServletRequest req, Model model) {
+ // 입력받은 검색어
+ String search = req.getParameter("search");
+ System.out.println("관리자 페이지 회원 검색어 : " + search);
+
+ // 페이징
+ int pageSize = 10; // 한 페이지당 출력할 펀드상품
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 펀드상품 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 검색 된 펀드 상품 수 조회
+ cnt = dao.getSavingProductSearchCnt(search);
+ System.out.println("검색 된 펀드 상품 수 : " + cnt);
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ // 상품 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1 - 1) * 10 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // end = start + pageSize - 1;
+ // 10 = 1 + 10 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글 번호
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0) {
+ startPage -= pageBlock;
+ }
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount) {
+ endPage = pageCount;
+ }
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("===================================");
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ map.put("search", search);
+
+ ArrayList dtos = null;
+ if (cnt > 0) {
+
+ dtos = dao.searchSavingProduct(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("dtos", dtos); // 검색된 펀드 상품 목록
+ model.addAttribute("cnt", cnt); // 펀드 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ model.addAttribute("search", search); // 검색어
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
+ // 관리자 페이지 펀드 상품 상세 조회
+ @Override
+ public void getFundProductInfo(HttpServletRequest req, Model model) {
+ String fund_title = req.getParameter("fund_title");
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ System.out.println("req.getParameter('pageNum')" + req.getParameter("pageNum"));
+ System.out.println(fund_title + " 상품 상세조회");
+ FundProductVO vo = dao.getFundProductInfo(fund_title);
+ model.addAttribute("vo", vo);
+ model.addAttribute("pageNum", pageNum);
+ }
+
+ // 관리자 페이지 펀드 상품 수정
+ @Override
+ public void updateFundProduct(HttpServletRequest req, Model model) {
+
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ FundProductVO vo = new FundProductVO();
+
+ vo.setFund_title(req.getParameter("fund_title"));
+ vo.setFund_content(req.getParameter("fund_content"));
+ vo.setFund_summary(req.getParameter("fund_summary"));
+ vo.setFund_start_date(Date.valueOf(req.getParameter("fund_start_date")));
+ vo.setFund_end_date(Date.valueOf(req.getParameter("fund_end_date")));
+ vo.setFund_goal_money(Integer.parseInt(req.getParameter("fund_goal_money")));
+ vo.setFund_category(req.getParameter("fund_category"));
+ vo.setFund_approve(req.getParameter("saving_product_explanation"));
+ vo.setFund_mem_name(req.getParameter("fund_mem_name"));
+
+ String hp1 = req.getParameter("fund_mem_hp1");
+ String hp2 = req.getParameter("fund_mem_hp2");
+ String hp3 = req.getParameter("fund_mem_hp3");
+
+ String hp = hp1 + "-" + hp2 + "-" + hp3;
+ vo.setFund_mem_hp(hp);
+
+ String email1 = req.getParameter("fund_mem_email1");
+ String email2 = req.getParameter("fund_mem_email2");
+
+ String email = email1 + "@" + email2;
+ vo.setFund_mem_email(email);
+
+ vo.setFund_bank_code(Integer.parseInt(req.getParameter("fund_bank_code")));
+ System.out.println("req.getParameter('fund_bank_code') : " + req.getParameter("fund_bank_code"));
+ vo.setFund_account(req.getParameter("fund_account"));
+ String img = "../resources/images/admin/upload/" + req.getParameter("fund_filename");
+ vo.setFund_filename(img);
+
+ int updateCnt = dao.updateFundProduct(vo);
+ System.out.println("펀드 상품 updateCnt : " + updateCnt);
+ System.out.println("pageNum : " + pageNum);
+ model.addAttribute("updateCnt", updateCnt);
+ model.addAttribute("pageNum", pageNum);
+ }
+
+ // 관리자 페이지 펀드 상품 삭제
+ @Override
+ public void deleteFundProduct(HttpServletRequest req, Model model) {
+ int deleteCnt = 0;
+ String fund_title[] = req.getParameterValues("check");
+ if (fund_title != null) {
+ for (int i = 0; i < fund_title.length; i++) {
+ deleteCnt = dao.deleteFundProduct(fund_title[i]);
+ System.out.println("삭제선택된 펀드상품명: " + fund_title[i]);
+ }
+ model.addAttribute("msg", "펀드상품 삭제처리되었습니다");
+ } else {
+ model.addAttribute("msg", "삭제하실 상품을 선택해주세요.");
+ }
+ System.out.println("펀드상품 삭제여부 : " + deleteCnt);
+ model.addAttribute("deleteCnt", deleteCnt);
+ }
+
+ // qna 조회(지현)
+ @Override
+ public void qnaList_mng(HttpServletRequest req, Model model) {
+ // 3단계. 화면으로부터 입력받은 값을 받아온다.
+ // 페이징
+ int pageSize = 5; // 한페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블록당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재페이지 시작 글 번호
+ int end = 0; // 현재페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작페이지
+ int endPage = 0; // 마지막페이지
+
+ // 5-1단계. 게시글 갯수 조회
+ cnt = dao.getInquiryCnt();
+
+ System.out.println("cnt ==> " + cnt);
+
+ // 5-2단계. 게시글 목록 조회
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫페이지를 1페이지로 지정
+ }
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6 = (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지 있으면 1페이지
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize +1;
+ // 1 = (1 - 1 )* 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5 //1페이지
+ // number = cnt- (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("--------------------------");
+
+ List dtos = null;
+
+ if (cnt > 0) {
+ // 5-2단계. 게시글 목록 조회
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ dtos = dao.getInquiryList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
+ req.setAttribute("dtos", dtos); // 게시글 목록
+ req.setAttribute("cnt", cnt); // 글개수
+ req.setAttribute("pageNum", pageNum); // 페이지 번호
+ req.setAttribute("number", number); // 출력용 글번호
+
+ if (cnt > 0) {
+ req.setAttribute("startPage", startPage); // 시작페이지
+ req.setAttribute("endPage", endPage); // 마지막 페이지
+ req.setAttribute("pageBlock", pageBlock); // 한블럭당 페이지 갯수
+ req.setAttribute("pageCount", pageCount); // 페이지 갯수
+ req.setAttribute("currentPage", currentPage); // 현재페이지
+ }
+
+ }
+
+ // faq 게시글 조회(지현)
+ @Override
+ public void faqList_mng(HttpServletRequest req, Model model) {
+ // 3단계. 화면으로부터 입력받은 값을 받아온다.
+ // 페이징
+ int pageSize = 5; // 한페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블록당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재페이지 시작 글 번호
+ int end = 0; // 현재페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작페이지
+ int endPage = 0; // 마지막페이지
+
+ // 5-1단계. 게시글 갯수 조회
+ cnt = dao.getFaqCnt();
+
+ System.out.println("cnt ==> " + cnt);
+
+ // 5-2단계. 게시글 목록 조회
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫페이지를 1페이지로 지정
+ }
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6 = (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지 있으면 1페이지
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize +1;
+ // 1 = (1 - 1 )* 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5 //1페이지
+ // number = cnt- (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("--------------------------");
+
+ List dtos = null;
+
+ if (cnt > 0) {
+ // 5-2단계. 게시글 목록 조회
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ dtos = dao.getFaqList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
+ req.setAttribute("dtos", dtos); // 게시글 목록
+ req.setAttribute("cnt", cnt); // 글개수
+ req.setAttribute("pageNum", pageNum); // 페이지 번호
+ req.setAttribute("number", number); // 출력용 글번호
+
+ if (cnt > 0) {
+ req.setAttribute("startPage", startPage); // 시작페이지
+ req.setAttribute("endPage", endPage); // 마지막 페이지
+ req.setAttribute("pageBlock", pageBlock); // 한블럭당 페이지 갯수
+ req.setAttribute("pageCount", pageCount); // 페이지 갯수
+ req.setAttribute("currentPage", currentPage); // 현재페이지
+ }
+
+ }
+
+ // faq 게시글 추가(지현)
+ @Override
+ public void faqAdd(HttpServletRequest req, Model model) {
+ int insertCnt = 0;
+
+ faqVO vo = new faqVO();
+ // 3-1단계. 화면으로부터 입력받은 값(hidden값)을 받아온다.
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+
+ // 3-2단계. 화면으로부터 입력받은 값(input 값 = 작성자, 비밀번호, 글제목, 글내용)을 받아와서 바구니에 담는다
+ vo.setFaq_title(req.getParameter("faq_title"));
+ vo.setFaq_content(req.getParameter("faq_content"));
+
+ // 5단계. 게시글 작성
+ insertCnt = dao.faqAdd(vo);
+ System.out.println("insertCnt : " + insertCnt);
+
+ // 6단계
+ req.setAttribute("insertCnt", insertCnt);
+ req.setAttribute("pageNum", pageNum);
+
+ }
+
+ // faq 수정 상세(지현)
+ @Override
+ public void faqModifyDetail(HttpServletRequest req, Model model) {
+ int faq_id = Integer.parseInt(req.getParameter("faq_id"));
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+
+ // 5-2 단계. 상세페이지 조회
+ faqVO vo = dao.getFaqDetail(faq_id);
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
+ req.setAttribute("dto", vo);
+ req.setAttribute("faq_id", faq_id);
+ req.setAttribute("pageNum", pageNum);
+ }
+
+ // faq 수정 처리(지현)
+ @Override
+ public void faqModify(HttpServletRequest req, Model model) {
+
+ System.out.println(req.getParameter("faq_id"));
+ int faq_id = Integer.parseInt(req.getParameter("faq_id"));
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+
+ // QnaVO바구니 생성
+ // 화면으로부터 입력받은 값(input값 - 작성자,비밀번호, 제목, 내용), num을 받아온다.
+ faqVO vo = new faqVO();
+ vo.setFaq_title(req.getParameter("faq_title"));
+ vo.setFaq_content(req.getParameter("faq_content"));
+ vo.setFaq_id(faq_id);
+
+ // 5단계. 게시글 수정처리
+ int updateCnt = dao.updateFaq(vo);
+ System.out.println("updateCnt : " + updateCnt);
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
+ req.setAttribute("updateCnt", updateCnt);
+ req.setAttribute("pageNum", pageNum);
+ req.setAttribute("faq_id", faq_id);
+ }
+
+ // faq 삭제(지현)
+ @Override
+ public void faqDelete(HttpServletRequest req, Model model) {
+ System.out.println("삭제처리 아이디 : " + req.getParameter("faq_id"));
+ int faq_id = Integer.parseInt(req.getParameter("faq_id"));
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+
+ // 5단계. 게시글 수정처리
+ int deleteCnt = dao.deleteFaq(faq_id);
+ System.out.println("deleteCnt : " + deleteCnt);
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
+ req.setAttribute("deleteCnt", deleteCnt);
+ req.setAttribute("pageNum", pageNum);
+ req.setAttribute("faq_id", faq_id);
+ }
+
+ // 관리자 페이지 회원계좌목록
+ public void customerAccountList(HttpServletRequest req, Model model) {
+ int pageSize = 10; // 한 페이지당 출력할 수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 회원계좌 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 예금상품 수 조회
+ cnt = dao.getCustomerAccountCnt();
+ System.out.println("등록 된 회원별 계좌수 : " + cnt);
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ // 상품 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1 - 1) * 10 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // end = start + pageSize - 1;
+ // 10 = 1 + 10 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글 번호
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0) {
+ startPage -= pageBlock;
+ }
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount) {
+ endPage = pageCount;
+ }
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("===================================");
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+
+ ArrayList dtos = null;
+ if (cnt > 0) {
+ // 5-2단계. 회원수 조회
+ dtos = dao.getCustomerAccountList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("dtos", dtos); // 예금 상품 목록
+ model.addAttribute("cnt", cnt); // 예금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
+ // 관리자 페이지 회원계좌검색목록
+ public void searchCustomerAccountList(HttpServletRequest req, Model model) {
+ String search = req.getParameter("search");
+
+ int pageSize = 10; // 한 페이지당 출력할 수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 회원계좌 수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글 번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ // 예금상품 수 조회
+ cnt = dao.getSerachCustomerAccountCnt(search);
+ System.out.println("검색된 회원별 계좌수 : " + cnt);
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ // 상품 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6 = (회원수 30건 / 한 페이지당 10개) + 나머지0
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1 - 1) * 10 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재 페이지 시작 글 번호(페이지별)
+ // end = start + pageSize - 1;
+ // 10 = 1 + 10 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글 번호
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0) {
+ startPage -= pageBlock;
+ }
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount) {
+ endPage = pageCount;
+ }
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("===================================");
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ map.put("search", search);
+
+ ArrayList dtos = null;
+ if (cnt > 0) {
+ // 5-2단계. 회원수 조회
+ dtos = dao.getSearchCustomerAccountList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("dtos", dtos); // 예금 상품 목록
+ model.addAttribute("cnt", cnt); // 예금 상품 수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 번호
+ model.addAttribute("search", search); // 검색어
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작 페이지
+ model.addAttribute("endPage", endPage); // 마지막 페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재 페이지
+ }
+ }
+
+ // 관리자 페이지 TEST계좌생성(복환)
+ @Override
+ public int insertTestAccount(HttpServletRequest req, Model model) {
+ System.out.println("Service => insertTestAccount");
+
+ String account_bankCode = req.getParameter("account_bankCode");
+ String account_id = createAccountId(Integer.parseInt(account_bankCode));
+ String account_password = req.getParameter("account_password");
+ String account_balance = req.getParameter("account_balance");
+ String account_type = req.getParameter("account_type");
+ String account_state = req.getParameter("account_state");
+ String account_stateContent = req.getParameter("account_stateContent");
+ String account_limit = req.getParameter("account_limit");
+ String unique_key = req.getParameter("unique_key");
+
+ AccountVO vo = new AccountVO();
+
+ vo.setAccount_bankCode(Integer.parseInt(account_bankCode));
+ vo.setAccount_id(account_id);
+ vo.setAccount_password(account_password);
+ vo.setAccount_balance(Integer.parseInt(account_balance));
+ vo.setAccount_type(Integer.parseInt(account_type));
+ vo.setAccount_state(Integer.parseInt(account_state));
+ vo.setAccount_stateContent(account_stateContent);
+ vo.setAccount_limit(Integer.parseInt(account_limit));
+ vo.setUnique_key(unique_key);
+
+ return dao.insertTestAccount(vo);
+ }
+
+ // 계좌 생성 Method
+ public String createAccountId(int account_type) {
+ String account_id = "";
+
+ if (account_type == 1) {
+ // 국민(14) > 6 - 2 - 6
+ String st1 = String.format("%06d", (int) (Math.random() * 1000000));
+ String st2 = String.format("%02d", (int) (Math.random() * 100));
+ String st3 = String.format("%06d", (int) (Math.random() * 1000000));
+
+ account_id = st1 + "-" + st2 + "-" + st3;
+
+ System.out.println("account_id : " + account_id);
+
+ } else if (account_type == 2) {
+ // 우리(13) > 4 - 3 - 6
+ String st1 = String.format("%04d", (int) (Math.random() * 10000));
+ String st2 = String.format("%03d", (int) (Math.random() * 1000));
+ String st3 = String.format("%06d", (int) (Math.random() * 1000000));
+
+ account_id = st1 + "-" + st2 + "-" + st3;
+
+ System.out.println("account_id : " + account_id);
+
+ } else if (account_type == 3) {
+ // 농협(13) > 3 - 4 - 4 - 2
+ String st1 = String.format("%03d", (int) (Math.random() * 1000));
+ String st2 = String.format("%04d", (int) (Math.random() * 10000));
+ String st3 = String.format("%04d", (int) (Math.random() * 10000));
+ String st4 = String.format("%02d", (int) (Math.random() * 100));
+
+ account_id = st1 + "-" + st2 + "-" + st3 + "-" + st4;
+
+ System.out.println("account_id : " + account_id);
+
+ } else if (account_type == 4) {
+ // 신한(12) > 3 - 3 - 6
+ String st1 = String.format("%03d", (int) (Math.random() * 1000));
+ String st2 = String.format("%03d", (int) (Math.random() * 1000));
+ String st3 = String.format("%06d", (int) (Math.random() * 1000000));
+
+ account_id = st1 + "-" + st2 + "-" + st3;
+
+ System.out.println("account_id : " + account_id);
+
+ } else if (account_type == 5) {
+ // 하나(14) > 3 - 6 - 5
+ String st1 = String.format("%03d", (int) (Math.random() * 1000));
+ String st2 = String.format("%06d", (int) (Math.random() * 1000000));
+ String st3 = String.format("%05d", (int) (Math.random() * 100000));
+
+ account_id = st1 + "-" + st2 + "-" + st3;
+
+ System.out.println("account_id : " + account_id);
+
+ }
+
+ return account_id;
+ }
+
+ // 공지사항 쓰기 처리(민재)
+ @Override
+ public void mngNoticeWriteAction(HttpServletRequest req, Model model) {
+ System.out.println("여기들어와?");
+ NoticeVO vo = new NoticeVO();
+
+ // 히든값 받아오기 -> 바구니에 넣기
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ vo.setNotice_writer(req.getParameter("notice_writer"));
+
+ // input값 받아오기 -> 바구니에 넣기
+ vo.setNotice_subject(req.getParameter("notice_subject"));
+ vo.setNotice_password(req.getParameter("notice_password"));
+ vo.setNotice_content(req.getParameter("notice_content"));
+
+ // 작성일
+ // vo.setNotice_date(new Date());
+
+ // insert
+ int insertCnt = dao.mngNoticeWriteAction(vo);
+ System.out.println("insertCnt : " + insertCnt);
+
+ // jsp로 insertCnt값 넘기기
+ model.addAttribute("insertCnt", insertCnt);
+ model.addAttribute("pageNum", pageNum);
+ }
+
+ // 공지사항 수정인증(민재)
+ @Override
+ public void mngNoticeModifyDetail(HttpServletRequest req, Model model) {
+
+ // 히든값
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ int notice_num = Integer.parseInt(req.getParameter("notice_num"));
+
+ String rawPwd = (String) req.getParameter("notice_password");
+
+ // 암호화된 비밀번호 가져오기
+ String bCryptPasswordEncoderPwd = dao.noticePWDCheck(notice_num);
+
+ int selectCnt = 0;
+ boolean result = bCryptPasswordEncoder.matches(rawPwd, bCryptPasswordEncoderPwd);
+
+ // 비밀번호 인증
+ // 인증성공 :: selectCnt = 1, 인증실패 :: selectCnt = 0
+ if (result == true) {
+ selectCnt = 1;
+ }
+
+ System.out.println("공지사항 수정인증 selectCnt : " + selectCnt);
+ // 상세페이지 조회
+ NoticeVO vo = dao.getNoticeDetail(notice_num);
+
+ model.addAttribute("pageNum", pageNum);
+ model.addAttribute("selectCnt", selectCnt);
+ model.addAttribute("vo", vo);
+
+ }
+
+ // 공지사항 수정처리(민재)
+ @Override
+ public void mngNoticeModifyAction(HttpServletRequest req, Model model) {
+
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+
+ NoticeVO vo = new NoticeVO();
+
+ vo.setNotice_num(Integer.parseInt(req.getParameter("notice_num")));
+ vo.setNotice_subject(req.getParameter("notice_subject"));
+ vo.setNotice_password(req.getParameter("notice_password"));
+ vo.setNotice_content(req.getParameter("notice_content"));
+
+ int updateCnt = dao.noticeModifyAction(vo);
+
+ model.addAttribute("pageNum", pageNum);
+ model.addAttribute("updateCnt", updateCnt);
+ }
+
+ // 공지사항 삭제처리(민재)
+ @Override
+ public void mngNoticeDeleteAction(HttpServletRequest req, Model model) {
+
+ int pageNum = Integer.parseInt(req.getParameter("pageNum"));
+ int notice_num = (Integer.parseInt(req.getParameter("notice_num")));
+
+ String rawPwd = (String) req.getParameter("notice_password");
+
+ // 암호화된 비밀번호 가져오기
+ String bCryptPasswordEncoderPwd = dao.noticePWDCheck(notice_num);
+
+ int deleteCnt = 0;
+ boolean result = bCryptPasswordEncoder.matches(rawPwd, bCryptPasswordEncoderPwd);
+
+ // 비밀번호 인증
+ // 인증성공 :: selectCnt = 1, 인증실패 :: selectCnt = 0
+ if (result == true) {
+ deleteCnt = dao.noticeDeleteAction(notice_num);
+ }
+
+ System.out.println("공지사항 삭제인증 deleteCnt : " + deleteCnt);
+
+ model.addAttribute("pageNum", pageNum);
+ model.addAttribute("deleteCnt", deleteCnt);
+ }
+
+ // 대출 상품 목록
+ public void loanProductList(HttpServletRequest req, Model model) { // 지은
+ System.out.println("[AdminService => loanProductList()]");
+
+ // 페이징
+ int pageSize = 5; // 한 페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ cnt = dao.getLoanProductCnt();
+ System.out.println("cnt : " + cnt);
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6= (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1-1) * 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5; // 1페이지
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("==============================================");
+
+ ArrayList loanProducts = null;
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+
+ if (cnt > 0) {
+ // 5-2 게시글 목록 조회
+ loanProducts = dao.getLoanProductList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("loanProducts", loanProducts); // 게시글 목록
+ model.addAttribute("cnt", cnt); // 게시글 갯수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 글번호
+
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작페이지
+ model.addAttribute("endPage", endPage); // 마지막페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재페이지
+ }
+
+ }
+
+ // 대출 해지 목록
+ public void loanCancelList(HttpServletRequest req, Model model) { // 지은
+ System.out.println("[AdminService => loanCancelList()]");
+ // 페이징
+ int pageSize = 5; // 한 페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ cnt = dao.getLoanCancelCnt();
+ System.out.println("cnt : " + cnt);
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6= (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1-1) * 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5; // 1페이지
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("==============================================");
+
+ ArrayList loanProducts = null;
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+
+ if (cnt > 0) {
+ // 5-2 게시글 목록 조회
+ loanProducts = dao.getLoanCancelList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("loanProducts", loanProducts); // 게시글 목록
+ model.addAttribute("cnt", cnt); // 게시글 갯수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 글번호
+
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작페이지
+ model.addAttribute("endPage", endPage); // 마지막페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재페이지
+ }
+
+ }
+
+ // 대출 상품 검색
+ public void searchLoanProductList(HttpServletRequest req, Model model) { // 지은
+ System.out.println("[AdminService => loanProductList()]");
+
+ // 페이징
+ int pageSize = 5; // 한 페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+ String keyword = (String) req.getParameter("keyword");
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ cnt = dao.getSearchLoanProductCnt(keyword);
+ System.out.println("cnt : " + cnt);
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6= (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1-1) * 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5; // 1페이지
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("==============================================");
+
+ ArrayList loanProducts = null;
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ map.put("keyword", keyword);
+
+ if (cnt > 0) {
+ // 5-2 게시글 목록 조회
+ loanProducts = dao.searchLoanProductList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("loanProducts", loanProducts); // 게시글 목록
+ model.addAttribute("cnt", cnt); // 게시글 갯수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 글번호
+ model.addAttribute("keyword", keyword); // keyword
+
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작페이지
+ model.addAttribute("endPage", endPage); // 마지막페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재페이지
+ }
+
+ }
+
+ // 대출 상품 삭제
+ public void loanProductDelete(HttpServletRequest req, Model model) { // 지은
+ String loan_product_name = req.getParameter("loan_product_name");
+ int deleteCnt = dao.loanProductDelete(loan_product_name);
+ model.addAttribute("deleteCnt", deleteCnt);
+ }
+
+ // 대출 상품 수정 처리
+ public void loanProductUpdateAction(HttpServletRequest req, Model model) { // 지은
+ String loan_product_name = req.getParameter("loan_product_name");
+ float loan_product_rate = (float) Double.parseDouble((String) req.getParameter("loan_product_rate"));
+ String loan_product_summary = req.getParameter("loan_product_summary");
+ int loan_product_minPrice = Integer.parseInt((String) req.getParameter("loan_product_minPrice"));
+ long loan_product_maxPrice = Long.parseLong((String) req.getParameter("loan_product_maxPrice"));
+ int loan_product_minDate = Integer.parseInt((String) req.getParameter("loan_product_minDate"));
+ int loan_product_maxDate = Integer.parseInt((String) req.getParameter("loan_product_maxDate"));
+ int loan_product_bankCode = Integer.parseInt((String) req.getParameter("loan_product_bankCode"));
+ float loan_product_prepaymentRate = (float) Double
+ .parseDouble((String) req.getParameter("loan_product_prepaymentRate"));
+ String pre_loan_product_name = req.getParameter("pre_loan_product_name");
+
+ LoanProductVO l = new LoanProductVO();
+ l.setLoan_product_name(loan_product_name);
+ l.setPre_loan_product_name(pre_loan_product_name);
+ l.setLoan_product_rate(loan_product_rate);
+ l.setLoan_product_summary(loan_product_summary);
+ l.setLoan_product_minPrice(loan_product_minPrice);
+ l.setLoan_product_maxPrice(loan_product_maxPrice);
+ l.setLoan_product_minDate(loan_product_minDate);
+ l.setLoan_product_maxDate(loan_product_maxDate);
+ l.setLoan_product_bankCode(loan_product_bankCode);
+ l.setLoan_product_prepaymentRate(loan_product_prepaymentRate);
+
+ int updateCnt = dao.loanProductUpdate(l);
+ model.addAttribute("updateCnt", updateCnt);
+ }
+
+ // 대출 상품 수정 폼
+ public void loanProductUpdate(HttpServletRequest req, Model model) { // 지은
+ LoanProductVO loanProduct = dao.getLoanProductInfo(req.getParameter("loan_product_name"));
+ model.addAttribute("loanProduct", loanProduct);
+ }
+
+ // 대출 상품 등록 처리
+ public void loanProductInsertAction(HttpServletRequest req, Model model) { // 지은
+ String loan_product_name = req.getParameter("loan_product_name");
+ float loan_product_rate = (float) Double.parseDouble((String) req.getParameter("loan_product_rate"));
+ String loan_product_summary = req.getParameter("loan_product_summary");
+ int loan_product_minPrice = Integer.parseInt((String) req.getParameter("loan_product_minPrice"));
+ int loan_product_maxPrice = Integer.parseInt((String) req.getParameter("loan_product_maxPrice"));
+ int loan_product_minDate = Integer.parseInt((String) req.getParameter("loan_product_minDate"));
+ int loan_product_maxDate = Integer.parseInt((String) req.getParameter("loan_product_maxDate"));
+ int loan_product_bankCode = Integer.parseInt((String) req.getParameter("loan_product_bankCode"));
+ float loan_product_prepaymentRate = (float) Double
+ .parseDouble((String) req.getParameter("loan_product_prepaymentRate"));
+
+ LoanProductVO l = new LoanProductVO();
+ l.setLoan_product_name(loan_product_name);
+ l.setLoan_product_rate(loan_product_rate);
+ l.setLoan_product_summary(loan_product_summary);
+ l.setLoan_product_minPrice(loan_product_minPrice);
+ l.setLoan_product_maxPrice(loan_product_maxPrice);
+ l.setLoan_product_minDate(loan_product_minDate);
+ l.setLoan_product_maxDate(loan_product_maxDate);
+ l.setLoan_product_bankCode(loan_product_bankCode);
+ l.setLoan_product_prepaymentRate(loan_product_prepaymentRate);
+
+ int insertCnt = dao.loanProductInsert(l);
+ model.addAttribute("insertCnt", insertCnt);
+ }
+
+ // 대출 요청 목록
+ public void loanRequestList(HttpServletRequest req, Model model) { // 지은
+ System.out.println("[AdminService => loanRequestList()]");
+
+ // 페이징
+ int pageSize = 5; // 한 페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ cnt = dao.getLoanRequestCnt();
+ System.out.println("cnt : " + cnt);
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6= (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1-1) * 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5; // 1페이지
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("==============================================");
+
+ ArrayList loans = null;
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+
+ if (cnt > 0) {
+ // 5-2 게시글 목록 조회
+ loans = dao.getLoanRequestList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("loans", loans); // 게시글 목록
+ model.addAttribute("cnt", cnt); // 게시글 갯수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 글번호
+
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작페이지
+ model.addAttribute("endPage", endPage); // 마지막페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재페이지
+ }
+ }
+
+ // 대출 목록
+ public void loanList(HttpServletRequest req, Model model) { // 지은
+ System.out.println("[AdminService => loanList()]");
+
+ // 페이징
+ int pageSize = 5; // 한 페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ cnt = dao.getLoanCnt();
+ System.out.println("cnt : " + cnt);
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6= (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1-1) * 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5; // 1페이지
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("==============================================");
+
+ ArrayList loans = null;
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+
+ if (cnt > 0) {
+ // 5-2 게시글 목록 조회
+ loans = dao.getLoanList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("loans", loans); // 게시글 목록
+ model.addAttribute("cnt", cnt); // 게시글 갯수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 글번호
+
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작페이지
+ model.addAttribute("endPage", endPage); // 마지막페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재페이지
+ }
+ }
+
+ // 대출 승인
+ public void loanRequestAction(HttpServletRequest req, Model model) { // 지은
+ Map map = new HashMap();
+ map.put("loan_id", req.getParameter("loan_id"));
+ map.put("state", 2); // 승인
+ int updateCnt = dao.loanRequestAction(map);
+
+ LoanVO loan = dao.getLoanInfo(map);
+ map.put("account_id", loan.getAccount_id()); // 승인
+ if (updateCnt == 1) { // 승인 완료
+ dao.changeAccountState0(map);
+
+ }
+
+ model.addAttribute("updateCnt", updateCnt);
+ }
+
+ // 대출 요청 목록 검색
+ public void searchLoanRequestList(HttpServletRequest req, Model model) { // 지은
+ System.out.println("[AdminService => searchLoanRequestList()]");
+
+ // 페이징
+ int pageSize = 5; // 한 페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+ String keyword = (String) req.getParameter("keyword");
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ cnt = dao.getSearchLoanRequestCnt(keyword);
+ System.out.println("cnt : " + cnt);
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6= (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1-1) * 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5; // 1페이지
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("==============================================");
+
+ ArrayList loans = null;
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ map.put("keyword", keyword);
+
+ if (cnt > 0) {
+ // 5-2 게시글 목록 조회
+ loans = dao.searchLoanRequestList(map);
+ }
+
+ // 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
+ model.addAttribute("loans", loans); // 게시글 목록
+ model.addAttribute("cnt", cnt); // 게시글 갯수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 글번호
+ model.addAttribute("keyword", keyword); // keyword
+
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작페이지
+ model.addAttribute("endPage", endPage); // 마지막페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재페이지
+ }
+ }
+
+ // 대출 목록 검색
+ public void searchLoanList(HttpServletRequest req, Model model) { // 지은
+ System.out.println("[AdminService => searchLoanList()]");
+
+ // 페이징
+ int pageSize = 5; // 한 페이지당 출력할 글 갯수
+ int pageBlock = 3; // 한 블럭당 페이지 갯수
+
+ int cnt = 0; // 글 갯수
+ int start = 0; // 현재 페이지 시작 글 번호
+ int end = 0; // 현재 페이지 마지막 글 번호
+ int number = 0; // 출력용 글번호
+ String pageNum = ""; // 페이지 번호
+ int currentPage = 0; // 현재 페이지
+
+ int pageCount = 0; // 페이지 갯수
+ int startPage = 0; // 시작 페이지
+ int endPage = 0; // 마지막 페이지
+ String keyword = (String) req.getParameter("keyword");
+
+ pageNum = req.getParameter("pageNum");
+
+ if (pageNum == null) {
+ pageNum = "1"; // 첫 페이지를 1페이지로 지정
+ }
+
+ cnt = dao.getSearchLoanCnt(keyword);
+ System.out.println("cnt : " + cnt);
+
+ // 글 30건 기준
+ currentPage = Integer.parseInt(pageNum);
+ System.out.println("currentPage : " + currentPage);
+
+ // 페이지 갯수 6= (30/5) + (0)
+ pageCount = (cnt / pageSize) + (cnt % pageSize > 0 ? 1 : 0); // 페이지 갯수 + 나머지가 있으면 1페이지 추가
+
+ // 현재페이지 시작 글번호(페이지별)
+ // start = (currentPage - 1) * pageSize + 1;
+ // 1 = (1-1) * 5 + 1
+ start = (currentPage - 1) * pageSize + 1;
+
+ // 현재페이지 마지막 글번호(페이지별)
+ // end = start + pageSize - 1;
+ // 5 = 1 + 5 - 1
+ end = start + pageSize - 1;
+
+ System.out.println("start : " + start);
+ System.out.println("end : " + end);
+
+ // 출력용 글번호
+ // 30 = 30 - (1 - 1) * 5; // 1페이지
+ // number = cnt - (currentPage - 1) * pageSize;
+ number = cnt - (currentPage - 1) * pageSize;
+
+ System.out.println("number : " + number);
+ System.out.println("pageSize : " + pageSize);
+
+ // 시작 페이지
+ // 1 = (1 / 3) * 3 + 1;
+ // startPage = (currentPage / pageBlock) * pageBlock + 1;
+ startPage = (currentPage / pageBlock) * pageBlock + 1;
+ if (currentPage % pageBlock == 0)
+ startPage -= pageBlock;
+
+ System.out.println("startPage : " + startPage);
+
+ // 마지막 페이지
+ // 3 = 1 + 3 - 1
+ endPage = startPage + pageBlock - 1;
+ if (endPage > pageCount)
+ endPage = pageCount;
+
+ System.out.println("endPage : " + endPage);
+
+ System.out.println("==============================================");
+
+ ArrayList loans = null;
+
+ Map map = new HashMap();
+ map.put("start", start);
+ map.put("end", end);
+ map.put("keyword", keyword);
+
+ if (cnt > 0) {
+ // 5-2 게시글 목록 조회
+ loans = dao.searchLoanList(map);
+ }
+
// 6단계. jsp로 전달하기 위해 request나 session에 처리결과를 저장
- model.addAttribute("dtos", dtos); // 예금 상품 목록
- model.addAttribute("cnt", cnt); // 예금 상품 수
- model.addAttribute("pageNum", pageNum); // 페이지 번호
- model.addAttribute("number", number); // 출력용 번호
- model.addAttribute("search", search); // 검색어
- if(cnt > 0) {
- model.addAttribute("startPage", startPage); // 시작 페이지
- model.addAttribute("endPage", endPage); // 마지막 페이지
- model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
- model.addAttribute("pageCount", pageCount); // 페이지 갯수
- model.addAttribute("currentPage", currentPage); // 현재 페이지
+ model.addAttribute("loans", loans); // 게시글 목록
+ model.addAttribute("cnt", cnt); // 게시글 갯수
+ model.addAttribute("pageNum", pageNum); // 페이지 번호
+ model.addAttribute("number", number); // 출력용 글번호
+ model.addAttribute("keyword", keyword); // keyword
+
+ if (cnt > 0) {
+ model.addAttribute("startPage", startPage); // 시작페이지
+ model.addAttribute("endPage", endPage); // 마지막페이지
+ model.addAttribute("pageBlock", pageBlock); // 한 블럭당 페이지 갯수
+ model.addAttribute("pageCount", pageCount); // 페이지 갯수
+ model.addAttribute("currentPage", currentPage); // 현재페이지
+ }
+ }
+
+ // 대출 거절 처리
+ public void loanRefusalAction(HttpServletRequest req, Model model) { // 지은
+ Map map = new HashMap();
+ map.put("loan_id", req.getParameter("loan_id"));
+ map.put("state", 3); // 거절
+ int updateCnt = dao.loanRequestAction(map);
+ model.addAttribute("updateCnt", updateCnt);
+ }
+
+ // 은행별 img
+ public String getBankImg(int account_bankCode) {
+ // 은행코드 0(미기재) 1(국민) 2(우리) 3(농협) 4(신한) 5(하나) 6(코스모)
+
+ String bankImg = "";
+ switch (account_bankCode) {
+ case 1:
+ bankImg = "/bank/resources/images/bank/gookminicon.jpg";
+ break;
+
+ case 2:
+ bankImg = "/bank/resources/images/bank/uriicon.jpg";
+ break;
+
+ case 3:
+ bankImg = "/bank/resources/images/bank/nhicon.jpg";
+ break;
+
+ case 4:
+ bankImg = "/bank/resources/images/bank/shinhanicon.png";
+ break;
+
+ case 5:
+ bankImg = "/bank/resources/images/bank/hanaicon.jpg";
+ break;
+
+ case 6:
+ bankImg = "/bank/resources/images/bank/uriicon.jpg";
+ break;
+
}
+
+ return bankImg;
}
}
diff --git a/src/main/java/com/spring/bank/customer/encrypt/UserDeniedHandler.java b/src/main/java/com/spring/bank/customer/encrypt/UserDeniedHandler.java
index 7664603..cac887a 100644
--- a/src/main/java/com/spring/bank/customer/encrypt/UserDeniedHandler.java
+++ b/src/main/java/com/spring/bank/customer/encrypt/UserDeniedHandler.java
@@ -18,7 +18,7 @@ public void handle(HttpServletRequest request, HttpServletResponse response,
request.setAttribute("errMsg", "관리자만 접근할 수 있는 페이지입니다.");
- RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/views/user/account/denied.jsp");
+ RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/views/common/denied.jsp");
dispatcher.forward(request, response);
}
diff --git a/src/main/java/com/spring/bank/product/vo/DepositProductVO.java b/src/main/java/com/spring/bank/product/vo/DepositProductVO.java
index 3d57365..7fc01ea 100644
--- a/src/main/java/com/spring/bank/product/vo/DepositProductVO.java
+++ b/src/main/java/com/spring/bank/product/vo/DepositProductVO.java
@@ -106,6 +106,7 @@ public void setDeposit_product_minPrice(int deposit_product_minPrice) {
this.deposit_product_minPrice = deposit_product_minPrice;
}
+
public String getDeposit_product_explanation() {
return deposit_product_explanation;
}
diff --git a/src/main/java/com/spring/bank/product/vo/FundProductVO.java b/src/main/java/com/spring/bank/product/vo/FundProductVO.java
new file mode 100644
index 0000000..39d9e31
--- /dev/null
+++ b/src/main/java/com/spring/bank/product/vo/FundProductVO.java
@@ -0,0 +1,135 @@
+package com.spring.bank.product.vo;
+
+import java.util.Date;
+
+public class FundProductVO {
+
+ private String fund_title; // 펀딩제목
+ private String fund_content; // 펀딩 내용
+ private String fund_summary; // 펀딩 상품 한줄 요약
+ private Date fund_start_date; // 펀딩기간(시작)
+ private Date fund_end_date; // 펀딩기간(종료)
+ private int fund_goal_money; // 목표금액
+ private String fund_category; // 펀딩종목
+ private String fund_approve; // 펀딩승인
+ private String fund_mem_name; // 등록자 이름
+ private String fund_mem_hp; // 등록자 연락처
+ private String fund_mem_email; // 등록자 이메일
+ private int fund_bank_code; // 은행코드
+ private String fund_account; // 모금계좌
+ private String fund_filename; // 첨부파일
+
+ public String getFund_title() {
+ return fund_title;
+ }
+
+ public void setFund_title(String fund_title) {
+ this.fund_title = fund_title;
+ }
+
+ public String getFund_content() {
+ return fund_content;
+ }
+
+ public void setFund_content(String fund_content) {
+ this.fund_content = fund_content;
+ }
+
+ public String getFund_summary() {
+ return fund_summary;
+ }
+
+ public void setFund_summary(String fund_summary) {
+ this.fund_summary = fund_summary;
+ }
+
+ public Date getFund_start_date() {
+ return fund_start_date;
+ }
+
+ public void setFund_start_date(Date fund_start_date) {
+ this.fund_start_date = fund_start_date;
+ }
+
+ public Date getFund_end_date() {
+ return fund_end_date;
+ }
+
+ public void setFund_end_date(Date fund_end_date) {
+ this.fund_end_date = fund_end_date;
+ }
+
+ public int getFund_goal_money() {
+ return fund_goal_money;
+ }
+
+ public void setFund_goal_money(int fund_goal_money) {
+ this.fund_goal_money = fund_goal_money;
+ }
+
+ public String getFund_category() {
+ return fund_category;
+ }
+
+ public void setFund_category(String fund_category) {
+ this.fund_category = fund_category;
+ }
+
+ public String getFund_approve() {
+ return fund_approve;
+ }
+
+ public void setFund_approve(String fund_approve) {
+ this.fund_approve = fund_approve;
+ }
+
+ public String getFund_mem_name() {
+ return fund_mem_name;
+ }
+
+ public void setFund_mem_name(String fund_mem_name) {
+ this.fund_mem_name = fund_mem_name;
+ }
+
+ public String getFund_mem_hp() {
+ return fund_mem_hp;
+ }
+
+ public void setFund_mem_hp(String fund_mem_hp) {
+ this.fund_mem_hp = fund_mem_hp;
+ }
+
+ public String getFund_mem_email() {
+ return fund_mem_email;
+ }
+
+ public void setFund_mem_email(String fund_mem_email) {
+ this.fund_mem_email = fund_mem_email;
+ }
+
+ public int getFund_bank_code() {
+ return fund_bank_code;
+ }
+
+ public void setFund_bank_code(int fund_bank_code) {
+ this.fund_bank_code = fund_bank_code;
+ }
+
+ public String getFund_account() {
+ return fund_account;
+ }
+
+ public void setFund_account(String fund_account) {
+ this.fund_account = fund_account;
+ }
+
+ public String getFund_filename() {
+ return fund_filename;
+ }
+
+ public void setFund_filename(String fund_filename) {
+ this.fund_filename = fund_filename;
+ }
+
+
+}
diff --git a/src/main/java/com/spring/bank/product/vo/IrpProductVO.java b/src/main/java/com/spring/bank/product/vo/IrpProductVO.java
new file mode 100644
index 0000000..0e21572
--- /dev/null
+++ b/src/main/java/com/spring/bank/product/vo/IrpProductVO.java
@@ -0,0 +1,90 @@
+package com.spring.bank.product.vo;
+
+import java.util.Date;
+
+//연금 상품
+public class IrpProductVO {
+
+ private String irp_product_name; // 연금상품이름
+ private String irp_product_summary; // 연금상품한줄요약
+ private Date irp_product_date; // 연금등록일
+ private float irp_product_interRate; // 연금금리
+ private int irp_product_expiryTerm; //연금 납입기간
+ private String irp_product_explanation; // 연금설명
+ private String irp_product_notice; // 유의사항
+ private int irp_product_money; //연금 금액
+ private int irp_product_bankCode; // 은행코드
+
+ public String getIrp_product_name() {
+ return irp_product_name;
+ }
+
+ public void setIrp_product_name(String irp_product_name) {
+ this.irp_product_name = irp_product_name;
+ }
+
+ public String getIrp_product_summary() {
+ return irp_product_summary;
+ }
+
+ public void setIrp_product_summary(String irp_product_summary) {
+ this.irp_product_summary = irp_product_summary;
+ }
+
+ public Date getIrp_product_date() {
+ return irp_product_date;
+ }
+
+ public void setIrp_product_date(Date irp_product_date) {
+ this.irp_product_date = irp_product_date;
+ }
+
+ public float getIrp_product_interRate() {
+ return irp_product_interRate;
+ }
+
+ public void setIrp_product_interRate(float irp_product_interRate) {
+ this.irp_product_interRate = irp_product_interRate;
+ }
+
+ public int getIrp_product_expiryTerm() {
+ return irp_product_expiryTerm;
+ }
+
+ public void setIrp_product_expiryTerm(int irp_product_expiryTerm) {
+ this.irp_product_expiryTerm = irp_product_expiryTerm;
+ }
+
+ public String getIrp_product_explanation() {
+ return irp_product_explanation;
+ }
+
+ public void setIrp_product_explanation(String irp_product_explanation) {
+ this.irp_product_explanation = irp_product_explanation;
+ }
+
+ public String getIrp_product_notice() {
+ return irp_product_notice;
+ }
+
+ public void setIrp_product_notice(String irp_product_notice) {
+ this.irp_product_notice = irp_product_notice;
+ }
+
+ public int getIrp_product_money() {
+ return irp_product_money;
+ }
+
+ public void setIrp_product_money(int irp_product_money) {
+ this.irp_product_money = irp_product_money;
+ }
+
+ public int getIrp_product_bankCode() {
+ return irp_product_bankCode;
+ }
+
+ public void setIrp_product_bankCode(int irp_product_bankCode) {
+ this.irp_product_bankCode = irp_product_bankCode;
+ }
+
+}
diff --git a/src/main/java/com/spring/bank/product/vo/LoanProductVO.java b/src/main/java/com/spring/bank/product/vo/LoanProductVO.java
new file mode 100644
index 0000000..fdd8cfc
--- /dev/null
+++ b/src/main/java/com/spring/bank/product/vo/LoanProductVO.java
@@ -0,0 +1,96 @@
+package com.spring.bank.product.vo;
+
+import java.sql.Date;
+
+public class LoanProductVO {
+ private String loan_product_name;
+ private float loan_product_rate;
+ private String loan_product_summary;
+ private int loan_product_minPrice;
+ private long loan_product_maxPrice;
+ private int loan_product_minDate;
+ private int loan_product_maxDate;
+ private int loan_product_bankCode;
+ private Date loan_product_baseDate;
+ private float loan_product_prepaymentRate;
+
+ private String pre_loan_product_name; // pk가 얘라서 수정할때 where절로 이전 pk값을 찾아줘야함
+
+ public String getLoan_product_name() {
+ return loan_product_name;
+ }
+ public void setLoan_product_name(String loan_product_name) {
+ this.loan_product_name = loan_product_name;
+ }
+ public float getLoan_product_rate() {
+ return loan_product_rate;
+ }
+ public void setLoan_product_rate(float loan_product_rate) {
+ this.loan_product_rate = loan_product_rate;
+ }
+ public String getLoan_product_summary() {
+ return loan_product_summary;
+ }
+ public void setLoan_product_summary(String loan_product_summary) {
+ this.loan_product_summary = loan_product_summary;
+ }
+ public int getLoan_product_minPrice() {
+ return loan_product_minPrice;
+ }
+ public void setLoan_product_minPrice(int loan_product_minPrice) {
+ this.loan_product_minPrice = loan_product_minPrice;
+ }
+ public long getLoan_product_maxPrice() {
+ return loan_product_maxPrice;
+ }
+ public void setLoan_product_maxPrice(long loan_product_maxPrice) {
+ this.loan_product_maxPrice = loan_product_maxPrice;
+ }
+ public int getLoan_product_minDate() {
+ return loan_product_minDate;
+ }
+ public void setLoan_product_minDate(int loan_product_minDate) {
+ this.loan_product_minDate = loan_product_minDate;
+ }
+ public int getLoan_product_maxDate() {
+ return loan_product_maxDate;
+ }
+ public void setLoan_product_maxDate(int loan_product_maxDate) {
+ this.loan_product_maxDate = loan_product_maxDate;
+ }
+ public int getLoan_product_bankCode() {
+ return loan_product_bankCode;
+ }
+ public void setLoan_product_bankCode(int loan_product_bankCode) {
+ this.loan_product_bankCode = loan_product_bankCode;
+ }
+ public Date getLoan_product_baseDate() {
+ return loan_product_baseDate;
+ }
+ public void setLoan_product_baseDate(Date loan_product_baseDate) {
+ this.loan_product_baseDate = loan_product_baseDate;
+ }
+ public float getLoan_product_prepaymentRate() {
+ return loan_product_prepaymentRate;
+ }
+ public void setLoan_product_prepaymentRate(float loan_product_prepaymentRate) {
+ this.loan_product_prepaymentRate = loan_product_prepaymentRate;
+ }
+ @Override
+ public String toString() {
+ return "LoanProductVO [loan_product_name=" + loan_product_name + ", loan_product_rate=" + loan_product_rate
+ + ", loan_product_summary=" + loan_product_summary + ", loan_product_minPrice=" + loan_product_minPrice
+ + ", loan_product_maxPrice=" + loan_product_maxPrice + ", loan_product_minDate=" + loan_product_minDate
+ + ", loan_product_maxDate=" + loan_product_maxDate + ", loan_product_bankCode=" + loan_product_bankCode
+ + ", loan_product_baseDate=" + loan_product_baseDate + ", loan_product_prepaymentRate="
+ + loan_product_prepaymentRate + "]";
+ }
+ public String getPre_loan_product_name() {
+ return pre_loan_product_name;
+ }
+ public void setPre_loan_product_name(String pre_loan_product_name) {
+ this.pre_loan_product_name = pre_loan_product_name;
+ }
+
+
+}
diff --git a/src/main/java/com/spring/bank/product/vo/SavingProductVO.java b/src/main/java/com/spring/bank/product/vo/SavingProductVO.java
new file mode 100644
index 0000000..65c4258
--- /dev/null
+++ b/src/main/java/com/spring/bank/product/vo/SavingProductVO.java
@@ -0,0 +1,110 @@
+package com.spring.bank.product.vo;
+
+import java.sql.Date;
+
+public class SavingProductVO {
+
+ private String saving_product_name; // 적금 상품 이름
+ private String saving_product_summary; // 적금 상품 한줄 요약
+ private Date saving_product_date; // // 적금 등록일
+ private float saving_product_interRate; // 금리
+ private int saving_product_type; // 적금 과목
+ private int saving_product_maxDate; // 최대 적금 기간
+ private int saving_product_minDate; // 최소 적금 기간
+ private int saving_product_minPrice; // 최소 금액
+ private String saving_product_explanation; // 적금 상품 설명
+ private String saving_product_notice; // 유의사항
+ private int saving_product_bankCode; // 은행코드
+
+ public SavingProductVO() {}
+
+ public String getSaving_product_name() {
+ return saving_product_name;
+ }
+
+ public void setSaving_product_name(String saving_product_name) {
+ this.saving_product_name = saving_product_name;
+ }
+
+ public String getSaving_product_summary() {
+ return saving_product_summary;
+ }
+
+ public void setSaving_product_summary(String saving_product_summary) {
+ this.saving_product_summary = saving_product_summary;
+ }
+
+ public Date getSaving_product_date() {
+ return saving_product_date;
+ }
+
+ public void setSaving_product_date(Date saving_product_date) {
+ this.saving_product_date = saving_product_date;
+ }
+
+ public float getSaving_product_interRate() {
+ return saving_product_interRate;
+ }
+
+ public void setSaving_product_interRate(float saving_product_interRate) {
+ this.saving_product_interRate = saving_product_interRate;
+ }
+
+ public int getSaving_product_type() {
+ return saving_product_type;
+ }
+
+ public void setSaving_product_type(int saving_product_type) {
+ this.saving_product_type = saving_product_type;
+ }
+
+ public int getSaving_product_maxDate() {
+ return saving_product_maxDate;
+ }
+
+ public void setSaving_product_maxDate(int saving_product_maxDate) {
+ this.saving_product_maxDate = saving_product_maxDate;
+ }
+
+ public int getSaving_product_minDate() {
+ return saving_product_minDate;
+ }
+
+ public void setSaving_product_minDate(int saving_product_minDate) {
+ this.saving_product_minDate = saving_product_minDate;
+ }
+
+ public int getSaving_product_minPrice() {
+ return saving_product_minPrice;
+ }
+
+ public void setSaving_product_minPrice(int saving_product_minPrice) {
+ this.saving_product_minPrice = saving_product_minPrice;
+ }
+
+ public String getSaving_product_explanation() {
+ return saving_product_explanation;
+ }
+
+ public void setSaving_product_explanation(String saving_product_explanation) {
+ this.saving_product_explanation = saving_product_explanation;
+ }
+
+ public String getSaving_product_notice() {
+ return saving_product_notice;
+ }
+
+ public void setSaving_product_notice(String saving_product_notice) {
+ this.saving_product_notice = saving_product_notice;
+ }
+
+ public int getSaving_product_bankCode() {
+ return saving_product_bankCode;
+ }
+
+ public void setSaving_product_bankCode(int saving_product_bankCode) {
+ this.saving_product_bankCode = saving_product_bankCode;
+ }
+
+
+}
diff --git a/src/main/java/com/spring/bank/restapi/RestController.java b/src/main/java/com/spring/bank/restapi/RestController.java
deleted file mode 100644
index f5581df..0000000
--- a/src/main/java/com/spring/bank/restapi/RestController.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.spring.bank.restapi;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-@Controller
-@ResponseBody
-@RequestMapping("customer")
-public class RestController {
-
- private static final Logger logger = LoggerFactory.getLogger(RestController.class);
-
-
-
-
-}
diff --git a/src/main/java/com/spring/bank/user/contoller/CustomerController.java b/src/main/java/com/spring/bank/user/contoller/CustomerController.java
index dd29c19..718f57a 100644
--- a/src/main/java/com/spring/bank/user/contoller/CustomerController.java
+++ b/src/main/java/com/spring/bank/user/contoller/CustomerController.java
@@ -5,6 +5,7 @@
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.text.ParseException;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
@@ -12,6 +13,7 @@
import javax.inject.Inject;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
import org.json.simple.JSONObject;
import org.slf4j.Logger;
@@ -25,123 +27,153 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
+import com.siot.IamportRestClient.IamportClient;
+import com.siot.IamportRestClient.response.AccessToken;
+import com.siot.IamportRestClient.response.IamportResponse;
import com.spring.bank.user.service.CustomerServiceImpl;
@Controller
+
@RequestMapping("customer")
public class CustomerController {
private static final Logger logger = LoggerFactory.getLogger(CustomerController.class);
-
+
@Autowired
private CustomerServiceImpl service;
-
+
@Inject
private JavaMailSender javaMailSender;
+
+
+ private IamportClient api = new IamportClient("imp_apikey", "ekKoeW8RyKuT0zgaZsUtXXTLQ4AhPFW3ZGseDA6bkA5lamv9OqDMnxyeB9wqOsuO9W3Mx9YSJ4dTqJ3f");
// main 화면(크롤링, 지호)
@RequestMapping("index.do")
public String home(HttpServletRequest req, Model model) {
System.out.println("url ==> index");
- //service.exchanges(req, model);
+ // service.exchanges(req, model);
+
+ // 로그인 시 계좌 불러오기
+ String member_id = (String) req.getSession().getAttribute("customerID");
+ if(member_id != null) {
+ service.accountLoad(req, model);
+ }
+
return "index";
}
// 회원가입 페이지
@RequestMapping("register.do")
public String register(HttpServletRequest req, Model model) {
-
+
+
return "customer/account/register";
}
-
+
// 회원가입 중복확인 페이지 confirmId.do
@ResponseBody
- @RequestMapping(value="confirmId.do", method= {RequestMethod.GET, RequestMethod.POST})
+ @RequestMapping(value = "confirmId.do", method = { RequestMethod.GET, RequestMethod.POST })
public int confirId(HttpServletRequest req, Model model) {
System.out.println("[url => confirId]");
-
+
String member_id = req.getParameter("member_id");
-
+
System.out.println(member_id);
-
+
Map map = new HashMap();
map.put("member_id", member_id);
+
+ return service.confirmIdAction(map);
+ }
+
+ // 회원가입 본인인증 토큰생성
+ @ResponseBody
+ @RequestMapping(value="getToken.do", method= {RequestMethod.POST})
+ public IamportResponse getToken(HttpSession session, Model model) throws Exception {
+ System.out.println("[url => getToken.do]");
-
- return service.confirmIdAction(map);
+ return api.getAuth();
}
- // 회원본인인증
- @RequestMapping(value="authResult.do", method= {RequestMethod.GET, RequestMethod.POST})
- public String callAPIhttp(HttpServletRequest req, Model model) throws Exception {
- System.out.println("[url => authResult]");
- logger.info("[url => authResult]");
+ // 회원가입 본인인증 후 결과 조회 및 삭제
+ @ResponseBody
+ @RequestMapping(value="certifications.do", method= {RequestMethod.GET})
+ public String certifications(HttpServletRequest req, HttpSession session, Model model) throws Exception {
+ System.out.println("[url => certifications]");
+ logger.info("[url => certifications]");
StringBuffer result = new StringBuffer();
-
+
req.setCharacterEncoding("UTF-8");
- String code = req.getParameter("code");
-
- String urlstr = "https://testapi.openbanking.or.kr/oauth/2.0/token?" + // 클라이언트가 요청을 보낼 서버의 URL 주소
- "code="+ code +"&" +
- "client_id=072579e4-c1b5-4ad1-a6a4-78c69cab659c&" +
- "client_secret=6e5b6b5d-4aa9-4a53-90a0-deeb196c10ee&" +
- "redirect_uri=http://localhost/bank/customer/authResult.do&" +
- "grant_type=authorization_code";
-
- URL url = new URL(urlstr);
- HttpURLConnection urlconnection = (HttpURLConnection) url.openConnection();
- urlconnection.setRequestMethod("POST");
-
- BufferedReader br = new BufferedReader(new InputStreamReader(urlconnection.getInputStream(), "UTF-8"));
-
- String returnLine;
-
- while((returnLine = br.readLine()) != null) {
- result.append(returnLine);
- System.out.println(br.readLine());
- }
-
- urlconnection.disconnect();
-
- System.out.println(result.toString());
-
- req.setAttribute("json", result);
-
- return "customer/account/authToken";
- }
-
- // 회원가입 본인인증 페이지
- @RequestMapping("certifications.do")
- public String certifications(HttpServletRequest req, Model model) {
-
-
- return "customer/account/certifications";
+ // ajax 에서 받아온 값
+ String imp_uid = req.getParameter("imp_uid");
+ String access_token = req.getParameter("access_token");
+
+ String urlstr = "https://api.iamport.kr/certifications/" + imp_uid
+ + "?_token=" + access_token; // 클라이언트가 요청을 보낼 서버의 URL 주소
+
+ URL url = new URL(urlstr);
+ HttpURLConnection urlconnection = (HttpURLConnection) url.openConnection();
+ // get 방식으로 전송
+ urlconnection.setRequestMethod("GET");
+
+ BufferedReader br = new BufferedReader(new InputStreamReader(urlconnection.getInputStream(), "UTF-8"));
+
+ String returnLine;
+
+ while((returnLine = br.readLine()) != null) {
+ result.append(returnLine);
+ System.out.println(br.readLine());
+ }
+
+ urlconnection.disconnect();
+
+ System.out.println(result.toString());
+
+
+ req.setAttribute("json", result);
+
+ return result.toString();
+
}
-
+ // 회원가입 본인인증 토큰생성
+ @ResponseBody
+ @RequestMapping(value="duplicate.do", method= {RequestMethod.POST})
+ public int duplicate(HttpServletRequest req, Model model) throws Exception {
+ System.out.println("[url => duplicate]");
+
+ String unique_key = req.getParameter("unique_key");
+
+ Map map = new HashMap();
+ map.put("unique_key", unique_key);
+
+ return service.duplicateAction(map);
+ }
+
// 회원가입 처리 페이지
@RequestMapping("registerAction.do")
public String registerAction(HttpServletRequest req, Model model) {
-
+
service.registerAction(req, model);
-
+
return "customer/account/registerAction";
}
-
- // 회원가입 성공
+
+ // 회원가입 성공
@RequestMapping("mainSuccess.do")
public String mainSuccess(HttpServletRequest req, Model model) {
-
+
// mainSuccess.do?insertCnt=" + cnt
int cnt = Integer.parseInt(req.getParameter("selectCnt"));
req.setAttribute("selectCnt", cnt);
-
+
return "customer/account/login";
}
-
+
// 이메일 인증 처리
@ResponseBody
@RequestMapping(value = "usermailCheck.do", method = RequestMethod.POST)
@@ -150,9 +182,9 @@ public String usermailSending(HttpServletRequest req, Model model) throws IOExce
Random r = new Random();
int dice = r.nextInt(4589362) + 49311; // 이메일로 받는 인증코드 부분 (난수)
String setfrom = "xkrrhsdl7@gmail.com"; // 전송자 이메일
-
+
String toEmail = req.getParameter("userEmail"); // 받는 사람 이메일
-
+
System.out.println("email : " + toEmail);
String title = "[본인인증]KOSMO BANK 회원가입 인증 이메일입니다."; // 제목
String content =
@@ -195,114 +227,96 @@ public String usermailSending(HttpServletRequest req, Model model) throws IOExce
return jo.toJSONString();
}
-
+
// 로그인 페이지
@RequestMapping("login")
public String loginform(HttpServletRequest req, Model model) {
System.out.println("url==>login");
logger.info("url ==> login");
-
+
return "/customer/account/login";
}
-
- /*
- * // 로그인 처리
- *
- * @RequestMapping("loginAction") public String loginAction(HttpServletRequest
- * req, Model model) { logger.info("url ==> loginAction");
- *
- * service.loginAction(req, model);
- *
- * return "customer/account/login"; }
- */
-
+
// 로그아웃 페이지
@RequestMapping("logoutAction.do")
public String logout(HttpServletRequest req, Model model) {
System.out.println("url ==> logout");
logger.info("url ==> logout");
-
+
return "customer/account/logOutAction";
}
-
+
// 회원탈퇴 확인 팝업
@RequestMapping("deleteCustomer")
public String deletecustomer(HttpServletRequest req, Model model) {
logger.info("[url ==> /deletecustomer.us]");
-
-
-
+
// 이동할 페이지
return "/customer/account/deletecustomer";
}
-
+
// 회원탈퇴 처리
@RequestMapping("deleteCustomerAction")
public String deletecustomerAction(HttpServletRequest req, Model model) {
logger.info("[url ==> /deletecustomerAction.us]");
-
+
service.deleteCustomerAction(req, model);
-
+
// 이동할 페이지
- return "/customer/account/deletecustomerAction";
+ return "/customer/account/deletecustomerAction";
}
-
-
+
// 회원수정 인증 페이지
@RequestMapping("customerUpdate")
public String customerUpdate(HttpServletRequest req, Model model) {
logger.info("[url ==> /customerUpdate.us]");
-
-
-
+
// 이동할 페이지
return "/customer/account/customerUpdate";
}
-
-
+
// 회원수정 인증 처리 후 수정 페이지
@RequestMapping("customerDetailAction")
public String customerDetailAction(HttpServletRequest req, Model model) {
-
+
logger.info("[url ==> /customerDetailAction]");
-
+
service.modifyDetailAction(req, model);
-
+
// 이동할 페이지
return "/customer/account/customerDetailAction";
}
-
+
// 회원수정 처리 페이지
@RequestMapping("customerUpdateAction")
public String customerUpdateAction(HttpServletRequest req, Model model) {
-
+
logger.info("[url ==> /customerUpdateAction.us]");
-
+
service.modifyCustomerAction(req, model);
-
-
+
// 이동할 페이지
return "/customer/account/customerUpdateAction";
}
-
+
// 마이페이지(탁곤)
@RequestMapping("myPage")
public String mypage(HttpServletRequest req, Model model) {
System.out.println("url ==> mypage");
logger.info("url ==> mypage");
-
+
return "customer/myPage";
}
-
+
// 아이디 찾기 페이지(탁곤)
@RequestMapping("idFind.do")
public String idFind(HttpServletRequest req, Model model) {
System.out.println("url ==> idFind.do");
logger.info("url ==> idFind.do");
-
+
return "customer/account/idFind";
}
-
+
// 아이디 찾기 액션(탁곤)
@RequestMapping("idFindAction.do")
public String idFindAction(HttpServletRequest req, Model model) {
@@ -311,16 +325,16 @@ public String idFindAction(HttpServletRequest req, Model model) {
service.idFindAction(req, model);
return "customer/account/idFindAction";
}
-
+
// 비밀번호 찾기 페이지(탁곤)
@RequestMapping("pwFind.do")
public String pwFind(HttpServletRequest req, Model model) {
System.out.println("url ==> pwFind.do");
logger.info("url ==> pwFind.do");
-
+
return "customer/account/pwFind";
}
-
+
// 비밀번호 찾기 액션(탁곤)
@RequestMapping("pwFindAction.do")
public String pwFindAction(HttpServletRequest req, Model model) {
@@ -328,58 +342,234 @@ public String pwFindAction(HttpServletRequest req, Model model) {
logger.info("url ==> pwFindAction.do");
service.pwFindAction(req, model);
return "customer/account/pwFindAction";
- }
-
- //예금 상품 조회(지현) depositList
+ }
+
+ // 예금 상품 조회(지현) depositList
@RequestMapping("depositList.do")
public String depositList(HttpServletRequest req, Model model) {
logger.info("url => depositList");
-
+
service.depositList(req, model);
-
+
return "customer/depositProduct/depositList";
}
-
- //예금상품검색(지현)
+
+ // 예금상품검색(지현)
@RequestMapping("depositProductSearch.do")
public String depositProductSearch(HttpServletRequest req, Model model) {
System.out.println("[url ==> /depositProductSearch]");
service.searchDepositProduct(req, model);
return "customer/depositProduct/depositProductSearch";
}
-
- //예금 상품 상세 보기 (지현)
+
+ // 예금 상품 상세 보기 (지현)
@RequestMapping("depositDetail.do")
public String depositDetail(HttpServletRequest req, Model model) {
logger.info("url => depositDetail");
-
+
service.depositDetail(req, model);
-
+
return "customer/depositProduct/depositDetail";
}
+
+ //예금 상품 상세에서 신청하기 누르면 신청 화면 (지현)
+ @RequestMapping("depositProductJoin")
+ public String depositProductInsert(HttpServletRequest req, Model model) {
+ logger.info("url => depositProductJoin");
+
+ service.setDepositProductJoin(req, model);
+
+ return "customer/depositProduct/depositProductJoin";
+ }
- //예금 상품 신청(지현)
+ //예금 상품 신청 화면에서 확인 눌렀을때 -> account 계좌 생성 & deposit 테이블에 insert(지현)
@RequestMapping("depositProductAction")
- public String depositProductInsert(HttpServletRequest req, Model model) {
- logger.info("url => depositProductInsert");
+ public String depositAccess(HttpServletRequest req, Model model) {
+ logger.info("url => depositAccess");
+
+ //계좌개설 insert account
+ service.makeAccount(req, model);
+
+ System.out.println("계좌 개설 후 예금 테이블 insert service go ======");
+
+ //예금 상품 insert
+ service.insertDeposit(req, model);
+
+ return "customer/depositProduct/depositAction";
+ }
+
+ //연금 상품 목록 (지현)
+ @RequestMapping("irpProductList.do")
+ public String irpProductList(HttpServletRequest req, Model model) {
+ logger.info("url => irpProductList");
- service.insertDeposit(req, model);
+ service.irpList(req, model);
+
+ return "customer/irp/irpProductList";
+ }
+
+ //연금 상품검색(지현) - 고객
+ @RequestMapping("irpProductSearch.do")
+ public String irpProductSearch(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /irpProductSearch]");
- return "customer/depositProduct/depositProductAction";
+ service.irpProductSearch(req, model);
+
+ return "customer/irp/irpProductSearch";
+ }
+
+ //연금 상품 상세 보기 (지현) -고객
+ @RequestMapping("irpDetail.do")
+ public String irpDetail(HttpServletRequest req, Model model) {
+ logger.info("url => irpDetail");
+
+ service.irpDetail(req, model);
+
+ return "customer/irp/irpDetail";
+ }
+
+ //연금 상품 신청화면(지현) - 고객
+ @RequestMapping("irpProductJoin")
+ public String irpProductAction(HttpServletRequest req, Model model) {
+ logger.info("url => irpProductJoin");
+
+ service.irpProductJoin(req, model);
+
+ return "customer/irp/irpProductJoin";
+ }
+
+ //연금 상품 신청 화면에서 확인 눌렀을때 -> account 계좌 생성 & irp 테이블에 insert(지현)
+ @RequestMapping("irpProductAction")
+ public String irpAccess(HttpServletRequest req, Model model) {
+ logger.info("url => irpProductAction");
+
+ //계좌개설 insert account
+ service.makeAccount(req, model);
+
+ System.out.println("계좌 개설 후 예금 테이블 insert service go ======");
+
+ //연금 상품 insert
+ service.insertIrp(req, model);
+
+ return "customer/irp/irpAction";
+ }
+
+
+ //적금 상품 조회(지호) - 고객
+ @RequestMapping("savingList")
+ public String savingList(HttpServletRequest req, Model model) {
+ logger.info("url => savingList");
+
+ service.savingList(req, model);
+
+ return "customer/savingProduct/savingList";
+ }
+
+ //적금 상품검색(지호) - 고객
+ @RequestMapping("savingProductSearch")
+ public String savingProductSearch(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /savingProductSearch]");
+ service.savingProductSearch(req, model);
+ return "customer/savingProduct/savingProductSearch";
+ }
+
+ //적금 상품 상세 보기 (지호) -고객
+ @RequestMapping("savingDetail")
+ public String savingDetail(HttpServletRequest req, Model model) {
+ logger.info("url => savingDetail");
+
+ service.savingDetail(req, model);
+
+ return "customer/savingProduct/savingDetail";
+ }
+
+ //적금 상품 신청(지호)
+ @RequestMapping("savingProductInsert")
+ public String savingProductInsert(HttpServletRequest req, Model model) {
+ logger.info("url => savingProductInsert");
+
+ service.savingProductAction(req, model);
+
+ return "customer/savingProduct/savingProductJoin";
+ }
+
+ // 적금 상품 신청 처리(지호) 해야함
+ @RequestMapping("savingProductAction")
+ public String savingProductAction(HttpServletRequest req, Model model) {
+ logger.info("url => savingProductAction");
+
+ return "customer/savingProduct/savingProductAction";
+ }
+
+ //예금 상품 상세에서 신청하기 누르면 신청 화면 (지현)
+// @RequestMapping("depositProductJoin")
+// public String depositProductInsert(HttpServletRequest req, Model model) {
+// logger.info("url => depositProductJoin");
+//
+// service.setDepositProductJoin(req, model);
+//
+// return "customer/depositProduct/depositProductJoin";
+// }
+
+ //
+ // 펀드 상품 조회(지호) - 고객
+ @RequestMapping("fundList")
+ public String fundList(HttpServletRequest req, Model model) {
+ logger.info("url => fundList");
+
+ service.fundList(req, model);
+
+ return "customer/fundProduct/fundList";
+ }
+
+ // 펀드 상품검색(지호) - 고객
+ @RequestMapping("fundProductSearch")
+ public String fundProductSearch(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /fundProductSearch]");
+ service.fundProductSearch(req, model);
+ return "customer/fundProduct/fundProductSearch";
+ }
+
+ // 펀드 상품 상세 보기 (지호) -고객
+ @RequestMapping("fundDetail")
+ public String fundDetail(HttpServletRequest req, Model model) {
+ logger.info("url => savingDetail");
+
+ service.fundDetail(req, model);
+
+ return "customer/fundProduct/fundDetail";
+ }
+
+ // 펀드 상품 신청(지호)
+ @RequestMapping("fundProductInsert")
+ public String fundProductInsert(HttpServletRequest req, Model model) {
+ logger.info("url => fundProductInsert");
+
+ service.fundProductAction(req, model);
+
+ return "customer/fundProduct/fundProductInsert";
+ }
+
+ // 펀드 상품 신청 처리(지호) 해야함
+ @RequestMapping("fundProductAction")
+ public String fundProductAction(HttpServletRequest req, Model model) {
+ logger.info("url => fundProductAction");
+
+ return "customer/fundProduct/fundProductAction";
}
//qna 게시판(지현)
@RequestMapping("qnaList")
public String qnaList(HttpServletRequest req, Model model) {
logger.info("url => qnaList");
-
- //회원qna리스트 출력 메서드 service
+
+ // 회원qna리스트 출력 메서드 service
service.inquiryList(req, model);
-
+
return "customer/qna/qnaList";
}
-
- //qna 작성 게시판 (지현)
+
+ // qna 작성 게시판 (지현)
@RequestMapping("qnaWrite")
public String qnaWrite(HttpServletRequest req, Model model) {
logger.info("url => qnaWrite");
@@ -402,114 +592,435 @@ public String qnaWrite(HttpServletRequest req, Model model) {
req.setAttribute("inquiry_id", inquiry_id);
req.setAttribute("pageNum", pageNum);
req.setAttribute("inquiry_ref", inquiry_ref);
-
+
return "customer/qna/qnaWrite";
}
-
- //qna 작성 처리페이지(지현)
+
+ // qna 작성 처리페이지(지현)
@RequestMapping("qnaWriteAction")
public String qnaWriteAction(HttpServletRequest req, Model model) {
logger.info("url => qnaWriteAction");
-
+
service.inquiryWriteAction(req, model);
-
+
return "customer/qna/qnaWriteAction";
}
-
- //qna 상세보기 (지현)
+
+ // qna 상세보기 (지현)
@RequestMapping("qnaDetail")
public String qnaDetail(HttpServletRequest req, Model model) {
logger.info("url => qnaDetail");
-
+
service.InquiryDetailAction(req, model);
-
+
return "customer/qna/qnaDetail";
}
-
- //qna 비밀번호 check(지현)
+
+ // qna 비밀번호 check(지현)
@RequestMapping("qnaModifyCheck")
public String qnaModifyCheck(HttpServletRequest req, Model model) {
logger.info("url => qnaModifyCheck");
-
+
int inquiry_id = Integer.parseInt(req.getParameter("inquiry_id"));
int pageNum = Integer.parseInt(req.getParameter("pageNum"));
-
- //4단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
+
+ // 4단계. jsp로 전달하기 위해 request나 session에 처리 결과를 저장
req.setAttribute("inquiry_id", inquiry_id);
req.setAttribute("pageNum", pageNum);
-
+
return "customer/qna/qnaModifyCheck";
}
-
- //qna 수정 상세 페이지 (지현)
+
+ // qna 수정 상세 페이지 (지현)
@RequestMapping("qnaModifyDetail")
public String qnaModifyDetail(HttpServletRequest req, Model model) {
logger.info("url => qnaModifyDetail");
-
+
service.InquiryModifyDetailAction(req, model);
-
+
return "customer/qna/qnaModifyDetail";
-
+
}
-
- //수정비밀번호 (지현)
+
+ // 수정비밀번호 (지현)
@RequestMapping("qnaConfirm")
public String qnaConfirm(HttpServletRequest req, Model model) {
-
+
service.QnaPasswordConfirm(req, model);
-
+
return "customer/qna/qnaConfirm";
}
-
- //qna 수정 처리 페이지 (지현)
+
+ // qna 수정 처리 페이지 (지현)
@RequestMapping("qnaModifyAction")
public String qnaModifyAction(HttpServletRequest req, Model model) {
logger.info("url => qnaModifyAction");
-
+
service.inquiryModifyAction(req, model);
-
+
return "customer/qna/qnaModifyAction";
}
-
-
- //삭제 처리 (지현)
+
+ // 삭제 처리 (지현)
@RequestMapping("qnaDeleteAction")
public String qnaDeleteAction(HttpServletRequest req, Model model) {
logger.info("url => qnaDeleteAction");
-
+
service.inquiryDelete(req, model);
-
+
return "customer/qna/qnaDeleteAction";
}
-
- //자주묻는 질문 (지현)
+
+ // 자주묻는 질문 (지현)
@RequestMapping("faqList.do")
public String faqList(HttpServletRequest req, Model model) {
logger.info("url => faqList");
-
+
service.faqList(req, model);
-
+
return "customer/qna/faqList";
}
-
// 환율 리스트 출력(지호)
@RequestMapping("exchangeList.do")
public String exchangeList(HttpServletRequest req, Model model) {
System.out.println("url ==> exchangeList.do");
-
+
service.exchangeList(req, model);
-
+
return "exchangeList";
}
-
+
// 환전하기 (지호)
@RequestMapping("exchange.do")
public String exchange(HttpServletRequest req, Model model) {
System.out.println("url ==> exchange.do");
-
+
return "exchange";
- }
+ }
+
+ // 회원 이체(계좌 찾기)(유성)
+ @RequestMapping("transfer")
+ public String transfer(HttpServletRequest req, Model model) {
+ System.out.println("ulr ==> transfer");
+ logger.info("url ==> transfer");
+
+ service.getAccount(req, model);
+
+ return "customer/bank/transfer";
+ }
+
+ // 회원 이체(계좌 비밀번호 인증)(유성)
+ @RequestMapping("account_confirm")
+ public String account_password(HttpServletRequest req, Model model) {
+ System.out.println("ulr ==> account_confirm");
+ logger.info("url ==> account_confirm");
+
+ // service.accountPwdConfirm(req, model);
+
+ return "customer/bank/account_confirm";
+ }
+
+ //!!!!!!!!!!지은!!!!!!!!!!!
+
+
+ // 대출 상환 목록
+ @RequestMapping("loanHistoryList.do")
+ public String loanHistoryList(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanHistoryList]");
+ //service.loanHistoryList(req, model);
+ return "customer/loan/loanHistoryList";
+ }
+
+ // 대출중인 상품 목록
+ @RequestMapping("loanAccountList.do")
+ public String loanAccountList(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanAccountList]");
+ service.loanList(req, model);
+ return "customer/loan/loanAccountList";
+ }
+
+ // 대출 계좌 거래내역
+ @RequestMapping("loanAccountDetail.do")
+ public String loanAccountDetail(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanAccountDetail]");
+ return "customer/loan/loanAccountDetail";
+ }
+
+ // 대출 해지 목록
+ @RequestMapping("loanCancelList.do")
+ public String loanCancelList(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanCancelList]");
+ service.loanCancelList(req, model);
+ return "customer/loan/loanCancelList";
+ }
+
+ // 대출 해지 처리
+ @RequestMapping("loanCancelAction.do")
+ public String loanCancelAction(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanCancelAction]");
+ service.loanAccountCancelAction(req, model);
+ return "customer/loan/loanCancelAction";
+ }
+
+ // 대출 해지 상세
+ @RequestMapping("loanCancelDetail.do")
+ public String loanCancelDetail(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanCancelDetail]");
+ return "customer/loan/loanCancelDetail";
+ }
+
+ // 대출 자동이체
+ @RequestMapping("loanDirectDebit.do")
+ public String loanDirectDebit(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanDirectDebit]");
+ return "customer/loan/loanDirectDebit";
+ }
+
+ // 대출 원금 목록
+ @RequestMapping("loanPrincipalList.do")
+ public String loanPrincipalList(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanPrincipalList]");
+ return "customer/loan/loanPrincipalList";
+ }
+
+ // 대출 상환 상세
+ @RequestMapping("loanPrincipalRateList.do")
+ public String loanPrincipalRateList(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanPrincipalRateList]");
+ service.loanPrincipalRateList(req, model);
+ return "customer/loan/loanPrincipalRateList";
+ }
+
+ // 대출 원금 상세
+ @RequestMapping("loanPrincipalDetail.do")
+ public String loanPrincipalDetail(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanPrincipalDetail]");
+ return "customer/loan/loanPrincipalDetail";
+ }
+
+ // 대출 원금 납부
+ @RequestMapping("loanPrincipalRatePayment.do")
+ public String loanPrincipalRatePayment(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanPrincipalRatePayment]");
+ service.loanPaymentDetail(req, model);
+ return "customer/loan/loanPrincipalRatePayment";
+ }
+
+ // 대출 원금 납부
+ @RequestMapping("loanPaymentAction.do")
+ public String loanPaymentAction(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanPaymentAction]");
+ service.loanPaymentAction(req, model);
+ return "customer/loan/loanPaymentAction";
+ }
+
+ // 대출 원금 납부
+ @RequestMapping("loanPrincipalPayment.do")
+ public String loanPrincipalPayment(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanPrincipalPayment]");
+ return "customer/loan/loanPrincipalPayment";
+ }
+
+ // 대출 이자 목록
+ @RequestMapping("loanRateList.do")
+ public String loanRateList(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanRateList]");
+ return "customer/loan/loanRateList";
+ }
+
+ // 대출 이자 상세
+ @RequestMapping("lo"
+ + "anRateDetail.do")
+ public String loanRateDetail(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanRateDetail]");
+ return "customer/loan/loanRateDetail";
+ }
+
+ // 대출 이자 납부
+ @RequestMapping("loanRatePayment.do")
+ public String loanRatePayment(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /loanRatePayment]");
+ return "customer/loan/loanRatePayment";
+ }
+
+ // 대출 상품 목록
+ @RequestMapping("newLoanList.do")
+ public String newLoanList(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /newLoanList]");
+
+ service.loanProductList(req, model);
+ return "customer/loan/newLoanList";
+ }
+
+ // 대출 상품 상세
+ @RequestMapping("newLoanDetail.do")
+ public String newLoanDetail(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /newLoanDetail]");
+ service.newLoanDetail(req, model);
+ return "customer/loan/newLoanDetail";
+ }
+
+ // 신규대출폼
+ @RequestMapping("newLoanSign.do")
+ public String newLoanSign(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /newLoanSign]");
+ service.signInfo(req, model);
+ return "customer/loan/newLoanSign";
+ }
+
+ // 신규대출신청
+ @RequestMapping("newLoanSignAction.do")
+ public String newLoanSignAction(HttpServletRequest req, Model model) throws ParseException {
+ logger.info("[url ==> /newLoanSign]");
+ service.newLoanSignAction(req, model);
+ return "customer/loan/newLoanSignAction";
+ }
+
+ // 대출약관
+ @RequestMapping("terms.do")
+ public String terms(HttpServletRequest req, Model model) {
+ logger.info("[url ==> /terms]");
+ return "customer/loan/terms";
+ }
+
+ @RequestMapping("searchLoanProductList.do")
+ public String searchLoanProductList(HttpServletRequest req, Model model) {
+ System.out.println("[url ==> /searchLoanProductList]");
+ service.searchLoanProductList(req, model);
+ return "customer/loan/searchLoanProductList";
+ }
+ //!!!!!!!!!!지은!!!!!!!!!!!
+
+ // 회원 자동 이체(유성)
+ @RequestMapping("auto_transfer")
+ public String auto_transfer(HttpServletRequest req, Model model) {
+ System.out.println("ulr ==> auto_transfer");
+ logger.info("url ==> auto_transfer");
+
+ return "customer/bank/auto_transfer";
+ }
+
+ // 회원 다계좌 이체(유성)
+ @RequestMapping("transfer_one_to_num")
+ public String transfer_one_to_num(HttpServletRequest req, Model model) {
+ System.out.println("ulr ==> transfer_one_to_num");
+ logger.info("url ==> transfer_one_to_num");
+
+ return "customer/bank/transfer_one_to_num";
+ }
+
+
+ // 예금리스트(민재)
+ @RequestMapping("deposit.do")
+ public String deposit(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /deposit.us]");
+
+ service.myDepositList(req, model);
+
+ // 이동할 페이지
+ return "customer/myaccount/myDepositList";
+ }
+
+ // 예금서브리스트(민재)
+ @RequestMapping("myDepositSubList.do")
+ public String subList(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /myDepositSubList.us]");
+
+ service.myDepositSubList(req, model);
+
+ // 이동할 페이지
+ return "customer/myaccount/myDepositSubList";
+ }
+
+ // 적금리스트(민재)
+ @RequestMapping("saving.do")
+ public String saving(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /saving.us]");
+
+ service.mySavingList(req, model);
+
+ // 이동할 페이지
+ return "customer/myaccount/mySavingList";
+ }
+
+ // 적금서브리스트(민재)
+ @RequestMapping("mySavingSubList.do")
+ public String mySavingSubList(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /myDepositSubList.us]");
+
+ service.mySavingSubList(req, model);
+
+ // 이동할 페이지
+ return "customer/myaccount/mySavingSubList";
+ }
+
+ // 연금리스트(민재)
+ @RequestMapping("irp.do")
+ public String irp(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /irp.us]");
+
+ service.myIrpList(req, model);
+
+ // 이동할 페이지
+ return "customer/myaccount/myIRPList";
+ }
+
+ // 공지사항리스트(민재)
+ @RequestMapping("noticeList.do")
+ public String noticeList(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /noticeList.us]");
+
+ service.noticeList(req, model);
+
+ // 이동할 페이지
+ return "customer/notice/noticeList";
+ }
+
+ // 공지사항상세페이지(민재)
+ @RequestMapping("noticeDetail.do")
+ public String noticeDetail(HttpServletRequest req, Model model) {
+
+ logger.info("[url ==> /noticeList.us]");
+
+ service.noticeDetailAction(req, model);
+
+ // 이동할 페이지
+ return "customer/notice/noticeDetail";
+ }
+
+ // 회원 이체(유성)
+ @RequestMapping("transfer_confirm")
+ public String transfer_confirm(HttpServletRequest req, Model model) {
+ System.out.println("ulr ==> transfer_confirm");
+ logger.info("url ==> transfer_confirm");
+
+ return "customer/bank/transfer_confirm";
+ }
+
+ // 회원 이체 내역(유성)
+ @RequestMapping("transfer_List")
+ public String transfer_List(HttpServletRequest req, Model model) {
+ System.out.println("ulr ==> transfer_List");
+ logger.info("url ==> transfer_List");
+
+ return "customer/bank/transfer_List";
+ }
+
+ // 회원 자동이체 내역(유성)
+ @RequestMapping("auto_transfer_List")
+ public String auto_transfer_List(HttpServletRequest req, Model model) {
+ System.out.println("ulr ==> auto_transfer_List");
+ logger.info("url ==> auto_transfer_List");
+
+ return "customer/bank/auto_transfer_List";
+ }
// 가계부 페이지
@RequestMapping("accountBook")
@@ -538,4 +1049,20 @@ public String deleteAccountBook(HttpServletRequest req, Model model) {
return "redirect:accountBook";
}
+
+ // 계좌연동
+ @RequestMapping("myAccountList")
+ public String myAccountList(HttpServletRequest req, Model model) {
+
+
+ return "customer/bank/myAccountList";
+ }
+
+ // 계좌연동
+ @RequestMapping("accountConnect")
+ public String accountConnect(HttpServletRequest req, Model model) {
+
+
+ return "customer/bank/accountConnect";
+ }
}
diff --git a/src/main/java/com/spring/bank/user/dao/CustomerDAO.java b/src/main/java/com/spring/bank/user/dao/CustomerDAO.java
index e499ef2..f3da6e8 100644
--- a/src/main/java/com/spring/bank/user/dao/CustomerDAO.java
+++ b/src/main/java/com/spring/bank/user/dao/CustomerDAO.java
@@ -1,107 +1,211 @@
package com.spring.bank.user.dao;
+import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.spring.bank.product.vo.DepositProductVO;
+import com.spring.bank.product.vo.FundProductVO;
+import com.spring.bank.product.vo.IrpProductVO;
+import com.spring.bank.product.vo.SavingProductVO;
import com.spring.bank.user.vo.AccountBookVO;
+import com.spring.bank.user.vo.AccountVO;
import com.spring.bank.user.vo.CrawlerVO;
+import com.spring.bank.user.vo.DepositVO;
import com.spring.bank.user.vo.InquiryVO;
+import com.spring.bank.user.vo.LoanHistoryVO;
+import com.spring.bank.product.vo.LoanProductVO;
+import com.spring.bank.user.vo.LoanVO;
+import com.spring.bank.user.vo.MyDepositVO;
+import com.spring.bank.user.vo.MyIRPVO;
+import com.spring.bank.user.vo.MySavingVO;
+import com.spring.bank.user.vo.NoticeVO;
+import com.spring.bank.user.vo.TransferVO;
import com.spring.bank.user.vo.UserVO;
import com.spring.bank.user.vo.faqVO;
public interface CustomerDAO {
-
+
// ID 중복확인 처리
public int idCheck(Map map);
+ // 명의 중복확인 처리
+ public int duplicateCheck(Map map);
+
// 회원가입 처리
public int insertUser(UserVO vo);
-
+
// 로그인 처리
public int idPasswordChk(Map map);
-
+
// 이메일 인증 성공 처리
public int emailSuccess(UserVO vo);
-
+
// 이메일 인증
public int emailChk(String strId);
// 회원정보 탈퇴 처리
public int deleteUser(String strId);
-
+
// 회원정보 상세 페이지 처리
public UserVO getUserInfo(String strId);
-
+
// 회원 정보 수정 처리
public int updateUser(UserVO vo);
-
+
// 아이디 찾기
public UserVO idFind(Map map);
-
+
// 비밀번호 찾기(입력받은 정보로 멤버 정보 가져오기) 이메일 발송 위해
public UserVO customerFind(Map map);
-
+
// 비밀번호 변경(재설정한 비밀번호 저장)
public int updatePassword(UserVO vo);
- //문의사항 갯수
+ // 문의사항 갯수
public int getInquiryCnt();
-
- //문의사항 조회
+
+ // 문의사항 조회
public List getInquiryList(Map map);
- //문의사항 추가 처리
+ // 문의사항 추가 처리
public int insertInquiry(InquiryVO vo);
-
- //문의사항 조회수 증가
+
+ // 문의사항 조회수 증가
public int addReadCnt(int inquiry_id);
-
- //문의사항 상세페이지 조회
+
+ // 문의사항 상세페이지 조회
public InquiryVO getQnaDetail(int inquiry_id);
// //qna 게시글 비밀번호 인증,(수정, 삭제 )
// public int numPasswordCheck(Map map);
- //
- //qna 수정 처리
+
+ // qna 수정 처리
public int updateQna(InquiryVO vo);
-
- //qna 삭제 처리
+
+ // qna 삭제 처리
public int deleteQna(int inquiry_id);
-
- //faq 갯수 구하기
+
+ // faq 갯수 구하기
public int getFaqCnt();
-
- //faq 조회
+
+ // faq 조회
public List getFaqList(Map map);
-
- //예금 상품갯수
+
+ // 예금 상품갯수
public int getDepositCnt();
//예금 상품 조회
- public List getDepositList(Map map);
+ public List getDepositList(Map map);
// 관리자 페이지 예금 상품 수(검색결과수)
public int getDepositProductSearchCnt(String search);
-
+
// 관리자 페이지 예금 상품 검색(입력받아서 검색)
public ArrayList searchDepositProduct(Map map);
-
- //예금 상품 상세 보기
+
+ // 예금 상품 상세 보기
public DepositProductVO getDepositDetail(String deposit_product_name);
+
+ // 연금 상품갯수
+ public int getIrpCnt();
+
+ // 연금 상품 조회
+ public List getIrpList(Map map);
+
+ // 연금 상품 수(검색결과수)
+ public int getIrpProductSearchCnt(String search);
+
+ // 연금 상품 검색(입력받아서 검색)
+ public ArrayList searchIrpProduct(Map map);
+
+ // 연금 상품 상세 보기
+ public IrpProductVO getIrpDetail(String irp_product_name);
+
+ //연금 상품 신청하기
+// public int irpInsert(IrpProductVO vo);
+
+ // 적금 상품갯수
+ public int getSavingCnt();
+
+ // 적금 상품 조회
+ public List getSavingList(Map map);
+
+ // 적금 상품 수(검색결과수)
+ public int getSavingProductSearchCnt(String search);
+
+ // 적금 상품 검색(입력받아서 검색)
+ public ArrayList searchSavingProduct(Map map);
+
+ // 적금 상품 상세 보기
+ public SavingProductVO getSavingDetail(String saving_product_name);
+
+ // 적금 신청
+ public int savingProductAction(SavingProductVO vo);
+
+ // 펀드 상품갯수
+ public int getFundCnt();
+ // 펀드 상품 조회
+ public List getFundList(Map map);
+
+ // 펀드 상품 수(검색결과수)
+ public int getFundProductSearchCnt(String search);
+
+ // 펀드 상품 검색(입력받아서 검색)
+ public ArrayList searchFundProduct(Map map);
+
+ // 펀드 상품 상세 보기
+ public FundProductVO getFundDetail(String fund_title);
+
+ // 펀드 신청
+ public int fundProductAction(FundProductVO vo);
+
+ //예금 신청 처리 insert
+ public int insertDeposit(DepositVO vo);
+
+ //멤버의 unique_key가져오기
+ public String getUniqueKey(String id);
+
+ //예금 신청 시 계좌 생성
+ public int insertAccount(AccountVO vo);
+
// 환율 저장 후 출력
public int exchangeIn(CrawlerVO vo);
-
+
// 환율 체크
public int exchangeChk(String exchange_country);
-
+
// 환율 최신화
public int exchangeUpd(CrawlerVO vo);
-
+
// 환율 증감식 -> db에 있는 정보 출력
public String exchangeVary(String country);
+
+ // 회원 계좌 찾기
+ public List accountFind(String strId);
+
+ // 회원 계좌 비밀번호 확인
+ public int account_pwd(String strId);
+
+ // 회원 이체 확인
+ public int transfer_confirm(TransferVO vo);
+
+ // 회원 이체(보낸 사람 이체 정보 추가)
+ public int transferSenderConfirm(TransferVO vo);
+
+ // 받는 사람 이체 정보 추가
+ public int transferReceiverConfirm(TransferVO vo);
+
+ // 보낸사람 계좌 정보 변경(금액)
+ public int transfer_sender(AccountVO vo);
+
+ // 받는사람 계좌 정보 변경(금액)
+ public int transfer_receiver(AccountVO vo);
+
+ // json db에 넣기
+ //public int jsonIn(List list);
// 가계부 내역추가
public int insertAccountBook(AccountBookVO vo);
@@ -114,4 +218,103 @@ public interface CustomerDAO {
// 가계부 통계조회
public ArrayList getAccountBookReport(String member_id);
+
+ public ArrayList loanList();
+
+ public Date getLoanDate();
+
+ public ArrayList getLoanCancelList(Map map);
+
+ public int getLoanCancelCnt(String member_id);
+
+ public ArrayList getLoanList(Map map);
+
+ public int getLoanCnt(Map map);
+
+ public ArrayList searchLoanProductList(Map map);
+
+ public int getSearchLoanProductCnt(String keyword);
+
+ public ArrayList getLoanProductList(Map map);
+
+ public int getLoanProductCnt();
+
+ public LoanProductVO getLoanProductInfo(String loan_product_name);
+
+ public ArrayList getLoanHistoryList(Map map);
+
+ public int getLoanHistoryCnt(String member_id);
+
+ public int newLoanSignAction(LoanVO loan);
+
+ public LoanVO getLoanInfo(Map map);
+
+ // 회원이름 불러오기(민재)
+ public String getName(String strId);
+
+ // 예금리스트 불러오기(민재)
+ public List depositList(Map map);
+
+ // 예금서브리스트 불러오기(민재)
+ public List depositSubList(Map map);
+
+ // 적금리스트 불러오기(민재)
+ public List savingList(Map map);
+
+ // 적금서브리스트 불러오기(민재)
+ public List savingSubList(Map map);
+
+ // 연금리스트 불러오기(민재)
+ public List irpList(Map map);
+
+ // 공지사항 글 개수 구하기(민재)
+ public int getNoticeCnt();
+
+ // 공지사항 리스트 불러오기(민재)
+ public List getNoticeList(Map map);
+
+ // 공지사항 조회수 증가(민재)
+ public int addNoticeReadCnt(int notice_num);
+
+ // 공지사항 상세 페이지(민재)
+ public NoticeVO getNoticeDetail(int notice_num);
+
+ // 대표 계좌 불러오기
+ public AccountVO getAccountDefault(String unique_key);
+
+ // 계좌 불러오기(연동 O)
+ public List getAccountLinked(String unique_key);
+
+ // 계좌 불러오기(연동 X)
+ public List getAccountUnLinked(String unique_key);
+
+ // 계좌 연동하기
+ public int accountLinkAction(Map map);
+
+ // 계좌 연동해지
+ public int accountUnLinkAction(Map map);
+
+ public int accountPayment(Map map);
+
+ public AccountVO getAccountInfo(Map map);
+
+ public int transferLoan(TransferVO trans);
+
+ public Integer getTransID(TransferVO trans);
+
+ public ArrayList getAccountInfos(Map map);
+
+ public int addLoanHistory(LoanHistoryVO history);
+
+ public int updateLoanPayment(LoanVO loan);
+
+ public int loanRequestAction(Map map);
+
+ public int loanAccountState1(Map map);
+
+ public int accountUniqueloan(Map map);
+
+
+ // 대표 계좌 설정
+
}
diff --git a/src/main/java/com/spring/bank/user/dao/CustomerDAOImpl.java b/src/main/java/com/spring/bank/user/dao/CustomerDAOImpl.java
index d99cda3..de2935b 100644
--- a/src/main/java/com/spring/bank/user/dao/CustomerDAOImpl.java
+++ b/src/main/java/com/spring/bank/user/dao/CustomerDAOImpl.java
@@ -1,5 +1,6 @@
package com.spring.bank.user.dao;
+import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -8,11 +9,23 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
-import com.spring.bank.admin.dao.AdminDAO;
import com.spring.bank.product.vo.DepositProductVO;
+import com.spring.bank.product.vo.FundProductVO;
+import com.spring.bank.product.vo.IrpProductVO;
+import com.spring.bank.product.vo.SavingProductVO;
import com.spring.bank.user.vo.AccountBookVO;
+import com.spring.bank.user.vo.AccountVO;
import com.spring.bank.user.vo.CrawlerVO;
+import com.spring.bank.user.vo.DepositVO;
import com.spring.bank.user.vo.InquiryVO;
+import com.spring.bank.user.vo.LoanHistoryVO;
+import com.spring.bank.product.vo.LoanProductVO;
+import com.spring.bank.user.vo.LoanVO;
+import com.spring.bank.user.vo.MyDepositVO;
+import com.spring.bank.user.vo.MyIRPVO;
+import com.spring.bank.user.vo.MySavingVO;
+import com.spring.bank.user.vo.NoticeVO;
+import com.spring.bank.user.vo.TransferVO;
import com.spring.bank.user.vo.UserVO;
import com.spring.bank.user.vo.faqVO;
@@ -21,14 +34,21 @@ public class CustomerDAOImpl implements CustomerDAO {
@Autowired
SqlSession sqlSession;
-
+
// 회원 가입 아이디 중복확인
@Override
public int idCheck(Map map) {
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
+
+ System.out.println(map.get("member_id"));
+ return sqlSession.getMapper(CustomerDAO.class).idCheck(map);
+ }
+
+ // 회원가입 명의 중복확인
+ @Override
+ public int duplicateCheck(Map map) {
System.out.println(map.get("member_id"));
- return dao.idCheck(map);
+ return sqlSession.getMapper(CustomerDAO.class).duplicateCheck(map);
}
// 회원가입 처리
@@ -36,67 +56,57 @@ public int idCheck(Map map) {
public int insertUser(UserVO vo) {
System.out.println("[DAO => InsertUser()]");
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
- return dao.insertUser(vo);
+ return sqlSession.getMapper(CustomerDAO.class).insertUser(vo);
}
// 이메일 인증 성공 처리
@Override
public int emailSuccess(UserVO vo) {
-
+
System.out.println("[DAO => emailSuccess()]");
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
- return dao.emailSuccess(vo);
+ return sqlSession.getMapper(CustomerDAO.class).emailSuccess(vo);
}
// 이메일 체크
@Override
public int emailChk(String id) {
System.out.println("[DAO => emailChk()]");
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
-
- return dao.emailChk(id);
+
+ return sqlSession.getMapper(CustomerDAO.class).emailChk(id);
}
// 로그인 및 회원 인증
@Override
public int idPasswordChk(Map map) {
System.out.println("[DAO => idPasswordChk()]");
-
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
-
- return dao.idPasswordChk(map);
+
+
+ return sqlSession.getMapper(CustomerDAO.class).idPasswordChk(map);
}
-
+
// 회원 탈퇴
- @Override
+ @Override
public int deleteUser(String id) {
System.out.println("[DAO => updateUser()]");
-
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
-
- return dao.deleteUser(id);
-
+
+ return sqlSession.getMapper(CustomerDAO.class).deleteUser(id);
+
}
-
+
// 회원정보 상세 페이지
@Override
- public UserVO getUserInfo(String id) {
+ public UserVO getUserInfo(String id) {
System.out.println("[DAO => getUserInfo()]");
-
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
-
- return dao.getUserInfo(id);
+
+ return sqlSession.getMapper(CustomerDAO.class).getUserInfo(id);
}
-
+
// 회원정보 수정 처리
@Override
public int updateUser(UserVO vo) {
System.out.println("[DAO => updateUser()]");
-
- CustomerDAO dao = sqlSession.getMapper(CustomerDAO.class);
-
- return dao.updateUser(vo);
+
+ return sqlSession.getMapper(CustomerDAO.class).updateUser(vo);
}
// 아이디 찾기
@@ -116,152 +126,321 @@ public UserVO customerFind(Map map) {
public int updatePassword(UserVO vo) {
return sqlSession.getMapper(CustomerDAO.class).updatePassword(vo);
}
-
- //문의사항 갯수(지현)
+ // 문의사항 갯수(지현)
@Override
public int getInquiryCnt() {
-
- int selectCnt = sqlSession.selectOne("com.spring.bank.user.dao.CustomerDAO.getInquiryCnt");
- return selectCnt;
+
+ return sqlSession.getMapper(CustomerDAO.class).getInquiryCnt();
}
- //문의사항 조회(지현)
+ // 문의사항 조회(지현)
@Override
public List getInquiryList(Map map) {
- // List list = sqlSession.selectList("com.spring.bank.admin.dao.AdminDAO.getInquiryList");
- List list = sqlSession.selectList("com.spring.bank.user.dao.CustomerDAO.getInquiryList", map);
- return list;
+
+ return sqlSession.getMapper(CustomerDAO.class).getInquiryList(map);
}
-
- //문의사항 추가 처리 페이지(지현)
+
+ // 문의사항 추가 처리 페이지(지현)
public int insertInquiry(InquiryVO vo) {
+
+
+ return sqlSession.getMapper(CustomerDAO.class).insertInquiry(vo);
+ }
+
+ // 문의사항 조회수 증가(지현)
+ public int addReadCnt(int inquiry_id) {
+
+ return sqlSession.getMapper(CustomerDAO.class).addReadCnt(inquiry_id);
+ }
+
+ // 문의사항 상세페이지 조회(지현)
+ public InquiryVO getQnaDetail(int inquiry_id) {
+
+ return sqlSession.getMapper(CustomerDAO.class).getQnaDetail(inquiry_id);
+ }
+
+ // qna 수정 처리 (지현)
+ public int updateQna(InquiryVO vo) {
+
+ return sqlSession.getMapper(CustomerDAO.class).updateQna(vo);
+ }
+
+ // qna 삭제 처리(지현)
+ public int deleteQna(int inquiry_id) {
+
+ return sqlSession.getMapper(CustomerDAO.class).deleteQna(inquiry_id);
+ }
+
+ // 자주묻는 질문 갯수 (지현)
+ @Override
+ public int getFaqCnt() {
+
+ return sqlSession.getMapper(CustomerDAO.class).getFaqCnt();
+ }
+
+ // 자주묻는 질문 조회(지현)
+ @Override
+ public List getFaqList(Map map) {
+
+ return sqlSession.getMapper(CustomerDAO.class).getFaqList(map);
+ }
+
+ // 예금 상품 갯수(지현)
+ @Override
+ public int getDepositCnt() {
+
+ return sqlSession.getMapper(CustomerDAO.class).getDepositCnt();
+ }
+
+ // 예금 상품 조회
+ @Override
+ public List getDepositList(Map map){
+
+ return sqlSession.getMapper(CustomerDAO.class).getDepositList(map);
+ }
+
+ // 관리자 페이지 예금 상품 수(검색결과수)
+ @Override
+ public int getDepositProductSearchCnt(String search) {
+ return sqlSession.getMapper(CustomerDAO.class).getDepositProductSearchCnt(search);
+ }
+
+ // 관리자 페이지 예금 상품 검색(입력받아서 검색)
+ @Override
+ public ArrayList searchDepositProduct(Map map) {
+ return sqlSession.getMapper(CustomerDAO.class).searchDepositProduct(map);
+ }
+
+ // 예금 상품 상세 보기
+ @Override
+ public DepositProductVO getDepositDetail(String deposit_product_name) {
- int selectCnt = sqlSession.insert("com.spring.bank.user.dao.CustomerDAO.insertInquiry", vo);
+ return sqlSession.getMapper(CustomerDAO.class).getDepositDetail(deposit_product_name);
+ }
+
+ // 연금 상품 갯수
+ @Override
+ public int getIrpCnt(){
- return selectCnt;
+ return sqlSession.getMapper(CustomerDAO.class).getIrpCnt();
+ }
+
+ // 연금 상품 조회
+ @Override
+ public List getIrpList(Map map){
+
+ return sqlSession.getMapper(CustomerDAO.class).getIrpList(map);
}
- //문의사항 조회수 증가(지현)
- public int addReadCnt(int inquiry_id) {
- int readCnt = sqlSession.update("com.spring.bank.user.dao.CustomerDAO.addReadCnt", inquiry_id);
+ // 관리자 페이지 연금 상품 수(검색결과수)
+ @Override
+ public int getIrpProductSearchCnt(String search) {
+ return sqlSession.getMapper(CustomerDAO.class).getIrpProductSearchCnt(search);
+ }
+
+ // 관리자 페이지 연금 상품 검색(입력받아서 검색)
+ @Override
+ public ArrayList searchIrpProduct(Map map){
- return readCnt;
+ return sqlSession.getMapper(CustomerDAO.class).searchIrpProduct(map);
}
- //문의사항 상세페이지 조회(지현)
- public InquiryVO getQnaDetail(int inquiry_id) {
+ // 연금 상품 상세 보기
+ @Override
+ public IrpProductVO getIrpDetail(String irp_product_name) {
+
+ return sqlSession.getMapper(CustomerDAO.class).getIrpDetail(irp_product_name);
+ }
+
+
+ // 적금 상품 갯수
+ @Override
+ public int getSavingCnt(){
- InquiryVO vo = sqlSession.selectOne("com.spring.bank.user.dao.CustomerDAO.getInquiryDetail", inquiry_id);
+ return sqlSession.getMapper(CustomerDAO.class).getSavingCnt();
+ }
+
+ // 적금 상품 조회
+ @Override
+ public List getSavingList(Map map){
- return vo;
+ return sqlSession.getMapper(CustomerDAO.class).getSavingList(map);
}
- //qna 수정 처리 (지현)
- public int updateQna(InquiryVO vo) {
- int updateCnt = sqlSession.update("com.spring.bank.user.dao.CustomerDAO.updateQna", vo);
-
- return updateCnt;
+ // 적금 상품 수(검색결과수)
+ @Override
+ public int getSavingProductSearchCnt(String search) {
+ return sqlSession.getMapper(CustomerDAO.class).getSavingProductSearchCnt(search);
}
- //qna 삭제 처리(지현)
- public int deleteQna(int inquiry_id) {
- int deleteCnt = sqlSession.delete("com.spring.bank.user.dao.CustomerDAO.deleteQna", inquiry_id);
-
- return deleteCnt;
+ // 적금 상품 검색(입력받아서 검색)
+ @Override
+ public ArrayList searchSavingProduct(Map map){
+ return sqlSession.getMapper(CustomerDAO.class).searchSavingProduct(map);
}
- //자주묻는 질문 갯수 (지현)
+ // 적금 상품 상세 보기
@Override
- public int getFaqCnt() {
- int selectCnt = sqlSession.selectOne("com.spring.bank.admin.dao.AdminDAO.getFaqCnt"); ;
-
+ public SavingProductVO getSavingDetail(String saving_product_name) {
- return selectCnt;
+ return sqlSession.getMapper(CustomerDAO.class).getSavingDetail(saving_product_name);
}
- //자주묻는 질문 조회(지현)
+ // 적금 신청
@Override
- public List getFaqList(Map map) {
-
- List list = sqlSession.selectList("com.spring.bank.admin.dao.AdminDAO.getFaqList", map);
- return list;
+ public int savingProductAction(SavingProductVO vo) {
+ return sqlSession.selectOne("com.spring.bank.user.dao.CustomerDAO.savingProductAction",vo);
}
- //예금 상품 갯수(지현)
+ // 펀드 상품 갯수
@Override
- public int getDepositCnt(){
- int selectCnt =sqlSession.selectOne("com.spring.bank.user.dao.CustomerDAO.getDepositCnt");
- return selectCnt;
+ public int getFundCnt(){
+
+ return sqlSession.getMapper(CustomerDAO.class).getFundCnt();
}
- //예금 상품 조회
+ // 적금 상품 조회
@Override
- public List getDepositList(Map map){
- List list = sqlSession.selectList("com.spring.bank.user.dao.CustomerDAO.getDepositList", map);
+ public List getFundList(Map map){
- return list;
+ return sqlSession.getMapper(CustomerDAO.class).getFundList(map);
}
- // 관리자 페이지 예금 상품 수(검색결과수)
+ // 관리자 페이지 적금 상품 수(검색결과수)
@Override
- public int getDepositProductSearchCnt(String search) {
- return sqlSession.getMapper(CustomerDAO.class).getDepositProductSearchCnt(search);
+ public int getFundProductSearchCnt(String search) {
+ return sqlSession.getMapper(CustomerDAO.class).getFundProductSearchCnt(search);
}
- // 관리자 페이지 예금 상품 검색(입력받아서 검색)
+ // 관리자 페이지 적금 상품 검색(입력받아서 검색)
@Override
- public ArrayList searchDepositProduct(Map map){
- return sqlSession.getMapper(CustomerDAO.class).searchDepositProduct(map);
+ public ArrayList