共计 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); | |
} |
正文完