|
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);
}
}
|