puzhibing
2023-05-18 53562814add61acfdc02d6b25dae6324f6fd5f92
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAdvertisementController.java
@@ -1,5 +1,7 @@
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;
@@ -8,8 +10,10 @@
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.modular.system.model.TRegion;
import com.stylefeng.guns.modular.system.service.ITRegionService;
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;
@@ -18,12 +22,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import com.stylefeng.guns.core.log.LogObjectHolder;
import org.springframework.web.bind.annotation.RequestParam;
import com.stylefeng.guns.modular.system.model.TAdvertisement;
import com.stylefeng.guns.modular.system.service.ITAdvertisementService;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 广告设置控制器
@@ -41,8 +41,17 @@
    private ITAdvertisementService tAdvertisementService;
    @Autowired
    private ITRegionService tRegionService;
    private ICityService cityService;
    @Autowired
    private ITDriverTeamService itDriverTeamService;
    @Autowired
    private ITAdvertisementUserService itAdvertisementUserService;
    @Autowired
    private ITUserService userService;
    @Autowired
    private ITDriverService driverService;
    /**
     * 跳转到广告设置首页
     */
@@ -50,13 +59,23 @@
    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<TRegion> list = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
        List<City> list = cityService.selectList(
                null);
        model.addAttribute("list",list);
        return PREFIX + "tAdvertisement_add.html";
    }
@@ -69,8 +88,7 @@
        TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId);
        model.addAttribute("item",tAdvertisement);
        LogObjectHolder.me().set(tAdvertisement);
        List<TRegion> list = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
        List<City> list = cityService.selectList(null);
        model.addAttribute("list",list);
        return PREFIX + "tAdvertisement_edit.html";
    }
@@ -106,7 +124,210 @@
        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("[]".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 {
                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("[]".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 {
                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("[]".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();
                        }
                    }
                }
            }else {
                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("[]".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 {
                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();
                        }
                    }
                }
            }
        }
    }
    /**
     * 删除广告设置
     */
@@ -143,6 +364,12 @@
    @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);