商城项目服务端实践SSM(七)-------后台_商品接口(对商品增改查,商品上下架,商品列表,商品详情)

  • 商品数据表
create table 'mmall_product'(
	'id' int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',
	'category_id' int(11) NOT NULL COMMENT '分类id,对应mmal_category分类表的主键',
	'name' varchar(100) NOT NULL COMMENT '商品名称',
	'subtitle' varchar(200) DEFAULT NULL COMMENT '商品副标题',
	'main_image' varchar(500) DEFAULT NULL COMMENT '产品主图,url相对地址',
	'sub_images' text COMMENT '图片地址,json格式,扩展用',
	'detail' text COMMENT '商品详情',
	'price' decimal(20,2) NOT NULL COMMENT '价格,单位-元保留两位小数',
	'stock' int(11) NOT NULL COMMENT '库存数量',
	'status int(6) DEFAULT '1' COMMENT '商品状态:1-在售,2-下架,3-删除',
	'create_time' datetime DEFAULT NULL  COMMENT '创建时间',
	'update_time' datetime DEFAULT NULL COMMENT '更新时间',
	PRIMARY KEY ('id')
)ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8
  • 设置公共常量类
//设置公共量
public class Const {
    public static final String CURRENT_USER = "currentUser";
    public static final String EMAIL="email";
    public static final String USERNAME="username";
    public interface Role{
        int ROLE_CUSTOMER=0;//普通用户
        int ROLE_ADMIN=1;//管理员
    }
}

一、增加与修改商品

  • 思路:

1、判断商品是否有图片,如果有就用String[ ] subImagArray = product.getSubImages().split(",")以逗号分割存进数组里,然后取数组的第一个值作为主图。

2、判断传来的id是否为空,不为空则进行更新操作,为空则进行增加操作。

  • controller(参数Product)
//增加商品和修改商品
    //新增商品http://localhost:8080/manage/product/save.do?categoryId=1&name=三星洗衣机&subtitle=三星大促销&subImages=test.jpg,11.jpg,2.jpg,3.jpg&detail=detailtext&price=1000&stock=100&status=1
    //修改商品 http://localhost:8080/manage/product/save.do?id=3&categoryId=1&name=三星洗衣机&subtitle=三星大促销&subImages=test.jpg&detail=detailtext&price=1000&stock=100&status=1
    @RequestMapping("save.do")
    @ResponseBody
    public ServerResponse productSave(HttpSession session, Product product) {
        User user = (User) session.getAttribute(Const.CURRENT_USER);
        if (user == null) {
            return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "用户未登录,请登录管理员");
        }
        if (iUserService.checkAdminRole(user).isSuccess()) {
            return iProductService.saveOrUpdateProduct(product);
        } else {
            return ServerResponse.createByErrorMessage("不是管理员,无权限操作");
        }
    }
  • Impl(参数Product)
 public ServerResponse saveOrUpdateProduct(Product product) {
        if (product != null) {
            //判断商品的图片是否为空
            if (org.apache.commons.lang3.StringUtils.isNotBlank(product.getSubImages())) {
                //不为空则把传过来的商品图片地址用逗号进行分割
                String[] subImagArray = product.getSubImages().split(",");
                if (subImagArray.length > 0) {
                    //取第一个商品的图片当做主图
                    product.setMainImage(subImagArray[0]);
                }
            }
            //如果传过来的id不为空,则对商品进行修改更新操作
            if (product.getId() != null) {
                int rowCount = productMapper.updateByPrimaryKey(product);
                if (rowCount > 0) {
                    return ServerResponse.createBySuccess("修改商品成功");
                }
                return ServerResponse.createByErrorMessage("修改商品失败");
            } else {
                //否则进行增加商品操作
                int rowCount = productMapper.insert(product);
                if (rowCount > 0) {
                    return ServerResponse.createBySuccess("增加商品成功");
                }
                return ServerResponse.createByErrorMessage("增加商品失败");
            }
        }
        return ServerResponse.createByErrorMessage("新增或修改商品参数不正确");
    }

二、商品上下架

  • 思路:从前台获取修改的商品id与商品上下架状态对数据库进行修改
  • controller(参数:商品id,商品状态status)
    //设置商品上下架(是否在售)
    //http://localhost:8080/manage/product/set_sale_status.do?productId=1&status=1
    @RequestMapping("set_sale_status.do")
    @ResponseBody
    public ServerResponse set_sale_status(HttpSession session, Integer productId, Integer status) {
        User user = (User) session.getAttribute(Const.CURRENT_USER);
        if (user == null) {
            return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "用户未登录,请登录管理员");
        }
        if (iUserService.checkAdminRole(user).isSuccess()) {
            return iProductService.set_sale_status(productId, status);
        } else {
            return ServerResponse.createByErrorMessage("不是管理员,无权限操作");
        }
    }
  • impl(参数:商品id,商品状态status)
//商品上下架
    public ServerResponse set_sale_status(Integer p
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介本课程演示的是一套基于SSM实现的校园二手平台,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。课程包含:1. 项目源码、项目文档、数据库脚本、软件工具等所有资料2. 带你从零开始部署运行本套系统3. 该项目附带的源码资料可作为毕设使用4. 提供技术答疑二、技术实现后台框架:Spring、SpringMVC、MyBatisUI界面:JSP、jQuery 、BootStrap数据库:MySQL 三、系统功能该校园二手平台主要使用Java语言作为开发基础,并使用诸如JSP + SSM框架技术,Eclipse作为开发工具,MySQL作为数据库工具以及Tomcat作为Web服务器的技术。该系统主要分为前台和后台两大功能模块,共包含两个角色:用户、管理员。具体的系统功能如下:1.前台功能模块 前台首页、商品列表商品分类、商品搜索、商品详情、加入关注、在线支付、用户注册、用户登陆、订单中心、关注列表、发布物品、我的闲置、修人个信息、退出登陆等功能。2.后台管理模块 后台系统登陆、用户管理、商品管理、订单管理、钱包管理、系统设置、个人信息、修密码等功能。该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的应用价值。 四、项目截图1)前台首页2)商品详情3)订单中心4)后台系统登陆5)用户管理6)商品管理7)订单管理 更多Java毕设项目请关注【毕设系列课程】https://edu.csdn.net/lecturer/2104  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值