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<TDriverTeam> TDriverTeams=itDriverTeamService.findAllList();
|
model.addAttribute("TDriverTeams",TDriverTeams);
|
return PREFIX + "driver.html";
|
}
|
/**
|
* 跳转到添加广告设置
|
*/
|
@RequestMapping("/tAdvertisement_add")
|
public String tAdvertisementAdd(Model model) {
|
List<City> 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<City> 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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().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<TDriver> 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<driverId.size();j++){
|
TDriver tDriver = driverService.selectById(driverId.getJSONObject(j).getInteger("userId"));
|
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.getUserId()) && "[]".equals(tAdvertisementUser.getUserId())){
|
List<TUser> 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<driverId.size();j++){
|
TUser tUser = userService.selectById(driverId.getJSONObject(j).getInteger("userId"));
|
String email = tUser.getEmail();
|
if(ToolUtil.isNotEmpty(email)){
|
// TODO 发送邮件
|
try {
|
EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent());
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
|
}
|
}
|
|
|
@RequestMapping(value = "/addInfo")
|
@ResponseBody
|
public Object add(String userId,String driverId,String name,String content) {
|
TAdvertisement tAdvertisement = new TAdvertisement();
|
tAdvertisement.setType(3);
|
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 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<TDriver> 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<driverId.size();j++){
|
TDriver tDriver = driverService.selectById(driverId.getJSONObject(j).getInteger("userId"));
|
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.getUserId()) && "[]".equals(tAdvertisementUser.getUserId())){
|
List<TUser> 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<driverId.size();j++){
|
TUser tUser = userService.selectById(driverId.getJSONObject(j).getInteger("userId"));
|
String email = tUser.getEmail();
|
if(ToolUtil.isNotEmpty(email)){
|
// TODO 发送邮件
|
try {
|
EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent());
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
}
|
}
|
/**
|
* 删除广告设置
|
*/
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer tAdvertisementId) {
|
tAdvertisementService.deleteById(tAdvertisementId);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 操作广告设置
|
*/
|
@RequestMapping(value = "/opt")
|
@ResponseBody
|
public Object opt(@RequestParam Integer tAdvertisementId,@RequestParam Integer optType) {
|
TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId);
|
if (SinataUtil.isNotEmpty(tAdvertisement)){
|
if (1 == optType.intValue()){ //上线
|
tAdvertisement.setState(1);
|
}else if (2 == optType.intValue()){ //下线
|
tAdvertisement.setState(2);
|
}
|
tAdvertisement.setUpdateTime(new Date());
|
tAdvertisement.setUpdateUser(ShiroKit.getUser().getId());
|
tAdvertisementService.updateById(tAdvertisement);
|
}
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改广告设置
|
*/
|
@RequestMapping(value = "/update")
|
@ResponseBody
|
public Object update(TAdvertisement tAdvertisement) {
|
String content = tAdvertisement.getContent();
|
content = content.replaceAll("& lt;", "<");
|
content = content.replaceAll("& gt;", ">");
|
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;
|
}
|
}
|