package openapi.restcontroller.wechatapp.tnotice; import net.sf.json.JSONObject; import openapi.base.Controller; import openapi.base.SQLFactory; import openapi.base.data.Row; import openapi.base.data.Rows; import openapi.base.data.RowsMap; import openapi.base.data.db.DBConnect; import java.util.Arrays; public class Tnotice extends Controller { public Tnotice(JSONObject content) { super(content); } public String query() { /** * 创建数据库连接 */ DBConnect drpConnect = new DBConnect(); /** *排序条件设置 */ String[] sortmsg = {"t1.useddate"}; String sort = "t1.useddate desc"; if (content.containsKey("sort") && Arrays.asList(sortmsg).contains(content.getString("sort"))) { sort = content.getString("sort"); } /** * SQL公告查询参数设置并查询 */ SQLFactory factory = new SQLFactory(this, "公告查询", pageSize, pageNumber, sort); factory.addParameter("hrid", hrid); factory.addParameter("siteid", siteid); if (getUserType().equals("经销商主账号")) { factory.addParameter_SQL("fsendto", "'所有经销商主账号','所有经销商账号'"); } else if (getUserType().equals("经销商辅助账号")) { factory.addParameter_SQL("fsendto", "'所有经销商账号'"); } else { factory.addParameter_SQL("fsendto", "'所有非经销商账号'"); } Rows rows = drpConnect.runSqlQuery(factory.getSQL()); if (rows.isEmpty()) { return getReturnObject_suc_page(rows, true, 0, sortmsg).toString(); } /** * 获取公告id批查条件 */ String idwhere = rows.getInWhere("tnoticeid"); /** *公告附件查询参数设置,并将结果存放置map */ SQLFactory docinfofactory = new SQLFactory(this, "公告附件查询"); docinfofactory.addParameter_SQL("tnoticeid", idwhere); docinfofactory.addParameter("siteid", siteid); RowsMap docinfomap = drpConnect.runSqlQuery(docinfofactory.getSQL()).toRowsMap("tnoticeid"); /** *公告图片查询参数设置,并将结果存放置map */ SQLFactory picfactory = new SQLFactory(this, "公告图片查询"); picfactory.addParameter_SQL("tnoticeid", idwhere); picfactory.addParameter("siteid", siteid); RowsMap picmap = drpConnect.runSqlQuery(picfactory.getSQL()).toRowsMap("tnoticeid"); /** * 遍历公告,设置公告附件、公告图片 */ for (Row row : rows) { String tnoticeid = row.getString("tnoticeid"); row.put("docinfos", docinfomap.get(tnoticeid)); row.put("pics", picmap.get(tnoticeid)); } return getReturnObject_suc_page(rows, true, 0, sortmsg).toString(); } }