DUMP 5 企业级电商项目

【订单模块】

创建订单 商品信息  订单列表  订单详情 取消订单

 

订单列表  订单搜素  订单详情  订单发货  

 

【创建订单】  购物车勾选商品 涉及 Cart Product  => 一个商品 以及 购买数量

  【计算总价】遍历 OrderItem集合

  【生成订单】订单项目,收货人信息 涉及 shipping,orderItem集合 

     【订单号生成规则】涉及并发,高并发应未雨绸缪放一批订单号在缓存池里。

      【批量插入数据】订单号是生成的,要为每一个 orderItem 设置,再<foreach>插入。

  【减少库存】订单生成后,遍历orderItem集合,都买下了哪些

     【清空勾选 购物车】遍历下用户的 cart集合,删除

  【返回前端 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/

 

 

 

 

posted @ 2018-07-20 11:50  chenhui7373  阅读(182)  评论(0编辑  收藏  举报