package com.ekexiu.console.system.service; import com.ekexiu.console.system.dao.*; import com.ekexiu.console.system.po.Feedback; import com.ekexiu.console.system.po.Professor; import com.ekexiu.console.system.vo.ConsoleAuthUser; import org.jfw.apt.annotation.Autowrie; import org.jfw.apt.annotation.DefaultValue; import org.jfw.apt.annotation.Nullable; import org.jfw.apt.web.annotation.LoginUser; import org.jfw.apt.web.annotation.Path; import org.jfw.apt.web.annotation.operate.Get; import org.jfw.apt.web.annotation.operate.Post; import org.jfw.apt.web.annotation.param.JdbcConn; import org.jfw.apt.web.annotation.param.PathVar; import org.jfw.util.DateUtil; import org.jfw.util.PageQueryResult; import java.sql.Connection; import java.sql.SQLException; import java.util.List; /** * Created by TT on 2017/7/25. */ @Path("/feedback") public class FeedbackService { @Autowrie private FeedbackDao feedbackDao; @Autowrie private UserDao userDao; @Autowrie private ProfessorDao professorDao; @Autowrie private PpaperDao ppaperDao; @Autowrie private PpatentDao ppatentDao; @Autowrie private OrgDao orgDao; @Autowrie private ResourceDao resourceDao; @Autowrie private ArticleDao articleDao; public FeedbackDao getFeedbackDao() { return feedbackDao; } public void setFeedbackDao(FeedbackDao feedbackDao) { this.feedbackDao = feedbackDao; } public UserDao getUserDao() { return userDao; } public void setUserDao(UserDao userDao) { this.userDao = userDao; } public ProfessorDao getProfessorDao() { return professorDao; } public void setProfessorDao(ProfessorDao professorDao) { this.professorDao = professorDao; } public PpaperDao getPpaperDao() { return ppaperDao; } public void setPpaperDao(PpaperDao ppaperDao) { this.ppaperDao = ppaperDao; } public PpatentDao getPpatentDao() { return ppatentDao; } public void setPpatentDao(PpatentDao ppatentDao) { this.ppatentDao = ppatentDao; } public OrgDao getOrgDao() { return orgDao; } public void setOrgDao(OrgDao orgDao) { this.orgDao = orgDao; } public ResourceDao getResourceDao() { return resourceDao; } public void setResourceDao(ResourceDao resourceDao) { this.resourceDao = resourceDao; } public ArticleDao getArticleDao() { return articleDao; } public void setArticleDao(ArticleDao articleDao) { this.articleDao = articleDao; } @Path("/update") @Post public void update(@JdbcConn(true) Connection con,long id,String state,@Nullable String operateDescp,@LoginUser ConsoleAuthUser user) throws SQLException { Feedback feedback = this.feedbackDao.query(con, id); feedback.setState(state); feedback.setOperateDescp(operateDescp); feedback.setOperator(user.getId()); feedback.setOperateTime(DateUtil.formatDateTime(System.currentTimeMillis())); this.feedbackDao.update(con, feedback); } @Path("/id/{id}") @Get public Feedback query(@JdbcConn Connection con, @PathVar long id)throws SQLException { Feedback feedback = this.feedbackDao.query(con, id); if (feedback.getOperator()!=null) { feedback.setOperatorName(this.userDao.queryById(con, feedback.getOperator()).getName()); } if (feedback.getUserId() != null) { Professor professor = this.professorDao.query(con, feedback.getUserId()); if (professor!=null) { feedback.setUserName(professor.getName()); } } if (feedback.getParam()!=null){ if (feedback.getSchema() == 1) { String name = this.ppaperDao.queryById(con, feedback.getParam()); if (name != null) { feedback.setDataName(name); } } if (feedback.getSchema() == 2) { String name = this.ppatentDao.queryById(con, feedback.getParam()); if (name != null) { feedback.setDataName(name); } } if (feedback.getSchema() == 3) { String name = this.professorDao.queryById(con, feedback.getParam()); if (name != null) { feedback.setDataName(name); } } if (feedback.getSchema() == 4) { String name = this.orgDao.queryById(con, feedback.getParam()); if (name != null) { feedback.setDataName(name); } }if (feedback.getSchema() == 5) { String name = this.resourceDao.queryById(con, feedback.getParam()); if (name != null) { feedback.setDataName(name); } } if (feedback.getSchema() == 6) { String name = this.articleDao.queryById(con, feedback.getParam()); if (name != null) { feedback.setDataName(name); } } } return feedback; } @Path("/pq") @Get public PageQueryResult pageQuery(@JdbcConn Connection con,@Nullable String state, @Nullable String bt, @Nullable String et, @DefaultValue("1") int pageNo, @DefaultValue("10") int pageSize) throws SQLException { PageQueryResult queryResult = this.feedbackDao.query(con,state, bt == null ? null : bt + "000000", et == null ? null : et + "235959", pageSize, pageNo); List feedbacks = queryResult.getData(); if (!feedbacks.isEmpty()) { for (Feedback feedback : feedbacks) { if (feedback.getOperator()!=null) { feedback.setOperatorName(this.userDao.queryById(con, feedback.getOperator()).getName()); } if (feedback.getUserId() != null) { Professor professor = this.professorDao.query(con, feedback.getUserId()); if (professor!=null) { feedback.setUserName(professor.getName()); } } } queryResult.setData(feedbacks); } return queryResult; } }