package cn.com.usky.iot.admin.service; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import cn.com.usky.iot.entity.YtiotTAdmin; import cn.com.usky.iot.entity.YtiotTAdminVer; import cn.com.usky.iot.admin.dao.YtiotTAdminDao; import cn.com.usky.iot.admin.dao.YtiotTAdminVerDao; import cn.com.usky.utils.DaoResult; import cn.com.usky.utils.LoginResult; import cn.com.usky.utils.MD5Util; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import sun.misc.BASE64Encoder; public class YtiotTAdminServicesImpl implements YtiotTAdminService { private YtiotTAdminDao ytiotTAdminDao; private YtiotTAdminVerDao ytiotTAdminVerDao; public YtiotTAdminDao getYtiotTAdminDao() { return ytiotTAdminDao; } public void setYtiotTAdminDao(YtiotTAdminDao ytiotTAdminDao) { this.ytiotTAdminDao = ytiotTAdminDao; } public YtiotTAdminVerDao getYtiotTAdminVerDao() { return ytiotTAdminVerDao; } public void setYtiotTAdminVerDao(YtiotTAdminVerDao ytiotTAdminVerDao) { this.ytiotTAdminVerDao = ytiotTAdminVerDao; } public boolean chk_string_param(String param) { if(param==null) return true; if(param.indexOf("=")>=0) return false; if(param.indexOf("\'")>=0) return false; if(param.indexOf("\"")>=0) return false; return true; } public String chkhw(String hqlwhere){ if(hqlwhere==null) return " where "; else return hqlwhere+" and "; } public String fieldname(String field){ if(field.equals("UQ_ADMIN_ID")) return "uqAdminId"; if(field.equals("V_ADMIN_NAME")) return "VAdminName"; if(field.equals("V_LOGINNAME")) return "VLoginname"; if(field.equals("V_PASSWORD")) return "VPassword"; if(field.equals("I_VERSION")) return "IVersion"; if(field.equals("D_STORETIME")) return "DStoretime"; if(field.equals("UQ_PERMISSIONGROUP_ID")) return "uqPermissiongroupId"; if(field.equals("I_ORDER_IDX")) return "IOrderIdx"; if(field.equals("E_STATUS")) return "EStatus"; if(field.equals("UQ_EDITOR_ID")) return "uqEditorId"; if(field.equals("I_ADMINVER_ID")) return "IAdminverId"; if(field.equals("T_COMMIT")) return "TCommit"; return null; } @Override public String appendAdmin(String queryJson) throws Exception { // TODO Auto-generated method stub String UQ_ADMIN_ID = null; String V_ADMIN_NAME = null; String V_LOGINNAME = null; String V_PASSWORD = null; String UQ_PERMISSIONGROUP_ID = null; String T_COMMIT = null; String V_EDITOR_ID = null; String E_STATUS = "0"; JSONObject q_json = null; JSONArray jSONArray = new JSONArray(); JSONObject json = new JSONObject(); json.put("action", "appendAdmin"); if(queryJson!=null) { q_json = JSONObject.fromObject(queryJson); V_ADMIN_NAME = q_json.has("V_ADMIN_NAME")?q_json.getString("V_ADMIN_NAME"):null; V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null; V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null; V_EDITOR_ID = q_json.has("V_EDITOR_ID")?q_json.getString("V_EDITOR_ID"):null; T_COMMIT = q_json.has("T_COMMIT")?q_json.getString("T_COMMIT"):""; UQ_PERMISSIONGROUP_ID = q_json.has("UQ_PERMISSIONGROUP_ID")?q_json.getString("UQ_PERMISSIONGROUP_ID"):""; E_STATUS = q_json.has("E_STATUS")?q_json.getString("E_STATUS").toUpperCase():"0"; json.put("query", queryJson); } if(chk_string_param(V_ADMIN_NAME)&&chk_string_param(V_LOGINNAME)&&chk_string_param(T_COMMIT) &&chk_string_param(V_PASSWORD)&&chk_string_param(V_EDITOR_ID) &&chk_string_param(E_STATUS)) { YtiotTAdmin o = new YtiotTAdmin(); o.setVAdminName(V_ADMIN_NAME); o.setVLoginname(V_LOGINNAME); o.setVPassword(V_PASSWORD); o.setVEditorId(V_EDITOR_ID); o.setEStatus(E_STATUS); o.setUqPermissiongroupId(UQ_PERMISSIONGROUP_ID); o.setDStoretime(new Date()); DaoResult ret = ytiotTAdminDao.add(o,T_COMMIT); json.put("success", ret.isSuccess()); json.put("Msg", ret.getResult()); }else { json.put("success", false); json.put("Msg", "参数验证错误"); } return json.toString(); } @Override public String updateAdmin(String queryJson) throws Exception { // TODO Auto-generated method stub String UQ_ADMIN_ID = null; String V_ADMIN_NAME = null; String V_LOGINNAME = null; String V_PASSWORD = null; String V_EDITOR_ID = null; String UQ_PERMISSIONGROUP_ID = null; String T_COMMIT = null; String E_STATUS = null; JSONObject q_json = null; JSONArray jSONArray = new JSONArray(); JSONObject json = new JSONObject(); json.put("action", "updateAdmin"); if(queryJson!=null) { q_json = JSONObject.fromObject(queryJson); UQ_ADMIN_ID = q_json.has("UQ_ADMIN_ID")?q_json.getString("UQ_ADMIN_ID"):null; V_ADMIN_NAME = q_json.has("V_ADMIN_NAME")?q_json.getString("V_ADMIN_NAME"):null; V_LOGINNAME = q_json.has("V_LOGINNAME")?q_json.getString("V_LOGINNAME"):null; V_PASSWORD = q_json.has("V_PASSWORD")?q_json.getString("V_PASSWORD"):null; V_EDITOR_ID = q_json.has("V_EDITOR_ID")?q_json.getString("V_EDITOR_ID"):null; T_COMMIT = q_json.has("T_COMMIT")?q_json.getString("T_COMMIT"):""; UQ_PERMISSIONGROUP_ID = q_json.has("UQ_PERMISSIONGROUP_ID")?q_json.getString("UQ_PERMISSIONGROUP_ID"):""; E_STATUS = q_json.has("E_STATUS")?q_json.getString("E_STATUS").toUpperCase():null; json.put("query", queryJson); } if(chk_string_param(UQ_ADMIN_ID)&&chk_string_param(V_EDITOR_ID)&&chk_string_param(V_ADMIN_NAME)&&chk_string_param(V_LOGINNAME)&&chk_string_param(T_COMMIT) &&chk_string_param(V_PASSWORD)&&chk_string_param(UQ_PERMISSIONGROUP_ID) &&chk_string_param(E_STATUS)) { if(UQ_ADMIN_ID!=null) { List list = ytiotTAdminDao.query(" where u."+fieldname("UQ_ADMIN_ID")+" ='"+UQ_ADMIN_ID+"' ", null, null, null, null); if(list.size()>0) { YtiotTAdmin o = (YtiotTAdmin) list.get(0); if(V_ADMIN_NAME!=null) o.setVAdminName(V_ADMIN_NAME); if(V_LOGINNAME!=null) o.setVLoginname(V_LOGINNAME); if(V_PASSWORD!=null) o.setVPassword(V_PASSWORD); if(V_EDITOR_ID!=null) o.setVEditorId(V_EDITOR_ID); o.setUqPermissiongroupId(UQ_PERMISSIONGROUP_ID); o.setEStatus(E_STATUS); DaoResult ret = ytiotTAdminDao.update(o, T_COMMIT); json.put("success", ret.isSuccess()); json.put("MSG", ret.getResult()); }else { json.put("success", false); json.put("MSG", "需要编辑的用户记录不存在"); } }else { json.put("success", false); json.put("MSG", "权限ID不能为空"); } }else { json.put("success", false); json.put("MSG", "参数验证错误"); } return json.toString(); } @Override public String deleteAdmin(String queryJson) throws Exception { // TODO Auto-generated method stub String UQ_ADMIN_ID = null; String V_ADMIN_NAME = null; String V_LOGINNAME = null; String V_PASSWORD = null; String V_EDITOR_ID = null; String UQ_PERMISSIONGROUP_ID = null; String T_COMMIT = null; String E_STATUS = null; JSONObject q_json = null; JSONArray jSONArray = new JSONArray(); JSONArray jsonAdminList = new JSONArray(); JSONObject json = new JSONObject(); json.put("action", "deleteAdmin"); if(queryJson!=null) { q_json = JSONObject.fromObject(queryJson); if(q_json.has("ADMIN_LIST")) { jsonAdminList = q_json.getJSONArray("ADMIN_LIST"); for(int i=0;i0) { for(int j=0;j0)) { JSONObject s_json = Sort.getJSONObject(0); order = s_json.has("property")?s_json.getString("property"):order; dir = s_json.has("direction")?s_json.getString("direction"):dir; } json.put("sort", sort); } Start = start; Limit = limit; Page = page; if(UQ_ADMIN_ID!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("UQ_ADMIN_ID")+"='"+UQ_ADMIN_ID+"'"; if(V_ADMIN_NAME!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_ADMIN_NAME")+" like '%"+V_ADMIN_NAME+"%'"; if(V_LOGINNAME!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_LOGINNAME")+" like '%"+V_LOGINNAME+"%'"; if(V_PASSWORD!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_PASSWORD")+" like '%"+V_PASSWORD+"%'"; if(V_EDITOR_ID!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_EDITOR_ID")+"='"+V_EDITOR_ID+"'"; if(UQ_PERMISSIONGROUP_ID!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("UQ_PERMISSIONGROUP_ID")+"="+UQ_PERMISSIONGROUP_ID; if(E_STATUS!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("E_STATUS")+"="+E_STATUS; if(order!=null) order_str = " order by u."+fieldname(order); else order_str = " order by u."+fieldname("I_ORDER_IDX"); int totalCount = ytiotTAdminDao.getCount(hqlwhere); json.put("totalCount", totalCount); if(Start!=null){ if(Integer.parseInt(Start)>totalCount){ Start = "0"; Page = "0"; }else if(page==null) Page="0"; }else{ Start = "0"; Page = "0"; } json.put("page", Page); json.put("start", Start); json.put("limit", Limit); if(totalCount>0) { List list = ytiotTAdminDao.query(hqlwhere, order_str, dir, Start, Limit); if(list.size()>0) { for(int i=0;i0)) { JSONObject s_json = Sort.getJSONObject(0); order = s_json.has("property")?s_json.getString("property"):order; dir = s_json.has("direction")?s_json.getString("direction"):dir; } json.put("sort", sort); } Start = start; Limit = limit; Page = page; if(I_ADMINVER_ID!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("I_ADMINVER_ID")+"='"+I_ADMINVER_ID+"'"; if(UQ_ADMIN_ID!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("UQ_ADMIN_ID")+"='"+UQ_ADMIN_ID+"'"; if(I_VERSION!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("I_VERSION")+"="+I_VERSION+""; if(V_ADMIN_NAME!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_ADMIN_NAME")+" like '%"+V_ADMIN_NAME+"%'"; if(V_LOGINNAME!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_LOGINNAME")+"='"+V_LOGINNAME+"'"; if(V_PASSWORD!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("V_PASSWORD")+" like '%"+V_PASSWORD+"%'"; if(UQ_EDITOR_ID!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("UQ_EDITOR_ID")+"='"+UQ_EDITOR_ID+"'"; if(E_STATUS!=null) hqlwhere = chkhw(hqlwhere) + "u."+fieldname("E_STATUS")+"='"+E_STATUS+"'"; if(order!=null) order_str = " order by u."+fieldname(order); else order_str = " order by u."+fieldname("I_ADMINVER_ID"); int totalCount = ytiotTAdminVerDao.getCount(hqlwhere); json.put("totalCount", totalCount); if(Start!=null){ if(Integer.parseInt(Start)>totalCount){ Start = "0"; Page = "0"; }else if(page==null) Page="0"; }else{ Start = "0"; Page = "0"; } json.put("page", Page); json.put("start", Start); json.put("limit", Limit); if(totalCount>0) { List list = ytiotTAdminVerDao.query(hqlwhere, order_str, dir, Start, Limit); if(list.size()>0) { for(int i=0;i0) { List list = ytiotTAdminVerDao.query(hqlwhere, null, null, null, null); if(list.size()>0) { for(int i=0;i