淘淘商城---8.8

2023-12-23 13:08
文章标签 商城 8.8 淘淘

本文主要是介绍淘淘商城---8.8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天首先要实现的是后台的商品添加功能。

1、类目选择

1.1、需求

点击类目选择按钮弹出类目选择窗口,窗口中是一个树形视图。分级展示商品分类。当选择商品分类的叶子节点后,关闭窗口并将选中的商品分类的名称显示到网页上。

1、初始化tree的url:

/item/cat/list

2、请求的参数

Id(当前节点的id,根据此id查询子节点)

3、返回数据的格式json数据:

[{   "id": 1,    //当前节点的id"text": "Node 1",   //节点显示的名称"state": "closed"    //节点的状态,如果是closed就是一个文件夹形式,// 当打开时还会 做一次请求。如果是open就显示为叶子节点。},{   "id": 2,   "text": "Node 2",   "state": "closed"  }] 

1.2、Mapper

1.2.1、商品在数据库中的表的信息,如下:


1.2.2、SQL语句

SELECT * FROM `tb_item_cat` whereparent_id=父节点id;

由于这里执行的是单表查询,所以可以使用 逆向工程生成的mapper。

1.3、Service层

功能:根据parentId查询商品分类列表。

参数:parentId

返回值:返回tree所需要的数据结构,是一个节点列表。

可以创建一个treenode的pojo表示节点的数据,也可以使用map。

List<TreeNode>

1.3.1、创建一个TreeNode的pojo

因为考虑到这个pojo会用到别的工程下,所以是一个通用的pojo,可以放到taotao-common中。

代码一:

package com.taotao.common.pojo;/*** * @ClassName: EUTreeNode  * @Description: TODO(EasyUI树形控件节点)  * @author 汪本成  * @date 2016年8月8日 下午5:04:16  **/
public class EUTreeNode {private long id;   //类目IDprivate String text;  //类目名称private String state;  //状态。可选值:1(正常),2(删除)public long getId() {return id;}public void setId(long id) {this.id = id;}public String getText() {return text;}public void setText(String text) {this.text = text;}public String getState() {return state;}public void setState(String state) {this.state = state;}}
然后创建一个ItemCatService接口

代码二:

package com.taotao.service;import java.util.List;import com.taotao.common.pojo.EUTreeNode;/*** * @ClassName: ItemCatService  * @Description: TODO(商品分类管理接口)  * @author 汪本成  * @date 2016年8月8日 下午5:08:33  **/
public interface ItemCatService {List<EUTreeNode> getCatList(long parentId);}
然后在实现这个接口方法

代码三:

package com.taotao.service.impl;import java.util.ArrayList;
import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.taotao.common.pojo.EUTreeNode;
import com.taotao.mapper.TbItemCatMapper;
import com.taotao.pojo.TbItemCat;
import com.taotao.pojo.TbItemCatExample;
import com.taotao.pojo.TbItemCatExample.Criteria;
import com.taotao.service.ItemCatService;/*** * @ClassName: ItemCatServiceImpl  * @Description: TODO(商品分类管理)  * @author 汪本成  * @date 2016年8月8日 下午5:08:25  **/
@Service
public class ItemCatServiceImpl implements ItemCatService {@Autowiredprivate TbItemCatMapper itemCatMapper;@Overridepublic List<EUTreeNode> getCatList(long parentId) {//创建查询条件TbItemCatExample example = new TbItemCatExample();Criteria criteria = example.createCriteria();criteria.andParentIdEqualTo(parentId);//根据条件查询List<TbItemCat> list = itemCatMapper.selectByExample(example);List<EUTreeNode> resulList = new ArrayList<>();//把列表转换成TreeNodeListfor (TbItemCat tbItemCat : list) {EUTreeNode node = new EUTreeNode();node.setId(tbItemCat.getId());node.setText(tbItemCat.getName());node.setState(tbItemCat.getIsParent() ? "closed" : "open");//将结果添加进列表resulList.add(node);}//返回结果return resulList;}}

1.4、表现层

功能:接收页面传递过来的id,作为parentId查询子节点。

参数:Long id

返回值:要返回json数据要使用@ResponseBody。List<TreeNode>

这里我实现了一个controller实现页面的跳转。

代码四:

package com.taotao.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;import com.taotao.common.pojo.EUTreeNode;
import com.taotao.service.ItemCatService;/*** * @ClassName: ItemCatController  * @Description: TODO(商品分类管理controller)  * @author 汪本成  * @date 2016年8月8日 下午5:26:30  **/@Controller
@RequestMapping("/item/cat")
public class ItemCatController {@Autowiredprivate ItemCatService itemCatService;@RequestMapping("/list")@ResponseBodypublic List<EUTreeNode> getCatList(@RequestParam(value="id",defaultValue="0")Long parentId) {List<EUTreeNode> list = itemCatService.getCatList(parentId);return list;}
}

1.5、测试结果

1.5.1、工程文件结构


1.5.2、启动工程测试

启动taotao-manager,但是要记得首先更新一下taotao-common工程,原因昨天我专门说了,这里就不再多说,忘了就看我之前写的博客。


ok,到这里第一部分完成大笑

2、图片上传

2.1、传统图片的管理方式

如果把图片放到工程中,在集群环境下,会出现找不到图片的情况。

2.2、集群环境下上传图片

图片服务器两个服务:

http:可以使用nginx做静态资源服务器。也可以使用apache。推荐使用nginx,效率更高。

Nginx:

1、http服务

2、反向代理

3、负载均衡

 

ftp服务:

使用linux做服务器,在linux中有个ftp组件vsftpd。

2.3、Nginx

这里可以参考我写的nginx的另一篇博客,地址是:http://blog.csdn.net/sinat_31726559/article/details/51971776

启动成功后打开浏览器,输入你搭建nginx机器的ip和你nginx设定的端口,默认是80,但是这里因为我因为有其他东西,就改成了8188了,如图:


表示你就完成了这部分了。

2.4、图片服务器的配置

参考我写的关于ftp服务器就可以使用,博客地址:http://blog.csdn.net/sinat_31726559/article/details/52157256

2.5、使用java代码访问ftp

使用apache的FTPClient工具访问ftp服务器。需要在pom文件中添加依赖:

相信你也行,很简单得!

代码五:

package com.taotao.controller;import java.io.File;
import java.io.FileInputStream;import org.apache.commons.net.ftp.FTPClient;
import org.junit.Test;/*** * @ClassName: FTPTest  * @Description: TODO(测试ftp上传图片)  * @author 汪本成  * @date 2016年8月9日 上午12:51:05  **/
public class FTPTest {@Testpublic void testFtpClient() throws Exception {//创建一个FtpClient对象FTPClient client = new FTPClient();//创建ftp连接client.connect("192.168.43.163", 21);//登录ftpclient.login("ftpuser", "115010");/*** 上传文件*///读取本地文件String pathname = "G:\\1.jpg";FileInputStream inputStream = new FileInputStream(new File(pathname));//设置上传路径client.changeWorkingDirectory("/home/ftpuser/www/images");//第一个参数:服务器端文档名//第二个参数:上传文档的inputStreamclient.storeFile("1.jpg", inputStream);//关闭连接client.logout();}}


明天继续,我的Spark每天时间还是不能少的,写的少莫见怪大笑











这篇关于淘淘商城---8.8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/528146

相关文章

运营版开源代码 多语言跨境商城 跨境电商平台

默认中英双语 后台带翻译接口 支持133种语言自动翻译 支持多商户联盟 一键部署版本 伪静态+后台登陆后缀 源码下载:https://download.csdn.net/download/m0_66047725/89722389 更多资源下载:关注我。

计算机毕业设计选题推荐-域名管理系统-域名商城-域名竞拍系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python项目 安卓项目 微信小程序项目 文章目录 一、前言二、开发环境三、系统界面展示四、代码参考五、论文参考六、系统视频结语

基于开源链动 2 + 1 模式、AI 智能名片与 S2B2C 商城小程序的用户忠诚度计划

摘要:本文深入探讨了在商业环境中执行用户忠诚度计划的创新途径。通过整合开源链动 2 + 1 模式、AI 智能名片以及 S2B2C 商城小程序等先进元素,从提供福利、解决问题和创造赚钱机会三个核心方面展开详细阐述。研究表明,这些新技术和新模式的有机结合,能够为企业打造更具吸引力和影响力的用户忠诚度计划,从而实现商业效益的最大化与可持续发展。 一、引言 在当今竞争激烈且市场环境快速变化的时代,

链动2+1模式AI智能名片S2B2C商城小程序源码在社群商业价值构建中的应用探索

摘要:在数字经济浪潮的推动下,社群作为商业生态的核心组成部分,其商业价值正以前所未有的速度增长。本文深入探讨了如何通过“链动2+1模式AI智能名片S2B2C商城小程序源码”这一前沿技术工具,深度挖掘并优化社群的商业价值。通过详细分析该模式的技术特点、应用策略及其实施路径,本文旨在为社群经济的繁荣发展提供一套系统化、可操作的解决方案。 引言 随着互联网技术的飞速发展,社群已经成为连接消费者、

部署黑马商城至云服务器

1阿里云ECS 1.1获取云服务器 想要将项目部署到云服务器,首先我们需要有一个云服务器,本次我们用的是阿里云ECS云服务器  我们登录进入主页,点击左上角的产品 依次按照上图点击,我们可以利用学生认证,然后领取免费的服务器时长 拥有了服务器后,我们点击管理控制台 我们创建一个实例服务器,依次填写好相关信息,然后我们会获取到一个公网ip,这个公网ip就是以后别人访问的主机ip服务

多用户B2B2C商城源码+短视频直播+APP+小程序+H5

店铺管理 店铺列表,新店铺审核,地址管理,服务管理,运费模版,品牌管理 订单监管 视频订单,拼团订单,评论管理,退款管理 装修商城 模版管理,页面管理,全局样式,链接管理,图标管理 客服服务 投诉管理,意见反顾 财务管理 资金账单,用户提现 阶梯拼团 拼团管理,商品管理 种草短视频 社交评论,直播回放,视频点播 内容管理 文章列表,分类管理 WX管理 菜单管理,资

HTML5好看的花店商城源码3

文章目录 1.设计来源1.1 主界面1.2 登录界面1.3 注册界面1.4 商品列表界面1.5 商品详细界面1.6 购物车界面1.7 团队介绍界面1.8 关于我们界面1.9 其他界面效果汇总 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_431

大零售时代:开源 AI 智能名片、2+1 链动与 O2O 商城小程序引领融合新趋势

摘要:本文深入探讨了当今零售业态的发展趋势,指出在数据匹配的时代,人依然在零售中发挥着重要作用。通过对大零售理念的阐述,分析了跨行业跨业态融合的必然性,强调了业态融合的指导思想以及实现方式。同时,引入开源 AI 智能名片、2+1 链动与 O2O 商城小程序等创新元素,展示了它们在大零售时代的重要价值和应用前景。 一、引言 在当今数字化时代,零售行业正经历着前所未有的变革。随着数据技术的不断

短剧看剧系统+商城功能,开发uniapp+PHP,正版片源供授权,短剧影视小程序带支付收益等模式 付费短剧小程序源码

目录 一、短剧看剧系统是什么? 二、短剧授权是什么? 三、短剧有哪些类型? 四、区别? 总结: 一、短剧看剧系统是什么? 首先小程序上架需要有资质(办资质需要20-30天)。 1、短剧微信小程序要求:《广播电视节目制作经营许可证》 2、短剧上架抖音小程序只要求:《广播电视节目制作经营许可证》+《ICP经营许可证》广播证相对比较快,通常7-10天就能办下来(需要提供编导

京东商城交易系统的演进之路

http://www.infoq.com/cn/articles/trading-system-evolution-of-the-jingdong-mall