@Controller
@RequestMapping("/admin/content")
public class ChannelController {
@Autowired
private ChannelTypeService channelTypeService;
@Autowired
private ChannelService channelService;
/**
* 栏目列表
*
* @return
*/
@RequestMapping(value = "/channel", method = RequestMethod.GET)
public String channel() {
return "channel/channel";
}
/**
* 栏目树:获取id,parentId,Name 异步ajax
*
* @return
*/
@RequestMapping("/ajaxchannel")
@ResponseBody
public List<Channel> ajaxchannel() {
List<Channel> mvList = channelService.listChannelByTree();
return mvList;
}
/**
* 获取当前操作栏目名称
*
* @param pid
* @param model
*/
public void initRoot(Integer pid, Model model) {
Channel currentChannelName = channelService.findChannelById(pid);
model.addAttribute("currentChannelName", currentChannelName);
}
/**
* 通过channel表type属性获取contentType表name属性
*
* @param pid
* @param model
*/
public void initChannel(Integer pid, Model model) {
ChannelVo cs = null;
List<ChannelVo> cLists = new ArrayList<ChannelVo>();
List<Channel> channelLists = channelService.listChannelByParent(pid);
String channelTypeName = null;
for (Channel channel : channelLists) {
channelTypeName = this.channelTypeService.
findNameById(channel.getType());
cs = new ChannelVo(channel.getId(), channelTypeName,
channel.getTitle(), channel.getHint(),
channel.getChannelOrder(), channel.getStatus(),
channel.isRecommend());
cLists.add(cs);
}
model.addAttribute("channels", cLists);
}
/**
* 点击任意栏目,列出该栏目下的子栏目
*
* @param pid
* @param model
* @return
*/
@RequestMapping("/channel/{pid}")
public String listChannelByParent(@PathVariable Integer pid, Model model) {
initRoot(pid, model);
initChannel(pid, model);
return "channel/channelChild";
}
/**
* 添加栏目
*
* @return
*/
@RequestMapping(value = "/channelSave/{pid}", method = RequestMethod.GET)
public String channelSave(@PathVariable Integer pid, Model model) {
initRoot(pid, model);
model.addAttribute("channel", new Channel());
return "channel/channelSave";
}
/**
* 添加栏目后跳转
*
* @return
*/
@RequestMapping(value = "/channelSave/{pid}", method = RequestMethod.POST)
public String channelSave(@PathVariable Integer pid, Model model,
Channel channel) {
initRoot(pid, model);
Integer channelOrder = this.channelService.getMaxOrderByParent(pid);
if (channelOrder == null) {
channelOrder = 0;
}
if (pid == 0) {
channel.setParentId(0);
channel.setChannelOrder(0);
}else {
channel.setParentId(pid);
channel.setChannelOrder(channelOrder + 1);
}
channelService.save(channel);
return "redirect:/admin/content/channel/" + pid;
}
/**
* 更新栏目
*
* @return
*/
@RequestMapping(value = "/channelUpdate/{id}", method = RequestMethod.GET)
public String channelUpdate(@PathVariable Integer id, Model model) {
Channel channel = channelService.findChannelById(id);
model.addAttribute("channel", channel);
return "channel/channelUpdate";
}
/**
* 更新栏目后跳转
*
* @return
*/
@RequestMapping(value = "/channelUpdate/{id}", method = RequestMethod.POST)
public String channelUpdate(@PathVariable Integer id, Channel channel) {
Channel channel2 = channelService.findChannelById(id);
channel2.setTitle(channel.getTitle());
channel2.setType(channel.getType());
channel2.setStatus(channel.getStatus());
channel2.setRecommend(channel.isRecommend());
channelService.update(channel2);
return "redirect:/admin/content/channel/" + id;
}
}
Ztree实现主要代码
2星 需积分: 2 125 浏览量
2018-05-24
09:42:12
上传
评论 1
收藏 5KB RAR 举报
JEE-逆水百川
- 粉丝: 54
- 资源: 3
最新资源
- 2013-2022vc运行命令库
- probleme.exe
- 基于python完成对csv文件的读取并且通过flask框架显示
- 基于SpringBoot的“体质测试数据分析及可视化”的设计与实现.zip
- c语言-c语言编程基础之leetcode题解第21题合并两个有序链表.zip
- 快速开发API服务的框架
- c语言-c语言编程基础之leetcode题解第20题有效的括号.zip
- c语言-c语言编程基础之leetcode题解第19题删除链表的倒数第N个结点.zip
- c语言-c语言编程基础之leetcode题解第17题电话号码的字母组合.zip
- c语言-c语言编程基础之leetcode题解第16题最接近的三数之和.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论5