최초 세팅

This commit is contained in:
bd091
2025-10-18 11:02:29 +09:00
commit d2d07f57ac
452 changed files with 63476 additions and 0 deletions

37
.gitignore vendored Normal file
View File

@@ -0,0 +1,37 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 MiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

97
build.gradle Normal file
View File

@@ -0,0 +1,97 @@
plugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '3.2.1'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'com'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '21'
}
war {
archiveBaseName = 'madeu_petit_home'
archiveVersion = ''
archiveClassifier = ''
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
all {
// 로그 관련 (logging 모듈에 대한 의존성을 제거)
exclude group: "org.springframework.boot", module : "spring-boot-starter-logging"
// exclude group: 'ch.qos.logback', module: 'logback-classic'
// exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j'
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
testImplementation 'io.projectreactor:reactor-test'
// tomcat
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
// thymeleaf
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.3.0'
// lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//mybatis
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
// implementation 'com.microsoft.sqlserver:mssql-jdbc:11.2.3.jre17'
// runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
//runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
implementation 'org.mariadb.jdbc:mariadb-java-client:3.3.2'
// AES
implementation 'com.adobe.xmp:xmpcore:6.1.11'
// 로그
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
// HttpUtil
implementation 'com.google.code.gson:gson:2.10.1'
// api 통신
implementation 'org.apache.httpcomponents.client5:httpclient5:5.3'
//JSON
implementation 'org.json:json:20231013'
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
implementation 'org.apache.commons:commons-lang3:3.14.0'
// push 관련
implementation 'com.google.api-client:google-api-client:2.7.0'
// POI
implementation 'org.apache.poi:poi:5.2.5'
implementation 'org.apache.poi:poi-ooxml:5.2.5'
// popbill
implementation 'kr.co.linkhub:popbill-spring-boot-starter:1.14.3'
implementation 'com.squareup.okhttp3:okhttp:5.1.0'
}
tasks.named('test') {
useJUnitPlatform()
}

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

249
gradlew vendored Normal file
View File

@@ -0,0 +1,249 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

92
gradlew.bat vendored Normal file
View File

@@ -0,0 +1,92 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

1
settings.gradle Normal file
View File

@@ -0,0 +1 @@
rootProject.name = 'madeu_petit_home'

View File

@@ -0,0 +1,13 @@
package com.madeuhome;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MadeuHomeApplication {
public static void main(String[] args) {
SpringApplication.run(MadeuHomeApplication.class, args);
}
}

View File

@@ -0,0 +1,13 @@
package com.madeuhome;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MadeuHomeApplication.class);
}
}

View File

@@ -0,0 +1,35 @@
package com.madeuhome.common.ctrl;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
import com.madeuhome.common.dto.MenuDto;
import com.madeuhome.common.svc.MenuService;
import jakarta.servlet.http.HttpServletRequest;
@ControllerAdvice
public class MenuController {
@Autowired
private MenuService menuService;
// 메인 페이지에서 메뉴 데이터를 모델에 추가
@ModelAttribute("menuList")
public List<MenuDto> getMenu(HttpServletRequest request) {
String requestURI = request.getRequestURI();
// 특정 URL 패턴에만 메뉴 추가
if (requestURI.endsWith("Intro.do") || requestURI.startsWith("/index") ) {
return menuService.getMenuHierarchy("MAIN");
}
return new ArrayList<>();
}
}

View File

@@ -0,0 +1,47 @@
package com.madeuhome.common.dto;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class MenuDto {
private Integer menuId;
private String siteCd;
private Integer upperMenuId;
private String menuName;
private String menuUrl;
private Integer menuOrder;
private Integer menuDepth;
private String useYn;
private String regUser;
private LocalDateTime regDate;
private String modUser;
private LocalDateTime modDate;
// 계층구조를 위한 추가 필드
@Builder.Default
private List<MenuDto> children = new ArrayList<>();
// 편의 메서드 추가
public boolean hasChildren() {
return children != null && !children.isEmpty();
}
public boolean isRootMenu() {
return upperMenuId == null || upperMenuId == 0;
}
public boolean isActive() {
return "Y".equals(useYn);
}
}

View File

@@ -0,0 +1,13 @@
package com.madeuhome.common.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.madeuhome.common.dto.MenuDto;
@Mapper
public interface MenuMapper {
List<MenuDto> selectAllMenus(@Param("siteCode") String siteCode);
}

View File

@@ -0,0 +1,9 @@
package com.madeuhome.common.svc;
import java.util.List;
import com.madeuhome.common.dto.MenuDto;
public interface MenuService {
public List<MenuDto> getMenuHierarchy(String siteCode);
}

View File

@@ -0,0 +1,64 @@
package com.madeuhome.common.svc.impl;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.madeuhome.common.dto.MenuDto;
import com.madeuhome.common.mapper.MenuMapper;
import com.madeuhome.common.svc.MenuService;
@Service
public class MenuServiceImpl implements MenuService {
@Autowired
private MenuMapper menuMapper;
public List<MenuDto> getMenuHierarchy(String siteCode) {
// DB에서 모든 메뉴 조회
List<MenuDto> allMenus = menuMapper.selectAllMenus(siteCode);
// 계층구조로 변환
return buildMenuTree(allMenus);
}
private List<MenuDto> buildMenuTree(List<MenuDto> allMenus) {
Map<Integer, MenuDto> menuMap = new HashMap<>();
List<MenuDto> rootMenus = new ArrayList<>();
// 1단계: 모든 메뉴를 맵에 저장하고 children 리스트 초기화
for (MenuDto menu : allMenus) {
menu.setChildren(new ArrayList<>());
menuMap.put(menu.getMenuId(), menu);
}
// 2단계: 부모-자식 관계 설정
for (MenuDto menu : allMenus) {
if (menu.getUpperMenuId() == null || menu.getUpperMenuId() == 0) {
// 최상위 메뉴
rootMenus.add(menu);
} else {
// 하위 메뉴
MenuDto parent = menuMap.get(menu.getUpperMenuId());
if (parent != null) {
parent.getChildren().add(menu);
}
}
}
// 메뉴 순서대로 정렬
rootMenus.sort(Comparator.comparing(MenuDto::getMenuOrder));
rootMenus.forEach(menu -> {
if (menu.getChildren() != null) {
menu.getChildren().sort(Comparator.comparing(MenuDto::getMenuOrder));
}
});
return rootMenus;
}
}

View File

@@ -0,0 +1,47 @@
package com.madeuhome.config;
import com.zaxxer.hikari.HikariDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Configuration
public class DatabaseConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource dataSource(){
return DataSourceBuilder.create()
.type(HikariDataSource.class)
.build();
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource, ApplicationContext applicationContext) throws Exception{
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
factoryBean.setMapperLocations(applicationContext.getResources("classpath:/mappers/**/*.xml"));
return factoryBean.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory){
return new SqlSessionTemplate(sqlSessionFactory);
}
@Bean
public DataSourceTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}

View File

@@ -0,0 +1,22 @@
package com.madeuhome.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
@Configuration
public class SchedulerConfig implements SchedulingConfigurer {
private final int POOL_SIZE = 10;
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(POOL_SIZE);
threadPoolTaskScheduler.setThreadNamePrefix("my-scheduled-task-pool-");
threadPoolTaskScheduler.initialize();
scheduledTaskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
}
}

View File

@@ -0,0 +1,14 @@
package com.madeuhome.config;
import nz.net.ultraq.thymeleaf.layoutdialect.LayoutDialect;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ThymeleafLayoutConfig {
@Bean
public LayoutDialect layoutDialect() {
return new LayoutDialect();
}
}

View File

@@ -0,0 +1,42 @@
package com.madeuhome.constants;
public interface Constants {
static final public String OK = "0";
static final public String OK_ONE = "1";
static final public String FAIL = "-1";
static final public String FAIL_ACCOUNT_NULL = "-2";
//배송관련
static final public String SEARCH_OK = "20000"; //완료
static final public String SEARCH_NONE = "20001"; //검색 결과 없음
static final public String SEARCH_COMPANY_CODE = "30000"; //회사 코드 값
static final public String SEARCH_COMPANY = "30001"; //회사
static final public String SEARCH_COMPANY_IP = "30002"; //회사 IP 허용이 아님
static final public String SEARCH_COUNT_MAX = "40000"; //최대 검색 수량
static final public String SEARCH_DATA = "40001"; //필수 데이터 누락
static final public String SEARCH_DATA_MAX = "40002"; //데이터 자리수 초과
static final public String INSERT_MAX = "40003"; //최대 등록 건수 초과
static final public String INSERT_SAME = "40004"; //중복 데이터
static final public String PARAM_DATA = "40005"; //파라미터 데이터 누락
// EBS API 관련
static final public String API_KEY_NONE = "401"; // API KEY 정보가 없습니다.
static final public String API_KEY_UNEQUAL = "402"; // API KEY 정보가 일치하지 않습니다.
static final public String EBS_ID_NONE = "403"; // 초등온 회원의 암호화키 정보가 없습니다.
static final public String SEARCH_MONTH_NONE = "404"; // 검색 월 정보가 없습니다.
static final public String CONTENT_TYPE_NONE = "405"; // 과목 정보가 없습니다.
static final public String USER_TYPE_NONE = "406"; // 사용자 타입 정보가 없습니다.
static final public String START_DATE_NONE = "407"; // 서비스 시작일 정보가 없습니다.
static final public String END_DATE_NONE = "408"; // 서비스 종료일 정보가 없습니다.
static final public String USER_SAME = "409"; // 이미 등록되어 있는 사용자입니다.
static final public String EBS_ID_UNEQUAL = "410"; // 사용자 정보가 없습니다.
}

View File

