简单实现商品上下架功能

业务分析

当用户点击商品上架/下架的操作时,应该修改数据库中的状态信息status.
上架 status = 1, 下架 status = 2

页面URL分析

下架

在这里插入图片描述

上架

在这里插入图片描述
前端代码

 function getSelectionsIds(){
        var itemList = $("#itemList");
        /*[item,item,item,item]*/
        var sels = itemList.datagrid("getSelections");
        var ids = [];
        for(var i in sels){
            ids.push(sels[i].id);
        }
        //将数组拼接成串 1,2,3,4,5
        ids = ids.join(",");
        return ids;
    }
{
        text:'下架',
        iconCls:'icon-remove',
        handler:function(){
            //获取选中的ID串中间使用","号分割
            var ids = getSelectionsIds();
            if(ids.length == 0){
                $.messager.alert('提示','未选中商品!');
                return ;
            }
            $.messager.confirm('确认','确定下架ID为 '+ids+' 的商品吗?',function(r){
                if (r){
                    var params = {"ids":ids};
                    $.post("/item/2",params, function(data){
                        if(data.status == 200){
                            $.messager.alert('提示','下架商品成功!',undefined,function(){
                                $("#itemList").datagrid("reload");
                            });
                        }
                    });
                }
            });
        }
    }

编辑controller

/**
	 * 利用restFul方式实现状态修改.
	 * 1./item/1   status=1
	 * 2./item/2   status=2
	 */
	@RequestMapping("/{status}")
	public SysResult updateStatus(@PathVariable Integer status,Long[] ids){
		itemService.updateStatus(ids,status);
		return SysResult.success();
	}

编辑ServiceImpl

@Override
	public void updateStatus(Long[] ids, Integer status) {
		itemMapper.updateStatus(ids,status);
		
		/*//1.利用MP方式执行数据库操作
		Item item = new Item();
		item.setStatus(status);
		//定义修改操作的条件构造器  where id in ();
		UpdateWrapper<Item> updateWrapper = new         UpdateWrapper<>();
		List<Long> idList = Arrays.asList(ids); //数据转化为集合
		updateWrapper.in("id",idList);
		//根据mp机制.实现批量的数据更新操作
		itemMapper.update(item,updateWrapper);*/

	}

编辑Mapper接口/xml映射文件

void updateStatus(Long[] ids, Integer status);
<!--更新商品的状态信息-->
	<update id="updateStatus">
		update tb_item set status = #{status},updated=now() where id in (
			<foreach collection="ids" item="id" separator=",">
				#{id}
			</foreach>
		)
	</update>
好的,下面是一个简单Java代码示例,实现商品上下功能: ```java import java.util.ArrayList; import java.util.List; public class Product { private int id; private String name; private boolean isOnSale; public Product(int id, String name, boolean isOnSale) { this.id = id; this.name = name; this.isOnSale = isOnSale; } public void setOnSale(boolean onSale) { isOnSale = onSale; } public static void main(String[] args) { // 创建商品列表 List<Product> productList = new ArrayList<>(); productList.add(new Product(1, "商品1", true)); productList.add(new Product(2, "商品2", false)); productList.add(new Product(3, "商品3", true)); // 商品上下 for (Product product : productList) { if (product.isOnSale()) { System.out.println(product.getName() + " 已上"); } else { System.out.println(product.getName() + " 已下"); } } productList.get(1).setOnSale(true); // 将商品2上 System.out.println("商品2 已上"); // 再次检查商品上下状态 for (Product product : productList) { if (product.isOnSale()) { System.out.println(product.getName() + " 已上"); } else { System.out.println(product.getName() + " 已下"); } } } public int getId() { return id; } public String getName() { return name; } public boolean isOnSale() { return isOnSale; } } ``` 上面的示例中,我们定义了一个`Product`类,其中包含了`id`、`name`和`isOnSale`属性。`isOnSale`表示商品是否已上。 我们创建了一个商品列表,并遍历列表中的商品,输出商品的上下状态。接着,我们将商品2上,并再次检查商品上下状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值