商品批改操作
页面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); }