@@ -0,0 +1,49 @@
package com.madeuhome.controller.web.webaccept;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.madeuhome.init.ManagerDraftAction;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Controller
public class WebAcceptController extends ManagerDraftAction{
/**
* 개인정보처리방침 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webaccept/acceptPrivacy.do")
public String selectWebAcceptPrivacy(HttpSession session,HttpServletRequest request) {
log.debug("WebAcceptController selectWebAcceptPrivacy START");
log.debug("WebAcceptController selectWebAcceptPrivacy END");
return "/web/accept/acceptPrivacy";
}
/**
* 사이트 이용약관 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webaccept/acceptSite.do")
public String selectWebAcceptSite(HttpSession session,HttpServletRequest request) {
log.debug("WebAcceptController selectWebAcceptSite START");
log.debug("WebAcceptController selectWebAcceptSite END");
return "/web/accept/acceptSite";
}
}

View File

@@ -0,0 +1,78 @@
package com.madeuhome.controller.web.webdiet;
import com.madeuhome.init.ManagerDraftAction;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Slf4j
@Controller
public class WebDietController extends ManagerDraftAction{
/**
* 다이어트 주사 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webdiet/selectDietInjectionIntro.do")
public String selectDietInjectionIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebDietController selectDietInjectionIntro START");
log.debug("WebDietController selectDietInjectionIntro END");
return "/web/service/serviceInfo";
}
/**
* 다이어트 처방약 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webdiet/selectDietMedicineIntro.do")
public String selectDietMedicineIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebDietController selectDietMedicineIntro START");
log.debug("WebDietController selectDietMedicineIntro END");
return "/web/diet/dietMedicineSelect";
}
/**
* 다이어트 레이저 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webdiet/selectDietLaserIntro.do")
public String selectDietLaserIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebDietController selectDietLaserIntro START");
log.debug("WebDietController selectDietLaserIntro END");
return "/web/diet/dietLaserSelect";
}
/**
* 다이어트 수액 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webdiet/selectDietSapIntro.do")
public String selectDietSapIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebDietController selectDietSapIntro START");
log.debug("WebDietController selectDietSapIntro END");
return "/web/diet/dietSapSelect";
}
}

View File

@@ -0,0 +1,495 @@
package com.madeuhome.controller.web.webevent;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import com.madeuhome.service.web.webevent.WebEventService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
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.servlet.ModelAndView;
import java.util.HashMap;
@Slf4j
@Controller
public class WebEventController extends ManagerDraftAction{
@Autowired
private WebEventService webEventService;
@Autowired
private LogHistoryService logHistoryService;
/**
* 이벤트 리스트 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectListWebEventIntro.do")
public String selectListWebEventIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebEventController selectListWebEventIntro START");
log.debug("WebEventController selectListWebEventIntro END");
return "/web/webevent/webEventSelectList";
}
/**
* 이벤트 카테고리 목록 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectListWebEvent.do")
public ModelAndView selectListWebEvent(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebEventController selectListWebEvent START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.selectListWebEvent(paramMap);
log.debug(map + "");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/selectListWebEvent.do");
insertMap.put("func", "selectListCategory");
insertMap.put("funcName", "이벤트 리스트 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "이벤트");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebEventController selectListWebEvent END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 이벤트 별 항목 목록 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectListEvent.do")
public ModelAndView selectListEvent(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebEventController selectListEvent START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.selectListEvent(paramMap);
log.debug(map + "");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/selectListEvent.do");
insertMap.put("func", "selectListEvent");
insertMap.put("funcName", "이벤트 리스트 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "이벤트");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebEventController selectListEvent END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 이벤트 안내 상세로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectEventDetailIntro.do")
public String selectEventDetailIntro(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebEventController selectEventDetailIntro START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
model.addAttribute("CATEGORY_DIV_CD", paramMap.get("CATEGORY_DIV_CD"));
model.addAttribute("CATEGORY_NO", paramMap.get("CATEGORY_NO"));
model.addAttribute("POST_NO", paramMap.get("POST_NO"));
log.debug("WebEventController selectEventDetailIntro END");
return "/web/webevent/webEventSelect";
}
/**
* 이벤트 안내 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectEventDetail.do")
public ModelAndView selectEventDetail(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebEventController selectEventDetail START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.selectEventDetail(paramMap);
log.debug(map + "");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/selectEventDetail.do");
insertMap.put("func", "selectEventDetail");
insertMap.put("funcName", "이벤트 상세 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "이벤트 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebEventController selectEventDetail END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
@RequestMapping(value="/webevent/selectMakeReservation.do")
public String selectMakeReservation(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebServiceController selectMakeReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
model.addAttribute("CATEGORY_DIV_CD", paramMap.get("CATEGORY_DIV_CD"));
model.addAttribute("CATEGORY_NO", paramMap.get("CATEGORY_NO"));
model.addAttribute("POST_NO", paramMap.get("POST_NO"));
model.addAttribute("PROCEDURE_ID", paramMap.get("PROCEDURE_ID"));
log.debug("WebServiceController selectMakeReservation END");
return "/web/webevent/makeReservation";
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectReservation.do")
public ModelAndView selectReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.selectReservation(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/selectReservation.do");
insertMap.put("func", "selectListService");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/selectReservationCnt.do")
public ModelAndView selectReservationCnt(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservationCnt START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.selectReservationCnt(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/selectReservationCnt.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservationCnt END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 예약 저장
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webevent/insertReservation.do")
public ModelAndView insertReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController insertReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webEventService.insertReservation(paramMap);
log.debug(map + "TEST");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webevent/insertReservation.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 저장");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "예약 저장");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController insertReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,39 @@
package com.madeuhome.controller.web.webhome;
import com.madeuhome.init.ManagerDraftAction;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Slf4j
@Controller
public class WebHomeController extends ManagerDraftAction{
/**
* 홈 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/")
public String homeIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebHomeController homeIntro START");
log.debug("WebHomeController homeIntro END");
return "/intro";
}
@RequestMapping(value="/index")
public String homeIndex(HttpSession session,HttpServletRequest request) {
log.debug("WebHomeController homeIndex START");
log.debug("WebHomeController homeIndex END");
return "/index";
}
}

View File

@@ -0,0 +1,96 @@
package com.madeuhome.controller.web.webinstagram;
import java.util.HashMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import com.madeuhome.service.web.webinstagram.WebInstagramService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Controller
public class WebInstagramController extends ManagerDraftAction{
@Autowired
private WebInstagramService webInstagramService;
@Autowired
private LogHistoryService logHistoryService;
/**
* 인스타 정보 리스트 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webinstagram/selectListWebInstagram.do")
public ModelAndView selectListWebInstagram(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebInstagramController selectListWebInstagram START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webInstagramService.selectListWebInstagram(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webyoutube/selectListWebInstagram.do");
insertMap.put("func", "selectListWebInstagram");
insertMap.put("funcName", "인스타그램 리스트 조회");
insertMap.put("service", "webInstagramService");
insertMap.put("serviceName", "인스타그램");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", "");
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebInstagramController selectListWebInstagram END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,88 @@
package com.madeuhome.controller.web.webintroduction;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import com.madeuhome.service.web.webmainbanner.WebMainBannerService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap;
@Slf4j
@Controller
public class WebIntroductionController extends ManagerDraftAction{
/**
* 병원 소개 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webintroduction/selectIntroductionHospitalIntro.do")
public String selectIntroductionHospitalIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebIntroductionController selectIntroductionHospitalIntro START");
log.debug("WebIntroductionController selectIntroductionHospitalIntro END");
return "/web/introduction/introductionHospitalSelect";
}
/**
* 의료진 소개 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webintroduction/selectIntroductionStaffIntro.do")
public String selectIntroductionStaffIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebIntroductionController selectIntroductionStaffIntro START");
log.debug("WebIntroductionController selectIntroductionStaffIntro END");
return "/web/introduction/introductionStaffSelect";
}
/**
* 비급여 안내 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webintroduction/selectIntroductionPriceIntro.do")
public String selectIntroductionPriceIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebIntroductionController selectIntroductionPriceIntro START");
log.debug("WebIntroductionController selectIntroductionPriceIntro END");
return "/web/introduction/introductionPriceSelect";
}
/**
* 찾아오시는길 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webintroduction/selectIntroductionWayIntro.do")
public String selectIntroductionWayIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebIntroductionController selectIntroductionWayIntro START");
log.debug("WebIntroductionController selectIntroductionWayIntro END");
return "/web/introduction/introductionWaySelect";
}
}

View File

@@ -0,0 +1,160 @@
package com.madeuhome.controller.web.webmainbanner;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import com.madeuhome.service.web.webmainbanner.WebMainBannerService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap;
@Slf4j
@Controller
public class WebMainBannerController extends ManagerDraftAction{
@Autowired
private WebMainBannerService webPopupService;
@Autowired
private LogHistoryService logHistoryService;
/**
* 메인 배너 정보 리스트 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webmainbanner/selectListWebMainBanner.do")
public ModelAndView selectListWebMainBanner(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebMainBannerController selectListWebMainBanner START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webPopupService.selectListWebMainBanner(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webmainbanner/selectListWebMainBanner.do");
insertMap.put("func", "selectListWebMainBanner");
insertMap.put("funcName", "메인 배너 리스트 조회");
insertMap.put("service", "webPopupService");
insertMap.put("serviceName", "메인 배너");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebMainBannerController selectListWebMainBanner END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 메인 배너 정보 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webmainbanner/selectWebMainBanner.do")
public ModelAndView selectWebMainBanner(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebMainBannerController selectWebMainBanner START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webPopupService.selectWebMainBanner(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webmainbanner/selectWebMainBanner.do");
insertMap.put("func", "selectWebMainBanner");
insertMap.put("funcName", "메인 배너 상세 조회");
insertMap.put("service", "webPopupService");
insertMap.put("serviceName", "메인 배너");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebMainBannerController selectWebMainBanner END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,49 @@
package com.madeuhome.controller.web.webpetit;
import com.madeuhome.init.ManagerDraftAction;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Slf4j
@Controller
public class WebPetitController extends ManagerDraftAction{
/**
* 콜라겐 필러 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webpetit/selectPetitFillerIntro.do")
public String selectPetitFillerIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebPetitController selectPetitFillerIntro START");
log.debug("WebPetitController selectPetitFillerIntro END");
return "/web/petit/petitFillerSelect";
}
/**
* 안티에이징 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webpetit/selectPetitAntiagingIntro.do")
public String selectPetitAntiagingIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebPetitController selectPetitAntiagingIntro START");
log.debug("WebPetitController selectPetitAntiagingIntro END");
return "/web/petit/petitAntiagingSelect";
}
}

View File

@@ -0,0 +1,275 @@
package com.madeuhome.controller.web.webphoto;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import com.madeuhome.service.web.webphoto.WebPhotoService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
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.servlet.ModelAndView;
import java.util.HashMap;
@Slf4j
@Controller
public class WebPhotoController extends ManagerDraftAction{
@Autowired
private WebPhotoService webPhotoService;
@Autowired
private LogHistoryService logHistoryService;
/**
* 전후사진 리스트 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webphoto/selectListWebPhotoIntro.do")
public String selectListWebPhotoIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebPhotoController selectListWebPhotoIntro START");
log.debug("WebPhotoController selectListWebPhotoIntro END");
return "/web/webphoto/webPhotoSelectList";
}
/**
* 전후사진 카테고리 목록 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webphoto/selectListWebPhoto.do")
public ModelAndView selectListWebPhoto(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebPhotoController selectListWebPhoto START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webPhotoService.selectListWebPhoto(paramMap);
log.debug(map + "");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webphoto/selectListWebPhoto.do");
insertMap.put("func", "selectListCategory");
insertMap.put("funcName", "전후사진 리스트 조회");
insertMap.put("service", "webPhotoService");
insertMap.put("serviceName", "전후사진");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebPhotoController selectListWebPhoto END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 전후사진 별 항목 목록 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webphoto/selectListPhoto.do")
public ModelAndView selectListPhoto(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebPhotoController selectListPhoto START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webPhotoService.selectListPhoto(paramMap);
log.debug(map + "");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/selectListPhoto.do");
insertMap.put("func", "selectListPhoto");
insertMap.put("funcName", "전후사진 리스트 조회");
insertMap.put("service", "webPhotoService");
insertMap.put("serviceName", "전후사진");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebPhotoController selectListPhoto END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 전후사진 안내 상세로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webphoto/selectPhotoDetailIntro.do")
public String selectPhotoDetailIntro(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebPhotoController selectPhotoDetailIntro START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
model.addAttribute("CATEGORY_DIV_CD", paramMap.get("CATEGORY_DIV_CD"));
model.addAttribute("CATEGORY_NO", paramMap.get("CATEGORY_NO"));
model.addAttribute("POST_NO", paramMap.get("POST_NO"));
log.debug("WebPhotoController selectPhotoDetailIntro END");
return "/web/webphoto/webPhotoSelect";
}
/**
* 전후사진 안내 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webphoto/selectPhotoDetail.do")
public ModelAndView selectPhotoDetail(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebPhotoController selectPhotoDetail START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webPhotoService.selectPhotoDetail(paramMap);
log.debug(map + "");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webphoto/selectPhotoDetail.do");
insertMap.put("func", "selectPhotoDetail");
insertMap.put("funcName", "전후사진 상세 조회");
insertMap.put("service", "webPhotoService");
insertMap.put("serviceName", "전후사진 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebPhotoController selectPhotoDetail END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,160 @@
package com.madeuhome.controller.web.webpopup;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import com.madeuhome.service.web.webpopup.WebPopupService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap;
@Slf4j
@Controller
public class WebPopupController extends ManagerDraftAction{
@Autowired
private WebPopupService webPopupService;
@Autowired
private LogHistoryService logHistoryService;
/**
* 이벤트 정보 리스트 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webpopup/selectListWebPopup.do")
public ModelAndView selectListWebPopup(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebPopupController selectListWebPopup START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webPopupService.selectListWebPopup(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webpopup/selectListWebPopup.do");
insertMap.put("func", "selectListWebPopup");
insertMap.put("funcName", "팝업 리스트 조회");
insertMap.put("service", "webPopupService");
insertMap.put("serviceName", "팝업");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebPopupController selectListWebPopup END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 이벤트 정보 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webpopup/selectWebPopup.do")
public ModelAndView selectWebPopup(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebPopupController selectWebPopup START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webPopupService.selectWebPopup(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다.");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webpopup/selectWebPopup.do");
insertMap.put("func", "selectWebPopup");
insertMap.put("funcName", "팝업 상세 조회");
insertMap.put("service", "webPopupService");
insertMap.put("serviceName", "팝업");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebPopupController selectWebPopup END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,458 @@
package com.madeuhome.controller.web.webservice;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.web.webservice.WebServiceService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Controller
public class WebServiceController extends ManagerDraftAction{
@Autowired
private WebServiceService webServiceService;
/**
* 시술관리 목록으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectServiceIntro.do")
public String selectListServiceIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebServiceController selectListServiceIntro START");
log.debug("WebServiceController selectListServiceIntro END");
return "/web/service/serviceInfo";
}
/**
* 시술관리 카테고리 목록 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectListCategory.do")
public ModelAndView selectListCategory(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectListCategory START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.selectListWebCategory(paramMap);
log.debug(map + "");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/selectListCategory.do");
insertMap.put("func", "selectListCategory");
insertMap.put("funcName", "카테고리 리스트 조회");
insertMap.put("service", "webEventService");
insertMap.put("serviceName", "카테고리");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectListCategory END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 카테고리 별 시술 목록 조회
*
* @param request
* @param response
* @return
*/
@PostMapping(value="/webservice/selectListService.do")
@ResponseBody
public ResponseEntity<Map<String, Object>> selectListService(@RequestParam("categoryNo") String categoryNo) {
Map<String, Object> response = new HashMap<>();
try {
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("categoryNo", categoryNo);
Map<String, Object> result = webServiceService.selectListWebService(paramMap);
return ResponseEntity.ok(result);
} catch (Exception e) {
log.error("서비스 조회 실패", e);
response.put("msgCode", Constants.FAIL);
response.put("msgDesc", e.getMessage());
response.put("rows", new ArrayList<>());
return ResponseEntity.ok(response);
}
}
/**
* 시술관리 상세로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectServiceDetailIntro.do")
public String selectServiceDetailIntro(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebServiceController selectServiceDetailIntro START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
model.addAttribute("CATEGORY_DIV_CD", paramMap.get("categoryDivCd"));
model.addAttribute("CATEGORY_NO", paramMap.get("categoryNo"));
model.addAttribute("POST_NO", paramMap.get("postNo"));
log.debug("WebServiceController selectServiceDetailIntro END");
return "/web/service/webServiceDetail";
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectServiceDetail.do")
public ModelAndView selectServiceDetail(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectServiceDetail START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.selectServiceDetail(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/selectListService.do");
insertMap.put("func", "selectListService");
insertMap.put("funcName", "시술 상세 조회");
insertMap.put("service", "webServiceService");
insertMap.put("serviceName", "시술 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectServiceDetail END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
@RequestMapping(value="/webservice/selectMakeReservation.do")
public String selectMakeReservation(HttpSession session, HttpServletRequest request, Model model) {
log.debug("WebServiceController selectMakeReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
model.addAttribute("CATEGORY_DIV_CD", paramMap.get("CATEGORY_DIV_CD"));
model.addAttribute("CATEGORY_NO", paramMap.get("CATEGORY_NO"));
model.addAttribute("POST_NO", paramMap.get("POST_NO"));
model.addAttribute("PROCEDURE_ID", paramMap.get("PROCEDURE_ID"));
log.debug("WebServiceController selectMakeReservation END");
return "/web/service/makeReservation";
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectReservation.do")
public ModelAndView selectReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.selectReservation(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/selectReservation.do");
insertMap.put("func", "selectListService");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webServiceService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 시술 목록 상세 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/selectReservationCnt.do")
public ModelAndView selectReservationCnt(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController selectReservationCnt START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.selectReservationCnt(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/selectReservationCnt.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 조회");
insertMap.put("service", "webServiceService");
insertMap.put("serviceName", "예약 상세");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController selectReservationCnt END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* 예약 저장
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webservice/insertReservation.do")
public ModelAndView insertReservation(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebServiceController insertReservation START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webServiceService.insertReservation(paramMap);
log.debug(map + "TEST");
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webservice/insertReservation.do");
insertMap.put("func", "selectReservationCnt");
insertMap.put("funcName", "예약 저장");
insertMap.put("service", "webServiceService");
insertMap.put("serviceName", "예약 저장");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebServiceController insertReservation END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,83 @@
package com.madeuhome.controller.web.webskin;
import com.madeuhome.init.ManagerDraftAction;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Slf4j
@Controller
public class WebSkinController extends ManagerDraftAction{
/**
* 색소 및 미백 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webskin/selectSkinPigmentIntro.do")
public String selectSkinPigmentIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebSkinController selectSkinPigmentIntro START");
log.debug("WebSkinController selectSkinPigmentIntro END");
return "/web/skin/skinPigmentSelect";
}
/**
* 여드름 및 피부트러블 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webskin/selectSkinProblemIntro.do")
public String selectSkinProblemIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebSkinController selectSkinProblemIntro START");
log.debug("WebSkinController selectSkinProblemIntro END");
return "/web/skin/skinProblemSelect";
}
/**
* 모공축소 및 피부결 개선 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webskin/selectSkinTextureIntro.do")
public String selectSkinTextureIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebSkinController selectSkinTextureIntro START");
log.debug("WebSkinController selectSkinTextureIntro END");
return "/web/skin/skinTextureSelect";
}
/**
* 제모 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webskin/selectSkinWaxingIntro.do")
public String selectSkinWaxingIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebSkinController selectSkinWaxingIntro START");
log.debug("WebSkinController selectSkinWaxingIntro END");
return "/web/skin/skinWaxingSelect";
}
}

View File

@@ -0,0 +1,240 @@
package com.madeuhome.controller.web.webvoc;
import java.util.HashMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.web.webvoc.WebVOCService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Controller
public class WebVOCController extends ManagerDraftAction{
@Autowired
private WebVOCService webVocService;
/**
* 칭찬불만접수 화면으로 이동.
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webvoc/selectWebVOCIntro.do")
public String selectWebVOCIntro(HttpSession session,HttpServletRequest request) {
log.debug("WebVOCController selectWebVOCIntro START");
log.debug("WebVOCController selectWebVOCIntro END");
return "/web/voc/vocSelect";
}
/**
* <b>휴대폰 인증 확인</b>
* request:
* response : msgCode, msgDesc
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webvoc/selectPhoneAuthCheck.do")
public ModelAndView selectPhoneAuthCheck(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebVOCController selectPhoneAuthCheck START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
paramMap.put("loginUserId", String.valueOf(session.getAttribute("loginUserId")));
paramMap.put("muUserId", String.valueOf(session.getAttribute("loginUserId")));
map = webVocService.selectPhoneAuthCheck(paramMap);
}catch(Exception e){
e.printStackTrace();
errorMsg.append(e);
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. (E0042)");
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webvoc/selectPhoneAuthCheck.do");
insertMap.put("func", "selectPhoneAuthCheck");
insertMap.put("funcName", "휴대폰 인증 확인");
insertMap.put("service", "webPhoneAuthService");
insertMap.put("serviceName", "휴대폰 인증");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
insertMap.put("tId", map.get("tId"));
if((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) || String.valueOf(errorMsg).length() == 0){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muUserId", paramMap.get("muUserId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
}
log.debug("WebVOCController selectPhoneAuthCheck END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* <b>인증번호 등록 </b>
* request:
* response : msgCode, msgDesc
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webvoc/insertPhoneAuth.do")
public ModelAndView insertPhoneAuth(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebVOCController insertPhoneAuth START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
paramMap.put("regId", String.valueOf(session.getAttribute("loginUserId")));
paramMap.put("modId", String.valueOf(session.getAttribute("loginUserId")));
map = webVocService.insertPhoneAuth(paramMap);
}catch(Exception e){
e.printStackTrace();
errorMsg.append(e);
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. (E0043)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webvoc/insertPhoneAuth.do");
insertMap.put("func", "insertPhoneAuth");
insertMap.put("funcName", "인증번호 등록");
insertMap.put("service", "webPhoneAuthService");
insertMap.put("serviceName", "인증번호");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
insertMap.put("tId", map.get("tId"));
if(("false").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "ERROR");
}else{
insertMap.put("resultCode", "SUCCESS");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("sbUserId", paramMap.get("sbUserId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebVOCController insertPhoneAuth END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
/**
* <b>인증번호 등록 </b>
* request:
* response : msgCode, msgDesc
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webvoc/insertVOC.do")
public ModelAndView insertVOC(HttpSession session, HttpServletRequest request, HttpServletResponse response) {
log.debug("WebVOCController insertVOC START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
log.debug(paramMap+ "");
log.debug(map + "");
try{
map = webVocService.insertVOC(paramMap);
}catch(Exception e){
e.printStackTrace();
errorMsg.append(e);
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
map.put("msgCode", Constants.FAIL);
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. (E0043)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webvoc/insertPhoneAuth.do");
insertMap.put("func", "insertPhoneAuth");
insertMap.put("funcName", "인증번호 등록");
insertMap.put("service", "webPhoneAuthService");
insertMap.put("serviceName", "인증번호");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
insertMap.put("tId", map.get("tId"));
if(("false").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "ERROR");
}else{
insertMap.put("resultCode", "SUCCESS");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("sbUserId", paramMap.get("sbUserId"));
// logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebVOCController insertVOC END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,96 @@
package com.madeuhome.controller.web.webyoutube;
import com.madeuhome.constants.Constants;
import com.madeuhome.init.ManagerDraftAction;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import com.madeuhome.service.web.webyoutube.WebYoutubeService;
import com.madeuhome.util.HttpUtil;
import com.madeuhome.util.RequestLogUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.HashMap;
@Slf4j
@Controller
public class WebYoutubeController extends ManagerDraftAction{
@Autowired
private WebYoutubeService webYoutubeService;
@Autowired
private LogHistoryService logHistoryService;
/**
* 유튜브 정보 리스트 조회
*
* @param request
* @param response
* @return
*/
@RequestMapping(value="/webyoutube/selectListWebYoutube.do")
public ModelAndView selectListWebYoutube(HttpSession session,HttpServletRequest request, HttpServletResponse response) {
log.debug("WebYoutubeController selectListWebYoutube START");
HashMap<String, Object> paramMap = HttpUtil.getParameterMap(request);
HashMap<String, Object> map = new HashMap<String, Object>();
StringBuffer errorMsg = new StringBuffer();
try{
map = webYoutubeService.selectListWebYoutube(paramMap);
}catch (Exception e) {
e.printStackTrace();
errorMsg.append(e);
return null;
}finally {
if(Constants.OK == map.get("msgCode")) {
}else{
if(null == map.get("msgCode") || ("").equals(map.get("msgCode"))) {
map.put("msgCode", Constants.FAIL);
}
map.put("success", false);
if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) {
map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다. (E0029)");
}
}
try {
HashMap<String, Object> visitLogParamMap = RequestLogUtil.getVisitLogParameterMap(request);
HashMap<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("url", "/webyoutube/selectListWebYoutube.do");
insertMap.put("func", "selectListWebYoutube");
insertMap.put("funcName", "유튜브 리스트 조회");
insertMap.put("service", "webYoutubeService");
insertMap.put("serviceName", "유튜브");
insertMap.put("requestValue", String.valueOf(paramMap));
insertMap.put("responseValue", String.valueOf(map));
;
if(("true").equals(String.valueOf(map.get("success")))){
insertMap.put("resultCode", "SUCCESS");
}else{
insertMap.put("resultCode", "ERROR");
}
insertMap.put("resultMsg", String.valueOf(errorMsg));
insertMap.put("muMemberId", paramMap.get("muMemberId"));
logHistoryService.insertLogHistory(insertMap, visitLogParamMap);
} catch (Exception e) {
e.printStackTrace();
}
}
log.debug("WebYoutubeController selectListWebYoutube END");
return HttpUtil.makeHashToJsonModelAndView(map);
}
}

