商品批改操作

页面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);    }