From aca4df3c4d16a088921015688f0c1a848f1c8c9a Mon Sep 17 00:00:00 2001 From: SaiBharathReddy Date: Sat, 11 Sep 2021 18:49:06 +0530 Subject: [PATCH] Document --- CartandOrder/.gitignore | 33 ++ .../.mvn/wrapper/MavenWrapperDownloader.java | 117 +++++++ CartandOrder/.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .../.mvn/wrapper/maven-wrapper.properties | 2 + CartandOrder/mvnw | 310 ++++++++++++++++++ CartandOrder/mvnw.cmd | 182 ++++++++++ CartandOrder/pom.xml | 79 +++++ .../londonStore/CartandOrderApplication.java | 16 + .../example/londonStore/consumer/User.java | 18 + .../controller/OrderController.java | 119 +++++++ .../controller/ShoppingCartController.java | 115 +++++++ .../londonStore/messaging/MessageConfig.java | 45 +++ .../example/londonStore/model/CartItem.java | 86 +++++ .../example/londonStore/model/OrderDTO.java | 61 ++++ .../example/londonStore/model/OrderData.java | 55 ++++ .../londonStore/model/OrderStatus.java | 55 ++++ .../example/londonStore/model/OrderTest.java | 114 +++++++ .../example/londonStore/model/Product.java | 114 +++++++ .../com/example/londonStore/model/User.java | 99 ++++++ .../repository/CartItemRepository.java | 38 +++ .../repository/OrderRepository.java | 22 ++ .../repository/OrderTestRepository.java | 20 ++ .../repository/ProductRepository.java | 11 + .../repository/UserRepository.java | 13 + .../londonStore/service/OrderServices.java | 98 ++++++ .../service/ShoppingCartServices.java | 93 ++++++ .../src/main/resources/application.properties | 18 + .../CartandOrderApplicationTests.java | 13 + Design London Store.docx | Bin 0 -> 224022 bytes 29 files changed, 1946 insertions(+) create mode 100644 CartandOrder/.gitignore create mode 100644 CartandOrder/.mvn/wrapper/MavenWrapperDownloader.java create mode 100644 CartandOrder/.mvn/wrapper/maven-wrapper.jar create mode 100644 CartandOrder/.mvn/wrapper/maven-wrapper.properties create mode 100644 CartandOrder/mvnw create mode 100644 CartandOrder/mvnw.cmd create mode 100644 CartandOrder/pom.xml create mode 100644 CartandOrder/src/main/java/com/example/londonStore/CartandOrderApplication.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/consumer/User.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/controller/OrderController.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/controller/ShoppingCartController.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/messaging/MessageConfig.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/model/CartItem.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/model/OrderDTO.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/model/OrderData.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/model/OrderStatus.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/model/OrderTest.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/model/Product.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/model/User.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/repository/CartItemRepository.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/repository/OrderRepository.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/repository/OrderTestRepository.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/repository/ProductRepository.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/repository/UserRepository.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/service/OrderServices.java create mode 100644 CartandOrder/src/main/java/com/example/londonStore/service/ShoppingCartServices.java create mode 100644 CartandOrder/src/main/resources/application.properties create mode 100644 CartandOrder/src/test/java/com/example/londonStore/CartandOrderApplicationTests.java create mode 100644 Design London Store.docx diff --git a/CartandOrder/.gitignore b/CartandOrder/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/CartandOrder/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/CartandOrder/.mvn/wrapper/MavenWrapperDownloader.java b/CartandOrder/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 0000000..e76d1f3 --- /dev/null +++ b/CartandOrder/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,117 @@ +/* + * Copyright 2007-present the original author or 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. + */ +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if(mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if(mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if(!outputFile.getParentFile().exists()) { + if(!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/CartandOrder/.mvn/wrapper/maven-wrapper.jar b/CartandOrder/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 diff --git a/CartandOrder/.mvn/wrapper/maven-wrapper.properties b/CartandOrder/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..abd303b --- /dev/null +++ b/CartandOrder/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/CartandOrder/mvnw b/CartandOrder/mvnw new file mode 100644 index 0000000..a16b543 --- /dev/null +++ b/CartandOrder/mvnw @@ -0,0 +1,310 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + 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 + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/CartandOrder/mvnw.cmd b/CartandOrder/mvnw.cmd new file mode 100644 index 0000000..c8d4337 --- /dev/null +++ b/CartandOrder/mvnw.cmd @@ -0,0 +1,182 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. 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, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/CartandOrder/pom.xml b/CartandOrder/pom.xml new file mode 100644 index 0000000..235866a --- /dev/null +++ b/CartandOrder/pom.xml @@ -0,0 +1,79 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.4 + + + com.example + CartandOrder + 0.0.1-SNAPSHOT + CartandOrder + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + mysql + mysql-connector-java + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + + org.projectlombok + lombok + true + + + org.springframework.security + spring-security-test + test + + + org.springframework.boot + spring-boot-starter-amqp + + + org.springframework.amqp + spring-rabbit-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/CartandOrder/src/main/java/com/example/londonStore/CartandOrderApplication.java b/CartandOrder/src/main/java/com/example/londonStore/CartandOrderApplication.java new file mode 100644 index 0000000..d6cd3ab --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/CartandOrderApplication.java @@ -0,0 +1,16 @@ +package com.example.londonStore; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; + +@SpringBootApplication +@EnableAutoConfiguration(exclude= {SecurityAutoConfiguration.class}) +public class CartandOrderApplication { + + public static void main(String[] args) { + SpringApplication.run(CartandOrderApplication.class, args); + } + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/consumer/User.java b/CartandOrder/src/main/java/com/example/londonStore/consumer/User.java new file mode 100644 index 0000000..419c4cc --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/consumer/User.java @@ -0,0 +1,18 @@ +package com.example.londonStore.consumer; + +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +import com.example.londonStore.messaging.MessageConfig; +import com.example.londonStore.model.OrderStatus; + + + +@Component +public class User { + + @RabbitListener(queues = MessageConfig.London) + public void consumeMessageFromQueue(OrderStatus orderStatus) { + System.out.println("Message recieved from queue : " + orderStatus); + } +} \ No newline at end of file diff --git a/CartandOrder/src/main/java/com/example/londonStore/controller/OrderController.java b/CartandOrder/src/main/java/com/example/londonStore/controller/OrderController.java new file mode 100644 index 0000000..5a654c4 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/controller/OrderController.java @@ -0,0 +1,119 @@ +package com.example.londonStore.controller; + +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.criteria.Order; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import com.example.londonStore.model.CartItem; +import com.example.londonStore.model.OrderDTO; +import com.example.londonStore.model.OrderData; +import com.example.londonStore.model.OrderTest; +import com.example.londonStore.repository.OrderRepository; +import com.example.londonStore.repository.OrderTestRepository; +import com.example.londonStore.repository.UserRepository; +import com.example.londonStore.service.OrderServices; +import com.example.londonStore.service.ShoppingCartServices; + +@RestController +public class OrderController { + + @Autowired + private UserRepository userRepository; + + @Autowired + private OrderServices orderServices; + + @Autowired + private ShoppingCartServices shoppingCartServices; + + @Autowired + private OrderRepository orderRepository; + + @Autowired + private OrderTestRepository orderTestRepository; + + + /* + @GetMapping("/order/{uid}") + public List showAllOrderByUser(@PathVariable("uid") Long customerId) { + //Customer customer=customerRepository.getById(customerId); + //List cartItems=shoppingCartServices.listCartItems(customer); + //return orderServices.listOrderinsert(cartItems); + List od=orderRepository.findByCustomer(customerId); + List listDto=new ArrayList(); + List listid=new ArrayList<>(); + for(OrderData od1:od) { + + List ctlist=new ArrayList<>(od1.getCartItem()); + List catlist=new ArrayList<>(); + if(!listid.contains(od1.getOrderId())) { + + for(CartItem c:ctlist) { + OrderDTO dto=new OrderDTO(); + + dto.setCategory(c.getProduct().getCategory()); + + if(dto.getCategory().equals("Electronics")) { + dto.setPriceWGST(0.8*c.getProduct().getPrice()); + dto.setSubTotalWGST(0.8*c.getSubTotal()); + + }else if(dto.getCategory().equals("Clothes")) { + dto.setPriceWGST(0.85*c.getProduct().getPrice()); + dto.setSubTotalWGST(0.85*c.getSubTotal()); + }else if(dto.getCategory().equals("Sports")) { + dto.setPriceWGST(0.90*c.getProduct().getPrice()); + dto.setSubTotalWGST(0.90*c.getSubTotal()); + } + + dto.setId(od1.getOrderId()); + + dto.setQuantity(c.getQuantity()); + + dto.setSubTotalGST(c.getSubTotal()); + listDto.add(dto); + + } + listid.add(od1.getOrderId()); + } + } + shoppingCartServices.deleteAllCartItems(customerId); + + return listDto; + + } + + @PostMapping("/order/{uid}") + public OrderData postOrder(@RequestBody OrderData orderData,@PathVariable("uid") Long uid) { + System.out.println("con"+orderData); + return orderServices.postorder(orderData,uid); + } + + */ + + @PostMapping("/order/{uid}") + public Long postOrder(@RequestBody OrderTest orderData,@PathVariable("uid") Long uid) { + System.out.println("con"+orderData); + + return orderServices.postorder(orderData,uid); + } + + @GetMapping("/order/{uid}") + public List getAllOrdertest(@PathVariable("uid") Long uid){ + + return orderTestRepository.findByCustomerId(uid); + } + + @GetMapping("/order/{uid}/{order}") + public List getAllorders(@PathVariable("uid") Long uid,@PathVariable("order") Long order){ + return orderTestRepository.findByOrderNum(uid,order); + } + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/controller/ShoppingCartController.java b/CartandOrder/src/main/java/com/example/londonStore/controller/ShoppingCartController.java new file mode 100644 index 0000000..389cf53 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/controller/ShoppingCartController.java @@ -0,0 +1,115 @@ +package com.example.londonStore.controller; + +import java.util.List; + +import javax.transaction.Transactional; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import com.example.londonStore.model.CartItem; +import com.example.londonStore.model.Product; +import com.example.londonStore.model.User; +import com.example.londonStore.repository.CartItemRepository; +import com.example.londonStore.repository.ProductRepository; +import com.example.londonStore.repository.UserRepository; +import com.example.londonStore.service.ShoppingCartServices; + +@RestController +//@CrossOrigin(origins="http://localhost:5923",methods = {RequestMethod.DELETE,RequestMethod.GET,RequestMethod.POST,RequestMethod.PUT}) +public class ShoppingCartController { + + @Autowired + private ShoppingCartServices shoppingCartServices; + + @Autowired + private UserRepository userRepository; + + @Autowired + private ProductRepository productRepository; + + @Autowired + private CartItemRepository cartItemRepository; + + + @GetMapping("/cart/{uid}") + public List showShoppingCart(@PathVariable("uid") Long customerId) { + User customer=userRepository.getById(customerId); + List cartItems=shoppingCartServices.listCartItems(customer); + return cartItems; + } + + @PostMapping("/cart/{uid}/{pid}") + public CartItem addProduct(@RequestBody CartItem cartItem,@PathVariable("uid") Long customerId,@PathVariable("pid") Long productId) { + Product product=productRepository.getById(productId); + User customer=userRepository.getById(customerId); + cartItem.setQuantity(1L); + cartItem.setSubTotal(product.getPrice()*cartItem.getQuantity()); + cartItem.setUser(customer); + cartItem.setProduct(product); + return shoppingCartServices.addProduct(cartItem); + } + /* + @PostMapping("/cart/post/{uid}/{pid}/{qty}")//edit this api as per S + public Long addquantity(@PathVariable("pid") Long productId, + @PathVariable("qty") Long quantity,@PathVariable("uid") Long customerId) { + Customer customer=customerRepository.getById(customerId); + Long addedQuantity=shoppingCartServices.addQuantity(productId, quantity, customer); + return addedQuantity; + }*/ + @PutMapping("/cart/put/{uid}/{pid}")//Post + public CartItem addquantity(@PathVariable("pid") Long productId, + @RequestBody CartItem cartItem,@PathVariable("uid") Long customerId) { + User customer=userRepository.getById(customerId); + return shoppingCartServices.putQuantity(productId, cartItem.getQuantity(), customer); + } + /* + @PutMapping("/cart/update/{uid}/{pid}/{qty}")//put + public Long updateQuantity(@PathVariable("pid") Long productId, + @PathVariable("qty") Long quantity,@PathVariable("uid") Long customerId) { + + Long subTotal=shoppingCartServices.updateQuantity(productId,quantity,customerId); + return subTotal; + }*/ + + @Transactional + @DeleteMapping("/cart/remove/{cid}") + public void removeProductFromCart(@PathVariable("cid") Long cartId) { + shoppingCartServices.removeProduct(cartId); + } + + @PostMapping("/product/post") + public Product postProduct(@RequestBody Product product) { + return productRepository.save(product); + } + + @GetMapping("/cart/get") + public List getAllCartItems(){ + return cartItemRepository.findAll(); + } + + @GetMapping("/cart/sum/{uid}") + public Long getCartSum(@PathVariable("uid") Long userId) { + User customer=userRepository.getById(userId); + List cartItems=shoppingCartServices.listCartItems(customer); + Long sum = 0l; + for(CartItem c:cartItems) { + Long sumLong=shoppingCartServices.cartSum(c,userId); + sum = sum+sumLong; + } + + return sum; + } + + + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/messaging/MessageConfig.java b/CartandOrder/src/main/java/com/example/londonStore/messaging/MessageConfig.java new file mode 100644 index 0000000..986349b --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/messaging/MessageConfig.java @@ -0,0 +1,45 @@ +package com.example.londonStore.messaging; + +import org.springframework.amqp.core.*; +import org.springframework.amqp.rabbit.connection.ConnectionFactory; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; +import org.springframework.amqp.support.converter.MessageConverter; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MessageConfig { + + public static final String London = "London"; + public static final String EXCHANGE = "javatechie_exchange"; + public static final String ROUTING_KEY = "javatechie_routingKey"; + + @Bean + public Queue queue() { + return new Queue(London); + } + + @Bean + public TopicExchange exchange() { + return new TopicExchange(EXCHANGE); + } + + @Bean + public Binding binding(Queue queue, TopicExchange exchange) { + return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY); + } + + @Bean + public MessageConverter converter() { + return new Jackson2JsonMessageConverter(); + } + + @Bean + public AmqpTemplate template(ConnectionFactory connectionFactory) { + final RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory); + rabbitTemplate.setMessageConverter(converter()); + return rabbitTemplate; + } +} + diff --git a/CartandOrder/src/main/java/com/example/londonStore/model/CartItem.java b/CartandOrder/src/main/java/com/example/londonStore/model/CartItem.java new file mode 100644 index 0000000..14dcac3 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/model/CartItem.java @@ -0,0 +1,86 @@ +package com.example.londonStore.model; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +@Entity +@Table(name="cart_items") +public class CartItem { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @ManyToOne + @JoinColumn(name="product_id") + private Product product; + + @ManyToOne + @JoinColumn(name="customer_id") + private User user; + + private Long quantity; + + private Long subTotal; + + + + public void setSubTotal(Long subTotal) { + this.subTotal = subTotal; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Product getProduct() { + return product; + } + + public void setProduct(Product product) { + this.product = product; + } + + + + public Long getQuantity() { + return quantity; + } + + public void setQuantity(Long quantity) { + this.quantity = quantity; + } + + public Long getSubTotal() { + return subTotal; + } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + @Override + public String toString() { + return "CartItem [id=" + id + ", product=" + product + ", user=" + user + ", quantity=" + quantity + + ", subTotal=" + subTotal + "]"; + } + + + + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/model/OrderDTO.java b/CartandOrder/src/main/java/com/example/londonStore/model/OrderDTO.java new file mode 100644 index 0000000..3b79e64 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/model/OrderDTO.java @@ -0,0 +1,61 @@ +package com.example.londonStore.model; + + + +public class OrderDTO { + + private Long ordertestId; + private String category; + private Double priceWGST; + private Double SubTotalWGST; + private Long quantity; + private Long SubTotalGST; + + public Long getOrdertestId() { + return ordertestId; + } + public void setOrdertestId(Long ordertestId) { + this.ordertestId = ordertestId; + } + public String getCategory() { + return category; + } + public void setCategory(String category) { + this.category = category; + } + public Double getPriceWGST() { + return priceWGST; + } + public void setPriceWGST(Double priceWGST) { + this.priceWGST = priceWGST; + } + public Double getSubTotalWGST() { + return SubTotalWGST; + } + public void setSubTotalWGST(Double subTotalWGST) { + SubTotalWGST = subTotalWGST; + } + public Long getQuantity() { + return quantity; + } + public void setQuantity(Long quantity) { + this.quantity = quantity; + } + public Long getSubTotalGST() { + return SubTotalGST; + } + public void setSubTotalGST(Long subTotalGST) { + SubTotalGST = subTotalGST; + } + @Override + public String toString() { + return "OrderDTO [ordertestId=" + ordertestId + ", category=" + category + ", priceWGST=" + priceWGST + + ", SubTotalWGST=" + SubTotalWGST + ", quantity=" + quantity + ", SubTotalGST=" + SubTotalGST + "]"; + } + + + + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/model/OrderData.java b/CartandOrder/src/main/java/com/example/londonStore/model/OrderData.java new file mode 100644 index 0000000..44eca27 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/model/OrderData.java @@ -0,0 +1,55 @@ +package com.example.londonStore.model; + +import java.util.List; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.ManyToMany; +import javax.persistence.Table; + +@Entity +@Table(name="orderdata") +public class OrderData { + + @Id + @GeneratedValue(strategy=GenerationType.AUTO) + private Long orderId; + + @ManyToMany + @JoinTable(name = "cartItem_orderdata",joinColumns = @JoinColumn(name="orderdata_id"), + inverseJoinColumns = @JoinColumn(name="cartItem_id")) + private List cartItem; + + public Long getOrderId() { + return orderId; + } + + public void setOrderId(Long orderId) { + this.orderId = orderId; + } + + public List getCartItem() { + return cartItem; + } + + public void setCartItem(List cartItem) { + this.cartItem = cartItem; + } + + @Override + public String toString() { + return "OrderData [orderId=" + orderId + ", cartItem=" + cartItem + "]"; + } + + + + + + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/model/OrderStatus.java b/CartandOrder/src/main/java/com/example/londonStore/model/OrderStatus.java new file mode 100644 index 0000000..ed2a75a --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/model/OrderStatus.java @@ -0,0 +1,55 @@ +package com.example.londonStore.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class OrderStatus { + + + private OrderTest order; + private String status;//progress,completed + private String message; + public OrderTest getOrder() { + return order; + } + public void setOrder(OrderTest order) { + this.order = order; + } + public String getStatus() { + return status; + } + public void setStatus(String status) { + this.status = status; + } + public String getMessage() { + return message; + } + public void setMessage(String message) { + this.message = message; + } + + @Override + public String toString() { + return "OrderStatus [order=" + order + ", status=" + status + ", message=" + message + "]"; + } + public OrderStatus() { + super(); + // TODO Auto-generated constructor stub + } + public OrderStatus(OrderTest order, String status, String message) { + super(); + this.order = order; + this.status = status; + this.message = message; + } + + + +} + diff --git a/CartandOrder/src/main/java/com/example/londonStore/model/OrderTest.java b/CartandOrder/src/main/java/com/example/londonStore/model/OrderTest.java new file mode 100644 index 0000000..bfa21b5 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/model/OrderTest.java @@ -0,0 +1,114 @@ +package com.example.londonStore.model; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name="ordertest") +public class OrderTest { + + @Id + @GeneratedValue(strategy=GenerationType.AUTO) + private Long ordertestId; + + private Long orderNumber; + + public Long getOrderNumber() { + return orderNumber; + } + + public void setOrderNumber(Long orderNumber) { + this.orderNumber = orderNumber; + } + + private Long cartId; + + private Long customerId; + + private String category; + private Double priceWGST; + private Double SubTotalWGST; + private Long quantity; + private Long SubTotalGST; + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public Double getPriceWGST() { + return priceWGST; + } + + public void setPriceWGST(Double priceWGST) { + this.priceWGST = priceWGST; + } + + public Double getSubTotalWGST() { + return SubTotalWGST; + } + + public void setSubTotalWGST(Double subTotalWGST) { + SubTotalWGST = subTotalWGST; + } + + public Long getQuantity() { + return quantity; + } + + public void setQuantity(Long quantity) { + this.quantity = quantity; + } + + public Long getSubTotalGST() { + return SubTotalGST; + } + + public void setSubTotalGST(Long subTotalGST) { + SubTotalGST = subTotalGST; + } + + public Long getOrdertestId() { + return ordertestId; + } + + public void setOrdertestId(Long ordertestId) { + this.ordertestId = ordertestId; + } + + public Long getCartId() { + return cartId; + } + + public void setCartId(Long cartId) { + this.cartId = cartId; + } + + public Long getCustomerId() { + return customerId; + } + + public void setCustomerId(Long customerId) { + this.customerId = customerId; + } + + @Override + public String toString() { + return "OrderTest [ordertestId=" + ordertestId + ", orderNumber=" + orderNumber + ", cartId=" + cartId + + ", customerId=" + customerId + ", category=" + category + ", priceWGST=" + priceWGST + + ", SubTotalWGST=" + SubTotalWGST + ", quantity=" + quantity + ", SubTotalGST=" + SubTotalGST + "]"; + } + + + + + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/model/Product.java b/CartandOrder/src/main/java/com/example/londonStore/model/Product.java new file mode 100644 index 0000000..ea67ce3 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/model/Product.java @@ -0,0 +1,114 @@ +package com.example.londonStore.model; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +public class Product { + + @Id + @GeneratedValue(strategy=GenerationType.AUTO) + private Long id; + + private String name; + + private String picture; + + private Long price; + + private Double rating; + + private String vendorName; + + private String category; + + private String description; + + private Long quantity; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPicture() { + return picture; + } + + public void setPicture(String picture) { + this.picture = picture; + } + + public Long getPrice() { + return price; + } + + public void setPrice(Long price) { + this.price = price; + } + + public Double getRating() { + return rating; + } + + public void setRating(Double rating) { + this.rating = rating; + } + + public String getVendorName() { + return vendorName; + } + + public void setVendorName(String vendorName) { + this.vendorName = vendorName; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Long getQuantity() { + return quantity; + } + + public void setQuantity(Long quantity) { + this.quantity = quantity; + } + + @Override + public String toString() { + return "Product [id=" + id + ", name=" + name + ", picture=" + picture + ", price=" + price + ", rating=" + + rating + ", vendorName=" + vendorName + ", category=" + category + ", description=" + description + + ", quantity=" + quantity + "]"; + } + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/model/User.java b/CartandOrder/src/main/java/com/example/londonStore/model/User.java new file mode 100644 index 0000000..21480c2 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/model/User.java @@ -0,0 +1,99 @@ +package com.example.londonStore.model; + +import java.util.Collection; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; + + +@Entity +public class User implements UserDetails{ +/** + * + */ + private static final long serialVersionUID = 1L; +@Id +@GeneratedValue(strategy = GenerationType.AUTO) +private Long Id; +private String name; +public String getName() { + return name; +} +public void setName(String name) { + this.name = name; +} +public Long getMobile() { + return mobile; +} +public void setMobile(Long mobile) { + this.mobile = mobile; +} +private String username; +private String email; +private String password; +private String address; +private Long mobile; +public String getEmail() { + return email; +} +public void setEmail(String email) { + this.email = email; +} +public String getAddress() { + return address; +} +public void setAddress(String address) { + this.address = address; +} + +public Long getId() { + return Id; +} +public void setId(Long id) { + Id = id; +} + + +public String getUsername() { + return username; +} +public void setUsername(String username) { + this.username = username; +} +public String getPassword() { + return password; +} +public void setPassword(String password) { + this.password = password; +} +@Override +public Collection getAuthorities() { + // TODO Auto-generated method stub + return null; +} +@Override +public boolean isAccountNonExpired() { + // TODO Auto-generated method stub + return false; +} +@Override +public boolean isAccountNonLocked() { + // TODO Auto-generated method stub + return false; +} +@Override +public boolean isCredentialsNonExpired() { + // TODO Auto-generated method stub + return false; +} +@Override +public boolean isEnabled() { + // TODO Auto-generated method stub + return false; +} +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/repository/CartItemRepository.java b/CartandOrder/src/main/java/com/example/londonStore/repository/CartItemRepository.java new file mode 100644 index 0000000..208f069 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/repository/CartItemRepository.java @@ -0,0 +1,38 @@ +package com.example.londonStore.repository; + +import java.util.List; + +import javax.transaction.Transactional; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import com.example.londonStore.model.CartItem; +import com.example.londonStore.model.Product; +import com.example.londonStore.model.User; + +@Repository +public interface CartItemRepository extends JpaRepository{ + + public List findByUser(User customer); + + + public CartItem findByUserAndProduct(User customer,Product product); + + @Query("update CartItem c set c.quantity = ?1 where c.product.id=?2 AND c.user.id=?3") + @Modifying + public void updateQuantity(Long quantity, Long productId, Long customerId); + + + public void deleteById(Long cartId); + + + @Modifying + @Transactional + @Query("delete from CartItem c where c.user.id=?1") + public void deleteAll(Long uid); + + +} \ No newline at end of file diff --git a/CartandOrder/src/main/java/com/example/londonStore/repository/OrderRepository.java b/CartandOrder/src/main/java/com/example/londonStore/repository/OrderRepository.java new file mode 100644 index 0000000..9c5a237 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/repository/OrderRepository.java @@ -0,0 +1,22 @@ +package com.example.londonStore.repository; + +import java.util.List; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import com.example.londonStore.model.OrderData; + +@Repository +public interface OrderRepository extends JpaRepository{ + + @Query(value="select * from orderdata join cart_item_orderdata on orderdata.order_id=cart_item_orderdata.orderdata_id join cart_items on cart_items.id=cart_item_orderdata.cart_item_id join user as ct on ct.id=cart_items.id where ct.id=?1",nativeQuery=true) + List findByCustomer(Long uid); + + + //select * from orderdata join cart_item_orderdata on orderdata.order_id=cart_item_orderdata.orderdata_id; + + //select c from OrderData o join o.cart_item_orderdata ci join CartItem i join Customer cus where i.customer.id=?1 AND cus.id=?1 + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/repository/OrderTestRepository.java b/CartandOrder/src/main/java/com/example/londonStore/repository/OrderTestRepository.java new file mode 100644 index 0000000..1dab86a --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/repository/OrderTestRepository.java @@ -0,0 +1,20 @@ +package com.example.londonStore.repository; + +import java.util.List; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import com.example.londonStore.model.OrderTest; + +public interface OrderTestRepository extends JpaRepository{ + + @Query(value="select * from ordertest as o where o.customer_id=?1 order by o.order_number ASC",nativeQuery=true) + List findByCustomerId(Long uid); + + @Query(value="select * from ordertest as o where o.customer_id=?1 and o.order_number=?2",nativeQuery=true) + List findByOrderNum(Long uid, Long order); + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/repository/ProductRepository.java b/CartandOrder/src/main/java/com/example/londonStore/repository/ProductRepository.java new file mode 100644 index 0000000..1b1c166 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/repository/ProductRepository.java @@ -0,0 +1,11 @@ +package com.example.londonStore.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.example.londonStore.model.Product; + +public interface ProductRepository extends JpaRepository{ + + //public Product findByName(Long product_id); + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/repository/UserRepository.java b/CartandOrder/src/main/java/com/example/londonStore/repository/UserRepository.java new file mode 100644 index 0000000..ff4e4c9 --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/repository/UserRepository.java @@ -0,0 +1,13 @@ +package com.example.londonStore.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.example.londonStore.model.User; + +public interface UserRepository extends JpaRepository{ + + User getById(Long userId); + + + +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/service/OrderServices.java b/CartandOrder/src/main/java/com/example/londonStore/service/OrderServices.java new file mode 100644 index 0000000..26f25fe --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/service/OrderServices.java @@ -0,0 +1,98 @@ +package com.example.londonStore.service; + +import java.util.ArrayList; +import java.util.List; + +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.example.londonStore.messaging.MessageConfig; +import com.example.londonStore.model.CartItem; +import com.example.londonStore.model.OrderData; +import com.example.londonStore.model.OrderTest; +import com.example.londonStore.model.User; +import com.example.londonStore.repository.CartItemRepository; +import com.example.londonStore.repository.OrderRepository; +import com.example.londonStore.repository.OrderTestRepository; +import com.example.londonStore.repository.UserRepository; + + +@Service +public class OrderServices { + + @Autowired + private OrderRepository orderRepository; + @Autowired + private UserRepository userRepository; + + @Autowired + private ShoppingCartServices shoppingCartServices; + + @Autowired + private OrderTestRepository orderTestRepository; + + @Autowired + private RabbitTemplate template; + + +/* + public OrderData postorder(OrderData orderData, Long uid) { + // TODO Auto-generated method stub + + User customer=userRepository.getById(uid); + List cartItems=shoppingCartServices.listCartItems(customer); + orderData.setCartItem(cartItems); + System.out.println("service"+orderData); + + return orderRepository.save(orderData); + } + */ + + + public Long postorder(OrderTest orderData, Long uid) { + // TODO Auto-generated method stub + + User customer=userRepository.getById(uid); + long testvar = 0l; + List cartItems=shoppingCartServices.listCartItems(customer); + System.out.println("list of cart items:" + cartItems); + for(CartItem c:cartItems) { + OrderTest ot=new OrderTest(); + ot.setCustomerId(c.getUser().getId()); + System.out.println("customerId:"+c.getUser().getId()); + ot.setCartId(c.getId()); + System.out.println("cartId:"+c.getId()); + ot.setCategory(c.getProduct().getCategory()); + System.out.println("category:"+c.getProduct().getCategory()); + ot.setQuantity(c.getQuantity()); + System.out.println("quantity:"+c.getQuantity()); + if(ot.getCategory().equals("Electronics")) { + ot.setPriceWGST(0.8*c.getProduct().getPrice()); + ot.setSubTotalWGST(0.8*c.getSubTotal()); + + }else if(ot.getCategory().equals("Clothes")) { + ot.setPriceWGST(0.85*c.getProduct().getPrice()); + ot.setSubTotalWGST(0.85*c.getSubTotal()); + }else if(ot.getCategory().equals("Sports")) { + ot.setPriceWGST(0.90*c.getProduct().getPrice()); + ot.setSubTotalWGST(0.90*c.getSubTotal()); + } + + ot.setSubTotalGST(c.getSubTotal()); + ot.setOrderNumber(orderData.getOrderNumber()); + System.out.println("OrderNumber:"+orderData.getOrderNumber()); + testvar=ot.getOrderNumber(); + System.out.println("ORDERDATA TEST:"); + System.out.println(ot); + + + com.example.londonStore.model.OrderStatus orderStatus = new com.example.londonStore.model.OrderStatus(orderTestRepository.save(ot), "PROCESS", "order placed success"); + template.convertAndSend(MessageConfig.EXCHANGE, MessageConfig.ROUTING_KEY, orderStatus); + shoppingCartServices.deleteAllCartItems(uid); + } + + return testvar; + + } +} diff --git a/CartandOrder/src/main/java/com/example/londonStore/service/ShoppingCartServices.java b/CartandOrder/src/main/java/com/example/londonStore/service/ShoppingCartServices.java new file mode 100644 index 0000000..4b89a6f --- /dev/null +++ b/CartandOrder/src/main/java/com/example/londonStore/service/ShoppingCartServices.java @@ -0,0 +1,93 @@ +package com.example.londonStore.service; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.example.londonStore.model.CartItem; +import com.example.londonStore.model.Product; +import com.example.londonStore.model.User; +import com.example.londonStore.repository.CartItemRepository; +import com.example.londonStore.repository.ProductRepository; +import com.example.londonStore.repository.UserRepository; + +@Service +public class ShoppingCartServices { + + @Autowired + public CartItemRepository cartItemRepository; + + @Autowired + public ProductRepository productRepository; + + @Autowired + public UserRepository userRepository; + + public List listCartItems(User customer){ + return cartItemRepository.findByUser(customer); + } + /* + public Long addQuantity(Long productId, Long quantity, Customer customer) { + Long addedQuantity=quantity; + + Product product=productRepository.getById(productId); + + CartItem cartItem=cartItemRepository.findByCustomerAndProduct(customer, product); + + if(cartItem !=null) { + addedQuantity=cartItem.getQuantity()+quantity; + cartItem.setQuantity(addedQuantity); + }else { + cartItem=new CartItem(); + cartItem.setQuantity(quantity); + cartItem.setCustomer(customer); + cartItem.setProduct(product); + } + + cartItemRepository.save(cartItem); + + return addedQuantity; + }*/ + public CartItem putQuantity(Long productId, Long quantity, User customer) {//edit + long addedQuantity=quantity; + + Product product=productRepository.getById(productId); + + CartItem cartItem=cartItemRepository.findByUserAndProduct(customer, product); + + cartItem.setQuantity(addedQuantity); + cartItem.setSubTotal(quantity*product.getPrice()); + CartItem c=cartItemRepository.save(cartItem); + + return c; + + } + + public long updateQuantity(Long productId, Long quantity, Long customerId) { + cartItemRepository.updateQuantity(quantity,productId,customerId); + Product product=productRepository.getById(productId); + long subTotal=product.getPrice()*quantity; + return subTotal; + } + + public void removeProduct(Long cartId) { + cartItemRepository.deleteById(cartId); + } + + //Post + public CartItem addProduct(CartItem cartItem) { + return cartItemRepository.save(cartItem); + } + public Long cartSum(CartItem c, Long userId) { + // TODO Auto-generated method stub + Long subTotal=c.getSubTotal(); + return subTotal; + } + + public void deleteAllCartItems(Long uid) { + cartItemRepository.deleteAll(uid); + } + + +} diff --git a/CartandOrder/src/main/resources/application.properties b/CartandOrder/src/main/resources/application.properties new file mode 100644 index 0000000..1fe30ac --- /dev/null +++ b/CartandOrder/src/main/resources/application.properties @@ -0,0 +1,18 @@ +server.port=59263 + + +spring.datasource.url=jdbc:mysql://localhost:3306/LondonStoreDB?createDatabaseIfNotExist=true +spring.datasource.username=root +spring.datasource.password=Password123 +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect + +spring.jpa.hibernate.ddl-auto=update + +server.servlet.context-path=/apiCart + +spring.jackson.serialization.fail-on-empty-beans=false + +spring.rabbitmq.host=labs4.koteshwar.com +spring.rabbitmq.password=guest +spring.rabbitmq.port=5672 +spring.rabbitmq.username=guest diff --git a/CartandOrder/src/test/java/com/example/londonStore/CartandOrderApplicationTests.java b/CartandOrder/src/test/java/com/example/londonStore/CartandOrderApplicationTests.java new file mode 100644 index 0000000..0e2b00f --- /dev/null +++ b/CartandOrder/src/test/java/com/example/londonStore/CartandOrderApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.londonStore; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class CartandOrderApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/Design London Store.docx b/Design London Store.docx new file mode 100644 index 0000000000000000000000000000000000000000..24efbedcf1d47e3c3b2b27b18579ac6002d4c636 GIT binary patch literal 224022 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%0D9m`fxX}Id%&Vqob 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