View File

@@ -0,0 +1,38 @@
package com.madeuhome.dao.common.loghistory;
import jakarta.annotation.PostConstruct;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
@Repository
public class LogHistorySqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 오류 로그 정보 등록
*
* @param Map
* @return
* @throws DataAccessException
*/
public int insertLogHistory(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("LogHistorySqlMapDAO insertLogHistory START");
String sqlId = "LogHistory.insertLogHistory";
logger.debug("LogHistorySqlMapDAO insertLogHistory END");
return getSqlSession().insert(sqlId, paramMap);
}
}

View File

@@ -0,0 +1,37 @@
package com.madeuhome.dao.common.visitlog;
import jakarta.annotation.PostConstruct;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
@Repository
public class VisitLogSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 접속 로그 등록
*
* @param Map
* @return
* @throws DataAccessException
*/
public int insertVisitLog(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("VisitLogSqlMapDAO insertVisitLog START");
String sqlId = "VisitLog.insertVisitLog";
logger.debug("VisitLogSqlMapDAO insertVisitLog END");
return getSqlSession().insert(sqlId, paramMap);
}
}

View File

@@ -0,0 +1,140 @@
package com.madeuhome.dao.web.webevent;
import jakarta.annotation.PostConstruct;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Repository
public class WebEventSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 이벤트 카테고리 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListWebEvent(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebEventSqlMapDAO selectListWebEvent START");
String sqlId = "WebEvent.selectListWebEvent";
logger.debug("WebEventSqlMapDAO selectListWebEvent END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 이벤트 정보 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListEvent(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebEventSqlMapDAO selectListEvent START");
String sqlId = "WebEvent.selectListEvent";
logger.debug("WebEventSqlMapDAO selectListEvent END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 이벤트안내 정보 이벤트 상세 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectEventDetail(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebEventSqlMapDAO selectEventDetail START");
String sqlId = "WebEvent.selectEventDetail";
logger.debug("WebEventSqlMapDAO selectEventDetail END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 이벤트안내 정보 이벤트 목록 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListEventSub(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebEventSqlMapDAO selectListEventSub START");
String sqlId = "WebEvent.selectListEventSub";
logger.debug("WebEventSqlMapDAO selectListEventSub END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 예약 상세 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebEventSqlMapDAO selectReservationCnt START");
String sqlId = "WebEvent.selectReservationCnt";
logger.debug("WebEventSqlMapDAO selectReservationCnt END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 예약 시술 정보 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectReservationService(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebEventSqlMapDAO selectReservationService START");
String sqlId = "WebEvent.selectReservationService";
logger.debug("WebEventSqlMapDAO selectReservationService END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 예약 정보 저장
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> insertReservation(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebEventSqlMapDAO insertReservation START");
String sqlId = "WebEvent.insertReservation";
logger.debug("WebEventSqlMapDAO insertReservation END");
getSqlSession().insert(sqlId, paramMap);
return null;
}
}

View File

@@ -0,0 +1,69 @@
package com.madeuhome.dao.web.webmainbanner;
import jakarta.annotation.PostConstruct;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Repository
public class WebMainBannerSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 메인 배너 정보 총 갯수 조회 (total count)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectTotalWebMainBannerCount(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebMainBannerSqlMapDAO selectTotalWebMainBannerCount START");
String sqlId = "WebMainBanner.selectTotalWebMainBannerCount";
logger.debug("WebMainBannerSqlMapDAO selectTotalWebMainBannerCount END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 메인 배너 정보 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListWebMainBanner(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebMainBannerSqlMapDAO selectListWebMainBanner START");
String sqlId = "WebMainBanner.selectListWebMainBanner";
logger.debug("WebMainBannerSqlMapDAO selectListWebMainBanner END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 메인 배너 정보 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectWebMainBanner(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebMainBannerSqlMapDAO selectWebMainBanner START");
String sqlId = "WebMainBanner.selectWebMainBanner";
logger.debug("WebMainBannerSqlMapDAO selectWebMainBanner END");
return getSqlSession().selectList(sqlId, paramMap);
}
}

View File

@@ -0,0 +1,88 @@
package com.madeuhome.dao.web.webphoto;
import jakarta.annotation.PostConstruct;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Repository
public class WebPhotoSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 전후사진 카테고리 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListWebPhoto(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebPhotoSqlMapDAO selectListWebPhoto START");
String sqlId = "WebPhoto.selectListWebPhoto";
logger.debug("WebPhotoSqlMapDAO selectListWebPhoto END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 전후사진 정보 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListPhoto(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebPhotoSqlMapDAO selectListPhoto START");
String sqlId = "WebPhoto.selectListPhoto";
logger.debug("WebPhotoSqlMapDAO selectListPhoto END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 전후사진안내 정보 전후사진 상세 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectPhotoDetail(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebPhotoSqlMapDAO selectPhotoDetail START");
String sqlId = "WebPhoto.selectPhotoDetail";
logger.debug("WebPhotoSqlMapDAO selectPhotoDetail END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 전후사진안내 정보 전후사진 목록 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListPhotoSub(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebPhotoSqlMapDAO selectListPhotoSub START");
String sqlId = "WebPhoto.selectListPhotoSub";
logger.debug("WebPhotoSqlMapDAO selectListPhotoSub END");
return getSqlSession().selectList(sqlId, paramMap);
}
}

View File

@@ -0,0 +1,69 @@
package com.madeuhome.dao.web.webpopup;
import jakarta.annotation.PostConstruct;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Repository
public class WebPopupSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 이벤트 정보 총 갯수 조회 (total count)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectTotalWebPopupCount(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebPopupSqlMapDAO selectTotalWebPopupCount START");
String sqlId = "WebPopup.selectTotalWebPopupCount";
logger.debug("WebPopupSqlMapDAO selectTotalWebPopupCount END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 이벤트 정보 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListWebPopup(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebPopupSqlMapDAO selectListWebPopup START");
String sqlId = "WebPopup.selectListWebPopup";
logger.debug("WebPopupSqlMapDAO selectListWebPopup END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 이벤트 정보 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectWebPopup(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebPopupSqlMapDAO selectWebPopup START");
String sqlId = "WebPopup.selectWebPopup";
logger.debug("WebPopupSqlMapDAO selectWebPopup END");
return getSqlSession().selectList(sqlId, paramMap);
}
}

View File

@@ -0,0 +1,145 @@
package com.madeuhome.dao.web.webservice;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import jakarta.annotation.PostConstruct;
@Repository
public class WebServiceSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 시술관리 정보 카테고리 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListWebCategory(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectListWebCategory START");
String sqlId = "WebService.selectListWebCategory";
logger.debug("WebServiceSqlMapDAO selectListWebCategory END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 시술관리 정보 시술 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListWebService(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectListWebService START");
String sqlId = "WebService.selectListWebService";
logger.debug("WebServiceSqlMapDAO selectListWebService END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 시술관리 정보 시술 상세 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectServiceDetail(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectServiceDetail START");
String sqlId = "WebService.selectServiceDetail";
logger.debug("WebServiceSqlMapDAO selectServiceDetail END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 시술관리 정보 시술 목록 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListService(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectListService START");
String sqlId = "WebService.selectListService";
logger.debug("WebServiceSqlMapDAO selectListService END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 예약 상세 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectReservationCnt START");
String sqlId = "WebService.selectReservationCnt";
logger.debug("WebServiceSqlMapDAO selectReservationCnt END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 예약 시술 정보 조회
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> selectReservationService(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO selectReservationService START");
String sqlId = "WebService.selectReservationService";
logger.debug("WebServiceSqlMapDAO selectReservationService END");
return getSqlSession().selectOne(sqlId, paramMap);
}
/**
* 예약 정보 저장
*
* @param Map
* @return
* @throws DataAccessException
*/
public Map<String, Object> insertReservation(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebServiceSqlMapDAO insertReservation START");
String sqlId = "WebService.insertReservation";
logger.debug("WebServiceSqlMapDAO insertReservation END");
getSqlSession().insert(sqlId, paramMap);
return null;
}
}

View File

@@ -0,0 +1,129 @@
package com.madeuhome.dao.web.webvoc;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import jakarta.annotation.PostConstruct;
@Repository
public class WebVOCSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 문자 전송 이력 등록
*
*
* @param map
* @return
* @throws DataAccessException
*/
public int insertSms(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebVOCSqlMapDAO insertSms START");
String sqlId = "WebVOC.insertSms";
logger.debug("WebVOCSqlMapDAO insertSms END");
return getSqlSession().update(sqlId, paramMap);
}
/**
* 문자 전송 상태 변경
*
*
* @param map
* @return
* @throws DataAccessException
*/
public int updateSmsState(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebVOCSqlMapDAO updateSmsState START");
String sqlId = "WebVOC.updateSmsState";
logger.debug("WebVOCSqlMapDAO updateSmsState END");
return getSqlSession().update(sqlId, paramMap);
}
/**
* 문자 전송 팝빌 상태 변경
*
*
* @param map
* @return
* @throws DataAccessException
*/
public int updateSmsPopbillState(HashMap<String, Object> paramMap) throws DataAccessException {
logger.debug("WebVOCSqlMapDAO updateSmsPopbillState START");
String sqlId = "WebVOC.updateSmsPopbillState";
logger.debug("WebVOCSqlMapDAO updateSmsPopbillState END");
return getSqlSession().update(sqlId, paramMap);
}
/**
* 휴대폰 인증 수 조회(당일)
*
* @param map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListPhoneAuthCountToday(HashMap<String, Object> map)
throws DataAccessException {
logger.debug("WebVOCSqlMapDAO selectListPhoneAuthCountToday START");
String sqlId = "WebVOC.selectListPhoneAuthCountToday";
logger.debug("WebVOCSqlMapDAO selectListPhoneAuthCountToday END");
return getSqlSession().selectList(sqlId, map);
}
/**
* 휴대폰 인증 확인
*
* @param map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectPhoneAuthCheck(HashMap<String, Object> map)
throws DataAccessException {
logger.debug("WebVOCSqlMapDAO selectPhoneAuthCheck START");
String sqlId = "WebVOC.selectPhoneAuthCheck";
logger.debug("WebVOCSqlMapDAO selectPhoneAuthCheck END");
return getSqlSession().selectList(sqlId, map);
}
/**
* 인증번호 등록
*
* @param map
* @return
* @throws DataAccessException
*/
public int insertPhoneAuth(HashMap<String, Object> map)
throws DataAccessException {
logger.debug("WebVOCSqlMapDAO insertPhoneAuth START");
String sqlId = "WebVOC.insertPhoneAuth";
logger.debug("WebVOCSqlMapDAO insertPhoneAuth END");
return getSqlSession().insert(sqlId, map);
}
/**
* 접수 등록
*
* @param map
* @return
* @throws DataAccessException
*/
public int insertVOC(HashMap<String, Object> map)
throws DataAccessException {
logger.debug("WebVOCSqlMapDAO insertVOC START");
String sqlId = "WebVOC.insertVOC";
logger.debug("WebVOCSqlMapDAO insertVOC END");
return getSqlSession().insert(sqlId, map);
}
}

View File

