package com.dsh.guns.modular.system.controller.general; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.order.ComplaintClient; import com.dsh.course.feignClient.order.model.QueryComplaintListReq; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.SinataUtil; import com.dsh.guns.modular.system.model.TComplaint; import com.dsh.guns.modular.system.model.TSystemNotice; import com.dsh.guns.modular.system.model.User; import com.dsh.guns.modular.system.service.ITSystemNoticeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; 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 ComplaintClient complaintClient; @Autowired private ITSystemNoticeService tSystemNoticeService; /** * 跳转到投诉列表首页 */ @RequestMapping("") public String index(Model model) { model.addAttribute("language",UserExt.getLanguage()); return PREFIX + "tComplaint.html"; } /** * 跳转到查看详情 */ @RequestMapping("/lookDetail/{id}/{type}") public String lookDetail(@PathVariable Integer id, @PathVariable Integer type, Model model) { TComplaint tComplaint = complaintClient.queryTComplaintId(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); model.addAttribute("language",UserExt.getLanguage()); 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(); User user = UserExt.getUser(); page.setRecords(complaintClient.getComplaintList(new QueryComplaintListReq(page,user.getRoleType(),user.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 = complaintClient.queryTComplaintId(id); if(SinataUtil.isNotEmpty(tComplaint)){ tComplaint.setHandleResult(handleResult); // tComplaint.setHandleUserId(ShiroKit.getUser().getId()); tComplaint.setIsHandle(1); tComplaint.setHandleTime(new Date()); complaintClient.update(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.save1(notice); } return SUCCESS_TIP; } /** * 删除投诉 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(Integer tComplaintId) { complaintClient.delete(tComplaintId); return SUCCESS_TIP; } /** * 修改投诉列表 */ @RequestMapping(value = "/update") @ResponseBody public Object update(TComplaint tComplaint) { complaintClient.update(tComplaint); return SUCCESS_TIP; } /** * 投诉列表详情 */ @RequestMapping(value = "/detail/{tComplaintId}") @ResponseBody public Object detail(@PathVariable("tComplaintId") Integer tComplaintId) { return complaintClient.queryTComplaintId(tComplaintId); } }