puzhibing
2023-06-01 c4a098e3f88bc5071e36b92b9e5dcceb51129957
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
@@ -1,15 +1,11 @@
package com.stylefeng.guns.modular.system.controller.general;
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.base.tips.SuccessTip;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.modular.system.model.TProblem;
import com.stylefeng.guns.modular.system.model.TSystemNotice;
import com.stylefeng.guns.modular.system.service.ITSystemNoticeService;
import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
import org.springframework.beans.factory.annotation.Value;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.modular.system.model.TDriver;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -21,16 +17,13 @@
import com.stylefeng.guns.modular.system.model.TComplaint;
import com.stylefeng.guns.modular.system.service.ITComplaintService;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Date;
import java.util.Map;
/**
 * 投诉列表控制器
 * 控制器
 *
 * @author fengshuonan
 * @Date 2020-06-09 17:31:24
 * @Date 2023-03-02 10:14:46
 */
@Controller
@RequestMapping("/tComplaint")
@@ -41,19 +34,8 @@
    @Autowired
    private ITComplaintService tComplaintService;
    @Autowired
    private ITSystemNoticeService tSystemNoticeService;
    @Autowired
    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
    @Value("${pushMinistryOfTransport}")
    private boolean pushMinistryOfTransport;
    /**
     * 跳转到投诉列表首页
     * 跳转到首页
     */
    @RequestMapping("")
    public String index() {
@@ -61,112 +43,91 @@
    }
    /**
     * 跳转到查看详情
     * 跳转到添加
     */
    @RequestMapping("/lookDetail/{id}/{type}")
    public String lookDetail(@PathVariable Integer id, @PathVariable Integer type, Model model) {
        TComplaint tComplaint = tComplaintService.selectById(id);
        String str = "";
        if (1 == type){
            str = tComplaint.getReason();
        }else if (2 == type){
            str = tComplaint.getDescription();
        }else if (3 == type){
            str = tComplaint.getHandleResult();
        }
        model.addAttribute("str",str);
        return "/system/tComplaint/lookDetail.html";
    @RequestMapping("/tComplaint_add")
    public String tComplaintAdd() {
        return PREFIX + "tComplaint_add.html";
    }
    /**
     * 跳转到立即处理页面
     * 跳转到修改
     */
    @RequestMapping("/tComplaint_immediately/{tComplaintId}")
    @RequestMapping("/tComplaint_update/{tComplaintId}")
    public String tComplaintUpdate(@PathVariable Integer tComplaintId, Model model) {
        TComplaint tComplaint = tComplaintService.selectById(tComplaintId);
        model.addAttribute("item",tComplaint);
        LogObjectHolder.me().set(tComplaint);
        return PREFIX + "tComplaint_edit.html";
    }
    /**
     * 跳转到投诉处理
     */
    @RequestMapping("/immediatelyAudit")
    public String immediatelyAudit(Integer tComplaintId,Model model) {
        model.addAttribute("tComplaintId",tComplaintId);
        return PREFIX + "tComplaint_immediately.html";
        return PREFIX + "tComplaintAudit.html";
    }
    /**
     * 跳转到查看详情
     * 审核
     */
    @RequestMapping("/lookDetail/{str}")
    public String lookDetail(@PathVariable String str, Model model) {
        System.out.println(str);
        model.addAttribute("str",str);
        return PREFIX + "lookDetail.html";
    }
    /**
     * 获取投诉列表列表
     */
    @RequestMapping(value = "/list")
    @RequestMapping(value = "/audit")
    @ResponseBody
    public Object list(String insertTime,
                       String userName,
                       String userPhone,
                       String driverPhone,
                       Integer isHandle) {
        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(tComplaintService.getComplaintList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),beginTime,endTime,userName,userPhone,driverPhone,isHandle));
        return super.packForBT(page);
    }
    /**
     * 删除投诉列表
     */
    @RequestMapping(value = "/immediately")
    @ResponseBody
    public Object immediately(@RequestParam Integer id,@RequestParam String handleResult) {
        TComplaint tComplaint = tComplaintService.selectById(id);
        if(SinataUtil.isNotEmpty(tComplaint)){
            tComplaint.setHandleResult(handleResult);
            tComplaint.setHandleUserId(ShiroKit.getUser().getId());
            tComplaint.setIsHandle(1);
            tComplaint.setHandleTime(new Date());
            tComplaintService.updateById(tComplaint);
            //增加系统消息
            TSystemNotice notice = new TSystemNotice();
            notice.setType(2);
            notice.setUserType(1);
            notice.setContent("投诉处理结果:【"+handleResult+"】。");
            notice.setUserId(tComplaint.getUserId());
            notice.setInsertTime(new Date());
            notice.setRead(1);
            tSystemNoticeService.insert(notice);
            new Thread(new Runnable() {
                @Override
                public void run() {
                    if(pushMinistryOfTransport){//上传数据
                        pushMinistryOfTransportUtil.ratedPassengerComplaint(tComplaint.getId());
                    }
                }
            }).start();
        }
    public Object audit(Integer tComplaintId,String notes) {
        TComplaint tComplaint = tComplaintService.selectById(tComplaintId);
        tComplaint.setNotes(notes);
        tComplaint.setState(2);
        // 审核用户id
        Subject subject = ShiroKit.getSubject();
        ShiroUser shiroUser = (ShiroUser)subject.getPrincipal();
        tComplaint.setAuditId(shiroUser.getId());
        tComplaint.setAuditPersonName(shiroUser.getName());
        tComplaint.setAuditTime(new Date());
        tComplaintService.updateById(tComplaint);
        return SUCCESS_TIP;
    }
    /**
     * 删除投诉
     * 获取列表
     */
    @RequestMapping(value = "/list")
    @ResponseBody
    public Object list(String createTime,String userName,String userPhone,String driverPhone,Integer state) {
        return tComplaintService.getPageList(createTime,userName,userPhone,driverPhone,state);
    }
    /**
     * 获取列表
     */
    @RequestMapping(value = "/list-back")
    @ResponseBody
    public Object listBack(String condition) {
        return tComplaintService.selectList(null);
    }
    /**
     * 新增
     */
    @RequestMapping(value = "/add")
    @ResponseBody
    public Object add(TComplaint tComplaint) {
        tComplaintService.insert(tComplaint);
        return SUCCESS_TIP;
    }
    /**
     * 删除
     */
    @RequestMapping(value = "/delete")
    @ResponseBody
    public Object delete(Integer tComplaintId) {
    public Object delete(@RequestParam Integer tComplaintId) {
        tComplaintService.deleteById(tComplaintId);
        return SUCCESS_TIP;
    }
    /**
     * 修改投诉列表
     * 修改
     */
    @RequestMapping(value = "/update")
    @ResponseBody
@@ -176,7 +137,7 @@
    }
    /**
     * 投诉列表详情
     * 详情
     */
    @RequestMapping(value = "/detail/{tComplaintId}")
    @ResponseBody