【订单模块】

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

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

【创建订单】  购物车勾选商品 涉及 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  

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:
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.

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- 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
文件内容 #注释
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.
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./webapps/ROOT.war
echo "======拷贝编译出来的war包到tomcat下-ROOT.war======="
cp /developer/git-repository/mmall/target/mmall.war /developer/apache-tomcat-7.0./webapps/ROOT.war
echo "============删除tomcat下旧的ROOT文件夹============="
rm -rf /developer/apache-tomcat-7.0./webapps/ROOT
echo "====================关闭tomcat====================="
/developer/apache-tomcat-7.0./bin/shutdown.sh
echo "================sleep 10s========================="
for i in {..}
do
echo $i"s"
sleep 1s
done
echo "====================启动tomcat====================="
/developer/apache-tomcat-7.0./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/

 

DUMP 5 企业级电商项目的更多相关文章

  1. Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式

    史诗级Java/JavaWeb学习资源免费分享 欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享各种Java学习资源,面试题,优质文章,以及企业级Java实战项目回 ...

  2. Java从零到企业级电商项目实战

    欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享各种Java学习资源,面试题,优质文章,以及企业级Java实战项目回复关键字免费领取)回复关键字:"电商项 ...

  3. DUMP 3.8 企业级电商项目 支付宝之类

    ① 沙箱登录:https://openhome.alipay.com/platform/appDaily.htm 获得一个 使用环境描述 APPID.授权回调地址.沙箱钱包哪里下载之类的 ② 沙箱环境 ...

  4. DUMP4 企业级电商项目 —— 对接支付宝扫码支付

    延展 <谈谈微信支付曝出的漏洞> [联调 DEMO下载地址]https://docs.open.alipay.com/194/105201/ [内置 一份 说明文档可做参考] [impor ...

  5. DUMP2 企业级电商项目

    正常设计数据库表,按照数据流向. ~~闭环核心业务 [1用户]登录 =>浏览[2分类]+浏览[3商品]=>加入[4购物车]=>结算[5订单]+[6收货地址]=>[7支付] [购 ...

  6. DUMP1 企业级电商项目

    系统:centos6 配置mirror阿里云 https://opsx.alibaba.com/mirror 远程管理首选:ssh 账户密码登录(ssh user@host) 或者 本地私钥连接服务器 ...

  7. 从0到上线开发企业级电商项目_前端_01_sublime使用技巧

    一.用户设置 { "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", &quo ...

  8. DUMP3.5 企业级电商项目

    购物车模块 加入商品 更新商品数 查询商品数 移除商品 单选/取消 全选/取消  购物车列表 [浮点型商业运算精度丢失问题]ej1st 一书提到 float double只适合科研计算,BigDeci ...

  9. DUMP3 企业级电商项目

    [开发模式]controller - service(合法校验问题) - dao   反过来也没问题 用户模块 登录 注册 用户名验证(实时反馈前端) 忘记密码 重置密码 退出登录 更新用户信息 获取 ...

随机推荐

  1. SQL Server数据库————模糊查询和聚合函数

    ***********模糊查询*********/ 关键字: like (!!!!字符串类型) in (,,)  匹配()内的某个具体值(括号里可以写多个值) between... and.. 在某两 ...

  2. Linux学习历程——Centos 7 账户管理命令(用户组篇)groupadd groupmod groupdel

    一.命令介绍 groupadd:创建用户组 groupmod:修改用户组属性 groupdel:删除用户组 ---------------------------------------------- ...

  3. Spring JPA 使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成时间和修改者

    JPA Audit 在spring jpa中,支持在字段或者方法上进行注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,从字面意思 ...

  4. Win10 Ubuntu子系统运行32bit Linux原生程序

    本文主要描述的是:解决  Win10 Ubuntu子系统中运行  32bit Linux原生程序 报错  Exec format error . 问题来源于  在 Win10 Ubuntu子系统中运行 ...

  5. 「插件」Runner更新Pro版,帮助设计师远离996

    三年多前Runner团队在德国汉堡的骇客松上第一次发布了Sketch插件Runner的beta版本.从那以后,这个团队的目标一直很清晰: 创造一个加速设计工作流的工具. 他们只给Runner添加真正能 ...

  6. Scrapy框架-Item Pipeline

    目录 1. Item Pipeline 3. 完善之前的案例: 3.1. item写入JSON文件 3.2. 启用一个Item Pipeline组件 3.3. 重新启动爬虫 1. Item Pipel ...

  7. OneHotEncoder独热编码和 LabelEncoder标签编码

    学习sklearn和kagggle时遇到的问题,什么是独热编码?为什么要用独热编码?什么情况下可以用独热编码?以及和其他几种编码方式的区别. 首先了解机器学习中的特征类别:连续型特征和离散型特征 拿到 ...

  8. EntityFramework Core进行读写分离最佳实践方式,了解一下(一)?

    前言 本来打算写ASP.NET Core MVC基础系列内容,看到有园友提出如何实现读写分离,这个问题提的好,大多数情况下,对于园友在评论中提出的问题,如果是值得深究或者大多数同行比较关注的问题我都会 ...

  9. pycharm 远程调试代码

    我们在本地开发的时候,有时候需要使用到远程服务器的环境,如我们在调试微信或支付宝支付的时候. 那我们如何通过本地pycharm环境连接远程服务器进行调试呢? 1.pycharm和远程服务器连接 1)点 ...

  10. Django-6 Django ORM层

    ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...