【訂單模塊】前端
建立訂單 商品信息 訂單列表 訂單詳情 取消訂單java
訂單列表 訂單搜素 訂單詳情 訂單發貨 mysql
【建立訂單】 購物車勾選商品 涉及 Cart Product => 一個商品 以及 購買數量linux
【計算總價】遍歷 OrderItem集合nginx
【生成訂單】訂單項目,收貨人信息 涉及 shipping,orderItem集合 git
【訂單號生成規則】涉及併發,高併發應未雨綢繆放一批訂單號在緩存池裏。web
【批量插入數據】訂單號是生成的,要爲每個 orderItem 設置,再<foreach>插入。sql
【減小庫存】訂單生成後,遍歷orderItem集合,都買下了哪些shell
【清空勾選 購物車】遍歷下用戶的 cart集合,刪除apache
【返回前端 OrderVO、OrderItemVO(一對多)、ShippingVO】按接口返回數據。
【枚舉驗證】values 方法能夠取到 枚舉實例的集合
public static PaymentType codeOf(int code){ for (PaymentType paymentType:values()){ if (paymentType.getCode() == code){ return paymentType; } } throw new RuntimeException("找不到對應的PaymentType枚舉"); }
=============================================
【取消訂單】已經付款的 Order 不能取消
【獲取訂單購物車商品信息 預覽功能 】主要能夠看到 已勾選 、 計算總價
【管理員訂單發貨】已付款狀態的訂單能夠發貨 , 因此總的來講都是 和業務流程相關。
~ ~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ ~ ~~ ~ ~ 阿里雲 服務器部署 ~ ~ ~ ~~ ~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
【雲服務器申請、配置】
ECS 本身配置。
【搭建集羣 注意】 網絡類型(經典、專用) 地域()
【安全組】創建於 iptables 之上 , 至少開放 SSH 22端口,能夠設置爲只經過防火牆配置。
【可升降硬件配置 注意】 系列之間是隔離的
【帶寬】我的博客 1Mbps
【公共鏡像】本身配置 centos6.8
從實例列表獲得一個,公網 ip
ssh root@ip地址 yes // dba 用戶 // 系統用戶 root 權限
useradd -d /usr/geely -m geely
passwd geely
sudo vim /etc/sudoers
mkdir /developer
sudo chown -R geely /developer 歸屬
sudo chmod u+w -R /developer
sudo chmod u+x -R ...
sudo chmod u+r -R ...
// 開發用戶 // 測試
【域名申請、配置、備案】 阿里雲萬網 簡化備案流程
側欄域名與網站 》域名註冊 》實名認證 》右上角備案 》申請去備案
和服務器的綁定 》 域名 》 解析 (可添加修改,好比對應 nginx 配置轉發)
①【源配置 HELP】https://opsx.alibaba.com/mirror
②【線上環境】jdk tomcat maven nginx vsftpd git mysql iptables
rpm -qa | grep jdk cd / mkdir developer cd developer sudo mkdir setup cd setup sudo wget oraclejdkurl mv 重命名 sudo chmod 777 sudo rpm -ivh jdk.rpm cd /usr/java/jdk sudo vim /etc/profile 文件內容 source /etc/profile
cd /developer wget tomcat sudo tar -zxvf tar.gz cd apache-tomcat sudo vim conf/server.xml 文件內容 查找8080 加上 URIEncoding="utf-8" cd bin sudo ./startup.sh 驗證 公網ip:8080
cd /developer
sudo wget maven...
sudo tar -zvxf
建議配置成阿里雲 maven 倉庫
sudo yum -y install vsftpd
cd /
mkdir product
cd product
mkdir ftpfile
sudo useradd ftpuser -d /product/ftpfile -s /sbin/nologin
sudo chown -R ftpuser.ftpuser ./ftpfile
ll
sudo passwd ftpuser
cd /etc/vsftpd
sudo vim chroot_list
文件內容 ftpuser
sudo vim /etc/selinux/config
disabled
sudo setsebool -P ftp_home_dir 1
sudo mv vsftpd.conf vsftpd.conf.bak
sudo wget // 配置
cd /developer/setup sudo wget sudo yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel sudo tar -zxvf cd nginx-1.10.2 sudo ./configure sudo make sudo make install cd /usr/local/nginx cd conf sudo vim nginx.conf 文件內容 include vhost/*.conf; sudo mkdir vhost cd vhost wget...配置 sudo sbin/nginx
驗證 80端口
sudo rpm -qa | grep mysql-server sudo yum -y install mysql-server sudo vim /etc/my.cnf // utf8mb 支持emoji 文件內容 character-set-server=utf8 default-caracter-set=uft8 sudo chkconfig mysqld on sudo chkconfig --list mysqld 2345on 自啓動 sudo service mysqld restart mysql -u root select user,host,password from mysql.user; set password for root@localhost = password('密碼'); set password for root@xxxx = password('密碼'); exit mysql -u root -p delete from mysql.user where user=''; flush privileges; insert into mysql.user(host,user,password) values('localhost','mmall',password('密碼')); ============== create database `mmall` character set utf8 COLLATE utf8_general_ci; flush privileges; grant all privileges on mmall.* to mmall@localhost identified by 'mmall用戶密碼'; ===================== show databases; use mmal; source /developer/mmall.sql;
git安裝依賴 sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils- MakeMaker sudo wget sudo tar -zxcf cd git-folder sudo make prefix=/usr/local/git all sudo make prefix=/usr/local/git install sudo vim /etc/profile export 下 ================ git config --global user.name '' git config --global user.email '' git config --global core.autocrlf false git config --global core.quotepath false git config --global gui.encoding utf-8 ssh-keygen -t rsa -C '郵箱' ssh-add ~/.ssh/id_rsa eval `ssh-agent` ssh-add ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub 拷貝粘貼到 gittee
cd /etc/sysconfig/ ll 初始化iptables sudo iptables -P OUTPUT ACCEPT sudo service iptables save 備份 sudo mv iptables iptalbles.bak sudo wget sudo vim iptables 文件內容 3306 8080 5005 #註釋 sudo service iptables restart
【自動發佈 shell 腳本】 =》 【jekins 自動化集成】
mkdir /developer/git-repository
git clone gitee
===========
sudo vim /developer/deploy.sh
文件內容 改下目錄 好比 mmall => mmall_learning
改下分支
sudo ./deploy.sh
echo "===========進入git項目happymmall目錄=============" cd /developer/git-repository/mmall echo "==========git切換分之到mmall-v1.0===============" git checkout mmall-v1.0 echo "==================git fetch======================" git fetch echo "==================git pull======================" git pull echo "===========編譯並跳過單元測試====================" mvn clean package -Dmaven.test.skip=true echo "============刪除舊的ROOT.war===================" rm /developer/apache-tomcat-7.0.73/webapps/ROOT.war echo "======拷貝編譯出來的war包到tomcat下-ROOT.war=======" cp /developer/git-repository/mmall/target/mmall.war /developer/apache-tomcat-7.0.73/webapps/ROOT.war echo "============刪除tomcat下舊的ROOT文件夾=============" rm -rf /developer/apache-tomcat-7.0.73/webapps/ROOT echo "====================關閉tomcat=====================" /developer/apache-tomcat-7.0.73/bin/shutdown.sh echo "================sleep 10s=========================" for i in {1..10} do echo $i"s" sleep 1s done echo "====================啓動tomcat=====================" /developer/apache-tomcat-7.0.73/bin/startup.sh
【線上驗證】
拷貝外網 ip到 域名列表》解析》
【ping 直接檢查域名 最新的解析】ping img.mmall.com
【從新部署】修改本地項目 git 提交 sudo .deploy.sh
【tomcat 日誌查看 部署狀況】tailf logs/catalina.out
【ftp 上傳文件】ftp:// 直接查看是否上傳
返回url <= vhost/img.mmall.com.conf ,查看 location位置
sudo chown ftpuser img/
sudo chgrp ftpuser img/
sudo chmod g+w img/