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