package com.dsideal.base.Res.Model; import com.jfinal.kit.Kv; import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.SqlPara; import com.jfinal.plugin.activerecord.Record; import java.util.ArrayList; import java.util.List; public class ResourceModel { //云南省 public final String YUNNAN = "530000"; /** * 功能:获取行政区划code * * @param area_id * @return */ public String getAreaCode(String area_id) { String sql = "select * from t_dm_area where id=?"; return Db.findFirst(sql, area_id).getStr("area_code"); } /** * 功能:获取当前用户的行政区划 * * @param identity_id * @param person_id * @return */ public String getAreaCode(int identity_id, String person_id) { String area_code = ""; //省管理员,直接返回云南省的code if (identity_id == 1) area_code = YUNNAN; //如果是市州用户,直接返回市州用户的行政区划 String sql = "select * from t_sys_loginperson where person_id=?"; Record record = Db.findFirst(sql, person_id); if (identity_id == 2) { String city_id = record.getStr("city_id"); area_code = getAreaCode(city_id); } if (identity_id == 3) { String area_id = record.getStr("area_id"); area_code = getAreaCode(area_id); } return area_code; } /** * 功能:获取知识库分页数据 * * @param page * @param limit */ public Page getZskPage(String person_id, int type_id, String keyword, String area_code, int page, int limit) { List idList = new ArrayList<>(); //1、如果是云南省:查看所有自己发布的文档,不管是省,市,县,都能看到全省的文档 idList.add(YUNNAN); //如果是省管理员 if (area_code.equals(YUNNAN)) { //什么也不做 } //2、如果是市州,查看省发布的+自己本市州发布的文档,市州的判断条件是6位的area_code,最后两位是00 else if (area_code.substring(area_code.length() - 2, area_code.length()).equals("00")) { idList.add(area_code);//只添加市 } else { //县区管理员 idList.add(area_code.substring(0, 4) + "00");//市 idList.add(area_code);//县区 } Kv kv = new Kv(); kv.set("type_id", type_id); kv.set("idList", idList); if (!StrKit.isBlank(keyword)) { kv.set("keyword", keyword); } SqlPara sqlPara = Db.getSqlPara("Resource.getZskPage", kv); Page records = Db.paginate(page, limit, sqlPara); for (Record record : records.getList()) { String database_person_id = record.getStr("person_id"); record.set("can_del", database_person_id.equals(person_id)); } return records; } /** * 功能:删除知识库文档 * * @param id */ public void delZskDocument(int id) { String sql = "delete from t_zsk_files where id=?"; Db.update(sql, id); } /** * 功能:上传知识库文档 * * @param name * @param file_name * @param type_id * @param identity_id * @param area_code */ public void uploadZskDocument(String name, String file_name, int type_id, int identity_id, String area_code, String person_id) { Record record = new Record(); record.set("name", name); record.set("file_name", file_name); record.set("type_id", type_id); record.set("identity_id", identity_id); record.set("area_code", area_code); record.set("person_id", person_id); Db.save("t_zsk_files", "id", record); } /** * 功能:获取知识库文档 * @param id * @return */ public Record getZskDocument(int id){ String sql = "select * from t_zsk_files where id=?"; return Db.findFirst(sql, id); } }