123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- /*
- *
- * TimeRuleController
- *
- */
- package com.hboxs.control.admin;
- import com.alibaba.fastjson.JSONArray;
- import com.gexin.fastjson.JSON;
- import com.hboxs.ViewObject.TimeRuleVo;
- import com.hboxs.common.Filter;
- import com.hboxs.common.Message;
- import com.hboxs.common.Pageable;
- import com.hboxs.common.utils.PushUtils;
- import com.hboxs.entity.AD;
- import com.hboxs.entity.Equipment;
- import com.hboxs.entity.TimeRule;
- import com.hboxs.service.ADService;
- import com.hboxs.service.EquipmentService;
- import com.hboxs.service.TimeRuleService;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.servlet.mvc.support.RedirectAttributes;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpSession;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * Controller - 广告时间规则
- */
- @Controller("adminTimeRuleController")
- @RequestMapping("/asl-admin/timeRule")
- public class TimeRuleController extends BaseController {
- @Resource(name = "timeRuleServiceImpl")
- private TimeRuleService timeRuleService;
- @Resource(name = "aDServiceImpl")
- private ADService aDService;
- @Resource(name = "equipmentServiceImpl")
- private EquipmentService equipmentService;
- private static final String[] times = {"0-1", "1-2", "2-3", "3-4", "4-5", "5-6", "6-7", "7-8",
- "8-9", "9-10", "10-11", "11-12", "12-13", "13-14", "14-15", "15-16", "16-17", "17-18", "18-19", "19-20"
- , "20-21", "21-22", "22-23", "23-24"};
- /**
- * 添加
- */
- @RequestMapping(value = "/add", method = RequestMethod.GET)
- public String add(ModelMap model, HttpSession session) {
- List<TimeRuleVo> list = new ArrayList<>();
- List<AD> adList = aDService.findAll();
- for (int i = 0; i < times.length; i++) {
- TimeRuleVo timeRuleVo = new TimeRuleVo();
- timeRuleVo.setName("");
- timeRuleVo.setTime(times[i]);
- timeRuleVo.setAds(adList);
- list.add(timeRuleVo);
- }
- model.addAttribute("list", list);
- return "/admin/timeRule/add";
- }
- /**
- * 保存
- */
- @RequestMapping(value = "/save", method = RequestMethod.POST)
- @ResponseBody
- public Message save(@RequestBody List<TimeRuleVo> timeRuleVos, RedirectAttributes redirectAttributes) {
- //获取广告名称
- String name = timeRuleVos.get(0).getName();
- String rule = JSONArray.toJSONString(timeRuleVos);
- /*String s = JsonUtil.objectToJson(timeRuleVos);
- System.out.println(s);*/
- TimeRule timeRule = new TimeRule();
- timeRule.setName(name);
- timeRule.setRule(rule);
- timeRuleService.save(timeRule);
- addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
- return SUCCESS_MESSAGE;
- }
- /**
- * 编辑
- */
- @RequestMapping(value = "/edit", method = RequestMethod.GET)
- public String edit(Long id, ModelMap model, HttpSession session) {
- List<AD> adList = aDService.findAll();
- TimeRule timeRule = timeRuleService.find(id);
- model.addAttribute("timeRule", timeRule);
- String rule = timeRule.getRule();
- //将json转换为list对象
- List<TimeRuleVo> timeRuleVos = JSON.parseArray(rule, TimeRuleVo.class);
- model.addAttribute("timeRules", timeRuleVos);
- model.addAttribute("adList", adList);
- return "/admin/timeRule/edit";
- }
- /**
- * 更新
- */
- @RequestMapping(value = "/update", method = RequestMethod.POST)
- @ResponseBody
- public Message update(@RequestBody List<TimeRuleVo> timeRuleVos, RedirectAttributes redirectAttributes) {
- Long id = timeRuleVos.get(0).getId();
- String rule = JSONArray.toJSONString(timeRuleVos);
- TimeRule timeRule = timeRuleService.find(id);
- timeRule.setRule(rule);
- timeRule.setName(timeRuleVos.get(0).getName());
- timeRuleService.update(timeRule);
- addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
- return SUCCESS_MESSAGE;
- }
- /**
- * 列表
- */
- @RequestMapping(value = "/list", method = RequestMethod.GET)
- public String list(Pageable pageable, ModelMap model) {
- model.addAttribute("page", timeRuleService.findPage(pageable));
- return "/admin/timeRule/list";
- }
- /**
- * 删除
- */
- @RequestMapping(value = "/delete", method = RequestMethod.POST)
- public
- @ResponseBody
- Message delete(Long[] ids) {
- for (int i = 0; i < ids.length; i++) {
- if (ids[i] == 1) {
- return Message.error("默认规则不能删");
- }
- }
- timeRuleService.delete(ids);
- return SUCCESS_MESSAGE;
- }
- /**
- * 推送时间规则广告id
- *
- * @param id 规则id
- * @return
- */
- @GetMapping(value = "/pullTimeRule")
- @ResponseBody
- public Message pullTimeRule(Long id, RedirectAttributes redirectAttributes) {
- //查询出用这个广告规则的设备
- ArrayList<Filter> filters = new ArrayList<>();
- filters.add(Filter.eq("timeRuleId", id));
- List<Equipment> list = equipmentService.findList(null, filters, null);
- for (Equipment equipment : list) {
- PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("pushTimeRule", id + "").toString());
- }
- addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
- return SUCCESS_MESSAGE;
- }
- }
|