package com.landtool.lanbase.modules.res.controller;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.LinkedList;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.shiro.SecurityUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import com.github.pagehelper.Page;
|
import com.github.pagehelper.PageHelper;
|
import com.landtool.lanbase.common.annotation.LogAction;
|
import com.landtool.lanbase.common.utils.Result;
|
import com.landtool.lanbase.config.SysTemPropertyConfig;
|
import com.landtool.lanbase.modules.api.utils.PageBean;
|
import com.landtool.lanbase.modules.org.service.OrgUnitService;
|
import com.landtool.lanbase.modules.org.service.OrgUserService;
|
import com.landtool.lanbase.modules.res.entity.Res_MainInfo;
|
import com.landtool.lanbase.modules.res.entity.Res_ProblemFeedback;
|
import com.landtool.lanbase.modules.res.service.ResMainInfoService;
|
import com.landtool.lanbase.modules.res.service.ResProblemFeedbackService;
|
import com.landtool.lanbase.modules.sys.controller.AbstractController;
|
|
@Controller
|
@RequestMapping("res")
|
public class ResProblemFeedbackController extends AbstractController {
|
|
@Autowired
|
private SysTemPropertyConfig sysConfig;
|
|
@Autowired
|
private OrgUserService orgUserService;
|
|
@Autowired
|
private OrgUnitService orgUnitService;
|
|
@Autowired
|
private ResProblemFeedbackService resProblemFeedbackService;
|
|
@Autowired
|
private ResMainInfoService resMainInfoService;
|
|
@RequestMapping("/problemFeedback/index")
|
public String index(Integer resourceid, Model model) {
|
model.addAttribute("resourceid", resourceid);
|
model.addAttribute("pubzyWebRoot", sysConfig.getPubzyWebRoot());
|
//已正常按钮(管理员、发布人可用,最新一笔需为异常状态,点击复制最新一笔异常记录,修改服务状态为正常、资源主表状态为正常)
|
//新增按钮(记录为空或者最新一笔记录为正常)
|
int isQuanXian = 0;
|
int isExitsPro = 0;
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
paramMap.put("resourceid", resourceid);
|
Res_ProblemFeedback problemFeedback = resProblemFeedbackService.checkShowNormalBtn(paramMap);
|
List<Res_ProblemFeedback> problemFeedbacks = resProblemFeedbackService.selectByResourceid(resourceid);
|
if (problemFeedback != null && problemFeedback.getServerstatus() == 0) {
|
isExitsPro = 1;
|
}
|
Res_MainInfo mainInfo = resMainInfoService.selectByPrimaryKey(resourceid);
|
if (!SecurityUtils.getSubject().isPermitted("org_user_admin")) {
|
if (mainInfo != null && mainInfo.getCreateuserid() == getUserId()) {
|
isQuanXian = 1;
|
}
|
} else {
|
isQuanXian = 1;
|
}
|
model.addAttribute("isShow", (isQuanXian + isExitsPro) > 1 ? 1 : 0);
|
model.addAttribute("isAdd", (problemFeedbacks == null || problemFeedbacks.size() == 0 || problemFeedbacks.get(0).getServerstatus().equals(1)) ? 1 : 0);
|
return "ResManage/ResRegister/ProblemFeedback";
|
}
|
|
@ResponseBody
|
@RequestMapping("/problemFeedback/getDataList")
|
public Result getDataList(Integer resourceid,PageBean pageBean) {
|
Page<Res_ProblemFeedback> page = PageHelper.startPage(pageBean.getPage(), pageBean.getLimit());
|
List<Res_ProblemFeedback> res_problemFeedbacks = resProblemFeedbackService.selectByResourceid(resourceid);
|
int countNums = (int) ((Page) res_problemFeedbacks).getTotal();
|
PageBean<Res_ProblemFeedback> pageData = new PageBean<>(pageBean.getPage(), pageBean.getLimit(), countNums);
|
pageData.setItems(res_problemFeedbacks);
|
StringBuilder rsb = new StringBuilder();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
rsb.append("{'totalCount':'" + countNums);
|
rsb.append("','topics':[");
|
|
List<Map<String, Object>> maps = new LinkedList<>();
|
for (int i = 0; i < res_problemFeedbacks.size(); i++) {
|
Map<String, Object> map = new HashMap<>();
|
map.put("objectid", res_problemFeedbacks.get(i).getObjectid());
|
map.put("resourceid", res_problemFeedbacks.get(i).getResourceid());
|
map.put("addtime", sdf.format(res_problemFeedbacks.get(i).getAddtime()));
|
map.put("remark", (res_problemFeedbacks.get(i).getRemark()!=null?res_problemFeedbacks.get(i).getRemark():""));
|
map.put("createusername", orgUserService.getChinesename(res_problemFeedbacks.get(i).getCreateuserid()));
|
map.put("feedbacktype", res_problemFeedbacks.get(i).getFeedbacktype());
|
map.put("feedbackstatus", res_problemFeedbacks.get(i).getFeedbackstatus());
|
map.put("serverstatus", (res_problemFeedbacks.get(i).getServerstatus()==1?"正常":"异常"));
|
//
|
// if (i != 0) {
|
// rsb.append(",");
|
// }
|
// rsb.append("{");
|
// rsb.append("'objectid':" + res_problemFeedbacks.get(i).getObjectid());
|
// rsb.append(",'resourceid':" + res_problemFeedbacks.get(i).getResourceid());
|
// rsb.append(",'addtime':'" + sdf.format(res_problemFeedbacks.get(i).getAddtime()) + "'");
|
// rsb.append(",'remark':'" + (res_problemFeedbacks.get(i).getRemark()!=null?res_problemFeedbacks.get(i).getRemark():"") + "'");
|
// rsb.append(",'createusername':'" + orgUserService.getChinesename(res_problemFeedbacks.get(i).getCreateuserid()) + "'");
|
// rsb.append(",'feedbacktype':'" + res_problemFeedbacks.get(i).getFeedbacktype() + "'");
|
// rsb.append(",'feedbackstatus':'" + res_problemFeedbacks.get(i).getFeedbackstatus() + "'");
|
// rsb.append(",'serverstatus':'" + (res_problemFeedbacks.get(i).getServerstatus()==1?"正常":"异常") + "'");
|
// rsb.append("}");
|
maps.add(map);
|
}
|
// rsb.append("]}");
|
return Result.ok().put("totalCount", countNums).put("topics", maps);
|
}
|
|
@ResponseBody
|
@RequestMapping("/problemFeedback/insertSelective")
|
@LogAction("资源管理,问题反馈,问题反馈新增,新增")
|
public String insertSelective(Res_ProblemFeedback res_problemFeedback) {
|
Integer result = 0;
|
java.sql.Timestamp time = new java.sql.Timestamp(new Date().getTime());
|
res_problemFeedback.setCreateuserid(getUserId().intValue());
|
res_problemFeedback.setAddtime(time);
|
res_problemFeedback.setFeedbacktype("人工");
|
res_problemFeedback.setServerstatus(0);
|
result = resProblemFeedbackService.insertSelective(res_problemFeedback);
|
result = updateMainInfoStatus(res_problemFeedback.getResourceid(),1);
|
return "{'result':'" + result + "'}";
|
}
|
|
//已正常按钮(点击复制最新一笔异常记录,修改服务状态为正常、资源主表状态为正常)
|
@ResponseBody
|
@RequestMapping("/problemFeedback/insertNormalSelective")
|
@LogAction("资源管理,问题反馈,问题反馈新增,新增")
|
public String insertNormalSelective(Integer resourceid) {
|
Integer result = 0;
|
java.sql.Timestamp time = new java.sql.Timestamp(new Date().getTime());
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
paramMap.put("resourceid", resourceid);
|
Res_ProblemFeedback problemFeedback = resProblemFeedbackService.checkShowNormalBtn(paramMap);
|
if(problemFeedback != null ){
|
problemFeedback.setCreateuserid(getUserId().intValue());
|
problemFeedback.setAddtime(time);
|
problemFeedback.setServerstatus(1);
|
problemFeedback.setObjectid(null);
|
result = resProblemFeedbackService.insertSelective(problemFeedback);
|
result = updateMainInfoStatus(resourceid,0);
|
}
|
return "{'result':'" + result + "'}";
|
}
|
|
//修改主表状态
|
private int updateMainInfoStatus(Integer resourceid,Integer status){
|
Integer result = 0;
|
Map<String, Object> paramMap = new HashMap<String, Object>();
|
paramMap.put("resourceid", resourceid);
|
paramMap.put("resourcestatus", status);
|
result = resMainInfoService.updateStatusByPrimaryKey(paramMap);
|
return result;
|
}
|
|
/**
|
* 后台管理 - 列表页面
|
*/
|
@RequestMapping("/manage/problemfeedback/index")
|
public String index(Model model) {
|
model.addAttribute("pubzyWebRoot", sysConfig.getPubzyWebRoot());
|
model.addAttribute("systemName", sysConfig.getAppFullName());
|
return "manage/problemfeedback/index";
|
}
|
|
/**
|
* 后台管理 - 获取列表数据
|
*/
|
@ResponseBody
|
@RequestMapping("/manage/problemfeedback/getlist")
|
@LogAction("资源管理,问题反馈,问题反馈列表查询,查询")
|
public Result getlist(Res_ProblemFeedback resProblemFeedback, PageBean pageBean) {
|
PageHelper.startPage(pageBean.getPage(), pageBean.getLimit());
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
String timeBeg = resProblemFeedback.getAddtimeBeg();
|
String timeEnd = resProblemFeedback.getAddtimeEnd();
|
// 查询当前登陆用户是否是超级管理员 是:查所有 不是:查自己的
|
if (!SecurityUtils.getSubject().isPermitted("org_user_admin")) {
|
// 如果是超级管理员,不添加用户id,查询所有。如果不是 添加id 查询单个
|
resProblemFeedback.setExistpermission(getUserId().toString());
|
}
|
List<Res_ProblemFeedback> list = resProblemFeedbackService.selectResProblemfeedback(resProblemFeedback);
|
int countNums = (int) ((Page) list).getTotal();
|
PageBean<Res_ProblemFeedback> pageData = new PageBean<>(pageBean.getPage(), pageBean.getLimit(), countNums);
|
pageData.setItems(list);
|
List<Map<String, Object>> maps = new LinkedList<>();
|
for (Integer i = 0; i < list.size(); i++) {
|
Map<String, Object> map = new HashMap<>();
|
map.put("objectid", list.get(i).getObjectid());
|
map.put("resourceid", list.get(i).getResourceid());
|
map.put("addtime", sdf.format(list.get(i).getAddtime()));
|
map.put("remark", (list.get(i).getRemark()!=null?list.get(i).getRemark():""));
|
map.put("createusername", orgUserService.getChinesename(list.get(i).getCreateuserid()));
|
map.put("feedbacktype", list.get(i).getFeedbacktype());
|
map.put("feedbackstatus", list.get(i).getFeedbackstatus());
|
map.put("serverstatus", (list.get(i).getServerstatus()==1?"正常":"异常"));
|
map.put("title", list.get(i).getTitle());
|
maps.add(map);
|
|
}
|
return Result.ok().put("totalCount", countNums).put("topics", maps);
|
}
|
}
|