From cbab41cce69c63495d97a40fe6f496c18af7e1a7 Mon Sep 17 00:00:00 2001 From: 杜洪波 <1074825718@qq.com> Date: 星期二, 16 七月 2024 14:00:54 +0800 Subject: [PATCH] Merge branch 'master' of http://nonxin.cn:8090/r/product/product-server-administration/V2.0.0 --- src/main/java/com/product/administration/service/EarlyWarningServer.java | 423 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 247 insertions(+), 176 deletions(-) diff --git a/src/main/java/com/product/administration/service/EarlyWarningServer.java b/src/main/java/com/product/administration/service/EarlyWarningServer.java index ccb9864..66724fb 100644 --- a/src/main/java/com/product/administration/service/EarlyWarningServer.java +++ b/src/main/java/com/product/administration/service/EarlyWarningServer.java @@ -3,10 +3,14 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.cron.CronUtil; import com.google.common.collect.Sets; import com.product.administration.config.SystemCode; import com.product.common.collect.SetUtils; +import com.product.quartz.util.CronUtils; import com.product.util.SystemParamReplace; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,10 +34,10 @@ @Autowired BaseDao baseDao; - + @Autowired FlowService flowService; - + public BaseDao getBaseDao() { return baseDao; @@ -60,6 +64,7 @@ /** * 棰勮-缁欏畾uuid鍗曚釜棰勮锛岄�氬父涓哄畾鏃朵换鍔¤Е鍙� + * * @param uuid */ public void triggerSingleWarningTask(String uuid) { @@ -76,6 +81,7 @@ /** * 鍗曚釜棰勮 + * * @param fseWarningConfig */ private void singleWarningTask(FieldSetEntity fseWarningConfig) { @@ -95,6 +101,22 @@ String flowCode = fseWarningConfig.getString(CmnConst.FLOW_CODE); //娴佺▼type_code String flowParam = fseWarningConfig.getString(CmnConst.FLOW_PARAM); //娴佺▼鍙傛暟杞崲 + + //鑾峰彇鍙戦�佹秷鎭鐜� + Double cronExpression = fseWarningConfig.getDouble("reminder_frequency"); + + //鍙戦�佹秷鎭殑棰戠巼 1.23 灏忔暟鐐瑰墠闈唬琛ㄥぉ 灏忔暟鐐瑰悗闈唬琛ㄥ皬鏃� + double seconds = 0; + if (cronExpression != null && cronExpression > 0) { + + //灏嗗彂閫佹秷鎭鐜囪浆鎹负灏忔椂 + double hours = cronExpression * 24; + //灏嗗彂閫佹秷鎭鐜囪浆鎹负鍒嗛挓 + double minutes = hours * 60; + //灏嗗彂閫佹秷鎭鐜囪浆鎹负绉� + seconds = minutes * 60; + } + Map<String, String> tableNameAndAlias = new HashMap<>(); //鐩稿叧琛ㄥ悕-->琛ㄥ埆鍚�,tableName-->tableName1 Map<String, String> fieldAndAlias = new HashMap<>(); //鐩稿叧瀛楁-->瀛楁鍒悕,tableName.fieldName-->tableName1fieldName @@ -140,13 +162,53 @@ //鏌ヨ绗﹀悎棰勮鐨勬暟鎹� DataTableEntity dtService = baseDao.listTable(serviceSQL.toString(), new Object[]{}); if (!BaseUtil.dataTableIsEmpty(dtService)) { + List<String> collect = dtService.getData().stream().map(item -> item.getString(mainTableAlias + "uuid")).collect(Collectors.toList()); + //棰勮uuid + String warnUUID = fseWarningConfig.getUUID(); + //灏嗛璀uid鏀惧埌collect 鐨勭涓�涓� + + collect.add(0, warnUUID); + StringBuilder sql = new StringBuilder(); + //鏌ヨ鏄惁宸茬粡瀛樺湪棰勮濡傛湁鐩稿悓data_uuid鐨勬暟鎹煡璇㈠嚭鏈�杩戠殑涓�鏉℃牴鎹璀︽椂闂村瓧娈� early_warning_datetime +// SELECT e.* +// FROM product_sys_early_warning_info e +// JOIN ( +// SELECT data_uuid, MAX(early_warning_datetime) AS latest_datetime +// FROM product_sys_early_warning_info +// GROUP BY data_uuid +// ) AS latest +// ON e.data_uuid = latest.data_uuid AND e.early_warning_datetime = latest.latest_datetime; + sql.append("SELECT e.* FROM product_sys_early_warning_info e JOIN ("); + sql.append("SELECT data_uuid, MAX(early_warning_datetime) AS latest_datetime FROM product_sys_early_warning_info "); + sql.append(" where early_warning_uuid=? and (").append(BaseUtil.buildQuestionMarkFilter("data_uuid", collect.size(), true)).append(") "); + sql.append("GROUP BY data_uuid) AS latest ON e.data_uuid = latest.data_uuid AND e.early_warning_datetime = latest.latest_datetime"); + DataTableEntity dt = baseDao.listTable(sql.toString(), collect.toArray()); + + Map<String, FieldSetEntity> ff = new HashMap<>(); + if (!DataTableEntity.isEmpty(dt)) { + for (int j = 0; j < dt.getRows(); j++) { + FieldSetEntity fse = dt.getFieldSetEntity(j); + ff.put(fse.getString("data_uuid"), fse); + } + } + + //浠ata_uuid 杩涜鍒嗙粍 for (int j = 0; j < dtService.getRows(); j++) { FieldSetEntity fseService = dtService.getFieldSetEntity(j); //涓氬姟uuid String serviceId = fseService.getString(mainTableAlias + "uuid"); - //棰勮uuid - String warnUUID = fseWarningConfig.getUUID(); + + if (ff.containsKey(serviceId) && StringUtils.isEmpty(cronExpression)) { + //濡傛灉宸茬粡瀛樺湪棰勮淇℃伅 鏍规嵁cron琛ㄨ揪寮忓垽鏂槸鍚﹂渶瑕佸啀娆¢璀� + Date preTime = ff.get(serviceId).getDate("early_warning_datetime"); + if (preTime != null) { + long time = new Date().getTime() - preTime.getTime(); + if (time < seconds * 1000) { + continue; + } + } + } //淇℃伅鎺ユ敹浜� Set<String> receiverSet = Sets.newTreeSet(); @@ -241,20 +303,21 @@ } } } - - + + /** - * 鏍规嵁鎻愰啋鍐呭涓殑琛ㄥ睘鎬э紝杩涜鎷兼帴鎴愭爣鍑嗘牸寮� - * @param content 棰勮鍐呭 - * @param concatField 缁勫悎瀛楁 - * @param tableNameAndAlias 琛ㄥ悕鍙婂埆鍚� - * @param fieldAndAlias 瀛楁鍚嶅強鍒悕 - * @param fieldReference 瀛楁鍙婂弬鐓� + * 鏍规嵁鎻愰啋鍐呭涓殑琛ㄥ睘鎬э紝杩涜鎷兼帴鎴愭爣鍑嗘牸寮� + * + * @param content 棰勮鍐呭 + * @param concatField 缁勫悎瀛楁 + * @param tableNameAndAlias 琛ㄥ悕鍙婂埆鍚� + * @param fieldAndAlias 瀛楁鍚嶅強鍒悕 + * @param fieldReference 瀛楁鍙婂弬鐓� * @return */ - public Object[] parseWarningContent(String warnContent, StringBuilder concatField, Map<String, String> tableNameAndAlias, Map<String, String>fieldAndAlias, Map<String, String> fieldReference) { + public Object[] parseWarningContent(String warnContent, StringBuilder concatField, Map<String, String> tableNameAndAlias, Map<String, String> fieldAndAlias, Map<String, String> fieldReference) { int s = 0; - String tableAndField=null; + String tableAndField = null; while (s >= 0) { int c = warnContent.indexOf("{#", s); if (c == -1) { @@ -262,155 +325,158 @@ } int m = warnContent.indexOf("#}", c); s = c + 2; - + //琛ㄥ悕.瀛楁鍚� - tableAndField=warnContent.substring(s, m); - + tableAndField = warnContent.substring(s, m); + //鑾峰彇琛ㄥ悕 - String relationTable=tableAndField.split("\\.")[0]; + String relationTable = tableAndField.split("\\.")[0]; //琛ㄥ埆鍚� - String relationTableAlias=relationTable+"1"; + String relationTableAlias = relationTable + "1"; //瀛楁鍚� - String fieldName=tableAndField.split("\\.")[1]; - - if (tableNameAndAlias.get(relationTable)==null) { + String fieldName = tableAndField.split("\\.")[1]; + + if (tableNameAndAlias.get(relationTable) == null) { concatField.append(","); concatField.append(relationTableAlias); concatField.append(".uuid "); concatField.append(relationTableAlias); concatField.append("uuid"); - fieldAndAlias.put(relationTable+".uuid", relationTable+"1uuid"); + fieldAndAlias.put(relationTable + ".uuid", relationTable + "1uuid"); tableNameAndAlias.put(relationTable, relationTableAlias); } - + //鐢熸垚瀛楁鍒悕-->琛ㄥ悕1瀛楁鍚� - String tableFieldAlias=tableAndField.replace(".", "1"); - - if (fieldAndAlias.get(tableAndField)==null) { - fieldAndAlias.put(tableAndField,tableFieldAlias); + String tableFieldAlias = tableAndField.replace(".", "1"); + + if (fieldAndAlias.get(tableAndField) == null) { + fieldAndAlias.put(tableAndField, tableFieldAlias); concatField.append(","); - concatField.append(relationTableAlias+"."+fieldName); + concatField.append(relationTableAlias + "." + fieldName); concatField.append(" "); concatField.append(tableFieldAlias); fieldReference.put(tableFieldAlias, getReferenceByField(tableAndField)); } } - return new Object[]{concatField,tableNameAndAlias,fieldAndAlias,fieldReference}; + return new Object[]{concatField, tableNameAndAlias, fieldAndAlias, fieldReference}; } - + /** - * 鏍规嵁鎻愰啋鍐呭涓殑琛ㄥ睘鎬э紝杩涜鎷兼帴鎴愭爣鍑嗘牸寮� - * @param flowParam 棰勮鍐呭 - * @param concatField 缁勫悎瀛楁 - * @param tableNameAndAlias 琛ㄥ悕鍙婂埆鍚� - * @param fieldAndAlias 瀛楁鍚嶅強鍒悕 - * @param fieldReference 瀛楁鍙婂弬鐓� + * 鏍规嵁鎻愰啋鍐呭涓殑琛ㄥ睘鎬э紝杩涜鎷兼帴鎴愭爣鍑嗘牸寮� + * + * @param flowParam 棰勮鍐呭 + * @param concatField 缁勫悎瀛楁 + * @param tableNameAndAlias 琛ㄥ悕鍙婂埆鍚� + * @param fieldAndAlias 瀛楁鍚嶅強鍒悕 + * @param fieldReference 瀛楁鍙婂弬鐓� * @return */ - public Object[] parseFlowParam(String flowParam, StringBuilder concatField, Map<String, String> tableNameAndAlias, Map<String, String>fieldAndAlias, Map<String, String> fieldReference) { - - String[] warnAndFlows=flowParam.split(","); + public Object[] parseFlowParam(String flowParam, StringBuilder concatField, Map<String, String> tableNameAndAlias, Map<String, String> fieldAndAlias, Map<String, String> fieldReference) { + + String[] warnAndFlows = flowParam.split(","); for (int i = 0; i < warnAndFlows.length; i++) { - String[] warnAndFlow=warnAndFlows[i].split("="); - String tableAndField=warnAndFlow[0]; - + String[] warnAndFlow = warnAndFlows[i].split("="); + String tableAndField = warnAndFlow[0]; + //鑾峰彇琛ㄥ悕 - String relationTable=tableAndField.split("\\.")[0]; + String relationTable = tableAndField.split("\\.")[0]; //琛ㄥ埆鍚� - String relationTableAlias=relationTable+"1"; + String relationTableAlias = relationTable + "1"; //瀛楁鍚� - String fieldName=tableAndField.split("\\.")[1]; - - if (tableNameAndAlias.get(relationTable)==null) { + String fieldName = tableAndField.split("\\.")[1]; + + if (tableNameAndAlias.get(relationTable) == null) { concatField.append(","); concatField.append(relationTableAlias); concatField.append(".uuid "); concatField.append(relationTableAlias); concatField.append("uuid"); - fieldAndAlias.put(relationTable+".uuid", relationTable+"1uuid"); + fieldAndAlias.put(relationTable + ".uuid", relationTable + "1uuid"); tableNameAndAlias.put(relationTable, relationTableAlias); } - + //鐢熸垚瀛楁鍒悕-->琛ㄥ悕1瀛楁鍚� - String tableFieldAlias=tableAndField.replace(".", "1"); - - if (fieldAndAlias.get(tableAndField)==null) { - fieldAndAlias.put(tableAndField,tableFieldAlias); + String tableFieldAlias = tableAndField.replace(".", "1"); + + if (fieldAndAlias.get(tableAndField) == null) { + fieldAndAlias.put(tableAndField, tableFieldAlias); concatField.append(","); - concatField.append(relationTableAlias+"."+fieldName); + concatField.append(relationTableAlias + "." + fieldName); concatField.append(" "); concatField.append(tableFieldAlias); fieldReference.put(tableFieldAlias, getReferenceByField(tableAndField)); } } - return new Object[]{concatField,tableNameAndAlias,fieldAndAlias,fieldReference}; + return new Object[]{concatField, tableNameAndAlias, fieldAndAlias, fieldReference}; } - + /** - * 鏍规嵁琛ㄥ悕鍜屽瓧娈电殑鑾峰彇瀵瑰簲鍙傜収 - * @param tableAndField 琛ㄥ埆鍚�.瀛楁鍚� + * 鏍规嵁琛ㄥ悕鍜屽瓧娈电殑鑾峰彇瀵瑰簲鍙傜収 + * + * @param tableAndField 琛ㄥ埆鍚�.瀛楁鍚� * @return 鍙傜収鍚� */ public String getReferenceByField(String tableAndField) { - String [] tableField=tableAndField.replace("1.", ".").split("\\."); - String tableName=tableField[0]; - String fieldName=tableField[1]; - FieldSetEntity fseTableInfo=baseDao.getFieldSetEntityByFilter("product_sys_datamodel_table", "table_name=?",new Object[] {tableName}, false); - FieldSetEntity fseFieldInfo=baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_DATAMODEL_FIELD, "table_uuid=? and field_name=?", new Object[] {fseTableInfo.getUUID(),fieldName}, false); - if (fseFieldInfo==null) { + String[] tableField = tableAndField.replace("1.", ".").split("\\."); + String tableName = tableField[0]; + String fieldName = tableField[1]; + FieldSetEntity fseTableInfo = baseDao.getFieldSetEntityByFilter("product_sys_datamodel_table", "table_name=?", new Object[]{tableName}, false); + FieldSetEntity fseFieldInfo = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_DATAMODEL_FIELD, "table_uuid=? and field_name=?", new Object[]{fseTableInfo.getUUID(), fieldName}, false); + if (fseFieldInfo == null) { throw new BaseException("", "", this.getClass(), ""); } - String fieldType=fseFieldInfo.getString(CmnConst.FIELD_TYPE); + String fieldType = fseFieldInfo.getString(CmnConst.FIELD_TYPE); if (CmnConst.USERID.equals(fieldType)) { return CmnConst.USERID; - }else { + } else { return fseFieldInfo.getString(CmnConst.FIELD_REFERENCE); } } - + /** - * 鐢熸垚鍏宠仈SQL + * 鐢熸垚鍏宠仈SQL + * * @param tableNameAndAlias - * @param subTable 褰撳墠琛� + * @param subTable 褰撳墠琛� * @return */ - public String createTableRelation(Map<String,String>tableNameAndAlias, String subTable) { + public String createTableRelation(Map<String, String> tableNameAndAlias, String subTable) { //鍏宠仈SQL - StringBuilder relationSql=new StringBuilder(); - relationSql.append(subTable+" "); - relationSql.append(subTable+"1"); - + StringBuilder relationSql = new StringBuilder(); + relationSql.append(subTable + " "); + relationSql.append(subTable + "1"); + //鍒ゆ柇鏄惁浣跨敤瀛愯〃 - if (tableNameAndAlias!=null) { + if (tableNameAndAlias != null) { //鏍规嵁鍏宠仈瀛愯〃鐢熸垚鍏宠仈SQL for (String mainTableName : tableNameAndAlias.keySet()) { //鑾峰彇澶栭敭瀛楁 - String foreignKey=baseDao.getSubTableRelation(mainTableName, subTable); + String foreignKey = baseDao.getSubTableRelation(mainTableName, subTable); if (!StringUtils.isEmpty(foreignKey)) { relationSql.append(" LEFT JOIN "); - relationSql.append(mainTableName+" "); - relationSql.append(mainTableName+"1"); + relationSql.append(mainTableName + " "); + relationSql.append(mainTableName + "1"); relationSql.append(" ON "); - relationSql.append(mainTableName+"1.uuid="); - relationSql.append(subTable+"1."+foreignKey); + relationSql.append(mainTableName + "1.uuid="); + relationSql.append(subTable + "1." + foreignKey); } } } return relationSql.toString(); } - - - public String getContentByTableSource(FieldSetEntity fse,String content, Map<String, String> concatFieldReference) { - if (content.indexOf("{#")==-1) { + + + public String getContentByTableSource(FieldSetEntity fse, String content, Map<String, String> concatFieldReference) { + if (content.indexOf("{#") == -1) { return content; } - content=content.replace(".", "1"); + content = content.replace(".", "1"); return replaceParamText(content, fse, concatFieldReference); } - + /** * 鏇挎崲鏂囨湰鍙傛暟 - * + * * @param paramText 鍘熸枃鏈� * @param fseData 涓氬姟鏁版嵁 * @return 鏂版枃鏈� @@ -427,8 +493,8 @@ Matcher m = p3.matcher(str); while (m.find()) { String group = m.group(2); - String replaceValue= SystemParamReplace.replaceSystemParameter(group); - if(StringUtils.isEmpty(replaceValue)) { + String replaceValue = SystemParamReplace.replaceSystemParameter(group); + if (StringUtils.isEmpty(replaceValue)) { continue; } m.appendReplacement(sb1, replaceValue); @@ -444,8 +510,8 @@ if (null != value) { if (StringUtils.isEmpty(concatFieldReference.get(group))) { m.appendReplacement(sb2, value); - }else { - m.appendReplacement(sb2, parseReference(concatFieldReference.get(group),value,fseData)); + } else { + m.appendReplacement(sb2, parseReference(concatFieldReference.get(group), value, fseData)); } } } @@ -453,136 +519,140 @@ } return sb2.toString(); } - + /** - * 鍙傜収鏇挎崲 + * 鍙傜収鏇挎崲 + * * @param referenceName * @param originValue * @param fseData * @return */ public String parseReference(String referenceName, String originValue, FieldSetEntity fseData) { - if (CmnConst.USERID.equals(referenceName)) { //浜哄憳 - FieldSetEntity fseUser=baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_USERS, "user_id=?", new Object[] {originValue}, false); - if (fseUser==null) { + if (CmnConst.USERID.equals(referenceName)) { //浜哄憳 + FieldSetEntity fseUser = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_USERS, "user_id=?", new Object[]{originValue}, false); + if (fseUser == null) { throw new BaseException("", "", this.getClass(), ""); - }else { + } else { return fseUser.getString(CmnConst.USER_NAME); } - }else if (referenceName.indexOf("銆�")>-1) { //鏁版嵁瀛楀吀 + } else if (referenceName.indexOf("銆�") > -1) { //鏁版嵁瀛楀吀 referenceName.replace("銆�", "").replace("銆�", ""); - FieldSetEntity fseDict=baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_DICT, "dict_name=? AND dict_value=?", new Object[] {referenceName, originValue}, false); - if (fseDict==null) { + FieldSetEntity fseDict = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_DICT, "dict_name=? AND dict_value=?", new Object[]{referenceName, originValue}, false); + if (fseDict == null) { throw new BaseException("", "", this.getClass(), ""); - }else { + } else { return fseDict.getString(CmnConst.DICT_LABEL); } - }else { //楂樼骇鍙傜収 - FieldSetEntity fsePrompt=baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_PROMPT, "prompt_name=?", new Object[] {referenceName}, false); - if (fsePrompt==null) { - throw new BaseException("", "",this.getClass(),""); - }else { - String valueField=fsePrompt.getString("value_field"); - String viewField=fsePrompt.getString("view_fields"); - String sourceTable=fsePrompt.getString("source_table"); - FieldSetEntity fsePromptData=baseDao.getFieldSetEntityByFilter(sourceTable, valueField+"=?", new Object[] {originValue}, false); - if (fsePromptData!=null) { + } else { //楂樼骇鍙傜収 + FieldSetEntity fsePrompt = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_PROMPT, "prompt_name=?", new Object[]{referenceName}, false); + if (fsePrompt == null) { + throw new BaseException("", "", this.getClass(), ""); + } else { + String valueField = fsePrompt.getString("value_field"); + String viewField = fsePrompt.getString("view_fields"); + String sourceTable = fsePrompt.getString("source_table"); + FieldSetEntity fsePromptData = baseDao.getFieldSetEntityByFilter(sourceTable, valueField + "=?", new Object[]{originValue}, false); + if (fsePromptData != null) { return fsePromptData.getString(viewField); } } } - + return originValue; } - + /** - * 瑙f瀽鏉′欢琛ㄨ揪寮� + * 瑙f瀽鏉′欢琛ㄨ揪寮� + * * @param warnCOnditon * @param tableNameAndAlias * @return */ public String parseWarnCondition(String warnConditon, Map<String, String> tableNameAndAlias) { for (String tableName : tableNameAndAlias.keySet()) { - if (warnConditon.indexOf(tableName)>-1) { - warnConditon=warnConditon.replace(tableName, tableNameAndAlias.get(tableName)); + if (warnConditon.indexOf(tableName) > -1) { + warnConditon = warnConditon.replace(tableName, tableNameAndAlias.get(tableName)); } } - warnConditon=warnConditon.replace("{#", "").replace("#}", ""); - warnConditon=warnConditon.replace("{%", "").replace("%}", ""); + warnConditon = warnConditon.replace("{#", "").replace("#}", ""); + warnConditon = warnConditon.replace("{%", "").replace("%}", ""); return warnConditon; } - + /** - * 棰勮鍙戦偖浠惰В鏋� + * 棰勮鍙戦偖浠惰В鏋� + * * @param content * @param receiver */ - public void parseMail(String content,String receiver) { - String[] user_ids=receiver.split(","); + public void parseMail(String content, String receiver) { + String[] user_ids = receiver.split(","); for (int i = 0; i < user_ids.length; i++) { - FieldSetEntity fseStaff=baseDao.getFieldSetEntityByFilter("product_sys_staffs", "user_id=?", new Object[] {user_ids[i]}, false); - if (fseStaff==null) { + FieldSetEntity fseStaff = baseDao.getFieldSetEntityByFilter("product_sys_staffs", "user_id=?", new Object[]{user_ids[i]}, false); + if (fseStaff == null) { continue; } - String org_level_uuid=fseStaff.getString(CmnConst.ORG_LEVEL_UUID); - String userEmail=fseStaff.getString("staff_email"); - FieldSetEntity fseCompanySmtp=baseDao.getFieldSetEntityByFilter("product_sys_company_email_smtp", "org_level_uuid=?", new Object[] {org_level_uuid}, false); - - FieldSetEntity fseMailInfo=new FieldSetEntity(); + String org_level_uuid = fseStaff.getString(CmnConst.ORG_LEVEL_UUID); + String userEmail = fseStaff.getString("staff_email"); + FieldSetEntity fseCompanySmtp = baseDao.getFieldSetEntityByFilter("product_sys_company_email_smtp", "org_level_uuid=?", new Object[]{org_level_uuid}, false); + + FieldSetEntity fseMailInfo = new FieldSetEntity(); fseMailInfo.setTableName(CmnConst.PRODUCT_SYS_MAIL_SEND); fseMailInfo.setValue(CmnConst.ORG_LEVEL_UUID, org_level_uuid); fseMailInfo.setValue(CmnConst.ADDRESSEE, userEmail); fseMailInfo.setValue(CmnConst.MAIL_TITLE, "棰勮淇℃伅"); fseMailInfo.setValue(CmnConst.MAIL_CONTENT, content); - if (fseCompanySmtp!=null) { + if (fseCompanySmtp != null) { fseMailInfo.setValue(CmnConst.SMTP_SERVER_HOST, fseCompanySmtp.getString(CmnConst.SMTP_SERVER_HOST)); fseMailInfo.setValue(CmnConst.SMTP_SERVER_PORT, fseCompanySmtp.getString(CmnConst.SMTP_SERVER_PORT)); fseMailInfo.setValue(CmnConst.SMTP_USERNAME, fseCompanySmtp.getString(CmnConst.SMTP_USERNAME)); fseMailInfo.setValue(CmnConst.SMTP_LICENSE_CODE, fseCompanySmtp.getString(CmnConst.SMTP_LICENSE_CODE)); - }else { - fseMailInfo.setValue(CmnConst.SMTP_SERVER_HOST, Global.getSystemConfig("spring.mail.host","")); - fseMailInfo.setValue(CmnConst.SMTP_SERVER_PORT, Global.getSystemConfig("spring.mail.port","")); - fseMailInfo.setValue(CmnConst.SMTP_USERNAME, Global.getSystemConfig("spring.mail.username","")); - fseMailInfo.setValue(CmnConst.SMTP_LICENSE_CODE, Global.getSystemConfig("spring.mail.password","")); + } else { + fseMailInfo.setValue(CmnConst.SMTP_SERVER_HOST, Global.getSystemConfig("spring.mail.host", "")); + fseMailInfo.setValue(CmnConst.SMTP_SERVER_PORT, Global.getSystemConfig("spring.mail.port", "")); + fseMailInfo.setValue(CmnConst.SMTP_USERNAME, Global.getSystemConfig("spring.mail.username", "")); + fseMailInfo.setValue(CmnConst.SMTP_LICENSE_CODE, Global.getSystemConfig("spring.mail.password", "")); } fseMailInfo.setValue("send_mode", "smtp"); - SmtpSendMail.sendMail(fseMailInfo,null); + SmtpSendMail.sendMail(fseMailInfo, null); //鍒涘缓浜哄拰鍒涘缓鏃堕棿 - if (SpringMVCContextHolder.getCurrentUser()!=null) { + if (SpringMVCContextHolder.getCurrentUser() != null) { fseMailInfo.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id()); } - fseMailInfo.setValue(CmnConst.CREATED_UTC_DATETIME,new Date()); + fseMailInfo.setValue(CmnConst.CREATED_UTC_DATETIME, new Date()); baseDao.add(fseMailInfo); } } - + /** - * 棰勮鍙戠煭淇¤В鏋� + * 棰勮鍙戠煭淇¤В鏋� + * * @param content * @param receiver */ - public void parseSMS(String content,String receiver) { - String[] user_ids=receiver.split(","); + public void parseSMS(String content, String receiver) { + String[] user_ids = receiver.split(","); for (int i = 0; i < user_ids.length; i++) { - FieldSetEntity fseuser=baseDao.getFieldSetEntityByFilter("product_sys_users", "user_id=?", new Object[] {user_ids[i]}, false); - FieldSetEntity fseStaff=baseDao.getFieldSetEntityByFilter("product_sys_staffs", "user_id=?", new Object[] {user_ids[i]}, false); - if (fseStaff==null) { + FieldSetEntity fseuser = baseDao.getFieldSetEntityByFilter("product_sys_users", "user_id=?", new Object[]{user_ids[i]}, false); + FieldSetEntity fseStaff = baseDao.getFieldSetEntityByFilter("product_sys_staffs", "user_id=?", new Object[]{user_ids[i]}, false); + if (fseStaff == null) { continue; } - String org_level_uuid=fseStaff.getString(CmnConst.ORG_LEVEL_UUID); - String userPhone=fseuser.getString("user_phone_number"); - - FieldSetEntity fseMessageInfo=new FieldSetEntity(); + String org_level_uuid = fseStaff.getString(CmnConst.ORG_LEVEL_UUID); + String userPhone = fseuser.getString("user_phone_number"); + + FieldSetEntity fseMessageInfo = new FieldSetEntity(); fseMessageInfo.setTableName(CmnConst.PRODUCT_SYS_MESSAGE_SEND); fseMessageInfo.setValue(CmnConst.ORG_LEVEL_UUID, org_level_uuid); fseMessageInfo.setValue("send_user", "2"); - fseMessageInfo.setValue("receive_user",userPhone); + fseMessageInfo.setValue("receive_user", userPhone); fseMessageInfo.setValue("content", content); - - - FieldSetEntity fseCompanyMessage=baseDao.getFieldSetEntityByFilter("product_sys_company_email_smtp", "org_level_uuid=?", new Object[] {org_level_uuid}, false); - if (fseCompanyMessage!=null) { + + + FieldSetEntity fseCompanyMessage = baseDao.getFieldSetEntityByFilter("product_sys_company_email_smtp", "org_level_uuid=?", new Object[]{org_level_uuid}, false); + if (fseCompanyMessage != null) { fseMessageInfo.setValue(CmnConst.USER_ACCOUNT, fseCompanyMessage.getString(CmnConst.USER_ACCOUNT)); fseMessageInfo.setValue(CmnConst.SECRETKEY, fseCompanyMessage.getString(CmnConst.SECRETKEY)); fseMessageInfo.setValue(CmnConst.ECNAME, fseCompanyMessage.getString(CmnConst.ECNAME)); @@ -590,7 +660,7 @@ fseMessageInfo.setValue(CmnConst.ADDSERIAL, fseCompanyMessage.getString(CmnConst.ADDSERIAL)); fseMessageInfo.setValue(CmnConst.URL, fseCompanyMessage.getString(CmnConst.URL)); fseMessageInfo.setValue(CmnConst.TREATY, fseCompanyMessage.getString(CmnConst.TREATY)); - }else { + } else { fseMessageInfo.setValue(CmnConst.USER_ACCOUNT, "zgctjt"); fseMessageInfo.setValue(CmnConst.SECRETKEY, "zgctjt2019"); fseMessageInfo.setValue(CmnConst.ECNAME, "鑷础甯傚煄甯傚缓璁炬姇璧勫紑鍙戦泦鍥㈡湁闄愬叕鍙�"); @@ -600,43 +670,44 @@ fseMessageInfo.setValue(CmnConst.TREATY, "HTTP"); } fseMessageInfo.setValue("send_mode", "smtp"); - + HttpSmsSendUtil.sendMsg(fseMessageInfo); fseMessageInfo.setValue(CmnConst.CREATED_BY, 1); - fseMessageInfo.setValue(CmnConst.CREATED_UTC_DATETIME,new Date()); + fseMessageInfo.setValue(CmnConst.CREATED_UTC_DATETIME, new Date()); baseDao.add(fseMessageInfo); } } - - + + /** - * 鑷姩鍙戣捣娴佺▼ + * 鑷姩鍙戣捣娴佺▼ + * * @param flowCode * @param flowParam * @param fseService * @param fieldAndAlias */ - public void autoStartFlow(String warnName,String flowCode, String flowParam, FieldSetEntity fseService, Map<String, String>fieldAndAlias, Integer createdBy) { - - if (flowCode==null) { - return ; + public void autoStartFlow(String warnName, String flowCode, String flowParam, FieldSetEntity fseService, Map<String, String> fieldAndAlias, Integer createdBy) { + + if (flowCode == null) { + return; } - - FieldSetEntity fseFlowService=new FieldSetEntity(); - - String [] warnAndFlows=flowParam.split(","); + + FieldSetEntity fseFlowService = new FieldSetEntity(); + + String[] warnAndFlows = flowParam.split(","); for (int i = 0; i < warnAndFlows.length; i++) { - String [] warnAndFlow=warnAndFlows[i].split("="); - String warnField=warnAndFlow[0]; - String flowField=warnAndFlow[1]; - + String[] warnAndFlow = warnAndFlows[i].split("="); + String warnField = warnAndFlow[0]; + String flowField = warnAndFlow[1]; + fseFlowService.setTableName(flowField.split("\\.")[0]); fseFlowService.setValue(flowField.split("\\.")[1], fseService.getObject(fieldAndAlias.get(warnField.replace("{#", "").replace("#}", "")))); } - + baseDao.add(fseFlowService); - - FieldSetEntity fseFLow=new FieldSetEntity(); + + FieldSetEntity fseFLow = new FieldSetEntity(); fseFLow.setTableName(fseFlowService.getTableName()); fseFLow.setValue("flow_title", warnName); fseFLow.setValue("uuid", fseFlowService.getUUID()); -- Gitblit v1.9.2