ソースを参照

健教文章修复尽自己查看的文章别人可以看到的bug

liuwenbin 7 年 前
コミット
b0d5ef5772

BIN
edu-article/JkEdu/WebRoot/WEB-INF/classes/com/yihu/jk/api/ArticleApiTest.class


BIN
edu-article/JkEdu/WebRoot/WEB-INF/classes/com/yihu/jk/dao/ArticleDao.class


+ 12 - 12
edu-article/JkEdu/src/com/yihu/jk/api/ArticleApiTest.java

@ -34,7 +34,7 @@ public class ArticleApiTest {
		// System.out.println(api.getCollectionArticalList(im));
		// System.out.println(api.getArticalById(im));
		saveBehavior();
		queryArticlePcList();
//		System.out.printf("350200".substring(0,3));
	}
@ -56,11 +56,10 @@ public class ArticleApiTest {
		ArticleApi api = new ArticleApi();
		InterfaceMessage im = new InterfaceMessage();
		JSONObject obj = new JSONObject();
		obj.put("firstLevelCategoryId","43");
//		obj.put("firstLevelCategoryId","43");
//		obj.put("articleId","0");
//		obj.put("isAuthentication","1");
//		obj.put("secondLevelCategoryId","74889da6-955e-4454-870f-4da37b466264");
//        obj.put("firstLevelCategoryName","健康文章");
//        obj.put("secondLevelCategoryName","孕检知识");
@ -69,22 +68,23 @@ public class ArticleApiTest {
//		obj.put("articlelevel","1");
//		obj.put("articleTitle","我是");
//		obj.put("userCode","0de7295862dd11e69faffa163e8aee56");
		obj.put("userCode","37745c2686f211e6b394fa163e424525");//ylp201703150222
		obj.put("isAuthentication","1");
		obj.put("currentUserRole","3502110100");
		obj.put("currentUserRoleLevel",4);//
		obj.put("page","1");
		obj.put("pageSize","10");
		obj.put("sEcho","1");
		obj.put("isMyArticle",false);
		obj.put("roleType",1);
		obj.put("currentUserRole","3502110400");
		obj.put("userCode","b7f68412638e11e69616fa163e424525");//ylp201703150222
		//obj.put("roleType",1);
		obj.put("isMyArticle",true);
		obj.put("page","0");
		obj.put("pageSize","3");
		obj.put("currentUserRoleLevel",4);//
		//obj.put("sEcho","1");
//		obj.put("articleTitle","健管师");
		im.setParam(obj.toString());
		initDB();
		try{
//			api.authenticationArticle(im);
			System.out.println(api.queryArticleAPPList(im));//initArticleStatistic
			System.out.println(api.queryArticlePcList(im));//initArticleStatistic
//W			api.initArticleStatistic();
		}catch(Exception e){
			e.printStackTrace();

+ 14 - 77
edu-article/JkEdu/src/com/yihu/jk/dao/ArticleDao.java

@ -552,16 +552,11 @@ public class ArticleDao {
		StringBuffer param2 = new StringBuffer();
		StringBuffer pageParam = new StringBuffer();
		StringBuffer param3 = 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(StringUtil.isNotEmpty(vo.getOperatorRoleLevel())){
			int roleLevel = Integer.valueOf(vo.getOperatorRoleLevel())-1;
			String temp = "";
@ -569,40 +564,29 @@ public class ArticleDao {
				switch(i){
					case 1:{
						temp+=" or (UserScope = 1 and OperatorRoleCode like '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)):vo.getOperatorRoleCode())+"%')";
//						temp+=" or (UserScope = 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)):vo.getOperatorRoleCode())+"')";
//						temp+=" or (UserScope = 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode()):vo.getOperatorRoleCode())+"')";
						break;}
					case 2:{
						temp+=" or (UserScope = 2 and OperatorRoleCode like '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)):vo.getOperatorRoleCode())+"%')";
//						temp+=" or (UserScope = 2 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode()):vo.getOperatorRoleCode())+"')";
						break;}
					case 3:{temp+=" or (UserScope = 3 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode()):vo.getOperatorRoleCode())+"')";break;}
				}
			}
			param3.append(temp.substring(3));
//			if(!StringUtils.isEmpty(temp)){
//				param3.append(temp.substring(3));
//				param3.append("  or (UserScope = ? and OperatorRoleCode =?) ");
//			}else{
//				param3.append("  (UserScope = ? and OperatorRoleCode =?) ");
//			}
//			sql.addParamValue(Integer.valueOf(vo.getOperatorRoleLevel())-1);
//			sql.addParamValue(vo.getOperatorRoleCode());
		}
		param3.append(" or  ( OperatorId='"+userCode+"' and UserScope=4 "+(vo.getRoleType()!=null?" and RoleType = "+vo.getRoleType().intValue():"")+" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"')");
		if("1".equals(vo.getOperatorRoleLevel())){//省
//			param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,3)+"%' ");
		}else if("2".equals(vo.getOperatorRoleLevel())){//市
			param3.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 1 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000"):vo.getOperatorRoleCode())+"') ");
		}else if("3".equals(vo.getOperatorRoleLevel())){//区
			param3.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 1 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000"):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00"):vo.getOperatorRoleCode())+"') ");
		}else if("4".equals(vo.getOperatorRoleLevel())){//社区、机构
			param3.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 3 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)+" "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 1 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000"):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00"):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 3 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)+""):vo.getOperatorRoleCode())+"') ");
		}
		param3.append(" or (OperatorRoleLevel= "+vo.getOperatorRoleLevel()+" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ) ");
		param3.append(" or (OperatorRoleLevel= "+vo.getOperatorRoleLevel()+" and UserScope != 4 and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ) ");
		param.append("and ("+param3.toString()+")");
		if(isMyArticle&&vo.getRoleType()!=null) {
@ -640,30 +624,11 @@ public class ArticleDao {
        if(StringUtil.isNotEmpty(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);
		sql.addVar("@Condition", param.toString());
		sql.addVar("@Condition2", param2.toString());
		sql.addVar("@PageParam", "");
//		List<Article> list = DB.me().queryForBeanList(MyDatabaseEnum.JkEduDB, sql,Article.class);
//		Category temp = null;
//		for(Article one:list){
//
//			temp = new Category();
//			temp.setCategoryLevel(1);
//			temp.setFirstlevelId(one.getFirstLevelCategoryId());
//			temp.setSecondLevelId(null);
//			com.common.json.JSONObject result = dao.getCategoryList( temp, 0, 1000);
//			one.setFirstLevelCategoryName(result.get("CategoryName")+"");
//			temp = new Category();
//			temp.setCategoryLevel(2);
//			temp.setFirstlevelId(null);
//			temp.setSecondLevelId(one.getSecondLevelCategoryId());
//			result = dao.getCategoryList( temp, 0, 1000);
//			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);
@ -698,40 +663,29 @@ public class ArticleDao {
				switch(i){
					case 1:{
						temp+=" or (UserScope = 1 and OperatorRoleCode like '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)):vo.getOperatorRoleCode())+"%')";
//						temp+=" or (UserScope = 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)):vo.getOperatorRoleCode())+"')";
//						temp+=" or (UserScope = 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode()):vo.getOperatorRoleCode())+"')";
						break;}
					case 2:{
						temp+=" or (UserScope = 2 and OperatorRoleCode like '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)):vo.getOperatorRoleCode())+"%')";
//						temp+=" or (UserScope = 2 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode()):vo.getOperatorRoleCode())+"')";
						break;}
					case 3:{temp+=" or (UserScope = 3 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode()):vo.getOperatorRoleCode())+"')";break;}
				}
			}
			param3.append(temp.substring(3));
//			if(!StringUtils.isEmpty(temp)){
//				param3.append(temp.substring(3));
//				param3.append("  or (UserScope = ? and OperatorRoleCode =?) ");
//			}else{
//				param3.append("  (UserScope = ? and OperatorRoleCode =?) ");
//			}
//			sql.addParamValue(Integer.valueOf(vo.getOperatorRoleLevel())-1);
//			sql.addParamValue(vo.getOperatorRoleCode());
		}
		param3.append(" or  ( OperatorId='"+userCode+"' and UserScope=4 "+(vo.getRoleType()!=null?" and RoleType = "+vo.getRoleType().intValue():"")+" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"')");
		if("1".equals(vo.getOperatorRoleLevel())){//省
//			param.append(" and OperatorRoleCode like '"+vo.getOperatorRoleCode().substring(0,3)+"%' ");
		}else if("2".equals(vo.getOperatorRoleLevel())){//市
			param3.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 1 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000"):vo.getOperatorRoleCode())+"') ");
		}else if("3".equals(vo.getOperatorRoleLevel())){//区
			param3.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 1 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000"):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00"):vo.getOperatorRoleCode())+"') ");
		}else if("4".equals(vo.getOperatorRoleLevel())){//社区、机构
			param3.append(" or (OperatorRoleLevel= 1 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00 "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 3 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)+" "):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 1 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,2)+"0000"):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 2 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,4)+"00"):vo.getOperatorRoleCode())+"') ");
			param3.append(" or (OperatorRoleLevel= 3 and UserScope != 4 and OperatorRoleCode = '"+(vo.getOperatorRoleCode().length()<=10?(vo.getOperatorRoleCode().substring(0,6)+""):vo.getOperatorRoleCode())+"') ");
		}
		param3.append(" or (OperatorRoleLevel= "+vo.getOperatorRoleLevel()+" and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ) ");
		param3.append(" or (OperatorRoleLevel= "+vo.getOperatorRoleLevel()+" and UserScope != 4 and OperatorRoleCode = '"+vo.getOperatorRoleCode()+"' ) ");
		param.append("and ("+param3.toString()+")");
		if(isMyArticle&&vo.getRoleType()!=null) {
@ -778,23 +732,6 @@ public class ArticleDao {
//		System.out.printf("queryArticleAPPList:"+sql.toString());
		List<Article> list = DB.me().queryForBeanList(MyDatabaseEnum.JkEduDB, sql,Article.class);
		return list;
//		Category temp = null;
//		for(Article one:list){
//
//			temp = new Category();
//			temp.setCategoryLevel(1);
//			temp.setFirstlevelId(one.getFirstLevelCategoryId());
//			temp.setSecondLevelId(null);
//			com.common.json.JSONObject result = dao.getCategoryList( temp, 0, 1000);
//			one.setFirstLevelCategoryName(result.get("CategoryName")+"");
//			temp = new Category();
//			temp.setCategoryLevel(2);
//			temp.setFirstlevelId(null);
//			temp.setSecondLevelId(one.getSecondLevelCategoryId());
//			result = dao.getCategoryList( temp, 0, 1000);
//			one.setSecondLevelCategoryName(result.get("CategoryName")+"");
//		}
//		return DB.me().queryForJson(MyDatabaseEnum.JkEduDB, sql, start, pageSize);
	}
	/**