portal web service

OrgService.java 9.2KB

    package com.ekexiu.portal.service; import com.ekexiu.portal.dao.OrgDao; import com.ekexiu.portal.dao.OrgRegInfoDao; import com.ekexiu.portal.po.OrgRegInfo; import com.ekexiu.portal.po.Organization; import com.ekexiu.portal.pojo.EditOrganization; 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.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 java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.util.Collections; import java.util.List; @Path("/org") public class OrgService { private String defaultOrgType; /** * 默认企业认证状态为 0-未认证 */ private String defaultAuthStatus = "0"; @Autowrie private ImageService imageService; @Autowrie private OrgDao orgDao; @Autowrie private OrgRegInfoDao orgRegInfoDao; @Autowrie private KeyWordService keyWordService; public KeyWordService getKeyWordService() { return keyWordService; } public void setKeyWordService(KeyWordService keyWordService) { this.keyWordService = keyWordService; } public OrgRegInfoDao getOrgRegInfoDao() { return orgRegInfoDao; } public void setOrgRegInfoDao(OrgRegInfoDao orgRegInfoDao) { this.orgRegInfoDao = orgRegInfoDao; } public ImageService getImageService() { return imageService; } public void setImageService(ImageService imageService) { this.imageService = imageService; } public OrgDao getOrgDao() { return orgDao; } public void setOrgDao(OrgDao orgDao) { this.orgDao = orgDao; } public String getDefaultOrgType() { return defaultOrgType; } public void setDefaultOrgType(String defaultOrgType) { this.defaultOrgType = defaultOrgType; } public String getDefaultAuthStatus() { return defaultAuthStatus; } public void setDefaultAuthStatus(String defaultAuthStatus) { this.defaultAuthStatus = defaultAuthStatus; } @Post @Path public void insert(@JdbcConn(true) Connection con,Organization organization) throws SQLException { organization.setId(StringUtil.buildUUID()); //if(organization.getOrgType()== null) organization.setOrgType(this.defaultOrgType); if(organization.getIsJoin() == null ) organization.setIsJoin("0"); this.orgDao.insert(con, organization); Organization no = this.orgDao.query(con, organization.getId()); if(no!=null && no.getIsJoin().equals("1")){ String s = no.getSubject(); String in = no.getIndustry(); String kw = s==null?"":s.trim(); kw = kw + (in==null?"":(","+in.trim())); this.keyWordService.refreshOrg(con,organization.getId(),KeyWordService.splitKeyWord(kw)); }else{ this.keyWordService.refreshOrg(con,organization.getId(),null); } } @Post @Path("/update") public void update(@JdbcConn(true) Connection con,Organization organization,@Nullable String fn) throws SQLException, IOException{ if(fn != null){ this.imageService.saveOrgLogo(organization.getId(), fn); } this.orgDao.update(con, organization); Organization no = this.orgDao.query(con, organization.getId()); if(no!=null && no.getIsJoin().equals("1")){ String s = no.getSubject(); String in = no.getIndustry(); String kw = s==null?"":s.trim(); kw = kw + (in==null?"":(","+in.trim())); this.keyWordService.refreshOrg(con,organization.getId(),KeyWordService.splitKeyWord(kw)); }else{ this.keyWordService.refreshOrg(con,organization.getId(),null); } } @Get @Path("/{id}") public EditOrganization query(@JdbcConn(false) Connection con ,@PathVar String id)throws SQLException{ EditOrganization editOrg = this.orgDao.queryEditOrg(con, id); if(editOrg != null){ editOrg.setHasOrgLogo(this.imageService.hasOrgLogo(id)); } return editOrg; } @Get @Path("/authStatus") public String queryAuthStatus(@JdbcConn Connection con,String id)throws SQLException{ return this.orgDao.queryAuthStatus(con, id); } @Get @Path("/qa") public List<Organization> query(@JdbcConn(false) Connection con )throws SQLException{ return this.orgDao.query(con); } @Get @Path("/lq") public List<Organization> query(@JdbcConn Connection con,@Nullable String name,@DefaultValue("5") int rows) throws SQLException{ if(name==null) name = "%"; else name="%"+name+"%"; return this.orgDao.limitQuery(con, name, rows); } @Get @Path("/querylimit") public List<EditOrganization> queryLimit(@JdbcConn Connection con,@Nullable String name,@DefaultValue("3") int rows)throws SQLException{ if(name != null){ name = "%" + name + "%"; } List<EditOrganization> organizations = this.orgDao.queryLimit(con, name, rows); if(!organizations.isEmpty()){ for (EditOrganization organization : organizations) { organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } } return organizations; } @Get @Path("/queryByName") public EditOrganization queryByName(@JdbcConn Connection con,String name)throws SQLException{ EditOrganization o = this.orgDao.queryOneByName(con, name); o.setHasOrgLogo(this.imageService.hasOrgLogo(o.getId())); return o; } public String createOrganization(Connection con, String orgName) throws SQLException, IOException { String id = StringUtil.buildUUID(); Organization org = new Organization(); org.setId(id); org.setName(orgName); // org.setOrgType(this.defaultOrgType); org.setAuthStatus(this.defaultAuthStatus); org.setIsJoin("0"); try { orgDao.insert(con, org); this.imageService.saveDefaultOrgLogo(id); } catch (SQLException e) { if ("23505".equals(e.getSQLState())) { con.rollback(); id = orgDao.queryByName(con, orgName); if (id == null) throw new RuntimeException("not fonud with query organization by name"); return id; } throw e; } return id; } @Path("/incPageViews") @Post public void incPageViews(@JdbcConn(true) Connection con ,String id)throws SQLException{ this.orgDao.incPageViews(con, id); } @Get @Path("/regInfo") public OrgRegInfo queryRegInfo(@JdbcConn Connection con,String name) throws SQLException{ return this.orgRegInfoDao.query(con, name); } @Get @Path("/byShareId") public Organization query(@JdbcConn Connection con,long id)throws SQLException{ return this.orgDao.query(con, id); } @Get @Path("/find/pq") public PageQueryResult<EditOrganization> pageQuery(@JdbcConn Connection con,@Nullable String kw,@Nullable String industry, @Nullable String city, @DefaultValue("20") int pageSize,@DefaultValue("1") int pageNo)throws SQLException { PageQueryResult<EditOrganization> pqr =null; if(kw==null && industry==null && city ==null) { pqr = this.orgDao.query(con, pageSize, pageNo); }else if(kw != null && industry==null && city ==null){ pqr =this.orgDao.query(con,"%"+kw+"%", pageSize, pageNo); }else if(kw == null){ industry = industry==null?"%":("%"+industry+"%"); city = city==null?"%":("%"+city+"%"); pqr = this.orgDao.queryByIndustryAndAddr(con, industry, city, pageSize, pageNo); }else{ industry = industry==null?"%":("%"+industry+"%"); city = city==null?"%":("%"+city+"%"); pqr = this.orgDao.queryByKwAndIndustryAndAddr(con, "%"+kw+"%", industry, city, pageSize, pageNo); } for (EditOrganization organization : pqr.getData()) { organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } return pqr; } @Get @Path("/index/search") public List<EditOrganization> indexSearch(@JdbcConn Connection con, @Nullable String key, @DefaultValue("Long.MAX_VALUE") long sortNum, @DefaultValue("\"9\"") String modifyTime,@DefaultValue("\"Z\"")String id, @DefaultValue("10000000") int rows)throws SQLException { if (key != null) { key = "%" + key + "%"; } List<EditOrganization> orgs = this.orgDao.indexSearch(con,key,sortNum,modifyTime,id,rows); for (EditOrganization organization : orgs) { organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } return orgs; } @Get @Path("/qm") public List<EditOrganization> query(@JdbcConn Connection con,String[] id)throws SQLException{ List<EditOrganization> ret = this.orgDao.query(con, id); for (EditOrganization organization :ret) { organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } return ret; } @Get @Path("/qr") public List<EditOrganization> relateQuery(@JdbcConn Connection con,@Nullable String kw,@DefaultValue("3") int limit) throws SQLException{ List<EditOrganization> ret = this.orgDao.relateQuery(con, kw==null?"%":("%"+kw+"%"), limit); for (EditOrganization organization :ret) { organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } return ret; } @Get @Path("/ralateOrgs") public List<EditOrganization> ralateArticles(@JdbcConn Connection con,String orgId,@DefaultValue("5") int rows)throws SQLException{ String[] ids = this.orgDao.queryOrgIdWithSameKeyWord(con, orgId, rows); if(ids!=null){ List<EditOrganization> ret = this.orgDao.query(con,ids); for (EditOrganization organization :ret) { organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId())); } return ret; } return Collections.<EditOrganization>emptyList(); } }