|
|
@@ -0,0 +1,355 @@
|
|
|
+package com.shkpr.service.warncore.dbdao.services;
|
|
|
+
|
|
|
+import com.global.base.log.LogLevelFlag;
|
|
|
+import com.global.base.log.LogPrintMgr;
|
|
|
+import com.shkpr.service.warncore.commtools.CommTool;
|
|
|
+import com.shkpr.service.warncore.constants.LogFlagBusiType;
|
|
|
+import com.shkpr.service.warncore.dbdao.mapper.UserMapper;
|
|
|
+import com.shkpr.service.warncore.dbdao.services.intef.UserDBService;
|
|
|
+import com.shkpr.service.warncore.dbdao.tables.UserTable;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class UserDBServiceImpl implements UserDBService, UserTable {
|
|
|
+ private String mStrClassName = "";
|
|
|
+ public UserDBServiceImpl() {
|
|
|
+ mStrClassName = this.getClass().getSimpleName();
|
|
|
+ }
|
|
|
+
|
|
|
+ @SuppressWarnings("all")
|
|
|
+ @Autowired
|
|
|
+ UserMapper userMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> listAllWiths(int limit
|
|
|
+ , int offset
|
|
|
+ , Map<String, Object> andWheres
|
|
|
+ , Map<String, Object> orWheres
|
|
|
+ , String orderBy
|
|
|
+ , String extend) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ List<Map<String, Object>> arrRes = null;
|
|
|
+ try {
|
|
|
+ arrRes = userMapper.listAllWiths(limit, offset, andWheres, orWheres, orderBy, extend);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("List All User(limit=%d, offset=%d, orderBy=%s, extend=%s, back.size=%d) from database, code:{%d} msg:{%s} ..."
|
|
|
+ , limit, offset
|
|
|
+ , orderBy ,extend
|
|
|
+ , CommTool.listSize(arrRes)
|
|
|
+ , nCode, strMsg));
|
|
|
+ }
|
|
|
+ return arrRes;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> getOne(Object id) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.getOne((String)id, "");
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ return null;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Get User:{%s} from database, code:{%d} msg:{%s} ...", String.valueOf(id), nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int delete(Object id) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> userLogin(String account, String password) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.userLogin(account, password);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ return null;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Get User:{%s} from database for Login, code:{%d} msg:{%s} ...", account, nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> batchQueryIn(List<? extends Object> ids, String orderBy, String extend) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ List<Map<String, Object>> arrRes = null;
|
|
|
+ try {
|
|
|
+ arrRes = userMapper.batchQueryIn(ids, orderBy, extend);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Batch Query Users:{ids.size=%d, orderBy=%s, extend=%s, back.size=%d} from database, code:{%d} msg:{%s} ..."
|
|
|
+ , CommTool.listSize(ids)
|
|
|
+ , orderBy, extend
|
|
|
+ , CommTool.listSize(arrRes)
|
|
|
+ , nCode, strMsg));
|
|
|
+ }
|
|
|
+ return arrRes;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> batchQueryWiths(Map<String, Object> andWheres
|
|
|
+ , Map<String, Object> orWheres
|
|
|
+ , String orderBy
|
|
|
+ , String extend) {
|
|
|
+ return batchQueryWithsEx("", "", andWheres, orWheres, orderBy, extend);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int totalCountsEx(Map<String, Object> andWheres, Map<String, Object> orWheres, String extend) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.totalCounts(andWheres, orWheres, extend);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ return 0;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Total Users lines from database, code:{%d} msg:{%s} ...", nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int totalCounts(Map<String, Object> andWheres, Map<String, Object> orWheres) {
|
|
|
+ return totalCountsEx(andWheres, orWheres, "");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int insertByMap(Map<String, Object> maps) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.inserts(maps);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ return -1;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Insert New User to database, code:{%d} msg:{%s} ...", nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param datas
|
|
|
+ * @param andWheres
|
|
|
+ * @return 注:针对mysql配合连接参数useAffectedRows=false,使得返回匹配到的行数
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int updateWiths(Map<String, Object> datas, Map<String, Object> andWheres) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.updateWiths(datas, andWheres, null, "");
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ //e.printStackTrace();
|
|
|
+ return -1;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Update User to database, code:{%d} msg:{%s} ...", nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int batchDeleteIn(List<? extends Object> ids, String extend) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.batchDeleteIn(ids, extend);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ //e.printStackTrace();
|
|
|
+ return -1;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Batch Delete Users:{lines=%d} from database, code:{%d} msg:{%s} ...", CommTool.listSize(ids), nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> listAllMemInSameDpt(String userId, String roleId) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ List<Map<String, Object>> arrRes = null;
|
|
|
+ try {
|
|
|
+ arrRes = userMapper.listAllMemInSameDpt(userId, roleId);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("List All Users In Some Department:{userId=%s, roleId=%s} from database, code:{%d} msg:{%s} ..."
|
|
|
+ , userId
|
|
|
+ , roleId
|
|
|
+ , nCode, strMsg));
|
|
|
+ }
|
|
|
+ return arrRes;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int existsLine(Map<String, Object> andWheres, Map<String, Object> orWheres, String extend) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return (userMapper.existLine(UserTable.W_INFO.TABLE, andWheres, orWheres, extend)?1:0);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ return -1;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Exists The User Line from database, code:{%d} msg:{%s} ...", nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> batchQueryWithsEx(String table, String field, Map<String, Object> andWheres, Map<String, Object> orWheres, String orderBy, String extend) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ List<Map<String, Object>> arrRes = null;
|
|
|
+ try {
|
|
|
+ arrRes = userMapper.batchQueryWiths(table, field, andWheres, orWheres, orderBy, extend);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Batch Query Users:{andWhere.size=%d, orWhere.size=%d, orderBy=%s, extend=%s, back.size=%d} from database, code:{%d} msg:{%s} ..."
|
|
|
+ , CommTool.mapSize(andWheres)
|
|
|
+ , CommTool.mapSize(orWheres)
|
|
|
+ , orderBy, extend
|
|
|
+ , CommTool.listSize(arrRes)
|
|
|
+ , nCode, strMsg));
|
|
|
+ }
|
|
|
+ return arrRes;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int batchUpdateWith(List<Map<String, Object>> andWheres, List<Map<String, Object>> datas) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.batchUpdateWiths(andWheres, datas);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ //e.printStackTrace();
|
|
|
+ return -1;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Batch Update User Info Lines:{lines=%d} to database, code:{%d} msg:{%s} ...", CommTool.listSize(datas), nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ final List<Map<String, Object>> powerGroup1 = new ArrayList<Map<String, Object>>(){{
|
|
|
+ add(new HashMap<String, Object>(){{
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.KEY, "status");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.LINK, "");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.METHOD, "in");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.DATA, new ArrayList<Integer>(){{add(1);add(0);}});
|
|
|
+ }});
|
|
|
+ add(new HashMap<String, Object>(){{
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.KEY, "org");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.LINK, "and");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.METHOD, "=");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.DATA, "group");
|
|
|
+ }});
|
|
|
+ }};
|
|
|
+
|
|
|
+ final List<Map<String, Object>> powerGroup2 = new ArrayList<Map<String, Object>>(){{
|
|
|
+ add(new HashMap<String, Object>(){{
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.KEY, "real_name");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.LINK, "");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.METHOD, "like");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.DATA, "%测试%");
|
|
|
+ }});
|
|
|
+ add(new HashMap<String, Object>(){{
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.KEY, "account");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.LINK, "or");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.METHOD, "like");
|
|
|
+ put(BaseSqlCondition.SQL_ITEM.DATA, "%test%");
|
|
|
+ }});
|
|
|
+ }};
|
|
|
+ //等同于:select count(*) from k2_user_info where 1=1
|
|
|
+ and (status in (0,1) and org = 'group')
|
|
|
+ and (real_name like '%测试%' or account like '%test%');
|
|
|
+ int line = DBMgrProxy.getInstance().applyUserApi().totalCountsPower(null, null,
|
|
|
+ new HashMap<String, List<Map<String, Object>>>(){{
|
|
|
+ put("g1", powerGroup1);
|
|
|
+ put("g2", powerGroup2);}}, "");
|
|
|
+ * @param andWheres
|
|
|
+ * @param orWheres
|
|
|
+ * @param group2Power
|
|
|
+ * @param extend
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int totalCountsPower(Map<String, Object> andWheres, Map<String, Object> orWheres, Map<String, List<Map<String, Object>>> group2Power, String extend) {
|
|
|
+ int nCode = 0;
|
|
|
+ String strMsg = "Success";
|
|
|
+ try {
|
|
|
+ return userMapper.totalCountsPower(andWheres, orWheres, group2Power, extend);
|
|
|
+ }catch (Exception e){
|
|
|
+ nCode = LogLevelFlag.LOG_ERROR.ordinal();
|
|
|
+ strMsg = e.getLocalizedMessage();
|
|
|
+ return 0;
|
|
|
+ }finally {
|
|
|
+ LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
|
|
|
+ , LogFlagBusiType.BUSI_DB_USER.toStrValue()
|
|
|
+ , mStrClassName
|
|
|
+ , String.format("Total Users lines By Power from database, code:{%d} msg:{%s} ...", nCode, strMsg));
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|