package com.stylefeng.guns.modular.system.controller.general; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.EmailUtil; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestParam; import java.util.*; /** * 广告设置控制器 * * @author fengshuonan * @Date 2020-06-02 09:36:03 */ @Controller @RequestMapping("/tAdvertisement") public class TAdvertisementController extends BaseController { private String PREFIX = "/system/tAdvertisement/"; @Autowired private ITAdvertisementService tAdvertisementService; @Autowired private ICityService cityService; @Autowired private ITDriverTeamService itDriverTeamService; @Autowired private ITAdvertisementUserService itAdvertisementUserService; @Autowired private ITUserService userService; @Autowired private ITDriverService driverService; /** * 跳转到广告设置首页 */ @RequestMapping("") public String index() { return PREFIX + "tAdvertisement.html"; } @RequestMapping("user") public String user() { return PREFIX + "tUser.html"; } @RequestMapping("driver") public String driver(Model model) { List TDriverTeams=itDriverTeamService.findAllList(); model.addAttribute("TDriverTeams",TDriverTeams); return PREFIX + "driver.html"; } /** * 跳转到添加广告设置 */ @RequestMapping("/tAdvertisement_add") public String tAdvertisementAdd(Model model) { List list = cityService.selectList( null); model.addAttribute("list",list); return PREFIX + "tAdvertisement_add.html"; } /** * 跳转到修改广告设置 */ @RequestMapping("/tAdvertisement_update/{tAdvertisementId}") public String tAdvertisementUpdate(@PathVariable Integer tAdvertisementId, Model model) { TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId); model.addAttribute("item",tAdvertisement); LogObjectHolder.me().set(tAdvertisement); List list = cityService.selectList(null); model.addAttribute("list",list); return PREFIX + "tAdvertisement_edit.html"; } /** * 获取广告设置列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String insertTime, String name, Integer type) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); page.setRecords(tAdvertisementService.getAdvertisementList(page,beginTime,endTime,type,name)); return super.packForBT(page); } /** * 新增广告设置 */ @RequestMapping(value = "/add") @ResponseBody public Object add(TAdvertisement tAdvertisement) { tAdvertisement.setInsertTime(new Date()); tAdvertisement.setInsertUser(ShiroKit.getUser().getId()); tAdvertisementService.insert(tAdvertisement); return SUCCESS_TIP; } @RequestMapping(value = "/addInfo1") @ResponseBody public Object add1(String userId,String driverId,String name,String content) { TAdvertisement tAdvertisement = new TAdvertisement(); tAdvertisement.setType(4); tAdvertisement.setName(name); tAdvertisement.setInsertTime(new Date()); tAdvertisement.setInsertUser(ShiroKit.getUser().getId()); content = content.replaceAll("& lt;", "<"); content = content.replaceAll("& gt;", ">"); content = content.replaceAll("& #40;", "("); content = content.replaceAll("& #41;", ")"); tAdvertisement.setContent(content); boolean insert = tAdvertisementService.insert(tAdvertisement); if(insert){ TAdvertisementUser tAdvertisementUser = new TAdvertisementUser(); tAdvertisementUser.setAdvertisementId(tAdvertisement.getId()); tAdvertisementUser.setDriverId(driverId); tAdvertisementUser.setUserId(userId); boolean insert1 = itAdvertisementUserService.insert(tAdvertisementUser); // TODO 发送邮件 if(insert1){ Timer timer = new Timer(); timer.schedule(new timerTaskTest(tAdvertisementUser.getId()),30*1000); } } return SUCCESS_TIP; } class timerTaskTest extends TimerTask { private Integer id; public timerTaskTest(Integer id) { this.id = id; } @Override public void run() { TAdvertisementUser tAdvertisementUser = itAdvertisementUserService.selectById(id); TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementUser.getAdvertisementId()); // 司机所有 TODO if(ToolUtil.isNotEmpty(tAdvertisementUser.getDriverId()) && "[]".equals(tAdvertisementUser.getDriverId())){ System.out.println(1111111111); List list = driverService.selectList(null); for (TDriver tDriver : list) { String email = tDriver.getEmail(); if(ToolUtil.isNotEmpty(email)){ // TODO 发送邮件 try { EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); } catch (Exception e) { e.printStackTrace(); } } } }else if(ToolUtil.isNotEmpty(tAdvertisementUser.getDriverId())) { JSONArray driverId = JSON.parseArray(tAdvertisementUser.getDriverId()); for(int j=0;j users = userService.selectList(null); for (TUser user : users) { String email = user.getEmail(); if(ToolUtil.isNotEmpty(email)){ // TODO 发送邮件 try { EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); } catch (Exception e) { e.printStackTrace(); } } } }else if(ToolUtil.isNotEmpty(tAdvertisementUser.getUserId())) { JSONArray driverId = JSON.parseArray(tAdvertisementUser.getUserId()); for(int j=0;j"); content = content.replaceAll("& #40;", "("); content = content.replaceAll("& #41;", ")"); tAdvertisement.setContent(content); boolean insert = tAdvertisementService.insert(tAdvertisement); if(insert){ TAdvertisementUser tAdvertisementUser = new TAdvertisementUser(); tAdvertisementUser.setAdvertisementId(tAdvertisement.getId()); tAdvertisementUser.setDriverId(driverId); tAdvertisementUser.setUserId(userId); boolean insert1 = itAdvertisementUserService.insert(tAdvertisementUser); // TODO 发送邮件 if(insert1){ Timer timer = new Timer(); timer.schedule(new timerTaskTest1(tAdvertisementUser.getId()),30*1000); } } return SUCCESS_TIP; } class timerTaskTest1 extends TimerTask { private Integer id; public timerTaskTest1(Integer id) { this.id = id; } @Override public void run() { TAdvertisementUser tAdvertisementUser = itAdvertisementUserService.selectById(id); TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementUser.getAdvertisementId()); // 司机所有 TODO if(ToolUtil.isNotEmpty(tAdvertisementUser.getDriverId()) && "[]".equals(tAdvertisementUser.getDriverId())){ List list = driverService.selectList(null); for (TDriver tDriver : list) { String email = tDriver.getEmail(); if(ToolUtil.isNotEmpty(email)){ // TODO 发送邮件 try { EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); } catch (Exception e) { e.printStackTrace(); } } } } if(ToolUtil.isNotEmpty(tAdvertisementUser.getDriverId()) && !"[]".equals(tAdvertisementUser.getDriverId())){ JSONArray driverId = JSON.parseArray(tAdvertisementUser.getDriverId()); for(int j=0;j users = userService.selectList(null); for (TUser user : users) { String email = user.getEmail(); if(ToolUtil.isNotEmpty(email)){ // TODO 发送邮件 try { EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); } catch (Exception e) { e.printStackTrace(); } } } } if(ToolUtil.isNotEmpty(tAdvertisementUser.getUserId()) && !"[]".equals(tAdvertisementUser.getUserId())){ JSONArray driverId = JSON.parseArray(tAdvertisementUser.getUserId()); for(int j=0;j"); content = content.replaceAll("& #40;", "("); content = content.replaceAll("& #41;", ")"); tAdvertisement.setContent(content); tAdvertisement.setUpdateTime(new Date()); tAdvertisement.setUpdateUser(ShiroKit.getUser().getId()); tAdvertisementService.updateById(tAdvertisement); return SUCCESS_TIP; } }