JAVA - 品优购练习

deliver fast, use good

大亚洲的一些痛点,就是他们很多商品陈列在那,客人并不知道;

满$19免费Deliver, 不满$19不deliver(有待商榷);

快鱼吃慢鱼,取胜关键点是:产品多;

收集尽可能多的好的快消品,这样有利于快递;


零)

1)表格需要调整的地方

`same_seller` seller EMAIL这个字段要够长

`same_item` 添加了2项for search: is_reduce, is_arrive

`same_goods_desc` 字段长度作了调整

`same_pay_log` 需要更新total_fee 因为可能是原表格指定的;

2)开发必须项

https

我的中心:取消订单;

加入购物车成功的提示;

default address的change

3)

一些关键的css

比如shopping_cart的img的css

JAVA - 品优购练习_第1张图片


一)从数据库开始

1)

spu-我们称为产品表,sku-我们称为库存表;

tb_brand, tb_item, tb_item_cat, tb_goods, tb_goods_desc

JAVA - 品优购练习_第2张图片

2)

再看下tb_goods这个表,这个表就是SPU表,和tb_goods_desc是一一对应的关系;

相当于扩展id

JAVA - 品优购练习_第3张图片

售后服务,规格结果集...

JAVA - 品优购练习_第4张图片

3)

tb_type_template和tb_item_cat的关系,tb_type_template是基于tb_item_cat的归纳,比如手机这个type_template的type_id是tb_item_cat的一个外键;

jQuery是操作视图,而Angular是操作变量;


二)品优购具体实战

1)几个关键节点

2.1.1虚拟机的移动;Host Only

2.1.2部署在有限的几台机器上;

2.1.3是一个tomcat下部署多个项目好,还是一台服务器运行多个tomcat的更适合。

怎样在一个tomcat下部署多个项目?

2.1.4如何

2.1.5部署的几种方式:1达成war包;2通过eclipse部署;3自动部署

2.1.6怎么把静态文件部署在一台静态机器上;

127.0.0.1 - static.samemart.com - 会映射到域名... 这个会放到nginx服务器上,config文件夹会有相应出来

搜索static.samemart.com所在的位置... (如果是静态化,该怎么操作?只能用绝对路径?另一个问题,如果挂掉怎么办?更好的办法不是把自己的js放在该放的地方吗,tomcat里?)

2.1.7我们要有一张大的图景:多少台服务器,多少台静态服务器...

sellergoods - 商家商品相关

shop-web - 商家管理后台

manager-web - 运营商管理后台

content - 广告相关


2.1.8表已经做了相关调节

除了地址,其它没有多大改动...

2.1.9把项目做在一个容器里可行吗?

要维护2套系统,一套是



2)相关启动

solr: 启动所在的tomcat

redis: 开机启动

image服务器: 启动所在的虚拟机,会自启动

mq: 这里用的是ActiveMQ, 启动所在的虚拟机,会自启动

MySQL: 已安装在本地,端口3380, 可以通过services.msc启动

单点启动:启动所在的tomcat, apache-tomcat-cas

nginx:


3)一些细节

interface 依赖于pojo,因为dao都在service层级执行,service依赖于dao

JAVA - 品优购练习_第5张图片
JAVA - 品优购练习_第6张图片

4) 具体实施

4.1把common,dao,pojo,sellerservice,manager-web弄好后,就可以测试后端的json数据了,保证单一的service和单一的controller和去掉security...

http://localhost:9101/brand/findAll.do                          //靠manager-web来展示...


4.2考虑打成war包然后发布到线上

******


5)

各个数据表之间的关系:

order和orderItem之间是一对多的关系:这些sellerId怎么插入进去?而且是order和orderItem都有sellerId

生成的策略是咋样的?一个商家生成一个订单吗?

是的一个商家生成一个order

比如本次购买了2个商家的商品,必定会生成2个order, 这个必定会写进order_list, transaction_id是商家id, out_trade_no是最后再生成的(会跟order_id很类似,用来展示给客户的订单号;)

6)

获取页面id的方法:

这里不用del(address.id), 而用del({{address.id}})

JAVA - 品优购练习_第7张图片
JAVA - 品优购练习_第8张图片

参照brand.html:

jsp页面的entity.id


JAVA - 品优购练习_第9张图片
brandController直接接收id


JAVA - 品优购练习_第10张图片
Spring controller直接接收Long id

7)

同时兼顾ng-click和jQuery click

ng-click同时2个行为:

然后借助$event进行操作

JAVA - 品优购练习_第11张图片

通过event来实现定位:

var a = $(event.target).parent(".arrow_a");

JAVA - 品优购练习_第12张图片
select2也是这么操作的
JAVA - 品优购练习_第13张图片
$event.target的checked属性

这里还有更精彩的表现:

JAVA - 品优购练习_第14张图片

8)

为什么主页登录信息读不到?

难道是引入的security文件有误?有可能

不需要/cart/*.do

“未来社会,90%的人,由于过度放纵欲望,可能会像蛆一样地活着,他们没有能力改变自己,约束自己,而是沉醉在短暂的快感中,直至丧失自己。”

“其实欲望本身不是罪恶,凭借欲望毫无节制为所欲为才是罪恶。”


9)

传递的参数为什么会是undefined呢?

原来传递错了

改成下面就好了

10)

去掉form不能进行回车查询:

JAVA - 品优购练习_第15张图片

11)

由于把redis删除了,导致现在找不到搜索里的配置信息了;

先登录后台看看有什么变化没有;

返回后端解决了问题:

JAVA - 品优购练习_第16张图片


12)

跳板页

JAVA - 品优购练习_第17张图片


13)

这cart有两个bug

一个是首页的数据和cart页面数据不统一;为什么cart页面不能感知logout? 没有实现单点登出啊

另外一个是Confirm Order页面,它的cart也是没配合好;

我就是要用电商的钱来补贴我的delivery能力;

你可能感兴趣的:(JAVA - 品优购练习)