@@ -0,0 +1,54 @@
package com.madeuhome.dao.web.webyoutube;
import jakarta.annotation.PostConstruct;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Repository
public class WebYoutubeSqlMapDAO extends SqlSessionDaoSupport{
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@PostConstruct
void init() {
setSqlSessionTemplate(sqlSessionTemplate);
}
/**
* 유튜브 정보 총 갯수 조회 (total count)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectTotalWebYoutubeCount(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebYoutubeSqlMapDAO selectTotalWebYoutubeCount START");
String sqlId = "WebYoutube.selectTotalWebYoutubeCount";
logger.debug("WebYoutubeSqlMapDAO selectTotalWebYoutubeCount END");
return getSqlSession().selectList(sqlId, paramMap);
}
/**
* 유튜브 정보 리스트 조회 (List)
*
* @param Map
* @return
* @throws DataAccessException
*/
public List<Map<String, Object>> selectListWebYoutube(HashMap<String, Object> paramMap)
throws DataAccessException {
logger.debug("WebYoutubeSqlMapDAO selectListWebYoutube START");
String sqlId = "WebYoutube.selectListWebYoutube";
logger.debug("WebYoutubeSqlMapDAO selectListWebYoutube END");
return getSqlSession().selectList(sqlId, paramMap);
}
}

View File

@@ -0,0 +1,78 @@
package com.madeuhome.init;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class ManagerDraftAction {
public boolean adminCheckLogin(HttpSession session) throws Exception {
if (session == null) {
return false;
}
String ntsoftId = (String) session.getAttribute("ntsoftId");
String ntsoftUserId = (String) session.getAttribute("ntsoftUserId");
String ntsoftUserName = (String) session.getAttribute("ntsoftUserName");
log.debug("======================== MANAGER CHECKLOGIN START =========================");
log.debug("ntsoftId : "+ ntsoftId);
log.debug("ntsoftUserId : "+ ntsoftUserId);
log.debug("ntsoftUserName : "+ ntsoftUserName);
log.debug("========================= MANAGER CHECKLOGIN END ==========================");
if ((ntsoftId == null) || ("".equals(ntsoftId)) || (ntsoftUserId == null) || ("".equals(ntsoftUserId))) {
return false;
}
return true;
}
public boolean adminCheckLogin(HttpSession session,String t) throws Exception {
if (session == null) {
return false;
}
String ntsoftId = (String) session.getAttribute("ntsoftId");
String ntsoftUserId = (String) session.getAttribute("ntsoftUserId");
String ntsoftUserName = (String) session.getAttribute("ntsoftUserName");
String userType = (String) session.getAttribute("userType");
String tyCompanyId = (String) session.getAttribute("tyCompanyId");
log.debug("======================== MANAGER CHECKLOGIN START =========================");
log.debug("ntsoftId : "+ ntsoftId);
log.debug("ntsoftUserId : "+ ntsoftUserId);
log.debug("ntsoftUserName : "+ ntsoftUserName);
log.debug("userType : "+ userType);
log.debug("tyCompanyId : "+ tyCompanyId);
log.debug("========================= MANAGER CHECKLOGIN END ==========================");
if ((ntsoftId == null) || ("".equals(ntsoftId)) || (ntsoftUserId == null) || ("".equals(ntsoftUserId))) {
return false;
}
if (!userType.equals(t)) {
return false;
}
return true;
}
public boolean webCheckLogin(HttpSession session)throws Exception{
if(session == null){
return false;
}else{
String muMemberId = (String)session.getAttribute("muMemberId");
String loginId = (String)session.getAttribute("loginId");
String userName = (String)session.getAttribute("userName");
log.debug("======================== USER CHECKLOGIN START =========================");
log.debug(" muMemberId : "+ muMemberId);
log.debug(" loginId : "+ loginId);
log.debug(" userName : "+ userName);
log.debug("======================== USER CHECKLOGIN END ===========================");
log.debug("======================================= session ID Start2 =======================================");
log.debug("=============== Session ID :"+session.getId());
log.debug("======================================= session ID End2 =======================================");
if(null==muMemberId||("").equals(muMemberId)){
return false;
}else{
return true;
}
}
}
}

View File

@@ -0,0 +1,52 @@
package com.madeuhome.init;
import jakarta.servlet.http.HttpServlet;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class ServiceInitializeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static String default_file_store_path = "";
private static String default_file_store_folder = "";
private static String webService_url= "";
private static String appService_url ="";
public void init(){
log.debug("ServiceInitializeServlet - init start");
default_file_store_path = getInitParameter("DEFAULT_FILE_STORE_PATH");
default_file_store_folder = getInitParameter("DEFAULT_FILE_STORE_FOLDER");
webService_url = getInitParameter("WEBSERVICE_URL");
appService_url = getInitParameter("APPSERVICE_URL");
//NoticeThreadJob.getInstance();
//BirthDayThreadJob.getInstance();
log.debug("ServiceInitializeServlet - init end");
}
public static String getDefaultFileStorePath(){
return default_file_store_path;
}
public static String getDefaultFileStoreFolder() {
return default_file_store_folder;
}
public static String getAppServiceUrl(){
return appService_url;
}
public static String getWebServiceUrl(){
return webService_url;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public static void main(String[] args) {
System.out.println(default_file_store_path);
}
}

View File

@@ -0,0 +1,10 @@
package com.madeuhome.service.common.loghistory;
import java.util.HashMap;
public interface LogHistoryService {
public HashMap<String, Object> insertLogHistory(HashMap<String, Object> paramMap, HashMap<String, Object> visitLogParamMap) throws Exception;
}

View File

