关于java:商品后台管理商品修改删除操作

43次阅读

共计 3759 个字符,预计需要花费 10 分钟才能阅读完成。

商品批改操作

页面 URL 剖析

参数剖析

返回值后果确定

编辑 ItemController

/**
     * 商品批改操作
     * 1.url 地址: http://localhost:8091/item/update
     * 2. 参数:      form 表单提交
     * 3. 返回值:  SysResult 对象
     */
    @RequestMapping("/update")
    public SysResult updateItem(Item item){itemService.updateItem(item);
        return SysResult.success();}

编辑 ItemService

@Override
    public void updateItem(Item item) {

        // 更新工夫由程序主动填充....
        itemMapper.updateById(item);
    }

商品删除

url 申请地址阐明

申请参数

返回值类型

编辑 ItemController

/**
     * 业务: 商品删除
     * url 地址: http://localhost:8091/item/delete
     * 参数:    ids: 1474391993,1474391997,1474391996
     * 返回值:  零碎返回值 VO
     * List 能够赋值 name="list[0]" value=100
     *                 name="list[1]" value=200
     */
    @RequestMapping("/delete")
    public SysResult deleteItems(Long[] ids){itemService.deleteItems(ids);
        return SysResult.success();}

编辑 ItemService

@Override
    public void deleteItems(Long[] ids) {
        //1. 将数组转化为汇合
        List<Long> longList = Arrays.asList(ids);
        itemMapper.deleteBatchIds(longList);
    }

商品的上架 / 下架操作

业务阐明

阐明:当用户点击上架 / 下架的按钮时,须要批改 item 数据表中的 status 信息,同时批改工夫 …

页面剖析

参数剖析

返回值后果剖析

批改页面 url 地址


编辑 ItemController

/**
     * 实现商品的下架
     * url 地址: http://localhost:8091/item/updateStatus/2    status=2
     *             http://localhost:8091/item/updateStatus/1   status=1
     * 利用 RestFul 格调实现通用的操作.
     * 参数:   ids: 1474391997,1474391996,1474391995
     * 返回值:  VO 对象
     */
    @RequestMapping("/updateStatus/{status}")
    public SysResult updateStatus(@PathVariable Integer status,Long[] ids){itemService.updateStatus(status,ids);
        return SysResult.success();}

编辑 ItemService

/**
     * sql: update tb_item set status = #{status},updated={date}
     *         where id in (id1,id2,id3)
     *     MP 机制实现
     * @param status
     * @param ids
     */
    @Override
    public void updateStatus(Integer status, Long[] ids) {Item item = new Item();    // 封装批改的值
        item.setStatus(status);
        UpdateWrapper<Item> updateWrapper = new UpdateWrapper<>();
        updateWrapper.in("id", Arrays.asList(ids));
        itemMapper.update(item,updateWrapper);
    }

富文本编辑器

富文本编辑器介绍

KindEditor 是一套开源的 HTML 可视化编辑器,次要用于让用户在网站上取得 所见即所得编辑成果,兼容 IE、Firefox、Chrome、Safari、Opera 等支流浏览器。

入门案例

<script type="text/javascript">
    $(function(){KindEditor.ready(function(){
            // 在指定的地位创立富文本.
            KindEditor.create("#editor")
        })
    })
</script>
</head>
<body>
<h1> 富文本编辑器 </h1>
<textarea style="width:700px;height:350px" id="editor"></textarea>
</body>

对于商品模块的表设计

表业务阐明:商品表中的 id 与商品详情表中的 ID 是统一的。

编辑 ItemDesc POJO 对象

@TableName("tb_item_desc")
@Data
@Accessors(chain = true)
public class ItemDesc extends BasePojo{

    //item 中的 id 与 ItemDesc 中的 Id 应该保持一致...
    @TableId    // 只标识主键  不能自增.
    private Long itemId;
    private String itemDesc;
}

重构商品新增

编辑 ItemController

@RequestMapping("/save")
    public SysResult saveItem(Item item, ItemDesc itemDesc){itemService.saveItem(item,itemDesc);
        return SysResult.success();}

编辑 ItemService

@Override
    @Transactional    // 管制事务
    public void saveItem(Item item, ItemDesc itemDesc) {
        // 思考: 如果每次编辑数据库 每次都须要操作公共的属性...
        // 实现主动的填充性能
        //Date date = new Date();
        //item.setStatus(1).setCreated(date).setUpdated(date);
        item.setStatus(1);
        // 如果实现入库操作, 时应该动静回显主键信息.
        //MP 的形式实现数据入库操作,MP 会主动的实现主键信息的回显..
        itemMapper.insert(item);

        //itemDesc 属性有值
        itemDesc.setItemId(item.getId());
        itemDescMapper.insert(itemDesc);
    }

商品详情回显

页面 url 剖析

页面 JS

编辑 ItemController

/**
     * 业务: 动静获取商品详情信息
     * url 地址: http://localhost:8091/item/query/item/desc/1474391999
     * 参数:   itemId restFul 形式获取
     * 返回值: 零碎 VO 对象
     */
    @RequestMapping("/query/item/desc/{itemId}")
    public SysResult findItemDescById(@PathVariable Long itemId){ItemDesc itemDesc = itemService.findItemDescById(itemId);
        return SysResult.success(itemDesc);
    }

编辑 ItemService

@Override
    public ItemDesc findItemDescById(Long itemId) {return itemDescMapper.selectById(itemId);
    }

页面成果展示

重构商品批改

编辑 ItemDescController

@RequestMapping("/update")
    public SysResult updateItem(Item item,ItemDesc itemDesc){itemService.updateItem(item,itemDesc);
        return SysResult.success();}

编辑 ItemDescService

@Transactional
    @Override
    public void updateItem(Item item, ItemDesc itemDesc) {

        // 更新工夫由程序主动填充....
        itemMapper.updateById(item);

        itemDesc.setItemId(item.getId());
        itemDescMapper.updateById(itemDesc);
    }

重构商品删除

@Transactional
    @Override
    public void deleteItems(Long[] ids) {
        //1. 将数组转化为汇合
        List<Long> longList = Arrays.asList(ids);
        itemMapper.deleteBatchIds(longList);
        //2. 删除商品详情信息
        itemDescMapper.deleteBatchIds(longList);
    }

正文完
 0