portal web service

ResourceService.java 38KB

    package com.ekexiu.portal.service; import com.ekexiu.portal.dao.ArticleDao; import com.ekexiu.portal.dao.ArticleResDao; import com.ekexiu.portal.dao.ImageDao; import com.ekexiu.portal.dao.OperationDao; import com.ekexiu.portal.dao.OrgDao; import com.ekexiu.portal.dao.OrgResStaffDao; import com.ekexiu.portal.dao.ProfessorDao; import com.ekexiu.portal.dao.ResourceDao; import com.ekexiu.portal.dao.ResourceTmpLogDao; import com.ekexiu.portal.dao.WatchDao; import com.ekexiu.portal.po.ArticleRes; import com.ekexiu.portal.po.Image; import com.ekexiu.portal.po.Operation; import com.ekexiu.portal.po.OrgResStaff; import com.ekexiu.portal.po.Resource; import com.ekexiu.portal.po.ResourceTmpLog; import com.ekexiu.portal.pojo.EditOrganization; import com.ekexiu.portal.pojo.EditProfessor; import org.jfw.apt.annotation.Autowrie; import org.jfw.apt.annotation.DefaultValue; import org.jfw.apt.annotation.Nullable; import org.jfw.apt.web.annotation.Path; import org.jfw.apt.web.annotation.operate.Delete; 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.PageQueryResult; import org.jfw.util.StringUtil; import org.jfw.util.exception.JfwBaseException; import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; import java.util.List; @Path("/resource") public class ResourceService { private String timeFormat = "yyyyMMddHHmmss"; @Autowrie private ProfessorDao professorDao; @Autowrie private WatchDao watchDao; @Autowrie private ImageDao imageDao; @Autowrie private ResourceDao resourceDao; @Autowrie private ImagesService imagesService; @Autowrie private ImageService imageService; @Autowrie private OperationDao operationDao; @Autowrie private GrowthLogService growthLogService; @Autowrie private ArticleResDao articleResDao; @Autowrie private ArticleDao articleDao; @Autowrie private OrgResStaffDao orgResStaffDao; @Autowrie private OrgDao orgDao; @Autowrie private ResourceTmpLogDao resourceTmpLogDao; @Autowrie private KeyWordService keyWordService; public KeyWordService getKeyWordService() { return keyWordService; } public void setKeyWordService(KeyWordService keyWordService) { this.keyWordService = keyWordService; } public String getTimeFormat() { return timeFormat; } public void setTimeFormat(String timeFormat) { this.timeFormat = timeFormat; } public ProfessorDao getProfessorDao() { return professorDao; } public void setProfessorDao(ProfessorDao professorDao) { this.professorDao = professorDao; } public WatchDao getWatchDao() { return watchDao; } public void setWatchDao(WatchDao watchDao) { this.watchDao = watchDao; } public OperationDao getOperationDao() { return operationDao; } public void setOperationDao(OperationDao operationDao) { this.operationDao = operationDao; } public ImageDao getImageDao() { return imageDao; } public void setImageDao(ImageDao imageDao) { this.imageDao = imageDao; } public ImageService getImageService() { return imageService; } public void setImageService(ImageService imageService) { this.imageService = imageService; } public ResourceDao getResourceDao() { return resourceDao; } public void setResourceDao(ResourceDao resourceDao) { this.resourceDao = resourceDao; } public ImagesService getImagesService() { return imagesService; } public void setImagesService(ImagesService imagesService) { this.imagesService = imagesService; } public GrowthLogService getGrowthLogService() { return growthLogService; } public void setGrowthLogService(GrowthLogService growthLogService) { this.growthLogService = growthLogService; } public ArticleResDao getArticleResDao() { return articleResDao; } public void setArticleResDao(ArticleResDao articleResDao) { this.articleResDao = articleResDao; } public ArticleDao getArticleDao() { return articleDao; } public void setArticleDao(ArticleDao articleDao) { this.articleDao = articleDao; } public OrgResStaffDao getOrgResStaffDao() { return orgResStaffDao; } public void setOrgResStaffDao(OrgResStaffDao orgResStaffDao) { this.orgResStaffDao = orgResStaffDao; } public OrgDao getOrgDao() { return orgDao; } public void setOrgDao(OrgDao orgDao) { this.orgDao = orgDao; } public ResourceTmpLogDao getResourceTmpLogDao() { return resourceTmpLogDao; } public void setResourceTmpLogDao(ResourceTmpLogDao resourceTmpLogDao) { this.resourceTmpLogDao = resourceTmpLogDao; } private String publishTime(){ SimpleDateFormat df = new SimpleDateFormat(this.timeFormat); String publishTime = df.format(new Date()); return publishTime; } @Post @Path public String insert(@JdbcConn(true) Connection con, Resource resource, @Nullable String fn) throws JfwBaseException, SQLException, IOException { String resourceId = StringUtil.buildUUID(); if(null != fn){ this.imagesService.insert(con, resourceId, fn); } resource.setResourceId(resourceId); this.resourceDao.insert(con, resource); //this.growthLogService.addResource(con, resource.getProfessorId()); this.keyWordService.refreshResource(con,resourceId, KeyWordService.splitKeyWord(resource.getSubject())); return resourceId; } @Post @Path("/importRes") public String importRes(@JdbcConn(true) Connection con,Resource resource,String resourceTmpId,@Nullable String imgSrc)throws SQLException, JfwBaseException{ String resourceId = StringUtil.buildUUID(); resource.setResourceId(resourceId); resource.setStatus("1"); resource.setPublishTime(this.publishTime()); resource.setPageViews(0); ResourceTmpLog log = new ResourceTmpLog(); log.setResourceId(resourceId); log.setResourceTmpId(resourceTmpId); if(resource.getProfessorId() != null){ resource.setResourceType("1"); log.setOwnerId(resource.getProfessorId()); }else if(resource.getOrgId() != null){ resource.setResourceType("2"); log.setOwnerId(resource.getOrgId()); }else{ throw new JfwBaseException(-1, "bad parameter:ownerId"); } this.resourceDao.insert(con, resource); this.keyWordService.refreshResource(con,resourceId,KeyWordService.splitKeyWord(resource.getSubject())); this.resourceTmpLogDao.insert(con, log); if(imgSrc != null){ Image image = new Image(); image.setImageId(StringUtil.buildUUID()); image.setImageSrc(imgSrc); image.setSort(1); image.setResourceId(resourceId); this.imageDao.insert(con, image); } return resourceId; } @Get @Path("/isImportRes") public boolean isImportRes(@JdbcConn Connection con,String id,String resourceTmpId,@DefaultValue("1") int rows)throws SQLException{ List<ResourceTmpLog> logs = this.resourceTmpLogDao.query(con, id, resourceTmpId, rows); if(logs.isEmpty()){ return false; } return true; } @Post @Path("/save") public String save(@JdbcConn(true) Connection con, Resource resource, @Nullable String[] fns, @Nullable String[] imageIds) throws JfwBaseException, SQLException, IOException { if(resource.getResourceId() == null){ String resourceId = StringUtil.buildUUID(); if(fns != null){ this.imagesService.saveImg(con, resourceId, fns); } resource.setResourceId(resourceId); resource.setStatus("1"); resource.setPageViews(0); resource.setPublishTime(this.publishTime()); resource.setResourceType("1"); this.resourceDao.insert(con, resource); this.keyWordService.refreshResource(con,resourceId,KeyWordService.splitKeyWord(resource.getSubject())); //this.growthLogService.addResource(con, resource.getProfessorId()); return resourceId; }else if(resource.getResourceId().trim().length() == 32){ int imageLength = 0; if(imageIds != null){ imageLength = imageIds.length; List<Image> images = this.imageDao.queryRes(con, resource.getResourceId()); this.imageDao.updateAllSort(con, resource.getResourceId(), 0); for (int i = 0; i < imageLength; i++) { for (Image image : images) { if(image.getImageId().equals(imageIds[i])){ this.imageDao.updateSort(con, image.getImageId(), i+1); } } } this.imageDao.deleteBySort(con, resource.getResourceId(), 0); } if(fns != null){ if(imageIds == null){ this.imageDao.deleteRes(con, resource.getResourceId()); } this.imagesService.saveFns(con, resource.getResourceId(), fns, imageLength); } this.resourceDao.update(con, resource); this.resourceDao.updatePublishTime(con, resource.getResourceId(), "1", this.publishTime()); this.keyWordService.refreshResource(con,resource.getResourceId(),KeyWordService.splitKeyWord(resource.getSubject())); return resource.getResourceId(); }else{ throw new JfwBaseException(-1, "bad parameter:resourceId"); } } /** * 保存划稿 * @param con * @param resource * @param fns * @param imageIds * @return * @throws SQLException * @throws IOException * @throws JfwBaseException */ @Post @Path("/draft") public String draft(@JdbcConn(true) Connection con, Resource resource, @Nullable String[] fns, @Nullable String[] imageIds) throws SQLException, IOException, JfwBaseException{ if(resource.getResourceId() == null){ String resourceId = StringUtil.buildUUID(); if(fns != null){ this.imagesService.saveImg(con, resourceId, fns); } resource.setResourceId(resourceId); resource.setStatus("0"); resource.setPageViews(0); resource.setResourceType("1"); this.resourceDao.insert(con, resource); this.keyWordService.refreshResource(con,resourceId,null); return resourceId; }else if(resource.getResourceId().trim().length() == 32){ int imageLength = 0; if(imageIds != null){ imageLength = imageIds.length; List<Image> images = this.imageDao.queryRes(con, resource.getResourceId()); this.imageDao.updateAllSort(con, resource.getResourceId(), 0); for (int i = 0; i < imageLength; i++) { for (Image image : images) { if(image.getImageId().equals(imageIds[i])){ this.imageDao.updateSort(con, image.getImageId(), i+1); } } } this.imageDao.deleteBySort(con, resource.getResourceId(), 0); } if(fns != null){ if(imageIds == null){ this.imageDao.deleteRes(con, resource.getResourceId()); } this.imagesService.saveFns(con, resource.getResourceId(), fns, imageLength); } this.resourceDao.update(con, resource); this.resourceDao.updateStatus(con, resource.getResourceId(), "0"); this.keyWordService.refreshResource(con,resource.getResourceId(),null); return resource.getResourceId(); }else{ throw new JfwBaseException(-1, "bad parameter:resourceId"); } } @Post @Path("/timing") public String timing(@JdbcConn(true) Connection con, Resource resource, @Nullable String[] fns, @Nullable String[] imageIds) throws SQLException, IOException, JfwBaseException{ if(resource.getResourceId() == null){ String resourceId = StringUtil.buildUUID(); if(fns != null){ this.imagesService.saveImg(con, resourceId, fns); } resource.setResourceId(resourceId); resource.setStatus("2"); resource.setPageViews(0); resource.setResourceType("1"); this.resourceDao.insert(con, resource); this.keyWordService.refreshResource(con,resourceId,null); return resourceId; }else if(resource.getResourceId().trim().length() == 32){ int imageLength = 0; if(imageIds != null){ imageLength = imageIds.length; List<Image> images = this.imageDao.queryRes(con, resource.getResourceId()); this.imageDao.updateAllSort(con, resource.getResourceId(), 0); for (int i = 0; i < imageLength; i++) { for (Image image : images) { if(image.getImageId().equals(imageIds[i])){ this.imageDao.updateSort(con, image.getImageId(), i+1); } } } this.imageDao.deleteBySort(con, resource.getResourceId(), 0); } if(fns != null){ if(imageIds == null){ this.imageDao.deleteRes(con, resource.getResourceId()); } this.imagesService.saveFns(con, resource.getResourceId(), fns, imageLength); } this.resourceDao.update(con, resource); this.resourceDao.updatePublishTime(con, resource.getResourceId(), "2", resource.getPublishTime()); this.keyWordService.refreshResource(con,resource.getResourceId(),null); return resource.getResourceId(); }else{ throw new JfwBaseException(-1, "bad parameter:resourceId"); } } @Post @Path("/orgSave") public String orgSave(@JdbcConn(true) Connection con, Resource resource,@Nullable String[] fns,@Nullable String[] imageIds, @Nullable String[] professorIds) throws JfwBaseException, SQLException, IOException { if(resource.getResourceId() == null){ String resourceId = StringUtil.buildUUID(); if(fns != null){ this.imagesService.saveImg(con, resourceId, fns); } resource.setResourceId(resourceId); resource.setStatus("1"); resource.setPageViews(0); resource.setPublishTime(this.publishTime()); resource.setResourceType("2"); this.resourceDao.insert(con, resource); this.keyWordService.refreshResource(con,resourceId,KeyWordService.splitKeyWord(resource.getSubject())); if(professorIds != null){ for (String professorId : professorIds) { OrgResStaff orgResStaff = new OrgResStaff(); orgResStaff.setResourceId(resourceId); orgResStaff.setProfessorId(professorId); this.orgResStaffDao.insert(con, orgResStaff); } } return resourceId; }else if(resource.getResourceId().trim().length() == 32){ int imageLength = 0; if(imageIds != null){ imageLength = imageIds.length; List<Image> images = this.imageDao.queryRes(con, resource.getResourceId()); this.imageDao.updateAllSort(con, resource.getResourceId(), 0); for (int i = 0; i < imageLength; i++) { for (Image image : images) { if(image.getImageId().equals(imageIds[i])){ this.imageDao.updateSort(con, image.getImageId(), i+1); } } } this.imageDao.deleteBySort(con, resource.getResourceId(), 0); } if(fns != null){ if(imageIds == null){ this.imageDao.deleteRes(con, resource.getResourceId()); } this.imagesService.saveFns(con, resource.getResourceId(), fns, imageLength); } this.resourceDao.update(con, resource); this.resourceDao.updatePublishTime(con, resource.getResourceId(), "1", this.publishTime()); this.keyWordService.refreshResource(con,resource.getResourceId(),null); this.orgResStaffDao.delete(con, resource.getResourceId()); if(professorIds != null){ for (String professorId : professorIds) { OrgResStaff orgResStaff = new OrgResStaff(); orgResStaff.setResourceId(resource.getResourceId()); orgResStaff.setProfessorId(professorId); this.orgResStaffDao.insert(con, orgResStaff); } } return resource.getResourceId(); }else{ throw new JfwBaseException(-1, "bad parameter:resourceId"); } } @Post @Path("/orgDraft") public String orgDraft(@JdbcConn(true) Connection con,Resource resource,@Nullable String[] fns,@Nullable String[] imageIds, @Nullable String[] professorIds) throws SQLException, IOException, JfwBaseException{ if(resource.getResourceId() == null){ String resourceId = StringUtil.buildUUID(); if(fns != null){ this.imagesService.saveImg(con, resourceId, fns); } resource.setResourceId(resourceId); resource.setStatus("0"); resource.setPageViews(0); resource.setResourceType("2"); this.resourceDao.insert(con, resource); this.keyWordService.refreshResource(con,resourceId,null); if(professorIds != null){ for (String professorId : professorIds) { OrgResStaff orgResStaff = new OrgResStaff(); orgResStaff.setResourceId(resourceId); orgResStaff.setProfessorId(professorId); this.orgResStaffDao.insert(con, orgResStaff); } } return resourceId; }else if(resource.getResourceId().trim().length() == 32){ int imageLength = 0; if(imageIds != null){ imageLength = imageIds.length; List<Image> images = this.imageDao.queryRes(con, resource.getResourceId()); this.imageDao.updateAllSort(con, resource.getResourceId(), 0); for (int i = 0; i < imageLength; i++) { for (Image image : images) { if(image.getImageId().equals(imageIds[i])){ this.imageDao.updateSort(con, image.getImageId(), i+1); } } } this.imageDao.deleteBySort(con, resource.getResourceId(), 0); } if(fns != null){ if(imageIds == null){ this.imageDao.deleteRes(con, resource.getResourceId()); } this.imagesService.saveFns(con, resource.getResourceId(), fns, imageLength); } this.resourceDao.update(con, resource); this.resourceDao.updateStatus(con, resource.getResourceId(), "0"); this.keyWordService.refreshResource(con,resource.getResourceId(),null); this.orgResStaffDao.delete(con, resource.getResourceId()); if(professorIds != null){ for (String professorId : professorIds) { OrgResStaff orgResStaff = new OrgResStaff(); orgResStaff.setResourceId(resource.getResourceId()); orgResStaff.setProfessorId(professorId); this.orgResStaffDao.insert(con, orgResStaff); } } return resource.getResourceId(); }else{ throw new JfwBaseException(-1, "bad parameter:resourceId"); } } @Post @Path("/delete") public void deleteRes(@JdbcConn(true) Connection con, String resourceId) throws SQLException{ //修改资源状态为删除 this.resourceDao.updateStatus(con, resourceId, "3"); this.keyWordService.refreshResource(con,resourceId,null); } @Post @Path("/saveRes") public String insertRes(@JdbcConn(true) Connection con, Resource resource, @Nullable String base64, Integer angle) throws SQLException, IOException { String resourceId = StringUtil.buildUUID(); if(null != base64){ this.imagesService.insertResourceImg(con, resourceId, base64, angle); } resource.setResourceId(resourceId); this.resourceDao.insert(con, resource); this.keyWordService.refreshResource(con,resourceId,KeyWordService.splitKeyWord(resource.getSubject())); //this.growthLogService.addResource(con, resource.getProfessorId()); return resourceId; } @Post @Path("/updateResource") public void update(@JdbcConn(true) Connection con, Resource resource, @Nullable String fn) throws SQLException, IOException, JfwBaseException { if(null != fn){ this.imagesService.insert(con, resource.getResourceId(), fn); } this.resourceDao.update(con, resource); this.keyWordService.refreshResource(con,resource.getResourceId(),KeyWordService.splitKeyWord(resource.getSubject())); } @Post @Path("/pageViews") public void pageViews(@JdbcConn(true) Connection con,String resourceId) throws SQLException{ this.resourceDao.incPageViews(con, resourceId); } @Get @Path("/{resourceId}") public Resource query(@JdbcConn Connection con, @PathVar String resourceId) throws SQLException { Resource resource = this.resourceDao.query(con, resourceId); if(resource != null){ resource.setImages(this.imageDao.queryRes(con, resourceId)); } return resource; } @Get @Path("/queryOne") public Resource queryOne(@JdbcConn Connection con, String resourceId) throws SQLException { Resource resource = this.resourceDao.queryOne(con, resourceId); if(resource != null){ resource.setImages(this.imageDao.queryRes(con, resourceId)); if(resource.getProfessorId() != null){ EditProfessor professor = this.professorDao.queryBaseInfo(con, resource.getProfessorId()); if(professor != null){ professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId())); } resource.setEditProfessor(professor); }else if(resource.getOrgId() != null){ EditOrganization organization = this.orgDao.queryEditOrg(con, resource.getOrgId()); if(organization != null){ organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } resource.setOrganization(organization); } } return resource; } @Get @Path("/pqSelf") public PageQueryResult<Resource> queryPageSelf(@JdbcConn Connection con,String professorId,@Nullable String key, @DefaultValue("10") int pageSize,@DefaultValue("1") int pageNo)throws SQLException{ if(key != null){ key = "%" + key + "%"; } PageQueryResult<Resource> queryResult = this.resourceDao.queryForSelf(con, professorId, key, pageSize, pageNo); List<Resource> resources = queryResult.getData(); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setImages(this.imagesService.queryRes(con, resource.getResourceId())); } queryResult.setData(resources); } return queryResult; } @Get @Path("/pqForOrg") public PageQueryResult<Resource> queryPageForOrg(@JdbcConn Connection con,String orgId,@Nullable String key, @DefaultValue("10") int pageSize,@DefaultValue("1") int pageNo)throws SQLException{ if(key != null){ key = "%" + key + "%"; } PageQueryResult<Resource> queryResult = this.resourceDao.querySelfForOrg(con, orgId, key, pageSize, pageNo); List<Resource> resources = queryResult.getData(); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setImages(this.imagesService.queryRes(con, resource.getResourceId())); } queryResult.setData(resources); } return queryResult; } @Get @Path("/lq/publish/org") public List<Resource> publishByOrg(@JdbcConn Connection con,String resourceName,String orgid,int rows)throws SQLException{ return this.resourceDao.publishByOrg(con, orgid,"%"+resourceName+"%", rows); } // @Get // @Path("/ralateRes") // public List<Resource> queryLimit(@JdbcConn Connection con,@Nullable String[] keys,String resourceId, // String professorId,@DefaultValue("10") int rows)throws SQLException{ // List<Resource> resources = new ArrayList<Resource>(); // if(keys != null){ // resources = this.resourceDao.queryLimit(con, keys, resourceId, rows); // } // if(resources.isEmpty()){ // resources = this.resourceDao.queryByProId(con, professorId, resourceId, rows); // if(resources.isEmpty()){ // resources = this.resourceDao.queryByProId(con, null, resourceId, rows); // } // } // if(!resources.isEmpty()){ // for (Resource resource : resources) { // resource.setImages(this.imagesService.queryRes(con, resource.getResourceId())); // if(resource.getProfessorId() != null){ // EditProfessor professor = this.professorDao.queryBaseInfo(con, resource.getProfessorId()); // if(professor != null){ // professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId())); // } // resource.setEditProfessor(professor); // }else if(resource.getOrgId() != null){ // EditOrganization organization = this.orgDao.queryEditOrg(con, resource.getOrgId()); // if(organization != null){ // organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); // } // resource.setOrganization(organization); // } // } // } // return resources; // } // // @Get // @Path("/orgRalateRes") // public List<Resource> queryOrgRalateRes(@JdbcConn Connection con,@Nullable String[] keys,String resourceId, // String orgId,@DefaultValue("10") int rows)throws SQLException{ // List<Resource> resources = new ArrayList<Resource>(); // if(keys != null){ // resources = this.resourceDao.queryLimit(con, keys, resourceId, rows); // } // if(resources.isEmpty()){ // resources = this.resourceDao.queryByOrgId(con, orgId, resourceId, rows); // if(resources.isEmpty()){ // resources = this.resourceDao.queryByOrgId(con, null, resourceId, rows); // } // } // if(!resources.isEmpty()){ // for (Resource resource : resources) { // resource.setImages(this.imagesService.queryRes(con, resource.getResourceId())); // if(resource.getProfessorId() != null){ // EditProfessor professor = this.professorDao.queryBaseInfo(con, resource.getProfessorId()); // if(professor != null){ // professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId())); // } // resource.setEditProfessor(professor); // }else if(resource.getOrgId() != null){ // EditOrganization organization = this.orgDao.queryEditOrg(con, resource.getOrgId()); // if(organization != null){ // organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); // } // resource.setOrganization(organization); // } // } // } // return resources; // } // @Get @Path("/articles") public List<ArticleRes> queryArticles(@JdbcConn Connection con, String resourceId, @DefaultValue("5") int rows) throws SQLException{ List<ArticleRes> articleRes = this.articleResDao.queryArticles(con, resourceId, rows); if(!articleRes.isEmpty()){ for (ArticleRes res : articleRes) { res.setArticle(this.articleDao.queryOne(con, res.getArticleId())); } } return articleRes; } @Get @Path("/qaLinkman") public List<OrgResStaff> queryLinkman(@JdbcConn Connection con, String resourceId) throws SQLException{ List<OrgResStaff> orgResStaffs = this.orgResStaffDao.query(con, resourceId); if(orgResStaffs != null){ for (OrgResStaff orgResStaff : orgResStaffs) { EditProfessor professor = this.professorDao.queryBaseInfo(con, orgResStaff.getProfessorId()); if(professor != null){ professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId())); } orgResStaff.setProfessor(professor); } } return orgResStaffs; } @Get @Path("/resourceInfo") public Resource queryInfo(@JdbcConn Connection con, String resourceId) throws SQLException { Resource resource = this.resourceDao.queryInfo(con, resourceId); EditProfessor professor = this.professorDao.queryBaseInfo(con, resource.getProfessorId()); if(professor != null){ professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId())); } resource.setEditProfessor(professor); resource.setImages(this.imageDao.queryRes(con, resourceId)); return resource; } @Get @Path("/pqall") public PageQueryResult<Resource> queryPageAll(@JdbcConn Connection con, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException { PageQueryResult<Resource> queryResult = this.resourceDao.queryPageAll(con, pageSize, pageNo); List<Resource> resources = queryResult.getData(); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } queryResult.setData(resources); return queryResult; } @Get @Path("/qaByName") public List<Resource> queryByName(@JdbcConn Connection con, @Nullable String resourceName, @DefaultValue("3") int rows) throws SQLException { if(resourceName != null){ resourceName = "%" + resourceName + "%"; } List<Resource> resources = this.resourceDao.queryByName(con, resourceName, rows); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); if(resource.getProfessorId() != null){ resource.setProfessor(this.professorDao.queryOne(con, resource.getProfessorId())); }else if(resource.getOrgId() != null){ resource.setOrganization(this.orgDao.queryEditOrg(con, resource.getOrgId())); } } } return resources; } @Get @Path("/qapro") public List<Resource> queryPro(@JdbcConn Connection con, String professorId) throws SQLException { List<Resource> resources = this.resourceDao.queryPro(con, professorId); if(!resources.isEmpty()) { for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return resources; } @Get @Path("/qaProPublish") public List<Resource> queryProPublish(@JdbcConn Connection con, String professorId) throws SQLException { List<Resource> resources = this.resourceDao.queryProPublish(con, professorId); if(!resources.isEmpty()) { for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return resources; } @Get @Path("/pqProPublish") public PageQueryResult<Resource> pageQueryProPublish(@JdbcConn Connection con, String professorId,@DefaultValue("10") int pageSize,@DefaultValue("1") int pageNo) throws SQLException { PageQueryResult<Resource> resources = this.resourceDao.pageQueryProPublish(con, professorId,pageSize,pageNo); List<Resource> list = resources.getData(); if(list!=null && list.size()>0) { for (Resource resource : list) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return resources; } @Get @Path("/publish") List<Resource> queryPublish(@JdbcConn Connection con, String category, String owner, @DefaultValue("\"9\"") String publishTime,@DefaultValue("Long.MAX_VALUE")long shareId, int rows) throws SQLException { List<Resource> resources = this.resourceDao.publish(con, category, owner, publishTime, shareId, rows); if (resources != null && resources.size() > 0) { for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } return resources; } else { return Collections.emptyList(); } } @Get @Path("/qaForDesk") public List<Resource> queryForDesk(@JdbcConn Connection con, String professorId) throws SQLException { List<Resource> resources = this.resourceDao.queryForDesk(con, professorId); if(!resources.isEmpty()) { for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return resources; } @Get @Path("/qaOrgPublish") public List<Resource> queryOrgPublish(@JdbcConn Connection con, String orgId) throws SQLException { List<Resource> resources = this.resourceDao.queryOrgPublish(con, orgId); if(!resources.isEmpty()) { for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return resources; } @Get @Path("/pqOrgPublish") public PageQueryResult<Resource> pageQueryOrgPublish(@JdbcConn Connection con, String orgId,@DefaultValue("10") int pageSize,@DefaultValue("1") int pageNo) throws SQLException { PageQueryResult<Resource> resources = this.resourceDao.pageQueryOrgPublish(con, orgId,pageSize,pageNo); List<Resource> list = resources.getData(); if(list!=null && list.size()>0) { for (Resource resource : list) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return resources; } @Post @Path("/nameAndSupport") public void updateNameAndSupport(@JdbcConn(true) Connection con, String resourceId, String resourceName, String supportedServices) throws SQLException{ this.resourceDao.updateNameAndSupport(con, resourceId, resourceName, supportedServices); } @Post @Path("/subject") public void updateSubject(@JdbcConn(true) Connection con,String resourceId,@Nullable String subject) throws SQLException { this.resourceDao.updateSubject(con, resourceId, subject); } @Post @Path("/industry") public void updateIndustry(@JdbcConn(true) Connection con,String resourceId,@Nullable String industry) throws SQLException { this.resourceDao.updateIndustry(con, resourceId, industry); } @Post @Path("/descp") public void updateDescp(@JdbcConn(true) Connection con,String resourceId,@Nullable String descp) throws SQLException { this.resourceDao.updateDescp(con, resourceId, descp); } @Post @Path("/hopePayMethod") public void updateHopePayMethod(@JdbcConn(true) Connection con,String resourceId,@Nullable String hopePayMethod) throws SQLException { this.resourceDao.updateHopePayMethod(con, resourceId, hopePayMethod); } @Post @Path("/cooperationNotes") public void updateCooperationNotes(@JdbcConn(true) Connection con,String resourceId,@Nullable String cooperationNotes) throws SQLException{ this.resourceDao.updateCooperationNotes(con, resourceId, cooperationNotes); } @Delete @Path("/{resourceId}") public boolean delete(@JdbcConn(true) Connection con, @PathVar String resourceId) throws SQLException { List<Operation> operations = this.operationDao.queryResourceId(con, resourceId); if(operations.isEmpty()){ //Resource resource = this.resourceDao.queryInfo(con, resourceId); this.imageDao.deleteRes(con, resourceId); this.resourceDao.delete(con, resourceId); this.watchDao.deleteWatch(con, resourceId); //this.growthLogService.deleteResource(con, resource.getProfessorId()); return true; }else{ return false; } } @Get @Path("/firstpq") public PageQueryResult<Resource> firstPageQuery(@JdbcConn Connection con,@Nullable String key, @DefaultValue("20") int pageSize,@DefaultValue("1") int pageNo)throws SQLException{ if(key != null){ key = "%" + key + "%"; } PageQueryResult<Resource> queryResult = this.resourceDao.firstPageQuery(con, key, pageSize, pageNo); List<Resource> resources = queryResult.getData(); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setImages(this.imagesService.queryRes(con, resource.getResourceId())); if(resource.getProfessorId() != null){ EditProfessor professor = this.professorDao.queryBaseInfo(con, resource.getProfessorId()); if(professor != null){ professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId())); } resource.setEditProfessor(professor); }else if(resource.getOrgId() != null){ EditOrganization organization = this.orgDao.queryEditOrg(con, resource.getOrgId()); if(organization != null){ organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } resource.setOrganization(organization); } } } return queryResult; } @Get @Path("/index/search") public List<Resource> indexSearch(@JdbcConn Connection con, @Nullable String key, @DefaultValue("Long.MAX_VALUE") long sortNum, @DefaultValue("\"9\"") String publishTime,@DefaultValue("\"G\"")String id, @DefaultValue("10000000") int rows)throws SQLException { if (key != null) { key = "%" + key + "%"; } List<Resource> resources = this.resourceDao.indexSearch(con, key, sortNum, publishTime,id, rows); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setImages(this.imagesService.queryRes(con, resource.getResourceId())); if(resource.getProfessorId() != null){ EditProfessor professor = this.professorDao.queryBaseInfo(con, resource.getProfessorId()); if(professor != null){ professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId())); } resource.setEditProfessor(professor); }else if(resource.getOrgId() != null){ EditOrganization organization = this.orgDao.queryEditOrg(con, resource.getOrgId()); if(organization != null){ organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } resource.setOrganization(organization); } } } return resources; } @Get @Path("/pqRes") public PageQueryResult<Resource> queryPageRes(@JdbcConn(false) Connection con, @Nullable String key, @Nullable String subject, @Nullable String industry, @Nullable String province, @Nullable String address, @DefaultValue("1") Integer authType, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException { if(key!=null) key="%"+key+"%"; if(subject!=null) subject ="%"+subject+"%"; if(industry!=null)industry="%"+industry+"%"; if(province!=null)province="%"+province+"%"; if(address!=null)address="%"+address+"%"; PageQueryResult<Resource> queryResult = this.resourceDao.queryPageRes(con, key, subject, industry, province, address, authType, pageSize, pageNo); List<Resource> resources = queryResult.getData(); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setEditProfessor(this.professorDao.queryBaseInfo(con, resource.getProfessorId())); resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return queryResult; } @Get @Path("/pq") public PageQueryResult<Resource> queryPage(@JdbcConn(false) Connection con, @Nullable String key, @Nullable String subject, @Nullable String industry, @Nullable String address,@DefaultValue("1") Integer authType, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException { if(key!=null) key="%"+key+"%"; if(subject!=null) subject ="%"+subject+"%"; if(industry!=null)industry="%"+industry+"%"; if(address!=null)address="%"+address+"%"; PageQueryResult<Resource> queryResult = this.resourceDao.queryPage(con, key, subject, industry, address, authType, pageSize, pageNo); List<Resource> resources = queryResult.getData(); if(!resources.isEmpty()){ for (Resource resource : resources) { resource.setImages(this.imageDao.queryRes(con, resource.getResourceId())); } } return queryResult; } @Get @Path("/byShareId") public Resource query(@JdbcConn Connection con,long id)throws SQLException{ return this.resourceDao.query(con,id); } @Get @Path("/ralateResources") public List<Resource> ralateResources(@JdbcConn Connection con,String resourceId,@DefaultValue("5") int rows)throws SQLException{ String[] ids = this.resourceDao.queryResourceIdWithSameKeyWord(con, resourceId, rows); if(ids!=null){ List<Resource> ret = this.resourceDao.query(con,ids); for(Resource res:ret){ res.setImages(this.imageDao.queryRes(con, res.getResourceId())); } return ret; } return Collections.<Resource>emptyList(); } @Get @Path("/count/publish") public long countPublish(@JdbcConn Connection con, String category, String owner) throws SQLException { return this.resourceDao.countPublish(con, category, owner); } }