@@ -0,0 +1,92 @@
package com.madeuhome.service.common.loghistory.impl;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.common.loghistory.LogHistorySqlMapDAO;
import com.madeuhome.service.common.loghistory.LogHistoryService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
@Slf4j
@Service("LogHistoryService")
public class LogHistoryServiceImpl implements LogHistoryService {
@Autowired
private LogHistorySqlMapDAO logHistorySqlMapDAO;
/**
* 오류 로그 정보 등록
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
@Transactional(rollbackFor={Exception.class}, propagation = Propagation.REQUIRES_NEW)
public HashMap<String, Object> insertLogHistory(
HashMap<String, Object> paramMap, HashMap<String, Object> visitLogParamMap) throws Exception{
log.debug("WebLogHistoryServiceImpl insertLogHistory START");
HashMap<String, Object> map = new HashMap<String, Object>();
log.debug("muMemberId : "+paramMap.get("muMemberId"));
log.debug("url : "+paramMap.get("url"));
log.debug("func : "+paramMap.get("func"));
log.debug("service : "+paramMap.get("service"));
log.debug("requestValue : "+paramMap.get("requestValue"));
log.debug("responseValue : "+paramMap.get("responseValue"));
log.debug("tId : "+paramMap.get("tId"));
log.debug("resultCode : "+paramMap.get("resultCode"));
log.debug("resultMsg : "+paramMap.get("resultMsg"));
try{
boolean check = true;
String tId = String.valueOf(System.currentTimeMillis());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c1 = Calendar.getInstance();
String tDate = sdf.format(c1.getTime());
HashMap<String, Object> logHistoryMap = new HashMap<String, Object>();
paramMap.put("visitIp", visitLogParamMap.get("visitIp"));
paramMap.put("visitOriginAgent", visitLogParamMap.get("visitOriginAgent"));
paramMap.put("visitAgent", visitLogParamMap.get("visitAgent"));
paramMap.put("visitOs", visitLogParamMap.get("visitOs"));
paramMap.put("regId", "SYSTEM");
paramMap.put("modId", "SYSTEM");
if(true == check){
paramMap.put("tDate", tDate);
paramMap.put("tId", tId);
String muLogHistoryId = ("H").concat(String.valueOf(System.currentTimeMillis()));
paramMap.put("muLogHistoryId",muLogHistoryId);
paramMap.put("muMemberId", paramMap.get("muMemberId"));
logHistorySqlMapDAO.insertLogHistory(paramMap);
log.debug("muLogHistoryId :"+paramMap.get("id"));
paramMap.put("muLogHistoryId", paramMap.get("id"));
map.put("muLogHistoryId", paramMap.get("muLogHistoryId"));
map.put("msgCode", Constants.OK);
map.put("msgDesc", "등록되었습니다.");
}
}
catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebLogHistoryServiceImpl insertLogHistory END");
return map;
}
}

View File

@@ -0,0 +1,10 @@
package com.madeuhome.service.common.visitlog;
import java.util.HashMap;
public interface VisitLogService {
public HashMap<String, Object> insertVisitLog(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,78 @@
package com.madeuhome.service.common.visitlog.impl;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.common.visitlog.VisitLogSqlMapDAO;
import com.madeuhome.service.common.visitlog.VisitLogService;
import com.madeuhome.util.ValidationCheckUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
@Slf4j
@Service("VisitLogService")
public class VisitLogServiceImpl implements VisitLogService{
@Autowired
private VisitLogSqlMapDAO visitLogSqlMapDAO;
/**
* 접속 로그 등록
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
@Transactional(rollbackFor={Exception.class}, propagation = Propagation.REQUIRES_NEW)
public HashMap<String, Object> insertVisitLog(
HashMap<String, Object> paramMap) throws Exception{
log.debug("VisitLogServiceImpl insertVisitLog START");
HashMap<String, Object> map = new HashMap<String, Object>();
log.debug("muMemberId : "+paramMap.get("muMemberId"));
log.debug("regId : "+paramMap.get("regId"));
log.debug("modId : "+paramMap.get("modId"));
log.debug("workType : "+paramMap.get("workType"));
try{
boolean check = true;
String workType = String.valueOf(paramMap.get("workType"));
if(true != ValidationCheckUtil.emptyCheck(workType)){
check = false;
map.put("msgCode", Constants.FAIL);
map.put("msgDesc","구분 정보가 없습니다.");
}
if(true == check){
paramMap.put("muMemberId", paramMap.get("muMemberId"));
paramMap.put("regId", paramMap.get("regId"));
paramMap.put("modId", paramMap.get("modId"));
paramMap.put("tyVisitLogId", ("VL").concat(String.valueOf(System.currentTimeMillis())));
paramMap.put("type", "W");
visitLogSqlMapDAO.insertVisitLog(paramMap);
map.put("msgCode", Constants.OK);
map.put("msgDesc", "등록되었습니다.");
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("VisitLogServiceImpl insertVisitLog END");
return map;
}
}

View File

@@ -0,0 +1,14 @@
package com.madeuhome.service.web.webevent;
import java.util.HashMap;
public interface WebEventService {
public HashMap<String, Object> selectListWebEvent(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectListEvent(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectEventDetail(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectReservation(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> insertReservation(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,237 @@
package com.madeuhome.service.web.webevent.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webevent.WebEventSqlMapDAO;
import com.madeuhome.service.web.webevent.WebEventService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service("WebEventService")
public class WebEventServiceImpl implements WebEventService {
@Autowired
private WebEventSqlMapDAO webEventSqlMapDAO;
/**
* 이벤트 카테고리 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebEvent(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebEventServiceImpl selectListEvent START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webEventSqlMapDAO.selectListWebEvent(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebEventServiceImpl selectListEvent END");
return map;
}
/**
* 이벤트 정보 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListEvent(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebEventServiceImpl selectListEvent START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webEventSqlMapDAO.selectListEvent(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebEventServiceImpl selectListEvent END");
return map;
}
/**
* 이벤트 정보 상세 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectEventDetail(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebEventServiceImpl selectEventDetail START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//상세 내용
Map<String, Object> listMap = webEventSqlMapDAO.selectEventDetail(paramMap);
map.put("rows",listMap);
//이벤트 목록
List<Map<String, Object>> listEventMap = webEventSqlMapDAO.selectListEventSub(paramMap);
map.put("price",listEventMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebEventServiceImpl selectEventDetail END");
return map;
}
/**
* 예약 정보 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebEventServiceImpl selectReservation START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//예약 목록
List<Map<String, Object>> listMap2 = new ArrayList<Map<String, Object>>();
if(paramMap.get("PROCEDURE_ID").toString().indexOf("#") != -1) {
String[] PROCEDURE_ID = paramMap.get("PROCEDURE_ID").toString().split("#");
for(int i = 0; i < PROCEDURE_ID.length; i++) {
HashMap<String, Object> map2 = new HashMap<String, Object>();
map2.put("PROCEDURE_ID", PROCEDURE_ID[i]);
listMap2.add(webEventSqlMapDAO.selectReservationService(map2));
}
}else {
listMap2.add(webEventSqlMapDAO.selectReservationService(paramMap));
}
map.put("reservation",listMap2);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebEventServiceImpl selectReservation END");
return map;
}
/**
* 예약 정보 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebEventServiceImpl selectReservationCnt START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//상세 내용
Map<String, Object> listMap = webEventSqlMapDAO.selectReservationCnt(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebEventServiceImpl selectReservationCnt END");
return map;
}
/**
* 예약 정보 저장
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> insertReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebEventServiceImpl insertReservation START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
String muReserveId = ("R").concat(String.valueOf(System.currentTimeMillis()));
paramMap.put("muReserveId",muReserveId);
// TREATMENT_INFOS 파라미터가 있으면 파싱하여 P_변수명으로 세팅 후 insertReservation 호출
if(paramMap.get("TREATMENT_INFOS") != null) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> treatmentList = objectMapper.readValue(paramMap.get("TREATMENT_INFOS").toString(), new TypeReference<List<Map<String, Object>>>(){});
for(Map<String, Object> t : treatmentList) {
paramMap.put("P_TREATMENT_ID", t.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", t.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", t.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", t.get("TREATMENT_PROCEDURE_NAME"));
webEventSqlMapDAO.insertReservation(paramMap);
}
} else {
// 기존 방식대로 단일 시술 정보로 처리
paramMap.put("P_TREATMENT_ID", paramMap.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", paramMap.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", paramMap.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", paramMap.get("TREATMENT_PROCEDURE_NAME"));
webEventSqlMapDAO.insertReservation(paramMap);
}
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
System.out.println("[insertReservation] paramMap: " + paramMap);
log.debug("WebEventServiceImpl insertReservation END");
return map;
}
}

View File

@@ -0,0 +1,9 @@
package com.madeuhome.service.web.webinstagram;
import java.util.HashMap;
public interface WebInstagramService {
public HashMap<String, Object> selectListWebInstagram(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,54 @@
package com.madeuhome.service.web.webinstagram.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import com.madeuhome.constants.Constants;
import com.madeuhome.service.web.webinstagram.WebInstagramService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service("WebInstagramService")
public class WebInstagramServiceImpl implements WebInstagramService {
@Value("${instagram.client-id}")
String clientId;
@Value("${instagram.accesstoken}")
String accessToken;
/**
* 인스타그램 정보 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebInstagram(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebInstagramServiceImpl selectListWebInstagram START");
HashMap<String, Object> map = new HashMap<String, Object>();
String apiUrl = "https://graph.instagram.com/" + clientId + "/media?fields=id,caption,media_url,permalink,media_type,thumbnail_url&access_token=" + accessToken;
try{
RestTemplate restTemplate = new RestTemplate();
Map<String, Object> response = restTemplate.getForObject(apiUrl, Map.class);
List<Map<String, Object>> data = (List<Map<String, Object>>) response.get("data");
map.put("msgCode", Constants.OK);
map.put("success","true");
map.put("rows", data);
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebInstagramServiceImpl selectListWebInstagram END");
return map;
}
}

View File

@@ -0,0 +1,11 @@
package com.madeuhome.service.web.webmainbanner;
import java.util.HashMap;
public interface WebMainBannerService {
public HashMap<String, Object> selectListWebMainBanner(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectWebMainBanner(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,97 @@
package com.madeuhome.service.web.webmainbanner.impl;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webmainbanner.WebMainBannerSqlMapDAO;
import com.madeuhome.service.web.webmainbanner.WebMainBannerService;
import com.madeuhome.util.ValidationCheckUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service("WebMainBannerService")
public class WebMainBannerServiceImpl implements WebMainBannerService {
@Autowired
private WebMainBannerSqlMapDAO webMainBannerSqlMapDAO;
/**
* 메인 배너 정보 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebMainBanner(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebMainBannerServiceImpl selectListWebMainBanner START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webMainBannerSqlMapDAO.selectListWebMainBanner(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebMainBannerServiceImpl selectListWebMainBanner END");
return map;
}
/**
* 메인 배너 정보 상세 조회 (one)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectWebMainBanner(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebMainBannerServiceImpl selectWebMainBanner START");
HashMap<String, Object> map = new HashMap<String, Object>();
log.debug("muWebMainBannerId : "+paramMap.get("muWebMainBannerId"));
try{
boolean check = true;
String muWebMainBannerId = String.valueOf(paramMap.get("muWebMainBannerId"));
if(true != ValidationCheckUtil.emptyCheck(muWebMainBannerId)){
check = false;
map.put("msgCode", Constants.FAIL);
map.put("msgDesc","메인 배너 식별자 정보가 없습니다.");
}
if(true == check){
List<Map<String, Object>> listMap = webMainBannerSqlMapDAO.selectWebMainBanner(paramMap);
int listMapSize = listMap.size();
map.put("msgCode", Constants.OK);
map.put("success","true");
map.put("rows",listMap);
}
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebMainBannerServiceImpl selectWebMainBanner END");
return map;
}
}

View File

@@ -0,0 +1,11 @@
package com.madeuhome.service.web.webphoto;
import java.util.HashMap;
public interface WebPhotoService {
public HashMap<String, Object> selectListWebPhoto(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectListPhoto(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectPhotoDetail(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,115 @@
package com.madeuhome.service.web.webphoto.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webphoto.WebPhotoSqlMapDAO;
import com.madeuhome.service.web.webphoto.WebPhotoService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service("WebPhotoService")
public class WebPhotoServiceImpl implements WebPhotoService {
@Autowired
private WebPhotoSqlMapDAO webPhotoSqlMapDAO;
/**
* 전후사진 카테고리 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebPhoto(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebPhotoServiceImpl selectListPhoto START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webPhotoSqlMapDAO.selectListWebPhoto(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebPhotoServiceImpl selectListPhoto END");
return map;
}
/**
* 전후사진 정보 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListPhoto(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebPhotoServiceImpl selectListPhoto START");
System.out.println(paramMap);
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webPhotoSqlMapDAO.selectListPhoto(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebPhotoServiceImpl selectListPhoto END");
return map;
}
/**
* 전후사진 정보 상세 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectPhotoDetail(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebPhotoServiceImpl selectPhotoDetail START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//상세 내용
Map<String, Object> listMap = webPhotoSqlMapDAO.selectPhotoDetail(paramMap);
map.put("rows",listMap);
//전후사진 목록
List<Map<String, Object>> listPhotoMap = webPhotoSqlMapDAO.selectListPhotoSub(paramMap);
map.put("price",listPhotoMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebPhotoServiceImpl selectPhotoDetail END");
return map;
}
}

View File

@@ -0,0 +1,11 @@
package com.madeuhome.service.web.webpopup;
import java.util.HashMap;
public interface WebPopupService {
public HashMap<String, Object> selectListWebPopup(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectWebPopup(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,97 @@
package com.madeuhome.service.web.webpopup.impl;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webpopup.WebPopupSqlMapDAO;
import com.madeuhome.service.web.webpopup.WebPopupService;
import com.madeuhome.util.ValidationCheckUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service("WebPopupService")
public class WebPopupServiceImpl implements WebPopupService {
@Autowired
private WebPopupSqlMapDAO webPopupSqlMapDAO;
/**
* 이벤트 정보 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebPopup(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebPopupServiceImpl selectListWebPopup START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webPopupSqlMapDAO.selectListWebPopup(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebPopupServiceImpl selectListWebPopup END");
return map;
}
/**
* 이벤트 정보 상세 조회 (one)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectWebPopup(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebPopupServiceImpl selectWebPopup START");
HashMap<String, Object> map = new HashMap<String, Object>();
log.debug("muWebPopupId : "+paramMap.get("muWebPopupId"));
try{
boolean check = true;
String muWebPopupId = String.valueOf(paramMap.get("muWebPopupId"));
if(true != ValidationCheckUtil.emptyCheck(muWebPopupId)){
check = false;
map.put("msgCode", Constants.FAIL);
map.put("msgDesc","이벤트 식별자 정보가 없습니다.");
}
if(true == check){
List<Map<String, Object>> listMap = webPopupSqlMapDAO.selectWebPopup(paramMap);
int listMapSize = listMap.size();
map.put("msgCode", Constants.OK);
map.put("success","true");
map.put("rows",listMap);
}
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebPopupServiceImpl selectWebPopup END");
return map;
}
}

View File

@@ -0,0 +1,12 @@
package com.madeuhome.service.web.webservice;
import java.util.HashMap;
public interface WebServiceService {
public HashMap<String, Object> selectListWebCategory(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectListWebService(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectServiceDetail(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectReservation(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> insertReservation(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,295 @@
package com.madeuhome.service.web.webservice.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webservice.WebServiceSqlMapDAO;
import com.madeuhome.service.web.webservice.WebServiceService;
import com.madeuhome.util.OkHttpService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service("WebServiceService")
public class WebServiceServiceImpl implements WebServiceService{
@Autowired
private WebServiceSqlMapDAO webServiceSqlMapDAO;
@Value("${url.old-crm-php}")
private String ocp;
/**
* 시술 정보 카테고리 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebCategory(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl selectListWebCategory START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webServiceSqlMapDAO.selectListWebCategory(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebServiceServiceImpl selectListWebCategory END");
return map;
}
/**
* 시술 정보 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebService(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl selectListWebService START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webServiceSqlMapDAO.selectListWebService(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebServiceServiceImpl selectListWebService END");
return map;
}
/**
* 시술 정보 상세 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectServiceDetail(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl selectServiceDetail START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//상세 내용
Map<String, Object> listMap = webServiceSqlMapDAO.selectServiceDetail(paramMap);
map.put("rows",listMap);
//시술 목록
List<Map<String, Object>> listServiceMap = webServiceSqlMapDAO.selectListService(paramMap);
map.put("price",listServiceMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebServiceServiceImpl selectServiceDetail END");
return map;
}
/**
* 예약 정보 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl selectReservation START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//예약 목록
List<Map<String, Object>> listMap2 = new ArrayList<Map<String, Object>>();
if(paramMap.get("PROCEDURE_ID").toString().indexOf(",") != -1) {
String[] PROCEDURE_ID = paramMap.get("PROCEDURE_ID").toString().split(",");
for(int i = 0; i < PROCEDURE_ID.length; i++) {
HashMap<String, Object> map2 = new HashMap<String, Object>();
map2.put("PROCEDURE_ID", PROCEDURE_ID[i]);
listMap2.add(webServiceSqlMapDAO.selectReservationService(map2));
}
}else {
listMap2.add(webServiceSqlMapDAO.selectReservationService(paramMap));
}
map.put("reservation",listMap2);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebServiceServiceImpl selectReservation END");
return map;
}
/**
* 예약 정보 조회
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectReservationCnt(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl selectReservationCnt START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
//상세 내용
Map<String, Object> listMap = webServiceSqlMapDAO.selectReservationCnt(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebServiceServiceImpl selectReservationCnt END");
return map;
}
/**
* 예약 정보 저장
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> insertReservation(HashMap<String, Object> paramMap) throws Exception {
log.debug("WebServiceServiceImpl insertReservation START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
String muReserveId = ("R").concat(String.valueOf(System.currentTimeMillis()));
paramMap.put("muReserveId",muReserveId);
ArrayList<String> userRequest = new ArrayList<String>();
// TREATMENT_INFOS 파라미터가 있으면 파싱하여 P_변수명으로 세팅 후 insertReservation 호출
if(paramMap.get("TREATMENT_INFOS") != null) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> treatmentList = objectMapper.readValue(paramMap.get("TREATMENT_INFOS").toString(), new TypeReference<List<Map<String, Object>>>(){});
for(Map<String, Object> t : treatmentList) {
paramMap.put("P_TREATMENT_ID", t.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", t.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", t.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", t.get("TREATMENT_PROCEDURE_NAME"));
userRequest.add((String) t.get("TREATMENT_PROCEDURE_NAME"));
webServiceSqlMapDAO.insertReservation(paramMap);
}
} else {
// 기존 방식대로 단일 시술 정보로 처리
paramMap.put("P_TREATMENT_ID", paramMap.get("MU_TREATMENT_ID"));
paramMap.put("P_TREATMENT_NM", paramMap.get("TREATMENT_NAME"));
paramMap.put("P_PROCEDURE_ID", paramMap.get("MU_TREATMENT_PROCEDURE_ID"));
paramMap.put("P_PROCEDURE_NM", paramMap.get("TREATMENT_PROCEDURE_NAME"));
userRequest.add((String) paramMap.get("TREATMENT_PROCEDURE_NAME"));
webServiceSqlMapDAO.insertReservation(paramMap);
}
Map<String, String> formData = new HashMap<>();
formData.put("visitorName", (String) paramMap.get("NAME"));
formData.put("visitorPhone", (String) paramMap.get("PHONE_NUMBER"));
String strUserRequest = "[선택시술]:" + userRequest.stream().collect(Collectors.joining(", "));
String birthDate = "[생년월일]:" + paramMap.get("BIRTH_DATE");
String reqTxt = "[요청사항]:" + (String) paramMap.get("ETC");
formData.put("userRequest", strUserRequest + "\n" + birthDate + "\n" + reqTxt);
String time = (String) paramMap.get("TIME");
String date = (String) paramMap.get("SELECTED_DATE");
String dateTime = date + " " + time;
formData.put("datetime", dateTime);
Map<String, Object> detailMap = webServiceSqlMapDAO.selectServiceDetail(paramMap);
formData.put("itemName", "[홈페이지] 쁘띠&피부센터");
// 구CRM 연동ID가 없을 경우 모두 (재방문) 다이어트 센터
String oldCrmItemId = (String) detailMap.get("oldCrmItemId") == null ? "NBI-4aJSJ67P-f0ID-4xds-aReQ-MnhfErLts0HP" : (String) detailMap.get("oldCrmItemId");
formData.put("itemID", oldCrmItemId);
formData.put("etcText", "[진료]:" + (String) detailMap.get("CATEGORY_NM"));
// OLD CRM으로 예약정보 POST
/**
* //시술정보(상품명 , 상품ID)
상품명 : 메쉬다주사(지방분해주사)
상품 ID : NBI-1M0JEq5C-b8LM-4W0V-9YxZ-Z5r9XWJpIVEZ
피부 & 쁘띠센터
NBI-4aJSJ67P-f0ID-4xds-aReQ-MnhfErLts0HP
프리미엄 레이저 리프팅
NBI-1iPCWjih-2TDk-4NG3-ci56-tK7dgxxAT6dU
(첫방문) 다이어트 센터
NBI-1Q8doiCm-qzTh-4imi-9lsK-6YDslUzIK2OO
(재방문) 다이어트 센터
NBI-2WlrXQdl-esws-5aA5-al7z-d7HwxL9tX0YF
탈모약
NBI-Nz00si0r-DkGc-5hdd-bs27-SLn0KHlHflS8
비만치료제 위고비
NBI-2nJnTFVm-ieDy-4TNQ-czDK-Ll9FyixFr7zn
*
*
**/
OkHttpService.postFormData(ocp, formData);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
System.out.println("[insertReservation] paramMap: " + paramMap);
log.debug("WebServiceServiceImpl insertReservation END");
return map;
}
}

View File

