package com.sp2p.action.admin; import java.io.IOException; import java.sql.SQLException; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.shove.Convert; import com.shove.data.ConnectionManager; import com.shove.data.DataException; import com.shove.util.SqlInfusion; import com.shove.web.action.BasePageAction; import com.shove.web.util.JSONUtils; import com.sp2p.constants.IConstants; import com.sp2p.entity.Admin; import com.sp2p.service.UserIntegralService; import com.sp2p.service.UserService; import com.sp2p.service.admin.ReportService; /** * 网站公告Action * @author zhongchuiqing * */ @SuppressWarnings("unchecked") public class ReportAction extends BasePageAction { private static final long serialVersionUID = 1L; public static Log log = LogFactory.getLog(ReportAction.class); private ReportService reportService; private UserService userService; private UserIntegralService userIntegralService; public void setUserIntegralService(UserIntegralService userIntegralService) { this.userIntegralService = userIntegralService; } public ReportService getReportService() { return reportService; } public void setReportService(ReportService reportService) { this.reportService = reportService; } public UserService getUserService() { return userService; } public void setUserService(UserService userService) { this.userService = userService; } /** * 初始化分页查询举报列表 * @return */ public String queryReportListInit(){ return SUCCESS; } /** * 分页查询举报列表 * @return * @throws SQLException * @throws DataException */ public String queryReportListPage()throws SQLException,DataException{ String users =SqlInfusion.FilteSqlInfusion(paramMap.get("user")); String reporters=SqlInfusion.FilteSqlInfusion(paramMap.get("reporter")); Integer status=Convert.strToInt(SqlInfusion.FilteSqlInfusion(paramMap.get("status")),-1); Integer user=-1; Integer reporter=-1; try { if(StringUtils.isNotBlank(users)&&!users.equals("")&&!users.equals("\\")){ Map<String, String> mm=userService.queryIdByUser(users); if(mm!=null){ user=Convert.strToInt(mm.get("id"), -1); }else{ user=0; } } if(StringUtils.isNotBlank(reporters)&&!reporters.equals("")&&!reporters.equals("\\")){ Map<String, String> mm=userService.queryIdByUser(reporters); if(mm!=null){ reporter=Convert.strToInt(mm.get("id"), -1); }else{ reporter=0; } } reportService.queryReportPage(pageBean, user, reporter, status); List<Map<String, Object>> list=pageBean.getPage(); Map<String, String> mp=null; Map<String, String> maps=null; if(list!=null){ for(Map<String, Object> map:list){ mp=userService.queryUserById(Convert.strToLong(map.get("user")+"", -1L)); maps=userService.queryUserById(Convert.strToLong(map.get("reporter")+"", -1L)); if(mp!=null){ map.put("user", mp.get("username")); } if(maps!=null){ map.put("reporter", maps.get("username")); } } } int pageNum = (int) (pageBean.getPageNum() - 1)* pageBean.getPageSize(); request().setAttribute("pageNum", pageNum); } catch (SQLException e) { log.error(e); e.printStackTrace(); throw e; } catch (DataException e) { log.error(e); e.printStackTrace(); throw e; } return SUCCESS; } /** * 根据用户id获得用户名 * @param userId * @return * @throws DataException * @throws SQLException */ @SuppressWarnings("unused") private String getUserNameById(long userId) throws DataException, SQLException{ Map<String,String> mp = userService.queryUserById(userId); if(mp != null){ return Convert.strToStr(mp.get("username"), ""); } return ""; } /** * 更新初始化,根据Id获取举报信息详情 * @return * @throws SQLException * @throws DataException */ public String updateReportInit()throws SQLException,DataException{ Long id=Convert.strToLong(request("id"), -1L); try { paramMap=reportService.getReportById(id); } catch (SQLException e) { log.error(e); e.printStackTrace(); throw e; }catch(DataException e){ log.error(e); e.printStackTrace(); throw e; } return SUCCESS; } /** * 更新网站公告信息 * @return * @throws SQLException * @throws DataException */ public String updateReport()throws SQLException,DataException,IOException{ //add by lw Long userid=Convert.strToLong(paramMap.get("user"),-1L);//举报人id //............... Long id=Convert.strToLong(paramMap.get("id"),-1L); Integer status=Convert.strToInt(paramMap.get("status"), 1); String remark=paramMap.get("remark"); @SuppressWarnings("unused") String message="更新失败"; try { long result =reportService.updateReport(id, remark, status); if (result > 0) { //添加用户举报积分 add by liuwei if(status==2){ int score = 10; Map<String,String> Usermap = null; Integer preScore = null; Usermap = userService.queryUserById(userid); preScore = Convert.strToInt(Usermap.get("rating"),-1);//查找用户的之前的信用积分 //添加举报所得积分 userIntegralService.UpdateJubaoRating(userid, score, preScore);//如果审核成功 Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); operationLogService.addOperationLog("t_user/t_userintegraldetail", admin.getUserName(),IConstants.INSERT, admin.getLastIP(), 0, "添加用户举报积分明细", 2); } //................ JSONUtils.printStr("1"); return null; }else{ JSONUtils.printStr("2"); return null; } } catch (SQLException e) { log.error(e); e.printStackTrace(); throw e; } catch (DataException e) { log.error(e); e.printStackTrace(); throw e; } } /** * 删除网站公告数据 * @throws DataException * @throws SQLException * @return String */ public String deleteReport() throws DataException, SQLException{ Long id =Convert.strToLong(request("id"), -1L); ; @SuppressWarnings("unused") Long result=-1L; try { result=reportService.deleteReport(id); Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN); operationLogService.addOperationLog("t_report", admin.getUserName(),IConstants.DELETE, admin.getLastIP(), 0, "删除举报信息", 2); } catch (DataException e) { e.printStackTrace(); throw e; } catch (SQLException e) { e.printStackTrace(); throw e; } return SUCCESS; } }