离线购物车的实现
离线购物车就是不用登录的购物车。
首先,在用户的浏览器Cookie里保存用户的ID(临时生成的)。
然后,采用Redis的HashMap结构实现:
- key是
cart:用户ID - field是产品ID
- value是产品数量

设置过期时间,因为对于离线购物车,不用永久的持久化。
最后:
如果用户进行了登录,就把Redis中的离线购物车同步到DB中去。
在线购物车
即登录后的购物车,一般大型公司会直接持久化到DB中去,并且采用分库分表的方式来减轻数据库的压力。因为购物车是读写最多的地方。
Alipay三方支付流程
首先,引入依赖包:
<!-- 支付宝支付 --><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>3.3.87.ALL</version><exclusions><exclusion><artifactId>commons-logging</artifactId><groupId>commons-logging</groupId></exclusion></exclusions></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>commons-configuration</groupId><artifactId>commons-configuration</artifactId><version>1.10</version><exclusions><exclusion><artifactId>commons-logging</artifactId><groupId>commons-logging</groupId></exclusion></exclusions></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.11</version></dependency><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.2.1</version></dependency><dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId><version>1.3</version><scope>test</scope></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version></dependency><!-- 支付宝依赖结束 -->
然后,将Alipay官方提供的Demo文件拷贝到项目中:
然后,将配置文件拷贝到Resource中,并且修改对应的属性。
最后,写业务逻辑。