@@ -0,0 +1,9 @@
package com.madeuhome.service.web.webvoc;
import java.util.HashMap;
public interface WebVOCService {
public HashMap<String, Object> selectPhoneAuthCheck(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> insertPhoneAuth(HashMap<String, Object> paramMap) throws Exception;
public HashMap<String, Object> insertVOC(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,284 @@
package com.madeuhome.service.web.webvoc.impl;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webvoc.WebVOCSqlMapDAO;
import com.madeuhome.service.web.webvoc.WebVOCService;
import com.madeuhome.util.ValidationCheckUtil;
import com.popbill.api.MessageService;
import com.popbill.api.PopbillException;
import com.popbill.api.message.Message;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service("WebVOCService")
public class WebVOCServiceImpl implements WebVOCService{
@Autowired
private WebVOCSqlMapDAO webVOCSqlMapDAO;
/*Popbill*/
@Autowired
private MessageService messageService;
@Value("${corpNum}")
String corpNum;
@Value("${userId}")
String userId;
@Value("${senderName}")
String senderName;
@Value("${senderPhoneNumber}")
String senderPhoneNumber;
/**
* 휴대폰 인증 확인
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectPhoneAuthCheck(HashMap<String, Object> paramMap) throws Exception {
log.debug("MobilePhoneAuthServiceImpl selectPhoneAuthCheck START");
HashMap<String, Object> map = new HashMap<String, Object>();
log.debug("phoneNumber : " + paramMap.get("phoneNumber"));
log.debug("authNumber : " + paramMap.get("authNumber"));
try {
boolean check = true;
String phoneNumber = String.valueOf(paramMap.get("phoneNumber"));
String authNumber = String.valueOf(paramMap.get("authNumber"));
if (true != ValidationCheckUtil.emptyCheck(phoneNumber)) {
check = false;
map.put("msgCode", Constants.FAIL);
map.put("msgDesc", "핸드폰 번호 정보가 없습니다.");
}
if (true != ValidationCheckUtil.emptyCheck(authNumber)) {
check = false;
map.put("msgCode", Constants.FAIL);
map.put("msgDesc", "인증번호정보가 없습니다.");
}
if (check == true) {
List<Map<String, Object>> listMap = webVOCSqlMapDAO.selectPhoneAuthCheck(paramMap);
int cnt = Integer.parseInt(String.valueOf(listMap.get(0).get("successCount")));
if(cnt>0) {
map.put("msgCode", Constants.OK);
map.put("msgDesc", "인증되었습니다.");
}else {
map.put("msgCode", Constants.FAIL);
map.put("msgDesc", "인증번호가 다릅니다. 다시 입력해주세요.");
}
}
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("MobilePhoneAuthServiceImpl selectPhoneAuthCheck END");
return map;
}
/**
* 인증번호 등록(SMS 발송)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
@Transactional(rollbackFor = { Exception.class }, propagation = Propagation.REQUIRES_NEW)
public HashMap<String, Object> insertPhoneAuth(HashMap<String, Object> paramMap) throws Exception {
log.debug("MobilePhoneAuthServiceImpl insertPhoneAuth START");
HashMap<String, Object> map = new HashMap<String, Object>();
log.debug("phoneNumber : " + paramMap.get("phoneNumber"));
log.debug("authType : " + paramMap.get("authType"));
try {
boolean check = true;
String phoneNumber = String.valueOf(paramMap.get("phoneNumber"));
if (true != ValidationCheckUtil.emptyCheck(phoneNumber)) {
check = false;
map.put("msgCode", Constants.FAIL);
map.put("msgDesc", "연락처 정보가 없습니다.");
}
// 최대 5회 발송확인.
// if (check == true) {
// List<Map<String, Object>> selectListPhoneAuthCountToday = mobilePhoneAuthSqlMapDAO.selectListPhoneAuthCountToday(paramMap);
//
// int authSendCount = Integer.parseInt(String.valueOf(selectListPhoneAuthCountToday.get(0).get("totalCount")));
//
// if (authSendCount >= 5) {
// check = false;
// map.put("msgCode", Constants.FAIL);
// map.put("msgDesc", "일일 인증횟수가 초과되었습니다.");
// }
// }
if (check == true) {
//SMS 환경설정 정보 호 출 : 팝빌회원 사업자번호, 팝빌회원 아이디, 발신자명, 발신번호, TEST(수신번호), 인증번호
String receiverNumber = String.valueOf(paramMap.get("phoneNumber")); //테스트 후 paramMap.get("phoneNumber")로 변경;
String tId = String.valueOf(System.currentTimeMillis());
int authNumber = (int) (Math.random() * (9999 - 1000 + 1)) + 1000;
String message = "[인증번호:"+authNumber+"] 메이드유 인증번호입니다.";
log.debug("corpNum :"+corpNum);
log.debug("userId :"+userId);
log.debug("senderName :"+senderName);
log.debug("senderPhoneNumber :"+senderPhoneNumber);
log.debug("receiverNumber :"+receiverNumber);
log.debug("authNumber :"+authNumber);
//SMS 등록
HashMap<String, Object> insertSmsParamMap = new HashMap<String, Object>();
insertSmsParamMap.put("id", ("S").concat(String.valueOf(System.currentTimeMillis())));
insertSmsParamMap.put("senderPhoneNumber",senderPhoneNumber);
insertSmsParamMap.put("receiverNumber",receiverNumber);
insertSmsParamMap.put("content",message);
insertSmsParamMap.put("state","R");
insertSmsParamMap.put("popbillState","0");
insertSmsParamMap.put("popbillResult","");
insertSmsParamMap.put("regId", paramMap.get("regId"));
insertSmsParamMap.put("modId", paramMap.get("modId"));
insertSmsParamMap.put("tId", tId);
webVOCSqlMapDAO.insertSms(insertSmsParamMap);
//PHONE AUTH 등록
HashMap<String, Object> insertPhoneAuthParamMap = new HashMap<String, Object>();
insertPhoneAuthParamMap.put("id", ("PA").concat(String.valueOf(System.currentTimeMillis())));
insertPhoneAuthParamMap.put("muSmsId", insertSmsParamMap.get("id"));
insertPhoneAuthParamMap.put("phoneNumber", paramMap.get("phoneNumber"));
insertPhoneAuthParamMap.put("authType", paramMap.get("authType")); //JN : 회원가입 ID: 아이디찾기, PW: 비밀번호 찾기, EM: 이메일 변경
insertPhoneAuthParamMap.put("authNumber", authNumber);
insertSmsParamMap.put("tId", tId);
webVOCSqlMapDAO.insertPhoneAuth(insertPhoneAuthParamMap);
// sms 상태 수정
HashMap<String, Object> smsStateParamMap = new HashMap<String, Object>();
smsStateParamMap.put("muSmsId", insertSmsParamMap.get("id"));
smsStateParamMap.put("state", "G");
webVOCSqlMapDAO.updateSmsState(smsStateParamMap);
Message[] messages = new Message[1];
Message msg = new Message();
msg.setSender(senderPhoneNumber); //발신번호
msg.setSenderName(senderName); //발신자명
msg.setReceiver(receiverNumber); //수신번호
msg.setReceiverName(""); //수신자명
msg.setContent(message); //메시지내용
messages[0] = msg;
String receiptNum = "";
// 예약전송일시, null 처리시 즉시전송
Date reserveDT = null;
// 광고문자 전송여부
Boolean adsYN = false;
// 전송요청번호
// 파트너가 전송 건에 대해 관리번호를 구성하여 관리하는 경우 사용.
// 1~36자리로 구성. 영문, 숫자, 하이픈(-), 언더바(_)를 조합하여 팝빌 회원별로 중복되지 않도록 할당.
String requestNum = "";
try {
receiptNum = messageService.sendSMS(corpNum, senderPhoneNumber, message, messages, reserveDT, adsYN, userId, requestNum);
log.debug("receiptNum",receiptNum);
} catch (PopbillException e) {
log.debug("오류 코드 :" + e.getCode());
log.debug("오류 메시지 :" + e.getMessage());
}
// sms 상태 수정
smsStateParamMap = new HashMap<String, Object>();
smsStateParamMap.put("muSmsId", insertSmsParamMap.get("id"));
smsStateParamMap.put("state", "Y");
webVOCSqlMapDAO.updateSmsState(smsStateParamMap);
map.put("msgCode", Constants.OK);
map.put("msgDesc", "발송되었습니다.");
}
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("MobilePhoneAuthServiceImpl insertPhoneAuth END");
return map;
}
/**
* 접수 등록
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
@Transactional(rollbackFor = { Exception.class }, propagation = Propagation.REQUIRES_NEW)
public HashMap<String, Object> insertVOC(HashMap<String, Object> paramMap) throws Exception {
log.debug("MobilePhoneAuthServiceImpl insertVOC START");
HashMap<String, Object> map = new HashMap<String, Object>();
try {
boolean check = true;
String phoneNumber = String.valueOf(paramMap.get("phoneNumber"));
if (true != ValidationCheckUtil.emptyCheck(phoneNumber)) {
check = false;
map.put("msgCode", Constants.FAIL);
map.put("msgDesc", "연락처 정보가 없습니다.");
}
if (check == true) {
webVOCSqlMapDAO.insertVOC(paramMap);
map.put("msgCode", Constants.OK);
map.put("msgDesc", "접수되었습니다.");
}
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("MobilePhoneAuthServiceImpl insertVOC END");
return map;
}
}

View File

@@ -0,0 +1,9 @@
package com.madeuhome.service.web.webyoutube;
import java.util.HashMap;
public interface WebYoutubeService {
public HashMap<String, Object> selectListWebYoutube(HashMap<String, Object> paramMap) throws Exception;
}

View File

@@ -0,0 +1,51 @@
package com.madeuhome.service.web.webyoutube.impl;
import com.madeuhome.constants.Constants;
import com.madeuhome.dao.web.webyoutube.WebYoutubeSqlMapDAO;
import com.madeuhome.service.web.webyoutube.WebYoutubeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service("WebYoutubeService")
public class WebYoutubeServiceImpl implements WebYoutubeService {
@Autowired
private WebYoutubeSqlMapDAO webYoutubeSqlMapDAO;
/**
* 유튜브 정보 리스트 조회 (List)
*
* @param paramMap
* @return
* @throws Exception
*/
@Override
public HashMap<String, Object> selectListWebYoutube(
HashMap<String, Object> paramMap) throws Exception {
log.debug("WebYoutubeServiceImpl selectListWebYoutube START");
HashMap<String, Object> map = new HashMap<String, Object>();
try{
List<Map<String, Object>> listMap = webYoutubeSqlMapDAO.selectListWebYoutube(paramMap);
map.put("rows",listMap);
map.put("msgCode", Constants.OK);
map.put("success","true");
}catch (Exception e) {
e.printStackTrace();
throw e;
}
log.debug("WebYoutubeServiceImpl selectListWebYoutube END");
return map;
}
}

View File

@@ -0,0 +1,61 @@
package com.madeuhome.util;
import com.google.gson.Gson;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Enumeration;
import java.util.HashMap;
public class HttpUtil {
public static ModelAndView makeHashToJsonModelAndView(
final HashMap<String, Object> map) {
Gson gson = new Gson();
ModelAndView mnv = new ModelAndView();
mnv.setViewName("/notification");
mnv.addObject("message", gson.toJson(map));
return mnv;
}
public static void sendResponceToJson(HttpServletResponse response,
final HashMap<String, Object> map) {
response.setContentType("application/json; charset=utf-8");
Gson gson = new Gson();
try {
response.getWriter().write(gson.toJson(map));
} catch (IOException e) {
e.printStackTrace();
}
}
public static HashMap<String, Object> getParameterMap(
HttpServletRequest request) {
HashMap<String, Object> parameterMap = new HashMap<String, Object>();
Enumeration<?> enums = request.getParameterNames();
while (enums.hasMoreElements()) {
String paramName = (String) enums.nextElement();
String[] parameters = request.getParameterValues(paramName);
// Parameter가 배열일 경우
if (parameters.length > 1) {
parameterMap.put(paramName, parameters);
// Parameter가 배열이 아닌 경우
} else {
try {
parameters[0] = parameters[0].replaceAll("%", "%25");
parameterMap.put(paramName, URLDecoder.decode(parameters[0],"UTF-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return parameterMap;
}
}

View File

@@ -0,0 +1,52 @@
package com.madeuhome.util;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.springframework.stereotype.Component;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
@Component
public class OkHttpService {
private static final OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.build();
/**
* Form-data POST 요청
* @param url 요청 URL
* @param formData 폼 데이터
* @return 응답 문자열
* @throws IOException 요청 실패시
*/
public static String postFormData(String url, Map<String, String> formData) throws IOException {
MultipartBody.Builder builder = new MultipartBody.Builder()
.setType(MultipartBody.FORM);
// 폼 데이터 추가
for (Map.Entry<String, String> entry : formData.entrySet()) {
if (entry.getValue() != null) {
builder.addFormDataPart(entry.getKey(), entry.getValue());
}
}
Request request = new Request.Builder()
.url(url)
.post(builder.build())
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) {
throw new IOException("HTTP Error: " + response.code() + " " + response.message());
}
return response.body().string();
}
}
}

View File

@@ -0,0 +1,210 @@
package com.madeuhome.util;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Slf4j
public class RequestLogUtil {
/**
* 접속 로그 저장
* @param request
* @param
* @throws Exception
*/
// https://linked2ev.github.io/java/2019/05/22/JAVA-1.-java-get-clientIP/
public static HashMap<String, Object> getVisitLogParameterMap(HttpServletRequest request) {
String visitIp = getClientIP(request);
String visitReferDomain = getClientDomainName(request);
String visitRefer = getClientDomain(request);
String visitOriginAgent = getClientAgent(request);
String visitAgent = getClientBrower(request);
String visitOs = getClientOS(request);
// pushHistory에 저장.
HashMap<String, Object> visitLogParamMap = new HashMap<String, Object>();
visitLogParamMap.put("type", "A"); // 관리자에서 로그 등록
visitLogParamMap.put("visitIp", visitIp);
visitLogParamMap.put("visitReferDomain", visitReferDomain);
visitLogParamMap.put("visitRefer", visitRefer);
visitLogParamMap.put("visitOriginAgent", visitOriginAgent);
visitLogParamMap.put("visitAgent", visitAgent);
visitLogParamMap.put("visitOs", visitOs);
return visitLogParamMap;
}
/**
* 접속자 IP
* @param request
* @param
* @throws Exception
*/
// https://linked2ev.github.io/java/2019/05/22/JAVA-1.-java-get-clientIP/
public static String getClientIP(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
log.debug("> X-FORWARDED-FOR : " + ip);
if (ip == null) {
ip = request.getHeader("Proxy-Client-IP");
log.debug("> Proxy-Client-IP : " + ip);
}
if (ip == null) {
ip = request.getHeader("WL-Proxy-Client-IP");
log.debug("> WL-Proxy-Client-IP : " + ip);
}
if (ip == null) {
ip = request.getHeader("HTTP_CLIENT_IP");
log.debug("> HTTP_CLIENT_IP : " + ip);
}
if (ip == null) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
log.debug("> HTTP_X_FORWARDED_FOR : " + ip);
}
if (ip == null) {
ip = request.getRemoteAddr();
log.debug("> getRemoteAddr : "+ip);
}
log.debug("Result : IP Address : "+ip);
return ip;
}
/**
* 접속자 Agent
* @param request
* @param
* @throws Exception
*/
public static String getClientAgent(HttpServletRequest request) {
String agent = request.getHeader("User-Agent");
log.debug("Result : agent : "+agent);
return agent;
}
/**
* 접속자 브라우저
* @param request
* @param
* @throws Exception
*/
public static String getClientBrower(HttpServletRequest request) {
String agent = request.getHeader("User-Agent");
String brower = null;
if (agent != null) {
if (agent.indexOf("Trident") > -1) {
brower = "MS IE";
} else if (agent.indexOf("Edg") > -1) {
brower = "MS Edg";
}else if (agent.indexOf("KAKAOTALK") > -1) {
brower = "KAKAOTALK";
} else if (agent.indexOf("Chrome") > -1) {
brower = "Chrome";
} else if (agent.indexOf("Safari") > -1) {
brower = "Safari";
} else if (agent.indexOf("Opera") > -1) {
brower = "Opera";
}
}
log.debug("Result : brower : "+brower);
return brower;
}
/**
* 접속자 OS
* @param request
* @param
* @throws Exception
*/
public static String getClientOS(HttpServletRequest request) {
String agent = request.getHeader("User-Agent");
// OS 구분
String os = null;
if(agent.indexOf("Android") != -1) {
os = "Android";
}else if(agent.indexOf("iPhone") != -1) {
os = "iPhone";
}else if(agent.indexOf("Linux") != -1) {
os = "Linux";
}else if(agent.indexOf("Mac OS") != -1) {
os = "Mac OS";
}else if(agent.indexOf("Windows") != -1) {
os = "Windows";
}else {
os = "etc";
}
log.debug("Result : OS : "+os);
return os;
}
/**
* 접속자 도메인(REFER)
* @param request
* @param
* @throws Exception
*/
public static String getClientDomain(HttpServletRequest request) {
String referer = request.getHeader("REFERER");
log.debug("Result : Referer : "+referer);
return referer;
}
/**
* 접속자 도메인(REFER에서 도메인명만 추출)
* @param request
* @param
* @throws Exception
*/
public static String getClientDomainName(HttpServletRequest request) {
String referer = request.getHeader("REFERER");
log.debug("Referer : "+referer);
if(referer==null||referer.equals("")) {
return null;
}
String result="";
Pattern urlPattern = Pattern.compile("^(https?):\\/\\/([^:\\/\\s]+)(:([^\\/]*))?((\\/[^\\s/\\/]+)*)?\\/([^#\\s\\?]*)(\\?([^#\\s]*))?(#(\\w*))?$");
Matcher m = urlPattern.matcher(referer);
if (m.matches()) {
/*for(int i=0; i<=m.groupCount();i++) {
System.out.println(m.group(i));
}*/
if(m.groupCount()>=2){
result = m.group(2);
}
if(result.contains("www.")) {
result = result.substring(4, result.length());
}
}
log.debug("Result : domainName : "+result);
return result;
}
}

View File

@@ -0,0 +1,39 @@
package com.madeuhome.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SecurityUtil {
public static String encryptSHA256(String str) {
String sha = "";
try {
MessageDigest sh = MessageDigest.getInstance("SHA-256");
sh.update(str.getBytes());
byte byteData[] = sh.digest();
StringBuffer sb = new StringBuffer();
for(int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i]&0xff) + 256, 16).substring(1));
}
sha = sb.toString();
} catch (NoSuchAlgorithmException e) {
sha = null;
}
return sha;
}
public static void main(String[] args){
try {
System.out.println("encryptSHA256 : "+ encryptSHA256("1234"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,101 @@
package com.madeuhome.util;
import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat;
import java.util.regex.Pattern;
@Slf4j
public class ValidationCheckUtil {
public static Boolean emptyCheck(String value){
if(null==value||("").equals(value)||("null").equals(value)||("NULL").equals(value)||("undefined").equals(value)) {
return false;
}else{
return true;
}
}
public static Boolean lengthCheck(String value, int maxLength){
int strLength = value.length();
log.debug("strLength : "+strLength);
if(strLength > maxLength) {
return false;
}else{
return true;
}
}
public static Boolean dateCheck(String value){
try{
int strLength = value.length();
log.debug("strLength : "+strLength);
if(strLength == 10){
SimpleDateFormat dateFormatParser = new SimpleDateFormat("yyyy-MM-dd");
dateFormatParser.setLenient(false);
dateFormatParser.parse(value);
return true;
}else{
return false;
}
}catch (Exception e){
return false;
}
}
public static Boolean dateTimeCheck(String value){
try{
int strLength = value.length();
log.debug("strLength : "+strLength);
if(strLength == 16){
SimpleDateFormat dateFormatParser = new SimpleDateFormat("yyyy-MM-dd HH:mm");
dateFormatParser.setLenient(false);
dateFormatParser.parse(value);
return true;
}else{
return false;
}
}catch (Exception e){
return false;
}
}
public static boolean phoneCheck(String str) {
return Pattern.matches("^\\d{2,3}\\d{3,4}\\d{4}$", str);
}
// 이메일 검사기
public static boolean emailCheck(String str) {
return Pattern.matches("^[a-z0-9A-Z._-]*@[a-z0-9A-Z]*.[a-zA-Z.]*$", str);
}
public static boolean passwordCheck(String str) {
return Pattern.matches("(?=.*[a-zA-Z])(?=.*\\d)[a-zA-Z\\d]{9,16}$", str);
}
public static void main(String[] args){
try {
boolean emptyCheck = ValidationCheckUtil.emptyCheck("484651984561");
boolean lengthCheck = ValidationCheckUtil.lengthCheck("길이체크", 255);
boolean dateCheck = ValidationCheckUtil.dateCheck("2022-03-01");
boolean dateTimeCheck = ValidationCheckUtil.dateTimeCheck("2022-03-01 12:11");
log.debug("emptyCheck : "+emptyCheck);
log.debug("lengthCheck : "+lengthCheck);
log.debug("dateCheck : "+dateCheck);
log.debug("dateTimeCheck : "+dateTimeCheck);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,16 @@
spring:
datasource:
hikari:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://vara.iptime.org:3306/madeu
username: madeu
password: madeu12#$
url:
cdn: http://dcrm.vara.co.kr/cdn/
old-crm-php: http://crm.madeu.co.kr/add-booking-home.php
madeu:
logo:
size800x450: http://crm.vara.co.kr/cdn/logo_800x450.png

View File

@@ -0,0 +1,16 @@
spring:
datasource:
hikari:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://vara.iptime.org:3306/madeu
username: madeu
password: madeu12#$
url:
cdn: http://crm.vara.co.kr/cdn/
old-crm-php: http://crm.madeu.co.kr/add-booking-home.php
madeu:
logo:
size800x450: http://crm.vara.co.kr/cdn/logo_800x450.png

View File

@@ -0,0 +1,15 @@
spring:
datasource:
hikari:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://localhost:3306/madeu
username: madeu
password: apdlemdb12#$
url:
cdn: https://crm.vara.co.kr/cdn/
old-crm-php: http://crm.madeu.co.kr/add-booking-home.php
madeu:
logo:
size800x450: http://crm.vara.co.kr/cdn/logo_800x450.png

View File

@@ -0,0 +1,53 @@
# 공통 설정
spring:
profiles:
active: local
thymeleaf:
prefix: classpath:templates/
suffix: .html
cache: false
check-template-location: true
servlet:
multipart:
maxFileSize: 500MB
maxRequestSize: 500MB
server:
port: 8082
compression:
enabled: true
server-header: server
error:
whitelabel:
enabled: false
path: /error/errorIntro.do
servlet:
session:
timeout: -1
mybatis:
type-aliases-package: com.entree
mapper-locations: mybatis/mappers/*.xml
configuration:
map-underscore-to-camel-case: true
# Popbill 설정
popbill:
link-id: NTSOFT
secret-key: Wha5GNilXotCWzsZFj4c1VAvFv3pSlnNog5zpZlxsZc=
is-test: false
is-ip-restrict-on-off: false
use-static-ip: false
use-local-time-yn: true
corpNum: 4901201321
userId: chanseul
senderName: madeu
senderPhoneNumber: 025474711
# Instagram 설정
instagram:
client-id: 17841400162629727
accesstoken: IGAAMzYDUuoLJBZAFBieGZAYWXplcjlkRGZAkenkxbDEtSWp0VDkxZA2VEOGljcndKR2NMWl9FQmNGUVlMTzZAkbWgxd0xjRXJlTjNhanB4VWxIX2tZARnhuZATUycEFoLVZAvbUtQam11blEzbDR6QmpjQVBBSm5wc0JKdnIyc2xxVVRrNAZDZD

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" monitorInterval="30">
<Properties>
<!-- <Property name="BASE_DIR">/usr/local/tomcat/logs</Property> -->
<Property name="BASE_DIR">/usr/local/apache-tomcat-10.1.11/logs/madeuhome</Property>
<Property name="LOG_FORMAT">[%date{yyyy-MM-dd HH:mm:ss}] %level %log{36}(%file:%line) - %msg%n</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="${LOG_FORMAT}" />
</Console>
<RollingFile name="File"
fileName="${BASE_DIR}/output.log"
filePattern="${BASE_DIR}/output.%d{yyyy-MM-dd}.log">
<PatternLayout pattern="${LOG_FORMAT}" />
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="${BASE_DIR}">
<IfFileName glob="*.log" />
<IfLastModified age="30d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info" additivity="true">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Root>
<Logger name="com.package.controller" level="DEBUG"
additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Logger>
<Logger name="org.mariadb.jdbc" level="DEBUG" additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Logger>
<Logger name="org.apache.juli.logging.DirectJDKLog.log" level="OFF" additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Logger>
<!--<Logger name="com.microsoft.sqlserver" level="DEBUG" additivity="false">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Logger>-->
<!-- RMI 관련 로그 레벨을 INFO나 WARN으로 변경 -->
<Logger name="sun.rmi" level="INFO" additivity="false"/>
<Logger name="java.rmi" level="INFO" additivity="false"/>
<Logger name="javax.management" level="INFO" additivity="false"/>
</Loggers>
</Configuration>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="LogHistory">
<insert id="insertLogHistory" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muLogHistoryId},LPAD((SELECT NEXTVAL(MU_LOG_HISTORY_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_LOG_HISTORY(
MU_LOG_HISTORY_ID
,MU_MEMBER_ID
,VISIT_IP
,VISIT_ORIGIN_AGENT
,VISIT_AGENT
,VISIT_OS
,URL
,FUNC
,SERVICE
,FUNC_NAME
,SERVICE_NAME
,REQUEST_VALUE
,RESPONSE_VALUE
,RESULT_CODE
,RESULT_MSG
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{muMemberId}
,#{visitIp,jdbcType=VARCHAR}
,#{visitOriginAgent,jdbcType=VARCHAR}
,#{visitAgent,jdbcType=VARCHAR}
,#{visitOs,jdbcType=VARCHAR}
,#{url,jdbcType=VARCHAR}
,#{func,jdbcType=VARCHAR}
,#{service,jdbcType=VARCHAR}
,#{funcName,jdbcType=VARCHAR}
,#{serviceName,jdbcType=VARCHAR}
,#{requestValue}
,#{responseValue}
,#{resultCode,jdbcType=VARCHAR}
,#{resultMsg,jdbcType=VARCHAR}
,CURDATE()
,CURTIME()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,#{tDate}
)
</insert>
</mapper>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="VisitLog">
<insert id="insertVisitLog" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{tyVisitLogId},LPAD((SELECT NEXTVAL('TY_VISIT_LOG_SEQ')), 10, 0))
</selectKey>
INSERT INTO TY_VISIT_LOG(
TY_VISIT_LOG_ID
,TY_USER_ID
,TYPE
,VISIT_IP
,VISIT_REFER_DOMAIN
,VISIT_REFER
,VISIT_ORIGIN_AGENT
,VISIT_AGENT
,VISIT_OS
,VISIT_DATE
,WORK_TYPE
,USE_YN
,REG_ID
,REG_DATE
)VALUES(
#{id}
,#{muMemberId, jdbcType=VARCHAR}
,#{type, jdbcType=VARCHAR}
,#{visitIp, jdbcType=VARCHAR}
,#{visitReferDomain, jdbcType=VARCHAR}
,#{visitRefer, jdbcType=VARCHAR}
,#{visitOriginAgent, jdbcType=VARCHAR}
,#{visitAgent, jdbcType=VARCHAR}
,#{visitOs, jdbcType=VARCHAR}
,NOW()
,#{workType, jdbcType=VARCHAR}
,'Y'
,#{regId}
,NOW()
)
</insert>
</mapper>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="WebEvent">
<!-- 카테고리 목록 조회 -->
<select id="selectListWebEvent" parameterType="hashmap" resultType="hashmap">
SELECT
CATEGORY_NO,
CATEGORY_NM
FROM HP_CATEGORY
WHERE CATEGORY_DIV_CD = '04'
AND USE_YN = 'Y'
</select>
<!-- 카테고리 상세 목록 조회 -->
<select id="selectListEvent" parameterType="hashmap" resultType="hashmap">
SELECT A.CATEGORY_DIV_CD, A.CATEGORY_NO, A.POST_NO, TITLE, CONTENT, THUMBNAIL_BOTTOM_TXT, A.HASHTAG, D.FILE_PATH AS THUMBNAIL_PATH,
(SELECT MIN(PRICE + VAT) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS PRICE,
(SELECT MIN(DISCOUNT_PRICE) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS DISCOUNT_PRICE
FROM HP_CONTENTS_BBS A
LEFT OUTER JOIN HP_ATTACH_FILE D ON A.THUMBNAIL_ATTACHFILE_ID = D.ATTACHFILE_ID
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = '04'
AND A.CATEGORY_NO = #{category_no}
ORDER BY A.REG_DATE DESC
</select>
<!-- 이벤트안내 상세 조회 -->
<select id="selectEventDetail" resultType="hashmap" parameterType="hashmap">
SELECT A.CATEGORY_DIV_CD, A.CATEGORY_NO, A.POST_NO, C.CATEGORY_NM , TITLE, CONTENT, THUMBNAIL_BOTTOM_TXT, A.HASHTAG, D.FILE_PATH AS THUMBNAIL_PATH, E.FILE_PATH AS CONTENTS_PATH,
(SELECT MIN(PRICE + VAT) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS PRICE,
(SELECT MIN(DISCOUNT_PRICE) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS DISCOUNT_PRICE
FROM HP_CONTENTS_BBS A
LEFT OUTER JOIN HP_CATEGORY C ON A.CATEGORY_NO = C.CATEGORY_NO AND A.CATEGORY_DIV_CD = C.CATEGORY_DIV_CD
LEFT OUTER JOIN HP_ATTACH_FILE D ON A.THUMBNAIL_ATTACHFILE_ID = D.ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE E ON A.CONTENTS_ATTACHFILE_ID = E.ATTACHFILE_ID
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = #{CATEGORY_DIV_CD}
AND A.CATEGORY_NO = #{CATEGORY_NO}
AND A.POST_NO = #{POST_NO}
</select>
<!-- 이벤트 목록 조회 -->
<select id="selectListEventSub" resultType="hashmap" parameterType="hashmap">
SELECT TREATMENT_PROCEDURE_NAME, PRICE, VAT, DISCOUNT_PRICE, A.MU_TREATMENT_PROCEDURE_ID
FROM HP_CONTENTS_BBS_PROCEDURE A
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE B ON A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID AND B.USE_YN = 'Y'
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE C ON B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y'
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = #{CATEGORY_DIV_CD}
AND A.CATEGORY_NO = #{CATEGORY_NO}
AND A.POST_NO = #{POST_NO}
</select>
<!-- 예약 조회 -->
<select id="selectReservationCnt" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(*) AS RES_CNT
FROM MU_RESERVE
WHERE RESERVE_DATE = #{SELECTED_DATE}
AND RESERVE_TIME = #{TIME}
</select>
<!-- 시술 목록 조회 -->
<select id="selectReservationService" resultType="hashmap" parameterType="hashmap">
SELECT A.TREATMENT_PROCEDURE_NAME, (B.PRICE + B.VAT) AS PRICE, B.VAT, B.DISCOUNT_PRICE, C.MU_TREATMENT_ID, C.TREATMENT_NAME, B.MU_TREATMENT_PROCEDURE_ID
FROM MU_TREATMENT_PROCEDURE A
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE B ON A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID AND B.USE_YN = 'Y'
LEFT OUTER JOIN MU_TREATMENT C ON A.MU_TREATMENT_ID = C.MU_TREATMENT_ID
WHERE A.MU_TREATMENT_PROCEDURE_ID = #{PROCEDURE_ID}
</select>
<!-- 예약 저장 -->
<insert id="insertReservation" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muReserveId},LPAD((SELECT NEXTVAL(MU_RESERVE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_RESERVE(
MU_RESERVE_ID
,USER_NAME
,PHONE_NUMBER
,RESERVE_DATE
,RESERVE_TIME
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_TREATMENT_PROCEDURE_ID
,TREATMENT_PROCEDURE_NAME
,ETC
,STATUS
,STATUS2
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{id}
,#{NAME}
,#{PHONE_NUMBER}
,#{SELECTED_DATE}
,#{TIME}
,#{P_TREATMENT_ID}
,#{P_TREATMENT_NM}
,#{P_PROCEDURE_ID}
,#{P_PROCEDURE_NM}
,#{ETC,jdbcType=VARCHAR}
,'T'
,'N'
,CURDATE()
,CURTIME()
,'C'
,'Y'
,'customer'
,NOW()
,'customer'
,NOW()
)
</insert>
</mapper>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="WebMainBanner">
<select id="selectTotalWebMainBannerCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_WEB_MAIN_BANNER AS MWP
WHERE MWP.USE_YN = 'Y'
AND MWP.BANNER_TYPE = #{bannerType}
</select>
<select id="selectListWebMainBanner" parameterType="hashmap" resultType="hashmap">
SELECT MWP.MU_WEB_MAIN_BANNER_ID AS "muWebMainBannerId"
,MWP.TITLE AS "title"
,MWP.URL AS "url"
,MWP.CONTENT AS "content"
,MWP.WEB_FILE_PATH AS "webFilePath"
,MWP.MOBILE_FILE_PATH AS "mobileFilePath"
,MWP.WRITE_DATE AS "writeDate"
FROM (
SELECT MWP.MU_WEB_MAIN_BANNER_ID AS MU_WEB_MAIN_BANNER_ID
,IFNULL(MWP.TITLE,'') AS TITLE
,IFNULL(MWP.URL,'') AS URL
,IFNULL(MWP.CONTENT,'') AS CONTENT
,IFNULL(MWP.FILE_PATH,'') AS WEB_FILE_PATH
,IFNULL(MWP.FILE_PATH2,'') AS MOBILE_FILE_PATH
,DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') AS WRITE_DATE
,DATE_FORMAT(MWP.WRITE_TIME, '%H:%i:%s') AS WRITE_TIME
FROM MU_WEB_MAIN_BANNER AS MWP
WHERE MWP.USE_YN = 'Y'
AND MWP.BANNER_TYPE = #{bannerType}
LIMIT 18446744073709551615
) AS MWP
WHERE 1 = 1
ORDER BY MWP.WRITE_DATE DESC, MWP.WRITE_TIME DESC
</select>
<select id="selectWebMainBanner" parameterType="hashmap" resultType="hashmap">
SELECT MWP.MU_WEB_MAIN_BANNER_ID AS "muWebMainBannerId"
,IFNULL(CONCAT(MWP.CDN_URL, MWP.FILE_PATH),'') AS "webFilePath"
,IFNULL(CONCAT(MWP.CDN_URL, MWP.FILE_PATH2),'') AS "mobileFilePath"
,DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,DATE_FORMAT(MWP.WRITE_TIME, '%H:%i:%s') AS "writeTime"
FROM MU_WEB_MAIN_BANNER AS MWP
WHERE MWP.USE_YN = 'Y'
AND MWP.MU_WEB_MAIN_BANNER_ID = #{muWebMainBannerId}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="WebPhoto">
<!-- 카테고리 목록 조회 -->
<select id="selectListWebPhoto" parameterType="hashmap" resultType="hashmap">
SELECT
CATEGORY_NO,
CATEGORY_NM
FROM HP_CATEGORY
WHERE CATEGORY_DIV_CD = '06'
AND USE_YN = 'Y'
</select>
<!-- 카테고리 상세 목록 조회 -->
<select id="selectListPhoto" parameterType="hashmap" resultType="hashmap">
SELECT A.CATEGORY_DIV_CD, A.CATEGORY_NO, A.POST_NO, TITLE, CONTENT, D.FILE_PATH AS BEFORE_PATH, E.FILE_PATH AS AFTER_PATH, F.CATEGORY_NM
FROM HP_BEFORE_AFTER_PHOTO_BBS A
LEFT OUTER JOIN HP_ATTACH_FILE D ON A.BEFORE_PHOTO_ATTACHFILE_ID = D.ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE E ON A.AFTER_PHOTO_ATTACHFILE_ID = E.ATTACHFILE_ID
LEFT OUTER JOIN HP_CATEGORY F ON A.CATEGORY_NO = F.CATEGORY_NO AND A.CATEGORY_DIV_CD = F.CATEGORY_DIV_CD
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = '06'
<if test="category_no != null and category_no != '' and category_no != 'all'">
AND A.CATEGORY_NO = #{category_no}
</if>
</select>
<!-- 전후사진안내 상세 조회 -->
<select id="selectPhotoDetail" resultType="hashmap" parameterType="hashmap">
SELECT A.CATEGORY_DIV_CD, A.CATEGORY_NO, A.POST_NO, C.CATEGORY_NM , TITLE, CONTENT, A.HASHTAG, D.FILE_PATH AS BEFORE_PATH, E.FILE_PATH AS AFTER_PATH, A.REG_DATE
FROM HP_BEFORE_AFTER_PHOTO_BBS A
LEFT OUTER JOIN HP_CATEGORY C ON A.CATEGORY_NO = C.CATEGORY_NO AND A.CATEGORY_DIV_CD = C.CATEGORY_DIV_CD
LEFT OUTER JOIN HP_ATTACH_FILE D ON A.BEFORE_PHOTO_ATTACHFILE_ID = D.ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE E ON A.AFTER_PHOTO_ATTACHFILE_ID = E.ATTACHFILE_ID
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = #{CATEGORY_DIV_CD}
AND A.CATEGORY_NO = #{CATEGORY_NO}
AND A.POST_NO = #{POST_NO}
</select>
<!-- 전후사진 목록 조회 -->
<select id="selectListPhotoSub" resultType="hashmap" parameterType="hashmap">
SELECT TREATMENT_PROCEDURE_NAME, PRICE, VAT, DISCOUNT_PRICE, A.MU_TREATMENT_PROCEDURE_ID
FROM HP_CONTENTS_BBS_PROCEDURE A
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE B ON A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID AND B.USE_YN = 'Y'
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE C ON B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y'
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = #{CATEGORY_DIV_CD}
AND A.CATEGORY_NO = #{CATEGORY_NO}
AND A.POST_NO = #{POST_NO}
</select>
</mapper>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="WebPopup">
<select id="selectTotalWebPopupCount" parameterType="hashmap" resultType="hashmap">
SELECT COUNT(*) AS "totalCount"
FROM MU_WEB_POPUP AS MWP
WHERE MWP.USE_YN = 'Y'
</select>
<select id="selectListWebPopup" parameterType="hashmap" resultType="hashmap">
SELECT MWP.MU_WEB_POPUP_ID AS "muWebPopupId"
,MWP.TITLE AS "title"
,MWP.URL AS "url"
,MWP.FILE_PATH AS "filePath"
,MWP.M_FILE_PATH AS "m_filePath"
,MWP.WRITE_DATE AS "writeDate"
FROM (
SELECT MWP.MU_WEB_POPUP_ID AS MU_WEB_POPUP_ID
,IFNULL(MWP.TITLE,'') AS TITLE
,IFNULL(MWP.URL,'') AS URL
,IFNULL(MWP.FILE_PATH, '') AS FILE_PATH
,IFNULL(MWP.M_FILE_PATH, '') AS M_FILE_PATH
,DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') AS WRITE_DATE
,DATE_FORMAT(MWP.WRITE_TIME, '%H:%i:%s') AS WRITE_TIME
FROM MU_WEB_POPUP AS MWP
WHERE MWP.USE_YN = 'Y'
AND MWP.HOMEPAGE_DIV_CD = '02'
LIMIT 18446744073709551615
) AS MWP
WHERE 1 = 1
ORDER BY MWP.WRITE_DATE DESC, MWP.WRITE_TIME DESC
</select>
<select id="selectWebPopup" parameterType="hashmap" resultType="hashmap">
SELECT MWP.MU_WEB_POPUP_ID AS "muWebPopupId"
,IFNULL(CONCAT(MWP.CDN_URL, MWP.FILE_PATH),'') AS "filePath"
,DATE_FORMAT(MWP.WRITE_DATE, '%Y-%m-%d') AS "writeDate"
,DATE_FORMAT(MWP.WRITE_TIME, '%H:%i:%s') AS "writeTime"
FROM MU_WEB_POPUP AS MWP
WHERE MWP.USE_YN = 'Y'
AND MWP.MU_WEB_POPUP_ID = #{muWebPopupId}
LIMIT 0, 1
</select>
</mapper>

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="WebService">
<!-- 카테고리 목록 조회 -->
<select id="selectListWebCategory" resultType="hashmap" parameterType="hashmap">
SELECT CATEGORY_NO
,CATEGORY_NM
FROM HP_CATEGORY
WHERE CATEGORY_DIV_CD = '03'
AND USE_YN = 'Y'
ORDER BY ORDER_NO
</select>
<!-- 카테고리 상세 목록 조회 -->
<select id="selectListWebService" resultType="hashmap" parameterType="hashmap">
SELECT A.CATEGORY_DIV_CD, A.CATEGORY_NO, A.POST_NO, TITLE, THUMBNAIL_BOTTOM_TXT, CONTENT,
(SELECT MIN(PRICE + VAT) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS PRICE,
(SELECT MIN(DISCOUNT_PRICE) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS DISCOUNT_PRICE
FROM HP_CONTENTS_BBS A
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = '03'
AND A.CATEGORY_NO = #{categoryNo}
</select>
<!-- 카테고리 상세 조회 -->
<select id="selectServiceDetail" resultType="hashmap" parameterType="hashmap">
SELECT A.CATEGORY_DIV_CD
, A.CATEGORY_NO
, A.POST_NO
, C.CATEGORY_NM
, A.TITLE
, A.CONTENT
, A.THUMBNAIL_BOTTOM_TXT
, A.HASHTAG
, A.OLD_CRM_ITEM_ID as oldCrmItemId
, D.FILE_PATH AS THUMBNAIL_PATH
, E.FILE_PATH AS CONTENTS_PATH
, (SELECT MIN(PRICE + VAT) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS PRICE
, (SELECT MIN(DISCOUNT_PRICE) FROM MU_TREATMENT_PROCEDURE_PRICE C
LEFT OUTER JOIN HP_CONTENTS_BBS_PROCEDURE B ON A.POST_NO = B.POST_NO AND A.CATEGORY_DIV_CD = B.CATEGORY_DIV_CD AND A.CATEGORY_NO = B.CATEGORY_NO AND B.USE_YN = 'Y'
WHERE B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y') AS DISCOUNT_PRICE
FROM HP_CONTENTS_BBS A
LEFT OUTER JOIN HP_CATEGORY C ON A.CATEGORY_NO = C.CATEGORY_NO AND A.CATEGORY_DIV_CD = C.CATEGORY_DIV_CD
LEFT OUTER JOIN HP_ATTACH_FILE D ON A.THUMBNAIL_ATTACHFILE_ID = D.ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE E ON A.CONTENTS_ATTACHFILE_ID = E.ATTACHFILE_ID
WHERE A.USE_YN = 'Y'
AND A.CATEGORY_DIV_CD = #{CATEGORY_DIV_CD}
AND A.CATEGORY_NO = #{CATEGORY_NO}
AND A.POST_NO = #{POST_NO}
</select>
<!-- 시술 목록 조회 -->
<select id="selectListService" resultType="hashmap" parameterType="hashmap">
SELECT TREATMENT_PROCEDURE_NAME, PRICE, VAT, DISCOUNT_PRICE, A.MU_TREATMENT_PROCEDURE_ID
FROM HP_CONTENTS_BBS_PROCEDURE A
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE B ON A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID AND B.USE_YN = 'Y'
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE C ON B.MU_TREATMENT_PROCEDURE_ID = C.MU_TREATMENT_PROCEDURE_ID AND C.USE_YN = 'Y'
WHERE A.USE_YN = 'Y'
AND B.ENABLE_YN = 'Y'
AND A.CATEGORY_DIV_CD = #{CATEGORY_DIV_CD}
AND A.CATEGORY_NO = #{CATEGORY_NO}
AND A.POST_NO = #{POST_NO}
</select>
<!-- 예약 조회 -->
<select id="selectReservationCnt" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(*) AS RES_CNT
FROM MU_RESERVE
WHERE RESERVE_DATE = #{SELECTED_DATE}
AND RESERVE_TIME = #{TIME}
</select>
<!-- 시술 목록 조회 -->
<select id="selectReservationService" resultType="hashmap" parameterType="hashmap">
SELECT A.TREATMENT_PROCEDURE_NAME, (B.PRICE + B.VAT) AS PRICE, B.VAT, B.DISCOUNT_PRICE, C.MU_TREATMENT_ID, C.TREATMENT_NAME, B.MU_TREATMENT_PROCEDURE_ID
FROM MU_TREATMENT_PROCEDURE A
LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE B ON A.MU_TREATMENT_PROCEDURE_ID = B.MU_TREATMENT_PROCEDURE_ID AND B.USE_YN = 'Y'
LEFT OUTER JOIN MU_TREATMENT C ON A.MU_TREATMENT_ID = C.MU_TREATMENT_ID
WHERE A.MU_TREATMENT_PROCEDURE_ID = #{PROCEDURE_ID}
</select>
<!-- 예약 저장 -->
<insert id="insertReservation" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{muReserveId},LPAD((SELECT NEXTVAL(MU_RESERVE_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_RESERVE(
MU_RESERVE_ID
,USER_NAME
,PHONE_NUMBER
,RESERVE_DATE
,RESERVE_TIME
,MU_TREATMENT_ID
,TREATMENT_NAME
,MU_TREATMENT_PROCEDURE_ID
,TREATMENT_PROCEDURE_NAME
,ETC
,STATUS
,STATUS2
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
)VALUES(
#{id}
,#{NAME}
,#{PHONE_NUMBER}
,#{SELECTED_DATE}
,#{TIME}
,#{P_TREATMENT_ID}
,#{P_TREATMENT_NM}
,#{P_PROCEDURE_ID}
,#{P_PROCEDURE_NM}
,#{ETC,jdbcType=VARCHAR}
,'T'
,'N'
,CURDATE()
,CURTIME()
,'C'
,'Y'
,'customer'
,NOW()
,'customer'
,NOW()
)
</insert>
</mapper>

View File

@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="WebVOC">
<insert id="insertSms" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{id},LPAD((SELECT NEXTVAL(MU_SMS_SEQ)), 11, 0))
</selectKey>
INSERT INTO MU_SMS(
MU_SMS_ID
,MU_USER_ID
,USER_NAME
,RECEIVER
,TYPE
,TITLE
,CONTENT
,STATE
,POPBILL_STATE
,SENDER
,WRITE_DATE
,WRITE_TIME
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
,SEND_SYS_CD
)VALUES(
#{id}
,#{muUserId, jdbcType=VARCHAR}
,#{userName, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{smsType, jdbcType=VARCHAR}
,#{title, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,#{state, jdbcType=VARCHAR}
,#{popbillState, jdbcType=VARCHAR}
,#{sender, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,#{regId}
,NOW()
,#{modId}
,NOW()
,#{tId}
,NOW()
,'02'
)
</insert>
<update id="updateSmsState" parameterType="hashmap">
UPDATE MU_SMS
SET USE_YN = 'Y'
,MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,STATE = #{chgState, jdbcType=VARCHAR}
<choose>
<when test="sendDateYn eq 'Y'.toString()">
,SEND_DATE = NOW()
</when>
<when test="reserveDateYn eq 'Y'.toString()">
,SEND_DATE = #{reserveDate}
</when>
<otherwise>
</otherwise>
</choose>
<if test="receiptNum != null and receiptNum != ''">
,RECEIPT_NUMBER = #{receiptNum, jdbcType=VARCHAR}
</if>
WHERE USE_YN = 'Y'
AND MU_SMS_ID = #{muSmsId}
AND STATE = #{oldState}
</update>
<update id="updateSmsPopbillState" parameterType="hashmap">
UPDATE MU_SMS
SET MOD_ID = #{modId}
,MOD_DATE = NOW()
,CUD_FLAG = 'U'
,POPBILL_STATE = #{state, jdbcType=VARCHAR}
,POPBILL_RESULT = #{result, jdbcType=VARCHAR}
WHERE USE_YN = 'Y'
AND POPBILL_STATE = #{popbillState}
AND RECEIPT_NUMBER = #{receiptNumber}
AND REPLACE(RECEIVER, '-', '') = #{receiveNumber}
AND USER_NAME = #{receiveName}
</update>
<!-- 휴대폰 인증 수 조회(당일) -->
<select id="selectListPhoneAuthCountToday" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(MPA.MU_PHONE_AUTH_ID) AS "totalCount"
FROM MU_PHONE_AUTH AS MPA
WHERE MPA.USE_YN = 'Y'
AND MPA.PHONE_NUMBER = #{phoneNumber}
AND MPA.SEND_DATE = DATE_FORMAT(NOW(), '%Y-%m-%d')
</select>
<!-- 휴대폰 인증 확인-->
<select id="selectPhoneAuthCheck" resultType="hashmap" parameterType="hashmap">
SELECT COUNT(*) AS "successCount"
FROM (
SELECT MPA.AUTH_NUMBER AS AUTH_NUMBER
FROM MU_PHONE_AUTH AS MPA
WHERE MPA.USE_YN = 'Y'
AND MPA.PHONE_NUMBER = #{phoneNumber}
AND MPA.REG_DATE >= DATE_SUB(NOW(), INTERVAL 3 MINUTE) <!-- 현재 시간보다 3분 이내인 데이터만 조회 -->
ORDER BY MPA.REG_DATE DESC
LIMIT 0, 1
) AS AA
WHERE AA.AUTH_NUMBER = #{authNumber};
</select>
<!-- 인증번호 등록 -->
<insert id="insertPhoneAuth" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT CONCAT(#{id},LPAD((SELECT NEXTVAL(MU_PHONE_AUTH_SEQ)), 10, 0))
</selectKey>
INSERT INTO MU_PHONE_AUTH (
MU_PHONE_AUTH_ID
,MU_SMS_ID
,AUTH_TYPE
,MU_USER_ID
,PHONE_NUMBER
,AUTH_NUMBER
,SEND_DATE
,WRITE_DATE
,CUD_FLAG
,USE_YN
,REG_ID
,REG_DATE
,MOD_ID
,MOD_DATE
,T_ID
,T_DATE
)VALUES(
#{id}
,#{sbSmsId, jdbcType=VARCHAR}
,#{authType, jdbcType=VARCHAR}
,#{sbUserId, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{authNumber, jdbcType=VARCHAR}
,NOW()
,NOW()
,'C'
,'Y'
,'SYSTEM'
,NOW()
,'SYSTEM'
,NOW()
,#{tId}
,NOW()
)
</insert>
<!-- 접수 등록 -->
<insert id="insertVOC" parameterType="hashmap">
<selectKey resultType="string" keyProperty="id" order="BEFORE">
SELECT NEXTVAL(HP_CMP_CPL_BBS_SEQ)
</selectKey>
INSERT INTO HP_CMP_CPL_BBS (
POST_NO
,BRANCH_OFFICE_CD
,MB_NAME
,MB_HP
,OPINION_CLASSIFICATION_CD
,CONTENT
,REG_DATE
)VALUES(
#{id}
,#{gubun, jdbcType=VARCHAR}
,#{name, jdbcType=VARCHAR}
,#{phoneNumber, jdbcType=VARCHAR}
,#{opinion, jdbcType=VARCHAR}
,#{content, jdbcType=VARCHAR}
,NOW()
)
</insert>
</mapper>

Some files were not shown because too many files have changed in this diff Show More