|
@ -8,6 +8,7 @@ import com.common.json.JSONObject;
|
|
import com.coreframework.db.DB;
|
|
import com.coreframework.db.DB;
|
|
import com.coreframework.db.Sql;
|
|
import com.coreframework.db.Sql;
|
|
import com.coreframework.util.AppConfig;
|
|
import com.coreframework.util.AppConfig;
|
|
|
|
import com.yihu.jk.action.ArticleAction;
|
|
import com.yihu.jk.enums.ArticleSqlNameEnum;
|
|
import com.yihu.jk.enums.ArticleSqlNameEnum;
|
|
import com.yihu.jk.enums.CategorySqlNameEnum;
|
|
import com.yihu.jk.enums.CategorySqlNameEnum;
|
|
import com.yihu.jk.enums.MyDatabaseEnum;
|
|
import com.yihu.jk.enums.MyDatabaseEnum;
|
|
@ -18,12 +19,14 @@ import com.yihu.jk.vo.Article;
|
|
import com.yihu.jk.vo.ArticleStatistic;
|
|
import com.yihu.jk.vo.ArticleStatistic;
|
|
import com.yihu.jk.vo.Category;
|
|
import com.yihu.jk.vo.Category;
|
|
import com.yihu.jk.vo.OrgArticleVo;
|
|
import com.yihu.jk.vo.OrgArticleVo;
|
|
|
|
import org.apache.log4j.Logger;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
@Component
|
|
@Component
|
|
public class ArticleDao {
|
|
public class ArticleDao {
|
|
private CategoryDao dao = new CategoryDao();
|
|
private CategoryDao dao = new CategoryDao();
|
|
|
|
static Logger log = Logger.getLogger(ArticleDao.class.getName());
|
|
public List<ArticleStatistic> getArticleList(ArticleStatistic vo, int start, int pageSize) throws SQLException {
|
|
public List<ArticleStatistic> getArticleList(ArticleStatistic vo, int start, int pageSize) throws SQLException {
|
|
Sql sql = DB.me().createSql(ArticleSqlNameEnum.getArticleList);
|
|
Sql sql = DB.me().createSql(ArticleSqlNameEnum.getArticleList);
|
|
StringBuffer param = new StringBuffer();
|
|
StringBuffer param = new StringBuffer();
|
|
@ -548,6 +551,44 @@ public class ArticleDao {
|
|
StringBuffer param = new StringBuffer();
|
|
StringBuffer param = new StringBuffer();
|
|
StringBuffer param2 = new StringBuffer();
|
|
StringBuffer param2 = new StringBuffer();
|
|
StringBuffer pageParam = new StringBuffer();
|
|
StringBuffer pageParam = new StringBuffer();
|
|
|
|
|
|
|
|
// if (StringUtil.isNotEmpty(vo.getOperatorRoleLevel())) {
|
|
|
|
// param.append(" and OperatorRoleLevel < ? ");
|
|
|
|
// sql.addParamValue(vo.getOperatorRoleLevel());
|
|
|
|
// }
|
|
|
|
|
|
|
|
if (StringUtil.isNotEmpty(vo.getOperatorId())) {
|
|
|
|
param.append(" and OperatorId ='"+vo.getOperatorId()+"' ");
|
|
|
|
}
|
|
|
|
if("1".equals(vo.getOperatorRoleLevel())){//省
|
|
|
|
// param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,3)+"%' ");
|
|
|
|
}else if("2".equals(vo.getOperatorRoleLevel())){//市
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,2)+"0000' ) ");
|
|
|
|
}else if("3".equals(vo.getOperatorRoleLevel())){//区
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,2)+"0000' ) ");
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,4)+"00' ) ");
|
|
|
|
}else if("4".equals(vo.getOperatorRoleLevel())){//社区、机构
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,2)+"0000' ) ");
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,4)+"00' ) ");
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 3 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,6)+"' ) ");
|
|
|
|
}
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= "+vo.getOperatorRoleLevel()+" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ) ");
|
|
|
|
|
|
|
|
if(pageParam.toString().startsWith(" or")){
|
|
|
|
param.append("and ("+pageParam.toString().substring(3)+")");
|
|
|
|
}
|
|
|
|
if(StringUtil.isNotEmpty(vo.getOperatorRoleLevel())){
|
|
|
|
param.append(" and (UserScope <= ? ");
|
|
|
|
sql.addParamValue(Integer.valueOf(vo.getOperatorRoleLevel())-1);
|
|
|
|
}else{
|
|
|
|
param.append(" and (UserScope <= 3 ");
|
|
|
|
//
|
|
|
|
}
|
|
|
|
param.append(" or ( OperatorId='"+userCode+"' and UserScope=4 and RoleType = "+vo.getRoleType()+"))");
|
|
|
|
if(StringUtil.isNotEmpty(vo.getRoleType())) {
|
|
|
|
param.append(" and RoleType = ? ");
|
|
|
|
sql.addParamValue(vo.getRoleType());
|
|
|
|
}
|
|
if (StringUtil.isNotEmpty(vo.getFirstLevelCategoryId())) {
|
|
if (StringUtil.isNotEmpty(vo.getFirstLevelCategoryId())) {
|
|
param.append(" and FirstLevelCategoryId = ? ");
|
|
param.append(" and FirstLevelCategoryId = ? ");
|
|
sql.addParamValue(vo.getFirstLevelCategoryId());
|
|
sql.addParamValue(vo.getFirstLevelCategoryId());
|
|
@ -556,6 +597,9 @@ public class ArticleDao {
|
|
param.append(" and SecondLevelCategoryId = ? ");
|
|
param.append(" and SecondLevelCategoryId = ? ");
|
|
sql.addParamValue(vo.getSecondLevelCategoryId());
|
|
sql.addParamValue(vo.getSecondLevelCategoryId());
|
|
}
|
|
}
|
|
|
|
if (StringUtil.isNotEmpty(vo.getArticleTitle())) {
|
|
|
|
param.append(" and ArticleTitle like '%"+vo.getArticleTitle()+"%' ");
|
|
|
|
}
|
|
if (StringUtil.isNotEmpty(vo.getStartTime())) {
|
|
if (StringUtil.isNotEmpty(vo.getStartTime())) {
|
|
param.append(" and m.InsertTime >= ? ");
|
|
param.append(" and m.InsertTime >= ? ");
|
|
sql.addParamValue(vo.getStartTime());
|
|
sql.addParamValue(vo.getStartTime());
|
|
@ -572,39 +616,10 @@ public class ArticleDao {
|
|
param.append(" and IsAuthentication = ? ");
|
|
param.append(" and IsAuthentication = ? ");
|
|
sql.addParamValue(vo.getIsAuthentication().intValue());
|
|
sql.addParamValue(vo.getIsAuthentication().intValue());
|
|
}
|
|
}
|
|
if (StringUtil.isNotEmpty(vo.getOperatorRoleLevel())) {
|
|
|
|
param.append(" and OperatorRoleLevel >= ? ");
|
|
|
|
sql.addParamValue(vo.getOperatorRoleLevel());
|
|
|
|
}
|
|
|
|
if (StringUtil.isNotEmpty(vo.getArticleTitle())) {
|
|
|
|
param.append(" and ArticleTitle like '%"+vo.getArticleTitle()+"%' ");
|
|
|
|
}
|
|
|
|
if (StringUtil.isNotEmpty(vo.getOperatorId())) {
|
|
|
|
param.append(" and OperatorId ='"+vo.getOperatorId()+"' ");
|
|
|
|
}
|
|
|
|
if("1".equals(vo.getOperatorRoleLevel())){//省
|
|
|
|
param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,3)+"%' ");
|
|
|
|
}else if("2".equals(vo.getOperatorRoleLevel())){//市
|
|
|
|
param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,4)+"%' ");
|
|
|
|
}else if("3".equals(vo.getOperatorRoleLevel())){//区
|
|
|
|
param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,6)+"%' ");
|
|
|
|
}else if("4".equals(vo.getOperatorRoleLevel())){//社区、机构
|
|
|
|
param.append(" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ");
|
|
|
|
}
|
|
|
|
if(StringUtil.isNotEmpty(vo.getOperatorRoleLevel())){
|
|
|
|
param.append(" and UserScope <= ? ");
|
|
|
|
sql.addParamValue(Integer.valueOf(vo.getOperatorRoleLevel())-1);
|
|
|
|
}else{
|
|
|
|
sql.addParamValue(3);
|
|
|
|
}
|
|
|
|
if(StringUtil.isNotEmpty(vo.getRoleType())) {
|
|
|
|
param.append(" and RoleType = ? ");
|
|
|
|
sql.addParamValue(vo.getRoleType());
|
|
|
|
}
|
|
|
|
if(StringUtil.isNotEmpty(userCode)){
|
|
if(StringUtil.isNotEmpty(userCode)){
|
|
|
|
|
|
param2.append(" and a.UserId='"+userCode+"'");
|
|
param2.append(" and a.UserId='"+userCode+"'");
|
|
param.append(" or ( OperatorId='"+userCode+"' and UserScope=4 and RoleType = "+vo.getRoleType()+")");
|
|
|
|
|
|
// param.append(" or ( OperatorId='"+userCode+"' and UserScope=4 and RoleType = "+vo.getRoleType()+")");
|
|
}
|
|
}
|
|
// pageParam.append(" limit ").append(start * pageSize + "," + pageSize);
|
|
// pageParam.append(" limit ").append(start * pageSize + "," + pageSize);
|
|
sql.addVar("@Condition", param.toString());
|
|
sql.addVar("@Condition", param.toString());
|
|
@ -628,6 +643,8 @@ public class ArticleDao {
|
|
// result = dao.getCategoryList( temp, 0, 1000);
|
|
// result = dao.getCategoryList( temp, 0, 1000);
|
|
// one.setSecondLevelCategoryName(result.get("CategoryName")+"");
|
|
// one.setSecondLevelCategoryName(result.get("CategoryName")+"");
|
|
// }
|
|
// }
|
|
|
|
log.info("queryArticlePcList:"+sql.toString());
|
|
|
|
System.out.printf("queryArticlePcList:"+sql.toString());
|
|
return DB.me().queryForJson(MyDatabaseEnum.JkEduDB, sql, start, pageSize);
|
|
return DB.me().queryForJson(MyDatabaseEnum.JkEduDB, sql, start, pageSize);
|
|
}
|
|
}
|
|
|
|
|
|
@ -645,6 +662,41 @@ public class ArticleDao {
|
|
StringBuffer param = new StringBuffer();
|
|
StringBuffer param = new StringBuffer();
|
|
StringBuffer param2 = new StringBuffer();
|
|
StringBuffer param2 = new StringBuffer();
|
|
StringBuffer pageParam = new StringBuffer();
|
|
StringBuffer pageParam = new StringBuffer();
|
|
|
|
|
|
|
|
// if (StringUtil.isNotEmpty(vo.getOperatorRoleLevel())) {
|
|
|
|
// param.append(" and OperatorRoleLevel < ? ");
|
|
|
|
// sql.addParamValue(vo.getOperatorRoleLevel());
|
|
|
|
// }
|
|
|
|
if (StringUtil.isNotEmpty(vo.getOperatorId())) {
|
|
|
|
param.append(" and OperatorId ='"+vo.getOperatorId()+"' ");
|
|
|
|
}
|
|
|
|
if("1".equals(vo.getOperatorRoleLevel())){//省
|
|
|
|
// param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,3)+"%' ");
|
|
|
|
}else if("2".equals(vo.getOperatorRoleLevel())){//市
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,2)+"0000' ) ");
|
|
|
|
}else if("3".equals(vo.getOperatorRoleLevel())){//区
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,2)+"0000' ) ");
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,4)+"00' ) ");
|
|
|
|
}else if("4".equals(vo.getOperatorRoleLevel())){//社区、机构
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,2)+"0000' ) ");
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,4)+"00' ) ");
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= 3 and OperatorRoleCode = '"+vo.getOperatorRoleCode().substring(0,6)+"' ) ");
|
|
|
|
}
|
|
|
|
pageParam.append(" or (OperatorRoleLevel= "+vo.getOperatorRoleLevel()+" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ) ");
|
|
|
|
if(pageParam.toString().startsWith(" or")){
|
|
|
|
param.append("and ("+pageParam.toString().substring(3)+")");
|
|
|
|
}
|
|
|
|
if(StringUtil.isNotEmpty(vo.getOperatorRoleLevel())){
|
|
|
|
param.append(" and (UserScope <= ? ");
|
|
|
|
sql.addParamValue(Integer.valueOf(vo.getOperatorRoleLevel())-1);
|
|
|
|
}else{
|
|
|
|
param.append(" and (UserScope <= 3 ");
|
|
|
|
}
|
|
|
|
param.append(" or ( OperatorId='"+userCode+"' and UserScope=4 and RoleType = "+vo.getRoleType()+"))");
|
|
|
|
if(StringUtil.isNotEmpty(vo.getRoleType())) {
|
|
|
|
param.append(" and RoleType = ? ");
|
|
|
|
sql.addParamValue(vo.getRoleType());
|
|
|
|
}
|
|
if (StringUtil.isNotEmpty(vo.getFirstLevelCategoryId())) {
|
|
if (StringUtil.isNotEmpty(vo.getFirstLevelCategoryId())) {
|
|
param.append(" and FirstLevelCategoryId = ? ");
|
|
param.append(" and FirstLevelCategoryId = ? ");
|
|
sql.addParamValue(vo.getFirstLevelCategoryId());
|
|
sql.addParamValue(vo.getFirstLevelCategoryId());
|
|
@ -653,6 +705,9 @@ public class ArticleDao {
|
|
param.append(" and SecondLevelCategoryId = ? ");
|
|
param.append(" and SecondLevelCategoryId = ? ");
|
|
sql.addParamValue(vo.getSecondLevelCategoryId());
|
|
sql.addParamValue(vo.getSecondLevelCategoryId());
|
|
}
|
|
}
|
|
|
|
if (StringUtil.isNotEmpty(vo.getArticleTitle())) {
|
|
|
|
param.append(" and ArticleTitle like '%"+vo.getArticleTitle()+"%' ");
|
|
|
|
}
|
|
if (StringUtil.isNotEmpty(vo.getStartTime())) {
|
|
if (StringUtil.isNotEmpty(vo.getStartTime())) {
|
|
param.append(" and m.InsertTime >= ? ");
|
|
param.append(" and m.InsertTime >= ? ");
|
|
sql.addParamValue(vo.getStartTime());
|
|
sql.addParamValue(vo.getStartTime());
|
|
@ -669,45 +724,16 @@ public class ArticleDao {
|
|
param.append(" and IsAuthentication = ? ");
|
|
param.append(" and IsAuthentication = ? ");
|
|
sql.addParamValue(vo.getIsAuthentication().intValue());
|
|
sql.addParamValue(vo.getIsAuthentication().intValue());
|
|
}
|
|
}
|
|
if (StringUtil.isNotEmpty(vo.getOperatorRoleLevel())) {
|
|
|
|
param.append(" and OperatorRoleLevel >= ? ");
|
|
|
|
sql.addParamValue(vo.getOperatorRoleLevel());
|
|
|
|
}
|
|
|
|
if (StringUtil.isNotEmpty(vo.getArticleTitle())) {
|
|
|
|
param.append(" and ArticleTitle like '%"+vo.getArticleTitle()+"%' ");
|
|
|
|
}
|
|
|
|
if (StringUtil.isNotEmpty(vo.getOperatorId())) {
|
|
|
|
param.append(" and OperatorId ='"+vo.getOperatorId()+"' ");
|
|
|
|
}
|
|
|
|
if("1".equals(vo.getOperatorRoleLevel())){//省
|
|
|
|
param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,3)+"%' ");
|
|
|
|
}else if("2".equals(vo.getOperatorRoleLevel())){//市
|
|
|
|
param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,4)+"%' ");
|
|
|
|
}else if("3".equals(vo.getOperatorRoleLevel())){//区
|
|
|
|
param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,6)+"%' ");
|
|
|
|
}else if("4".equals(vo.getOperatorRoleLevel())){//社区、机构
|
|
|
|
param.append(" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ");
|
|
|
|
}
|
|
|
|
|
|
|
|
if(StringUtil.isNotEmpty(vo.getOperatorRoleLevel())){
|
|
|
|
param.append(" and UserScope <= ? ");
|
|
|
|
sql.addParamValue(Integer.valueOf(vo.getOperatorRoleLevel())-1);
|
|
|
|
}else{
|
|
|
|
sql.addParamValue(3);
|
|
|
|
}
|
|
|
|
if(StringUtil.isNotEmpty(vo.getRoleType())) {
|
|
|
|
param.append(" and RoleType = ? ");
|
|
|
|
sql.addParamValue(vo.getRoleType());
|
|
|
|
}
|
|
|
|
if(StringUtil.isNotEmpty(userCode)){
|
|
if(StringUtil.isNotEmpty(userCode)){
|
|
|
|
|
|
param2.append(" and a.UserId='"+userCode+"'");
|
|
param2.append(" and a.UserId='"+userCode+"'");
|
|
param.append(" or ( OperatorId='"+userCode+"' and UserScope=4 and RoleType = "+vo.getRoleType()+")");
|
|
|
|
}
|
|
}
|
|
pageParam.append(" limit ").append(start * pageSize + "," + pageSize);
|
|
pageParam.append(" limit ").append(start * pageSize + "," + pageSize);
|
|
sql.addVar("@Condition", param.toString());
|
|
sql.addVar("@Condition", param.toString());
|
|
sql.addVar("@Condition2", param2.toString());
|
|
sql.addVar("@Condition2", param2.toString());
|
|
sql.addVar("@PageParam", pageParam.toString());
|
|
sql.addVar("@PageParam", pageParam.toString());
|
|
|
|
log.info("queryArticleAPPList:"+sql.toString());
|
|
|
|
System.out.printf("queryArticleAPPList:"+sql.toString());
|
|
List<Article> list = DB.me().queryForBeanList(MyDatabaseEnum.JkEduDB, sql,Article.class);
|
|
List<Article> list = DB.me().queryForBeanList(MyDatabaseEnum.JkEduDB, sql,Article.class);
|
|
return list;
|
|
return list;
|
|
// Category temp = null;
|
|
// Category temp = null;
|