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.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 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 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 */ @Controller @RequestMapping("/tComplaint") public class TComplaintController extends BaseController { private String PREFIX = "/system/tComplaint/"; @Autowired private ITComplaintService tComplaintService; @Autowired private ITSystemNoticeService tSystemNoticeService; @Autowired private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; /** * 跳转到投诉列表首页 */ @RequestMapping("") public String index() { return PREFIX + "tComplaint.html"; } /** * 跳转到查看详情 */ @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_immediately/{tComplaintId}") public String tComplaintUpdate(@PathVariable Integer tComplaintId, Model model) { model.addAttribute("tComplaintId",tComplaintId); return PREFIX + "tComplaint_immediately.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") @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> page = new PageFactory>().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(); } return SUCCESS_TIP; } /** * 删除投诉 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(Integer tComplaintId) { tComplaintService.deleteById(tComplaintId); return SUCCESS_TIP; } /** * 修改投诉列表 */ @RequestMapping(value = "/update") @ResponseBody public Object update(TComplaint tComplaint) { tComplaintService.updateById(tComplaint); return SUCCESS_TIP; } /** * 投诉列表详情 */ @RequestMapping(value = "/detail/{tComplaintId}") @ResponseBody public Object detail(@PathVariable("tComplaintId") Integer tComplaintId) { return tComplaintService.selectById(tComplaintId); } }