puzhibing
2023-03-18 b397b0aefc81cb0475d347ebad16e565254c06e2
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSystemBulletinController.java
New file
@@ -0,0 +1,187 @@
package com.stylefeng.guns.modular.system.controller.general;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.modular.system.controller.util.LabelReplaceUtil;
import com.stylefeng.guns.modular.system.enums.StatusEnum;
import com.stylefeng.guns.modular.system.enums.UserTypeEnum;
import com.stylefeng.guns.modular.system.model.TDriver;
import com.stylefeng.guns.modular.system.model.TSystemBulletinUser;
import com.stylefeng.guns.modular.system.service.ITDriverService;
import com.stylefeng.guns.modular.system.service.ITSystemBulletinUserService;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
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 com.stylefeng.guns.modular.system.model.TSystemBulletin;
import com.stylefeng.guns.modular.system.service.ITSystemBulletinService;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * 控制器
 *
 * @author fengshuonan
 * @Date 2023-03-16 10:38:23
 */
@Controller
@RequestMapping("/tSystemBulletin")
public class TSystemBulletinController extends BaseController {
    private String PREFIX = "/system/tSystemBulletin/";
    @Autowired
    private ITSystemBulletinService tSystemBulletinService;
    @Autowired
    private ITSystemBulletinUserService tSystemBulletinUserService;
    /**
     * 跳转到首页
     */
    @RequestMapping("")
    public String index() {
        return PREFIX + "tSystemBulletin.html";
    }
    /**
     * 跳转到添加
     */
    @RequestMapping("/tSystemBulletin_add")
    public String tSystemBulletinAdd() {
        return PREFIX + "tSystemBulletin_add.html";
    }
    /**
     * 跳转到修改
     */
    @RequestMapping("/tSystemBulletin_update/{tSystemBulletinId}")
    public String tSystemBulletinUpdate(@PathVariable Integer tSystemBulletinId, Model model) {
        TSystemBulletin tSystemBulletin = tSystemBulletinService.selectById(tSystemBulletinId);
        model.addAttribute("item",tSystemBulletin);
        LogObjectHolder.me().set(tSystemBulletin);
        return PREFIX + "tSystemBulletin_edit.html";
    }
    /**
     * 获取列表
     */
    @RequestMapping(value = "/list")
    @ResponseBody
    public Object list(String createTime,String content) {
        EntityWrapper<TSystemBulletin> wrapper = new EntityWrapper<>();
        if(StringUtils.hasLength(content)){
            wrapper.like("content",content);
        }
        if(StringUtils.hasLength(createTime)){
            String[] split = createTime.split(" - ");
            Date startTime = DateUtil.getDate_str4(split[0]);
            Date endTime = DateUtil.getDate_str4(split[1]);
            wrapper.between("createTime",startTime,endTime);
        }
        wrapper.ne("status",3);
        return tSystemBulletinService.selectList(wrapper);
    }
    /**
     * 获取列表
     */
    @RequestMapping(value = "/list-back")
    @ResponseBody
    public Object listBack(String condition) {
        return tSystemBulletinService.selectList(null);
    }
    /**
     * 新增
     */
    @RequestMapping(value = "/add")
    @ResponseBody
    @Transactional(rollbackFor = Exception.class)
    public Object add(TSystemBulletin tSystemBulletin) {
        tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent()));
        tSystemBulletin.setState(1);
        tSystemBulletin.setCreateTime(new Date());
        tSystemBulletin.setStatus(1);
        tSystemBulletinService.insert(tSystemBulletin);
        return SUCCESS_TIP;
    }
    /**
     * 新增发送
     */
    @RequestMapping(value = "/addSend")
    @ResponseBody
    @Transactional(rollbackFor = Exception.class)
    public Object addSend(TSystemBulletin tSystemBulletin) {
        tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent()));
        tSystemBulletin.setState(2);
        tSystemBulletin.setCreateTime(new Date());
        tSystemBulletin.setStatus(1);
        tSystemBulletinService.insert(tSystemBulletin);
        tSystemBulletinService.sendBulletin(tSystemBulletin);
        return SUCCESS_TIP;
    }
    /**
     * 编辑发送
     */
    @RequestMapping(value = "/editSend")
    @ResponseBody
    @Transactional(rollbackFor = Exception.class)
    public Object editSend(TSystemBulletin tSystemBulletin) {
        tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent()));
        tSystemBulletin.setState(2);
        tSystemBulletinService.updateById(tSystemBulletin);
        tSystemBulletinService.sendBulletin(tSystemBulletin);
        return SUCCESS_TIP;
    }
    /**
     * 删除
     */
    @RequestMapping(value = "/delete")
    @Transactional(rollbackFor = Exception.class)
    @ResponseBody
    public Object delete(@RequestParam Integer tSystemBulletinId) {
        TSystemBulletin tSystemBulletin = tSystemBulletinService.selectById(tSystemBulletinId);
        tSystemBulletin.setStatus(StatusEnum.DELETE.getCode());
        tSystemBulletinService.updateById(tSystemBulletin);
        // 公告用户关联关系状态修改
        tSystemBulletinUserService.deleteBulletinUser(tSystemBulletinId);
        return SUCCESS_TIP;
    }
    /**
     * 修改
     */
    @RequestMapping(value = "/update")
    @ResponseBody
    public Object update(TSystemBulletin tSystemBulletin) {
        tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent()));
        tSystemBulletinService.updateById(tSystemBulletin);
        return SUCCESS_TIP;
    }
    /**
     * 详情
     */
    @RequestMapping(value = "/detail/{tSystemBulletinId}")
    @ResponseBody
    public Object detail(@PathVariable("tSystemBulletinId") Integer tSystemBulletinId) {
        return tSystemBulletinService.selectById(tSystemBulletinId);
    }
}