diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml index 3f434e01da..69713f1908 100644 --- a/epmet-auth/pom.xml +++ b/epmet-auth/pom.xml @@ -187,6 +187,12 @@ 651f02d71ed3f123dfb584b8bf0f4d8b + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -225,6 +231,12 @@ 651f02d71ed3f123dfb584b8bf0f4d8b + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -258,6 +270,12 @@ wx3d1372029eb816a3 651f02d71ed3f123dfb584b8bf0f4d8b + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -295,6 +313,12 @@ wx3d1372029eb816a3 651f02d71ed3f123dfb584b8bf0f4d8b + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-auth/src/main/java/com/epmet/redis/CustomerAppWxServiceUtil.java b/epmet-auth/src/main/java/com/epmet/redis/CustomerAppWxServiceUtil.java index ddd5d69769..c7ef8cf380 100644 --- a/epmet-auth/src/main/java/com/epmet/redis/CustomerAppWxServiceUtil.java +++ b/epmet-auth/src/main/java/com/epmet/redis/CustomerAppWxServiceUtil.java @@ -26,7 +26,6 @@ import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.SetOperations; -import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.List; @@ -39,7 +38,8 @@ import java.util.Set; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ -@Component +//@Component 2020-11-17目前小程序升级都是从 公众号升级 所有这种方式 暂时用不到了 +@Deprecated public class CustomerAppWxServiceUtil implements ApplicationRunner { private static Logger logger = LogManager.getLogger(CustomerAppWxServiceUtil.class); diff --git a/epmet-auth/src/main/resources/bootstrap.yml b/epmet-auth/src/main/resources/bootstrap.yml index 2306d2da5b..d8526d89e6 100644 --- a/epmet-auth/src/main/resources/bootstrap.yml +++ b/epmet-auth/src/main/resources/bootstrap.yml @@ -113,7 +113,7 @@ wx: # secret: @oper.wx.ma.secret@ # token: #微信小程序消息服务器配置的token # aesKey: #微信小程序消息服务器配置的EncodingAESKey -# msgDataFormat: JSON + # msgDataFormat: JSON appId: # 党群e事通-居民端小程序配置appId resi: @resi.wx.ma.appId@ @@ -121,3 +121,8 @@ wx: gov: @gov.wx.ma.appId@ # 党群e事通-运营端小程序配置的appId #oper: @oper.wx.ma.appId@ + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ diff --git a/epmet-auth/src/main/resources/logback-spring.xml b/epmet-auth/src/main/resources/logback-spring.xml index af12b174e0..734c4114a1 100644 --- a/epmet-auth/src/main/resources/logback-spring.xml +++ b/epmet-auth/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 284ef67e74..9ddd2f9c8e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -10,6 +10,9 @@ public enum RequirePermissionEnum { * 工作-基层治理-群组管理 */ WORK_GRASSROOTS_GROUP_AUDITINGLIST("work_grassroots_group_auditinglist", "基层治理:群组管理:待审核列表", "基层治理:群组管理:待审核列表查询"), + WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST("work_grassroots_group_edit_auditinglist", "基层治理:群组管理:小组变更待审核列表", "基层治理:群组管理:小组变更待审核列表"), + WORK_GRASSROOTS_GROUP_EDIT_DETAIL("work_grassroots_group_edit_detail","基层治理:群组管理:变更申请","基层治理:群组管理:小组信息变更申请详情"), + WORK_GRASSROOTS_GROUP_EDIT_AUDIT("work_grassroots_group_edit_audit","基层治理:群组管理:变更审核","基层治理:群组管理:小组信息变更审核(通过或驳回)"), WORK_GRASSROOTS_GROUP_GROUPSINTHEGRID("work_grassroots_group_groupsinthegrid", "基层治理:群组管理:本网格小组列表", "基层治理:群组管理:本网格小组列表查询"), WORK_GRASSROOTS_GROUP_AUDIT("work_grassroots_group_audit", "基层治理:群组管理:审核建组", "基层治理:群组管理:审核建组(通过或驳回)"), WORK_GRASSROOTS_GROUP_AUDITED("work_grassroots_group_audited", "基层治理:群组管理:审核历史", "基层治理:群组管理:审核历史列表查询"), diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index c161babc30..10533e98fd 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -110,6 +110,7 @@ public enum EpmetErrorCode { OPER_CUSTOMER_FOOTBAR_EXISTS(8712, "footbar已存在"), OPER_CUSTOMER_FOOTBAR_NOT_FOUND(8713, "footbar不存在"), OPER_EXT_APP_SECRET_RESET_FAIL(8714, "秘钥更新失败"), + USER_LIST_ROLES_BY_KEY_FAIL(8715, "根据角色key查询角色列表失败"), // 党建声音 前端提示 88段 DRAFT_CONTENT_IS_NULL(8801, "至少需要添加一个段落"), @@ -122,7 +123,12 @@ public enum EpmetErrorCode { SELECT_CUSTOMER_ERROR(8652,"未查询到注册客户信息"), SELECT_AGENCY_ERROR(8653,"根据客户信息未查询到注册客户组织信息"), SELECT_USER_ERROR(8654,"根据客户信息未查询到注册客户管理员信息"), - UPDATE_CUSTOMER_ERROR(8655,"更新注册客户信息为已完成初始化失败"); + UPDATE_CUSTOMER_ERROR(8655,"更新注册客户信息为已完成初始化失败"), + + GROUP_EDIT_ERROR(9000,"组信息编辑失败"), + GROUP_NOT_EXISTS(9001,"该组不存在"), + GROUP_IN_AUDITING(9002,"该组已提交编辑,处于待审核状态,完成审核前不可再次提交"), + GROUP_EDIT_NUM_LIMITED(9003,"已达编辑次数上限"); private int code; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 463ec06427..444077098f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -353,4 +353,11 @@ public class RedisKeys { public static String getScreenIndexDataLockKey() { return rootPrefix.concat("stats:indexcal:lock"); } + + /** + * @Description 用户缓存Key + **/ + public static String getResiUserKey(String userId){ + return rootPrefix.concat("resi:user:").concat(userId); + } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java index a4cecaa3c0..e4a6cf94cb 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java @@ -709,4 +709,24 @@ public class DateUtils { } }else return null; } + + /** + * 指定月份的开始时间 + * @param date + * @return + */ + public static Date getMonthStart(Date date) { + LocalDate ldn = new LocalDate(date); + return ldn.dayOfMonth().withMinimumValue().toDate(); + } + + /** + * 指定月份的结束时间 + * @param date + * @return + */ + public static Date getMonthEnd(Date date) { + LocalDate ldn = new LocalDate(date); + return ldn.dayOfMonth().withMaximumValue().toDate(); + } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java index d69f319d7b..8b5a691891 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java @@ -43,7 +43,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; @@ -60,8 +59,14 @@ import java.util.Set; */ @Slf4j public class HttpClientManager { - private static int connectionTimeout = 3000;// 连接超时时间,毫秒 - private static int soTimeout = 10000;// 读取数据超时时间,毫秒 + // 连接超时时间,毫秒 + private static int connectionTimeout = 5000; + // 读取数据超时时间,毫秒 + private static int soTimeout = 20000; + private static String HEADER_CONTENT_TYPE = "Content-Type"; + private static String HEADER_APPLICATION_JSON = "application/json;charset=utf-8"; + private static String UTF8 = "utf-8"; + private static String HEADER_APPLICATION_FORM_URL_ENCODED = "application/x-www-form-urlencoded;charset=utf-8"; /** * HttpClient对象 */ @@ -116,13 +121,14 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/x-www-form-urlencoded charset=utf-8"); + + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_FORM_URL_ENCODED); List list = new ArrayList(); for (String key : paramsMap.keySet()) { list.add(new BasicNameValuePair(key, String.valueOf(paramsMap.get(key)))); } - UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(list, "utf-8"); + UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(list, UTF8); httppost.setEntity(urlEncodedFormEntity); return execute(httppost, false); @@ -146,9 +152,9 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json; charset=utf-8"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (StringUtils.isNotEmpty(jsonStrParam)) { - StringEntity se = new StringEntity(jsonStrParam, "utf-8"); + StringEntity se = new StringEntity(jsonStrParam, UTF8); httppost.setEntity(se); } return execute(httppost, false); @@ -164,14 +170,14 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json; charset=utf-8"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (null != headerMap){ headerMap.forEach((k,v) -> { httppost.addHeader(k,v); }); } if (StringUtils.isNotEmpty(jsonStrParam)) { - StringEntity se = new StringEntity(jsonStrParam, "utf-8"); + StringEntity se = new StringEntity(jsonStrParam, UTF8); httppost.setEntity(se); } return execute(httppost, false); @@ -221,9 +227,9 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (StringUtils.isNotEmpty(jsonStrParam)) { - StringEntity se = new StringEntity(jsonStrParam, "utf-8"); + StringEntity se = new StringEntity(jsonStrParam, UTF8); httppost.setEntity(se); } return execute(httppost, true); @@ -249,9 +255,9 @@ public class HttpClientManager { try { String stringToSign = timestamp + "\n" + secret; Mac mac = Mac.getInstance("HmacSHA256"); - mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256")); - byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); - String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8"); + mac.init(new SecretKeySpec(secret.getBytes(UTF8), "HmacSHA256")); + byte[] signData = mac.doFinal(stringToSign.getBytes(UTF8)); + String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), UTF8); DingTalkTextMsg msg = new DingTalkTextMsg(); msg.setContent(content); url = url.concat("×tamp=" + timestamp + "&sign=" + sign); @@ -275,9 +281,9 @@ public class HttpClientManager { try { String stringToSign = timestamp + "\n" + secret; Mac mac = Mac.getInstance("HmacSHA256"); - mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256")); - byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); - String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8"); + mac.init(new SecretKeySpec(secret.getBytes(UTF8), "HmacSHA256")); + byte[] signData = mac.doFinal(stringToSign.getBytes(UTF8)); + String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), UTF8); log.info("sign为:"+sign); url = url.concat("×tamp=" + timestamp + "&sign=" + sign); log.info("发送url:"+url); @@ -383,9 +389,9 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (StringUtils.isNotEmpty(json)) { - StringEntity se = new StringEntity(json, "utf-8"); + StringEntity se = new StringEntity(json, UTF8); httppost.setEntity(se); } return executeToByte(httppost); diff --git a/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java b/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java index 98583c8f3c..2ee22426f6 100644 --- a/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java +++ b/epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java @@ -131,6 +131,12 @@ public class InternalAuthProcessor extends AuthProcessor { * @return */ private boolean needAuth(String requestUri) { + for (String url : cpProperty.getInternalAuthUrlsWhiteList()) { + if (antPathMatcher.match(url, requestUri)) { + return false; + } + } + for (String url : cpProperty.getInternalAuthUrls()) { if (antPathMatcher.match(url, requestUri)) { return true; diff --git a/epmet-gateway/src/main/java/com/epmet/filter/CpProperty.java b/epmet-gateway/src/main/java/com/epmet/filter/CpProperty.java index 4b801182fa..3442dea612 100644 --- a/epmet-gateway/src/main/java/com/epmet/filter/CpProperty.java +++ b/epmet-gateway/src/main/java/com/epmet/filter/CpProperty.java @@ -22,6 +22,11 @@ public class CpProperty { */ private List internalAuthUrls; + /** + * 内部认证url白名单 + */ + private List internalAuthUrlsWhiteList; + /** * 对外部应用开放的url列表 */ diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index ad698b4d8a..53ec286911 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -439,6 +439,10 @@ epmet: - /resi/home/** - /data/report/** + # 内部认证url白名单(在白名单中的,就不会再校验登录了) + internalAuthUrlsWhiteList: + - /epmetuser/customerstaff/customerlist + # 外部应用认证,使用AccessToken等头进行认证 externalOpenUrls: - /data/report/** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java index 5bd0c89103..12e6151f3f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java @@ -61,6 +61,15 @@ public interface FactOriginGroupMainDailyDao extends BaseDao + * @author wangc + * @date 2020.11.17 09:56 + */ + List selectAllGroupByCustomerId(@Param("customerId") String customerId); + /** * @param customerId * @return diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java index 062c651aaf..ebbbe5e84b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java @@ -180,12 +180,12 @@ public interface FactOriginProjectMainDailyDao extends BaseDao * @author wangc * @date 2020.09.28 10:19 */ - List selectDifficultyBaseInfo(@Param("customerId")String customerId,@Param("list")List list); + List selectDifficultyBaseInfo(@Param("customerId")String customerId,@Param("thresholdValue") Integer thresholdValue); /** * @Description 查询评价周期内新立的项目,是为了增量新增难点赌点的图片库 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenDifficultyDataDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenDifficultyDataDao.java index 2b66e785bb..3d90291cba 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenDifficultyDataDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenDifficultyDataDao.java @@ -91,4 +91,13 @@ public interface ScreenDifficultyDataDao extends BaseDao list); int insertBatchImg(@Param("list") List list); + + /** + * @Description 根据客户Id查出全部的难点赌点的项目Id和网格Id,因为需要比对全部的信息然后删除因为删除网格而导致的垃圾数据 + * @param customerId + * @return java.util.List + * @author wangc + * @date 2020.11.17 09:33 + */ + List selectAllDifficultyByCustomerId(@Param("customerId")String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java index 2e15e2aea1..3d4526a0fe 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java @@ -103,14 +103,5 @@ public interface ProjectDao extends BaseDao { */ String selectParameterValueByKey(@Param("customerId") String customerId); - /** - * @Description 得到超过阈值滞留的项目Id集合 - * 规定只要项目的任何一个负责人(被流转到的,自始至终不管有没有处理)超过了自定义或默认的滞留时间就算难点赌点 - * @param customerId - * @param exclude - * @return java.util.List - * @author wangc - * @date 2020.11.06 14:14 - */ - List selectOvertimeProjectIds(@Param("customerId") String customerId,@Param("exclude") List exclude,@Param("value") Integer value); + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index 8f1c0631f7..8b7e1ae06c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -248,12 +248,12 @@ public interface FactOriginProjectMainDailyService extends BaseService * @author wangc * @date 2020.09.28 10:23 */ - List getDifficultyBaseInfo(String customerId , List list); + List getDifficultyBaseInfo(String customerId ,Integer thresholdValue); /** * @Description 得到评价周期内新立项的id diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 21caf5f319..bdc82b519d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -237,15 +237,15 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl * @author wangc * @date 2020.09.28 10:23 */ @Override - public List getDifficultyBaseInfo(String customerId, List list) { - if(CollectionUtils.isEmpty(list)) return null; - return baseDao.selectDifficultyBaseInfo(customerId,list); + public List getDifficultyBaseInfo(String customerId, Integer thresholdValue) { + + return baseDao.selectDifficultyBaseInfo(customerId,thresholdValue); } /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java index cd04bc123e..dedb5bc3a3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java @@ -66,7 +66,7 @@ public class GroupExtractServiceImpl implements GroupExtractService { /** * @param param * @return - * @Description 业务抽取 - 小组祥光 + * @Description 业务抽取 - 小组 * @author wangc * @date 2020.09.18 21:07 **/ @@ -88,22 +88,31 @@ public class GroupExtractServiceImpl implements GroupExtractService { List memberList = new LinkedList<>(); if (!CollectionUtils.isEmpty(originGroupData)) { List gridList = dimGridService.getGridAttributes(param.getCustomerId(),originGroupData.stream().map(FactOriginGroupMainDailyDTO::getGridId).distinct().collect(Collectors.toList())); - List missingGroups = new LinkedList<>(); + if (!CollectionUtils.isEmpty(gridList)) { Map gridMap = gridList.stream().collect(Collectors.toMap(GridAttributesResultDTO::getGridId, Function.identity(), (key1, key2) -> key2)); - + //剔除本次要更新数据中的垃圾数据 for(Iterator iter = originGroupData.iterator(); + iter.hasNext();){ + FactOriginGroupMainDailyDTO pointer = iter.next(); + if(null == gridMap.get(pointer.getGridId()))iter.remove(); + + } + //记录全量中的垃圾数 + List missingGroups = new LinkedList<>(); + List population = factOriginGroupMainDailyDao.selectAllGroupByCustomerId(param.getCustomerId()); + if(!CollectionUtils.isEmpty(population)){ + for(Iterator iter = population.iterator(); iter.hasNext();){ FactOriginGroupMainDailyDTO pointer = iter.next(); if(null == gridMap.get(pointer.getGridId())){ missingGroups.add(pointer.getId()); - iter.remove(); } } - - originGroupData.forEach(group -> { + } + originGroupData.forEach(group -> { GridAttributesResultDTO attr = gridMap.get(group.getGridId()); if (null != attr) { group.setAgencyId(attr.getAgencyId()); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index 8a60c6076b..2f6f0b6a44 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -100,10 +100,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr Map scoreMap = cpcIndexCalculateService.getCpcScore(param.getCustomerId(),dateId); //剔除垃圾数据 - for(Iterator iter = registeredUsers.iterator(); - iter.hasNext();){ - if(null == gridMap.get(iter.next().getGridId())) iter.remove(); - } + registeredUsers.removeIf(user -> null == gridMap.get(user.getGridId())); //5.整合数据 if(!CollectionUtils.isEmpty(registeredUsers)){ @@ -124,24 +121,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr user.setDataEndTime(finalDateId); }); - } - - //6.存入数据库 - //不按照时间删除,每次插入之前将该客户下的所有历史数据清空 - //过滤 统计维度中没有的数据 - Set gridIdSet = new HashSet<>(); - List newInsertList = registeredUsers.stream() - .filter(o -> { - if (StringUtils.isBlank(o.getGridName())) { - gridIdSet.add(o.getGridId()); - return false; - } else { - return true; - } - }).collect(Collectors.toList()); - log.warn("userScoreDataHub grids:{} not in DimGrid", JSON.toJSONString(gridIdSet)); - screenPartyUserRankDataService.dataClean(newInsertList, param.getCustomerId()); + screenPartyUserRankDataService.dataClean(registeredUsers, param.getCustomerId()); } /** @@ -153,57 +134,49 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr **/ @Override public void difficultyDataHub(ScreenCentralZoneDataFormDTO param) { - - //查询难点赌点中有无已结案的项目,若有则保留 - List existed = screenDifficultyDataService.selectExistedInfo(param.getCustomerId()); - //查询数据 - List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId(),existed)); + List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId())); if(CollectionUtils.isEmpty(difficulties)) return; - //剔除垃圾数据 + //2.查询出客户下网格的相关信息 List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o)); - List missing = new LinkedList<>(); - for(Iterator iter = difficulties.iterator(); iter.hasNext();){ - ScreenDifficultyDataEntity pointer = iter.next(); - if(null == gridMap.get(pointer.getOrgId())){ - missing.add(pointer.getEventId()); - iter.remove(); - } - } + //剔除垃圾数据(本次需要更新的数据集) + //for(Iterator iter = difficulties.iterator(); iter.hasNext();){ + // ScreenDifficultyDataEntity pointer = iter.next(); + // if(null == gridMap.get(pointer.getOrgId())){ + // iter.remove(); + // } + //} + difficulties.removeIf( diff -> null == gridMap.get(diff.getOrgId())); List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList()); //最近一次操作 Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); - - boolean isOperationNull = CollectionUtils.isEmpty(latestOperationMap) ? true : false; - //图片 List projectSourceMap = factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds); Map> imgMap = topicService.getTopicImgs(projectSourceMap); - boolean isImgNull = CollectionUtils.isEmpty(imgMap) ? true : false; + Map contentMap = topicService.getTopicContent(projectSourceMap); - boolean isContentNull = CollectionUtils.isEmpty(contentMap) ? true : false; + difficulties.forEach( diff -> { - if(!isImgNull) { + if(!CollectionUtils.isEmpty(imgMap)) { List figureList = imgMap.get(diff.getEventId()); diff.setEventImgUrl(CollectionUtils.isEmpty(figureList) ? "" : figureList.get(NumConstant.ZERO).getEventImgUrl()); } - if(!isContentNull) { + if(!CollectionUtils.isEmpty(contentMap)) { diff.setEventContent(contentMap.get(diff.getEventId())); } - if(!isOperationNull){ + if(! CollectionUtils.isEmpty(latestOperationMap)){ ProjectLatestOperationResultDTO oper = latestOperationMap.get(diff.getEventId()); if(null != oper){ diff.setLatestOperateDesc(oper.getOperationName()); diff.setEventTitle(oper.getTitle()); diff.setEventCostTime(oper.getCostTime()); } - } diff.setDataEndTime(DateUtils.getBeforeNDay(NumConstant.ONE)); @@ -211,6 +184,6 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr List imgList = new LinkedList<>(); imgMap.values().forEach(list -> {imgList.addAll(list);}); - screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList,missing); + screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java index c133c88c84..235dfe856a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java @@ -49,6 +49,14 @@ public interface ScreenDifficultyDataService extends BaseService difficulties, List imgs,List missing); + void dataClean(String customerId,List difficulties, List imgs); + /** + * @Description 根据客户Id查出全部的难点赌点的项目Id和网格Id,因为需要比对全部的信息然后删除因为删除网格而导致的垃圾数据 + * @param customerId + * @return java.util.List + * @author wangc + * @date 2020.11.17 09:31 + */ + List getAllDifficultyByCustomerId(String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java index 99ce30dc0c..ea844971a9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenPartyUserRankDataService.java @@ -40,5 +40,4 @@ public interface ScreenPartyUserRankDataService extends BaseService dataList,String customerId); - } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java index a371230024..66873e1b6d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java @@ -53,19 +53,31 @@ public class ScreenDifficultyDataServiceImpl extends BaseServiceImpl difficulties, List imgs,List missing) { - if(!CollectionUtils.isEmpty(missing)){ - baseDao.deleteBatchDifficulty(customerId, missing); - baseDao.deleteBatchDifficultyImg(missing); + public void dataClean(String customerId, List difficulties, List imgs) { + List orient = baseDao.selectAllDifficultyByCustomerId(customerId); + if(!CollectionUtils.isEmpty(orient)){ + baseDao.deleteBatchDifficultyImg(orient.stream().map(ScreenDifficultyDataEntity::getEventId).distinct().collect(Collectors.toList())); } + baseDao.deleteBatchDifficulty(customerId,null); + if (!CollectionUtils.isEmpty(difficulties)) { - baseDao.deleteBatchDifficulty(customerId, difficulties.stream().map(ScreenDifficultyDataEntity::getEventId).distinct().collect(Collectors.toList())); baseDao.insertBatch(difficulties); } if (!CollectionUtils.isEmpty(imgs)) { - baseDao.deleteBatchDifficultyImg(imgs.stream().map(ScreenDifficultyImgDataEntity::getEventId).distinct().collect(Collectors.toList())); baseDao.insertBatchImg(imgs); } baseDao.updateTime(customerId, DateUtils.getBeforeNDay(NumConstant.ONE)); } + + /** + * @Description 根据客户Id查出全部的难点赌点的项目Id和网格Id,因为需要比对全部的信息然后删除因为删除网格而导致的垃圾数据 + * @param customerId + * @return java.util.List + * @author wangc + * @date 2020.11.17 09:31 + */ + @Override + public List getAllDifficultyByCustomerId(String customerId) { + return baseDao.selectAllDifficultyByCustomerId(customerId); + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java index e707c0a64c..2dc0e88aa6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java @@ -104,10 +104,9 @@ public interface ProjectService extends BaseService { * @Description 得到超过阈值滞留的项目Id集合 * 规定只要项目的任何一个负责人(被流转到的,自始至终不管有没有处理)超过了自定义或默认的滞留时间就算难点赌点 * @param customerId - * @param exclude * @return java.util.List * @author wangc * @date 2020.11.06 14:14 */ - List getOvertimeProjectByParameter(String customerId,List exclude); + Integer getOvertimeProjectByParameter(String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java index 23461db970..5ba8ea04d6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java @@ -86,16 +86,15 @@ public class ProjectServiceImpl extends BaseServiceImpl * @author wangc * @date 2020.11.06 14:14 */ @Override - public List getOvertimeProjectByParameter(String customerId, List exclude) { + public Integer getOvertimeProjectByParameter(String customerId) { String parameter = baseDao.selectParameterValueByKey(customerId); if(StringUtils.isBlank(parameter)) parameter = baseDao.selectParameterValueByKey("default"); - return baseDao.selectOvertimeProjectIds(customerId, exclude, StringUtils.isBlank(parameter) ? NumConstant.FIVE : Integer.parseInt(parameter)); + return StringUtils.isBlank(parameter) ? NumConstant.FIVE : Integer.parseInt(parameter); } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml index c2c75be60f..2717a8cb5e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml @@ -38,6 +38,18 @@ CUSTOMER_ID = #{customerId} + + + DELETE FROM fact_origin_group_main_daily diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index f5c56529be..1ea4b350fd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -385,11 +385,33 @@ WHERE project.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} - - - project.ID = #{projectId} - - + AND project.ID IN ( + + + SELECT DISTINCT + period.project_id + FROM + fact_origin_project_org_period_daily period + LEFT JOIN + ( + + SELECT + + project.ID AS projectId, + IF(project.project_status = 'closed',period.handled_date,NOW()) AS finishDate + + FROM fact_origin_project_main_daily project LEFT JOIN fact_origin_project_org_period_daily period + ON project.ID = period.project_id AND period.del_flag = '0' AND period.customer_id = #{customerId} + AND period.operation = 'close' + WHERE project.customer_id = #{customerId} AND project.del_flag = '0' + ) projectFinishDate ON projectFinishDate.projectId = period.project_id + + WHERE + period.del_flag = '0' + AND period.customer_id = #{customerId} + AND TIMESTAMPDIFF( DAY, period.informed_date, projectFinishDate.finishDate) > #{thresholdValue} + ) + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml index c56a4e85ab..100a2c29dd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml @@ -219,4 +219,14 @@ + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index de792f46db..08c8d78d5b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -106,45 +106,4 @@ and PARAMETER_KEY ='detention_days' - - \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml index c5f2f8bdab..46e103344a 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -130,6 +130,13 @@ producerService/producer/sendMsg 202007161443499985fa2d397436d10356542134c8f008c48 52d9d9b0e7d0eb5b8b81c205b579e07c + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -169,6 +176,13 @@ producerService/producer/sendMsg 202007161443499985fa2d397436d10356542134c8f008c48 52d9d9b0e7d0eb5b8b81c205b579e07c + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -206,6 +220,13 @@ producerService/producer/sendMsg 20200804181646184507453a2e9aab76edc550405f80920af 96d788191a10ff57a125157183413004 + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -240,6 +261,13 @@ producerService/producer/sendMsg 202008141820598348026098a1b5dd0bc63a1e2418e275d1b 7ce17f65826539ff3e8616dccd4b70fc + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml index e521fd36ff..83b7ee086a 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml @@ -125,4 +125,9 @@ elink: appId: @elink.mq.appId@ #项目接入亿联云的应用Id token: @elink.mq.token@ #项目接入亿联云的应用token 相当于secret host: @elink.mq.host@ #亿联云消息网关服务地址 - sendMsgPath: @elink.mq.sendMsgPath@ #发送消息路径 \ No newline at end of file + sendMsgPath: @elink.mq.sendMsgPath@ #发送消息路径 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml index e7ed94b8fc..fa8dd97a46 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/epmet-ext/epmet-ext-server/pom.xml b/epmet-module/epmet-ext/epmet-ext-server/pom.xml index 6f2c432d23..f8ff8b712c 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/pom.xml +++ b/epmet-module/epmet-ext/epmet-ext-server/pom.xml @@ -197,6 +197,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -229,6 +236,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -261,6 +275,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -294,6 +315,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml index a1948620e3..55f2ba49f8 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml @@ -97,4 +97,9 @@ ribbon: pagehelper: helper-dialect: mysql - reasonable: false \ No newline at end of file + reasonable: false + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml index ec4a9fc8e0..6f14b27477 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml index 72cbbdaaf8..4488897fcf 100644 --- a/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml @@ -98,10 +98,14 @@ feign: client: config: default: - loggerLevel: BASIC + loggerLevel: FULL httpclient: enabled: true +logging: + level: + com.epmet: debug + hystrix: command: default: diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index 594f25e502..89291741a5 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -171,6 +171,13 @@ 8 10 30 + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -209,6 +216,12 @@ 8 10 30 + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -247,6 +260,12 @@ 8 10 30 + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -282,6 +301,12 @@ 8 10 30 + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index d8e6a43485..0d390bfc31 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -278,12 +278,12 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { decrease = wxmpWorkUserSubscribeDao.decreaseWorkSubscribeCount(openId, templateId, customerId, 1,userId); } if (decrease == 0) { - logger.error("消息{}发送成功但订阅条数-1失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送成功但订阅条数-1失败", JSON.toJSONString(msg)); } //存表 int saveRes = wxmpMsgSendRecordService.saveRecord(initRecord(msg, templateId, openId, WxmpMessageConstant.SUCCESS)); if (saveRes == 0) { - logger.error("消息{}发送成功但存入记录表失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送成功但存入记录表失败", JSON.toJSONString(msg)); } } else { //发送失败 @@ -296,7 +296,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { clear = wxmpWorkUserSubscribeDao.clearWorkSubscribeCount(openId, templateId, customerId,userId); } if (clear == 0) { - logger.error("消息{}发送失败且清空订阅条数失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送失败且清空订阅条数失败", JSON.toJSONString(msg)); } } @@ -316,11 +316,11 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { wxmpMsgSendRecordEntity.setReason(errMsg); int saveRes = wxmpMsgSendRecordService.saveRecord(wxmpMsgSendRecordEntity); if (saveRes == 0) { - logger.error("消息{}发送失败且存入记录表失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送失败且存入记录表失败", JSON.toJSONString(msg)); } } - logger.error("消息:{}发送失败,原因是:{}", JSON.toJSONString(msg), errMsg); + logger.warn("消息:{}发送失败,原因是:{}", JSON.toJSONString(msg), errMsg); continue; } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml index 0ccb3c1213..dcdcaab913 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml @@ -126,4 +126,9 @@ thread: corePoolSize: @thread.pool.core-pool-size@ maxPoolSize: @thread.pool.max-pool-size@ queueCapacity: @thread.pool.queue-capacity@ - keepAlive: @thread.pool.keep-alive@ \ No newline at end of file + keepAlive: @thread.pool.keep-alive@ + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml index 7ead25dd02..ee1f62a8ef 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index ffb777fe7c..3934ecd31a 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -149,6 +149,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -181,6 +188,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -213,6 +226,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -242,6 +261,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml index 115f991f57..a6d32431be 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml @@ -128,4 +128,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml index a5edb3b691..22c774cac7 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java index c9cbe06642..fdb09a68f3 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.Max; @@ -17,7 +18,9 @@ import java.io.Serializable; public class WorkPointVerificationFormDTO implements Serializable { private static final long serialVersionUID = -590822390667788693L; - @NotBlank(message = "获取不到用户Id",groups = ResiCommonUserIdFormDTO.UserIdGroup.class) + public interface WorkPointVerifyGroup extends CustomerClientShowGroup{} + + @NotBlank(message = "获取不到用户Id",groups = WorkPointVerifyGroup.class) private String staffId; /** diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java index 8bb1d31cc5..4624abcaff 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java @@ -6,7 +6,6 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.PointVerificationFormDTO; -import com.epmet.dto.form.ResiCommonUserIdFormDTO; import com.epmet.dto.form.WorkPointVerificationFormDTO; import com.epmet.dto.result.PointVerificationResultDTO; import com.epmet.dto.result.WorkPointVerficationListResultDTO; @@ -54,7 +53,7 @@ public class ExchangeController { @PostMapping("recordmonthly") public Result getStaffVerificationRecordMonthly(@LoginUser TokenDto token,@RequestBody WorkPointVerificationFormDTO verificationParam){ verificationParam.setStaffId(token.getUserId()); - ValidatorUtils.validateEntity(verificationParam, ResiCommonUserIdFormDTO.UserIdGroup.class); + ValidatorUtils.validateEntity(verificationParam, WorkPointVerificationFormDTO.WorkPointVerifyGroup.class); return new Result().ok(pointVerificationLogService.getStaffVerificationRecordMonthly(verificationParam)); } diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index c6918855a7..f9cd95ca91 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -208,6 +208,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -240,6 +247,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -272,6 +285,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -305,6 +324,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml index fb128323d5..400d4810ed 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml @@ -133,4 +133,9 @@ third: - https://epmet-ext7.elinkservice.cn - https://epmet-ext8.elinkservice.cn - https://epmet-ext9.elinkservice.cn - - https://epmet-ext10.elinkservice.cn \ No newline at end of file + - https://epmet-ext10.elinkservice.cn + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml index fc91993807..610146dec5 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigAdd4RoletFormDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigAdd4RoletFormDTO.java new file mode 100644 index 0000000000..85b9e9d68d --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigAdd4RoletFormDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +@Data +public class AccessConfigAdd4RoletFormDTO { + @NotBlank(message = "角色Key不能为空") + private String roleKey; + + @NotBlank(message = "操作Key不能为空") + private String operationKey; + + private List scopeKeys; +} diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java index ec11eaa26f..76a7886947 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java @@ -12,6 +12,7 @@ import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.validation.constraints.NotBlank; import java.util.List; import java.util.Set; @@ -116,4 +117,22 @@ public class AccessConfigController { return new Result(); } + /** + * @Description 给角色添加操作权限和操作范围 + * @return + * @author wxz + * @date 2020.11.17 17:41 + */ + @PostMapping("add-ope-and-scopes-4role") + public Result addOpeAndScopes4Role(@RequestBody AccessConfigAdd4RoletFormDTO form) { + ValidatorUtils.validateEntity(form); + String roleKey = form.getRoleKey(); + String operationKey = form.getOperationKey(); + List scopeKeys = form.getScopeKeys(); + + accessConfigService.addOpeAndScopes4Role(roleKey, operationKey, scopeKeys); + return new Result(); + } + + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java index 3fc28b675f..508f3ad45f 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java @@ -25,4 +25,6 @@ public interface AccessConfigService { List listOpeDefaultScopes4Role(String roleKey, String operationKey); void saveOpeDefaultScopes(String roleKey, String operationKey, List scopeKeys); + + void addOpeAndScopes4Role(String roleKey, String operationKey, List scopeKeys); } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java index 7b635cedf0..79d35436a8 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java @@ -2,12 +2,14 @@ package com.epmet.service.impl; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.*; import com.epmet.dto.result.*; import com.epmet.entity.OperationScopeDefaultEntity; import com.epmet.entity.RoleOperationDefaultEntity; import com.epmet.entity.RoleOperationEntity; import com.epmet.entity.RoleScopeEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.RoleOpeScopeRedis; import com.epmet.service.AccessConfigService; import org.slf4j.Logger; @@ -41,6 +43,9 @@ public class AccessConfigServiceImpl implements AccessConfigService { @Autowired private OperationScopeDefaultDao operationScopeDefaultDao; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Override public List listOpesByRole(String roleId) { return roleOperationDao.listOpesForAccessConfig(roleId); @@ -196,4 +201,56 @@ public class AccessConfigServiceImpl implements AccessConfigService { operationScopeDefaultDao.insert(entity); } } + + /** + * @Description 给角色添加操作权限和操作范围 + * @return + * @author wxz + * @date 2020.11.17 17:41 + */ + @Override + public void addOpeAndScopes4Role(String roleKey, String operationKey, List scopeKeys) { + Result> rolesResult = epmetUserOpenFeignClient.listRolesByRoleKey(roleKey); + if (!rolesResult.success()) { + String msg = "调用user服务,根据key查询角色列表失败"; + throw new RenException(EpmetErrorCode.USER_LIST_ROLES_BY_KEY_FAIL.getCode(), msg, msg, + RenException.MessageMode.CODE_INTERNAL_EXTERNAL.CODE_INTERNAL_EXTERNAL); + } + + List roles = rolesResult.getData(); + List roleIds2Add = roles.stream().map(GovStaffRoleResultDTO::getRoleId).collect(Collectors.toList()); + addOpeAndScopes4Role(roleIds2Add, operationKey, scopeKeys); + } + + /** + * @Description 将默认的角色操作和范围同步给具体的角色 + * @return + * @author wxz + * @date 2020.11.17 17:38 + */ + @Transactional(rollbackFor = Exception.class) + public void addOpeAndScopes4Role(List roleIds, String operationKey, List scopeKeys) { + for (String roleId : roleIds) { + // 只给没有添加该权限的用户赋予该权限,已经添加了和添加了又取消的不操作 + RoleOperationEntity roleOpe = roleOperationDao.getRoleOpe(roleId, operationKey); + if (roleOpe == null) { + // 没有该操作,则添加 + RoleOperationEntity roleOperation = new RoleOperationEntity(); + roleOperation.setOperationKey(operationKey); + roleOperation.setRoleId(roleId); + roleOperationDao.insert(roleOperation); + } + for (String scopeKey : scopeKeys) { + // 没有的话则添加 + RoleScopeEntity roleScopeInDb = roleScopeDao.getByRoleIdAndOpeKey(roleId, operationKey, scopeKey); + if (roleScopeInDb == null) { + RoleScopeEntity roleScopeEntity = new RoleScopeEntity(); + roleScopeEntity.setOperationKey(operationKey); + roleScopeEntity.setRoleId(roleId); + roleScopeEntity.setScopeKey(scopeKey); + roleScopeDao.insert(roleScopeEntity); + } + } + } + } } diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml b/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml index e8a2685e37..6fcc5979f5 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/bootstrap.yml @@ -119,3 +119,7 @@ pagehelper: helper-dialect: mysql reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 +#feign 日志需要该配置 +logging: + level: + com.epmet: debug \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/pom.xml b/epmet-module/gov-grid/gov-grid-server/pom.xml index 494a417395..c822e7e308 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/epmet-module/gov-grid/gov-grid-server/pom.xml @@ -112,6 +112,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -138,6 +144,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -164,6 +176,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -190,6 +208,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java index 207ce24099..193e5bac1e 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java @@ -11,6 +11,7 @@ import com.epmet.resi.group.dto.group.result.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.ResiGroupService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -31,6 +32,8 @@ import java.util.List; public class ResiGroupController { @Autowired ResiGroupService resiGroupService; + @Autowired + ResiGroupOpenFeignClient groupOpenFeignClient; /** * 小组审核历史列表 * @@ -127,4 +130,49 @@ public class ResiGroupController { ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO); return resiGroupService.disagreeApplying(disAgreeApplyGroupFormDTO); } + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return + * @author wangc + * @date 2020.11.03 10:19 + */ + @PostMapping("edit-auditing-list") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST) + public Result> getEditAuditingList(@RequestBody CommonGridAndPageFormDTO param){ + ValidatorUtils.validateEntity(param, CommonGridAndPageFormDTO.GridPageGroup.class); + return groupOpenFeignClient.govEditAuditingList(param); + } + + /** + * @Description 工作端-查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @PostMapping("edit-auditing-detail") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_DETAIL) + public Result getEditAuditingDetail(@RequestBody GovGroupSummarizeFromDTO param){ + ValidatorUtils.validateEntity(param, GovGroupSummarizeFromDTO.GroupIdG.class); + return groupOpenFeignClient.govEditAuditingDetail(param); + } + + /** + * @Description 工作端-工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @PostMapping("audit-edit") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDIT) + public Result auditEdit(@LoginUser TokenDto tokenDto,@RequestBody GroupEditionAuditFormDTO param){ + param.setStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(param, GroupEditionAuditFormDTO.GroupEditionAuditGroup.class); + return groupOpenFeignClient.govAuditEdit(param); + } + + } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 18815b635a..2fc38efdf0 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -143,7 +143,7 @@ public interface ResiGroupFeignClient { * @param gridIdList * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei - * @Description 查询网格下待审核的小组总数 + * @Description 查询网格下待审核的小组总数+变更小组信息申请数 * @Date 2020/5/13 15:49 **/ @PostMapping(value = "/resi/group/group/groupprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE) diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java index e7cfdcbd6c..d9a22f75cd 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java @@ -104,8 +104,7 @@ public class RemindServiceImpl implements RemindService { } } }else{ - logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(), - groupProcessingCountResult.getMsg())); + logger.error(String.format("查询群组管理待办事项数失败,%s",groupProcessingCountResult.getMsg())); } return false; } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml b/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml index 6b8729cd4e..003760840c 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml @@ -74,4 +74,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml b/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml index 780a8cd3a6..dbf5cf299c 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index 93d9f0334c..0b00f44d12 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -146,7 +146,7 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api - + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 @@ -183,7 +183,7 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api - + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 @@ -253,6 +253,13 @@ true https://epmet-open.elinkservice.cn/api/epmetscan/api + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml index e523016b91..39f6c8b80c 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml @@ -114,4 +114,10 @@ openapi: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml index a8dbb17134..7ef4d70dbc 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index 54f3b8e225..00baee29cf 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -136,6 +136,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -160,6 +166,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -184,6 +196,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -205,6 +223,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml b/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml index f19d228c96..c49ee432c1 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml @@ -94,3 +94,8 @@ hystrix: ribbon: ReadTimeout: 300000 ConnectTimeout: 300000 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml b/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml index a03a6843bd..80e1ea56e2 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 5c6f53c739..ecfdb329f1 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -150,6 +150,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -182,6 +188,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -215,6 +227,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -244,6 +262,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml index 4657c30354..8651e49ce2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml @@ -130,4 +130,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml index e05ed7a188..24d44d88f9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 06ec668460..0dc357dada 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -157,6 +157,13 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -190,6 +197,12 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -223,6 +236,12 @@ true https://epmet-dev.elinkservice.cn/api/epmetscan/api + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -253,6 +272,13 @@ true https://epmet-open.elinkservice.cn/api/epmetscan/api + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml b/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml index 31d7d1ef6d..58ec92257b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml @@ -114,4 +114,9 @@ openapi: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml index c4e23d9fe9..8a9462ce2b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/gov-voice/gov-voice-server/pom.xml b/epmet-module/gov-voice/gov-voice-server/pom.xml index 1c80814b41..f6b5b7d0a3 100644 --- a/epmet-module/gov-voice/gov-voice-server/pom.xml +++ b/epmet-module/gov-voice/gov-voice-server/pom.xml @@ -132,6 +132,12 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -165,6 +171,12 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -198,6 +210,12 @@ true https://epmet-dev.elinkservice.cn/api/epmetscan/api + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -228,6 +246,13 @@ true https://epmet-open.elinkservice.cn/api/epmetscan/api + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml index 8e85f694ed..6bf735a325 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml @@ -114,4 +114,9 @@ openapi: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml index e9ef5d3b60..da83651e0c 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/oper-access/oper-access-server/pom.xml b/epmet-module/oper-access/oper-access-server/pom.xml index f78794d104..4a9152e2d0 100644 --- a/epmet-module/oper-access/oper-access-server/pom.xml +++ b/epmet-module/oper-access/oper-access-server/pom.xml @@ -119,6 +119,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -151,6 +157,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -183,6 +195,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -212,6 +230,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml b/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml index b7cbcbe1af..34a3d56ae9 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml @@ -117,4 +117,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml b/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml index f12b007132..d0829fae23 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml +++ b/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index 8535f16485..a721c86f4f 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -140,6 +140,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -172,6 +178,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -204,6 +216,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -236,6 +254,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml index 422a4459a9..7b14f2cad1 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml @@ -123,4 +123,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml index 68c16e906e..0c531843f6 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/CustomerAppDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerAppDao.xml similarity index 100% rename from epmet-module/oper-crm/oper-crm-server/src/main/resources/CustomerAppDao.xml rename to epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerAppDao.xml diff --git a/epmet-module/oper-customize/oper-customize-server/pom.xml b/epmet-module/oper-customize/oper-customize-server/pom.xml index 20f7861056..a36f6d46d1 100644 --- a/epmet-module/oper-customize/oper-customize-server/pom.xml +++ b/epmet-module/oper-customize/oper-customize-server/pom.xml @@ -123,6 +123,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -155,6 +161,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -187,6 +199,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -216,6 +234,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml index 14755776eb..b6cb0ffbb8 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml @@ -117,4 +117,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml index de2aa4d947..d02b4bffb3 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java new file mode 100644 index 0000000000..8544c6fe12 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java @@ -0,0 +1,14 @@ +package com.epmet.resi.group.constant; + +public interface GroupAuditStatusConstant { + + // 审核中 + String UNDER_AUDITING = "under_auditing"; + + // 驳回 + String REJECTED = "rejected"; + + // 支持 + String APPROVED = "approved"; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java new file mode 100644 index 0000000000..0e158a8804 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java @@ -0,0 +1,10 @@ +package com.epmet.resi.group.constant; + +public interface GroupLimitConstant { + + /** + * 每月可以编辑2次 + */ + Integer EDIT_NUM_LIMIT_MONTH = 2; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java new file mode 100644 index 0000000000..169073eb68 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java @@ -0,0 +1,40 @@ +package com.epmet.resi.group.dto.group.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 通用网格分页传参DTO + * @ClassName CommonGridAndPageFormDTO + * @Auth wangc + * @Date 2020-11-02 17:22 + */ +@Data +public class CommonGridAndPageFormDTO implements Serializable { + private static final long serialVersionUID = -7916909736115741017L; + + public interface GridPageGroup extends CustomerClientShowGroup{} + + /** + * 网格Id + */ + @NotBlank(message = "网格Id不能为空" , groups = GridPageGroup.class) + private String gridId; + + /** + * 页码 + */ + @Min(1) + private Integer pageNo; + + /** + * 每页多少条数 + */ + @Min(1) + private Integer pageSize; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java new file mode 100644 index 0000000000..a86f1bb9ae --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EditGroupFormDTO { + + // 分组详情校验 + public interface GroupDetailVG {} + + // 提交组编辑校验组 + public interface SubmitGroupEditVG {} + + + /** + * 组id + */ + @NotBlank(message = "组ID不能为空", groups = { GroupDetailVG.class, SubmitGroupEditVG.class }) + private String groupId; + + @NotBlank(message = "组头像不能为空", groups = { SubmitGroupEditVG.class }) + private String groupHeadPhoto; + + @NotBlank(message = "组名称不能为空", groups = { SubmitGroupEditVG.class }) + @Length(max = 10, message = "组名称长度不能超过10个字", groups = { SubmitGroupEditVG.class }) + private String groupName; + + @NotBlank(message = "组介绍不能为空", groups = { SubmitGroupEditVG.class }) + @Length(max = 500, message = "组介绍长度不能超过500个字", groups = { SubmitGroupEditVG.class }) + private String groupIntroduction; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java index 7757d54e37..00163136a2 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.resi.group.dto.group.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -12,8 +14,12 @@ import java.io.Serializable; @Data public class GovGroupSummarizeFromDTO implements Serializable { private static final long serialVersionUID = 1L; + + public interface GroupIdG extends CustomerClientShowGroup{} + /** * 小组id */ + @NotBlank(message = "群组Id不能为空",groups = GroupIdG.class) private String groupId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupEditionAuditFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupEditionAuditFormDTO.java new file mode 100644 index 0000000000..fccd849619 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupEditionAuditFormDTO.java @@ -0,0 +1,43 @@ +package com.epmet.resi.group.dto.group.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 组信息修改审核入参DTO + * @ClassName GroupEditionAuditFormDTO + * @Auth wangc + * @Date 2020-11-02 17:30 + */ +@Data +public class GroupEditionAuditFormDTO implements Serializable { + private static final long serialVersionUID = 3851649860177395296L; + + public interface GroupEditionAuditGroup extends CustomerClientShowGroup{} + + /** + * 组Id + */ + @NotBlank(message = "组Id不能为空",groups = GroupEditionAuditGroup.class) + private String groupId; + + /** + * 审核结果 审核结果。approved:支持;rejected:拒绝 + */ + @NotBlank(message = "审核结果不能为空",groups = GroupEditionAuditGroup.class) + private String auditResult; + + /** + * 拒绝时的备注 + */ + private String remark; + + /** + * 工作人员Id + */ + @NotBlank(message = "工作人员Id不能为空",groups = GroupEditionAuditGroup.class) + private String staffId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java new file mode 100644 index 0000000000..c7767054d4 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class GroupDetailResultDTO { + + private String groupHeadPhoto; + private String groupName; + private String groupIntroduction; + private Integer editNumLimit; + private Integer avaliableEditNum; + private String auditStatus; + private Boolean editable; + private String remark; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java new file mode 100644 index 0000000000..0cf88d6802 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * @Description 工作端 群信息修改申请详情 + * @ClassName GroupEditionDetailResultDTO + * @Auth wangc + * @Date 2020-11-02 17:54 + */ +@Data +public class GroupEditionDetailResultDTO implements Serializable { + private static final long serialVersionUID = -784043668974222480L; + + /** + * 待审核的小组Id + */ + private String groupId; + + /** + * 待审核小组名称 是提交的名称,如果没有更改群名称则还是原来的 + */ + private String groupName; + + /** + * 待审核小组图片 是提交的群头像,如果没有更改群头像则还是原来的 + */ + private String groupHeadPhoto; + + /** + * 待审核小组的介绍 是提交的群介绍,如果没有更改群介绍则还是原来的 + */ + private String groupIntroduction; + + /** + * 群主的昵称 xx路-xx先生/女士 + */ + private String groupLeaderName; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index d15be92ad0..b3e6a0f911 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -1,11 +1,21 @@ package com.epmet.resi.group.feign; +import com.epmet.commons.tools.utils.Result; +import com.epmet.resi.group.dto.group.form.CommonGridAndPageFormDTO; +import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; +import com.epmet.resi.group.dto.group.form.GroupEditionAuditFormDTO; +import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; +import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; import com.epmet.commons.tools.utils.Result; import com.epmet.resi.group.dto.group.form.CreateGroupCodeFormDTO; import org.springframework.cloud.openfeign.FeignClient; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -17,9 +27,34 @@ import org.springframework.web.bind.annotation.RequestBody; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:16 */ +//@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupOpenFeignClientFallback.class,url = "localhost:8095") @FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupOpenFeignClientFallback.class) public interface ResiGroupOpenFeignClient { + @PostMapping("/resi/group/group/gov-edit-auditing-list") + Result> govEditAuditingList(@RequestBody CommonGridAndPageFormDTO param); + + /** + * @Description 查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @PostMapping("/resi/group/group/gov-edit-auditing-detail") + Result govEditAuditingDetail(@RequestBody GovGroupSummarizeFromDTO param); + + /** + * @Description 工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @PostMapping("/resi/group/group/gov-audit-edit") + Result govAuditEdit(@RequestBody GroupEditionAuditFormDTO param); + + /** * @Description 创建群组二维码 * @param dto diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index ea474fefb2..98f9bac729 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -1,5 +1,13 @@ package com.epmet.resi.group.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.resi.group.dto.group.form.CommonGridAndPageFormDTO; +import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; +import com.epmet.resi.group.dto.group.form.GroupEditionAuditFormDTO; +import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; +import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; @@ -7,6 +15,8 @@ import com.epmet.resi.group.dto.group.form.CreateGroupCodeFormDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 * @@ -15,6 +25,20 @@ import org.springframework.stereotype.Component; */ @Component public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClient { + @Override + public Result> govEditAuditingList(CommonGridAndPageFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "govEditAuditingList", param); + } + + @Override + public Result govEditAuditingDetail(GovGroupSummarizeFromDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "govEditAuditingDetail", param); + } + + @Override + public Result govAuditEdit(GroupEditionAuditFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "govAuditEdit", param); + } /** * @param dto * @return com.epmet.commons.tools.utils.Result diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index 1489a642ca..6585d78081 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -165,6 +165,13 @@ 8 10 30 + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -203,6 +210,13 @@ 8 10 30 + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -240,6 +254,13 @@ 8 10 30 + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -274,6 +295,13 @@ 8 10 30 + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java index 9d8024921b..29f89329e4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java @@ -60,6 +60,11 @@ public interface UserMessageConstant { */ String CREATION_OF_GROUP_MESSAGE_TEMPLATE = "%s%s申请创建小组【%s】,请审核。"; + /** + * 变更组信息时的消息模板 + */ + String EDIT_OF_GROUP_MESSAGE_TEMPLATE = "%s%s申请变更小组【%s】,请审核。"; + /** * 组长审核入组申请时的微信订阅behavior */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 0b375a570f..b10ad763df 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -301,7 +301,7 @@ public class ResiGroupController { * @param gridIdList * @return com.epmet.commons.tools.utils.Result> * @Author yinzuomei - * @Description 传入网格id列表,返回每个网格的待审核小组总数 + * @Description 传入网格id列表,返回每个网格的待审核小组总数+变更小组信息申请数 * @Date 2020/5/13 21:33 **/ @PostMapping("groupprocessingcount") @@ -364,6 +364,69 @@ public class ResiGroupController { return new Result(); } + /** + * 查询组详情 + * @param form + * @return + */ + @PostMapping("get-detail") + public Result getGroupDetail(@RequestBody EditGroupFormDTO form){ + ValidatorUtils.validateEntity(form, EditGroupFormDTO.GroupDetailVG.class); + GroupDetailResultDTO groupDetail = resiGroupService.getGroupDetail(form.getGroupId()); + return new Result().ok(groupDetail); + } + + /** + * 提交小组信息编辑 + * @param form + * @return + */ + @PostMapping("submit-edit") + public Result submitGroupEdit(@RequestBody EditGroupFormDTO form, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(form, EditGroupFormDTO.SubmitGroupEditVG.class); + resiGroupService.submitGroupEdit(form.getGroupId(), form.getGroupName(), form.getGroupHeadPhoto(), form.getGroupIntroduction(), tokenDto.getUserId()); + return new Result(); + } + + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return + * @author wangc + * @date 2020.11.03 10:19 + */ + @PostMapping("gov-edit-auditing-list") + public Result> govEditAuditingList(@RequestBody CommonGridAndPageFormDTO param){ + return new Result>().ok(resiGroupService.getEditAuditingList(param)); + } + + /** + * @Description 工作端-查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @PostMapping("gov-edit-auditing-detail") + public Result govEditAuditingDetail(@RequestBody GovGroupSummarizeFromDTO param){ + return new Result().ok(resiGroupService.getEditAuditingDetail(param)); + } + + /** + * @Description 工作端-作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @PostMapping("gov-audit-edit") + public Result govAuditEdit(@RequestBody GroupEditionAuditFormDTO param){ + resiGroupService.auditEdit(param); + return new Result(); + } + + /** * @param formDTO * @author yinzuomei diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java new file mode 100644 index 0000000000..829beba4f7 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java @@ -0,0 +1,92 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; +import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +/** + * 组编辑提交记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-02 + */ +@Mapper +public interface GroupEditSubmitRecordDao extends BaseDao { + + /** + * 查询指定组,指定时间段内的编辑次数 + * @param groupId + * @param monthStart + * @param monthEnd + * @return + */ + int countEditNum(@Param("groupId") String groupId, + @Param("monthStart") Date monthStart, + @Param("monthEnd") Date monthEnd); + + /** + * 查询最后一次编辑提交记录 + * @param groupId + */ + GroupEditSubmitRecordEntity getLatestEditSubmitRecord(@Param("groupId") String groupId); + + /** + * @Description 工作端查询群组修改信息申请列表 + * @param gridId + * @return + * @author wangc + * @date 2020.11.03 13:39 + */ + List selectGroupEditApplyList(@Param("gridId")String gridId); + + /** + * @Description 查询小组修改信息详情 + * @param + * @return com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:32 + */ + GroupEditSubmitRecordEntity selectEditDetail(@Param("groupId")String groupId,@Param("auditResult") String auditResult); + + /** + * @Description 审核群信息更改 + * @param groupId + * @param staffId + * @param auditStatus + * @param remark + * @return int + * @author wangc + * @date 2020.11.03 17:33 + */ + int updateAuditResult(@Param("groupId")String groupId,@Param("staffId") String staffId,@Param("auditStatus") String auditStatus,@Param("remark")String remark); + + /** + * @param gridId + * @author yinzuomei + * @description 根据网格id查询 待审核的变更小组信息申请 总数 + * @Date 2020/11/13 10:05 + **/ + Integer selectCountAuditingRec(String gridId); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 867a3d11ba..2cbc78cae1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -26,6 +26,7 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -188,4 +189,17 @@ public interface ResiGroupDao extends BaseDao { * @date 2020.05.22 09:54 **/ List selectGroupListByGridIds(@Param("gridIds") List gridIds); + + /** + * 编辑提交的时候,检查组名是否存在。网格内检查, + * 检查resi_group中已审核通过的和待审核的 + * 检查submit_record中待审核的。已审核的不用检查,因为已经更新到resi_group中了 + * @param groupId + * @param gridId + * @param groupName + * @return + */ + int countExistsGroupNameBeforeEdit(@Param("groupId") String groupId, + @Param("gridId") String gridId, + @Param("groupName") String groupName); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java new file mode 100644 index 0000000000..9f8b5c8816 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 组编辑提交记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-02 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("group_edit_submit_record") +public class GroupEditSubmitRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 小组ID + */ + private String groupId; + + /** + * 客户ID + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 头像 + */ + private String groupHeadPhoto; + + /** + * 小组名称 + */ + private String groupName; + + /** + * 小组介绍 + */ + private String groupIntroduction; + + /** + * 审核状态。under_auditting:审核中,approved:通过,rejected:驳回 + */ + private String auditStatus; + + /** + * 审核人ID + */ + private String staffId; + + /** + * 回复 + */ + private String remark; + + /** + * 审核时间 + */ + private Date auditTime; + + /** + * 审核人员查看待审核列表时的文案 如:党员李华申请变更小组【原小组名】,请审核。 + */ + private String messageText; + + /** + * 已读read 未读unread + */ + private String readFlag; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/GroupEditSubmitRecordRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/GroupEditSubmitRecordRedis.java new file mode 100644 index 0000000000..346ebd5924 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/GroupEditSubmitRecordRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 组编辑提交记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-02 + */ +@Component +public class GroupEditSubmitRecordRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java index 7f2442a8e7..03dcc4ecba 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java @@ -19,8 +19,12 @@ package com.epmet.modules.group.redis; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.group.service.ResiGroupService; import com.epmet.modules.group.service.ResiGroupStatisticalService; @@ -36,6 +40,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import java.util.*; @@ -57,6 +62,9 @@ public class ResiGroupRedis { @Autowired private ResiGroupStatisticalService statisticalService; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + public void delete(Object[] ids) { @@ -124,6 +132,16 @@ public class ResiGroupRedis { return null; } + /** + * @Description 删除组缓存 + * @param groupId + * @return void + * @author wangc + * @date 2020.11.12 14:07 + */ + public void delGroup(String groupId){ + redisUtils.delete(ResiGroupRedisKeys.getResiGroupInfoKey(groupId)); + } /** * @param gridId @@ -215,4 +233,22 @@ public class ResiGroupRedis { } }); } + + /** + * @Description 从缓存中获取用户的真实姓名 + * @param userId + * @return java.lang.String + * @author wangc + * @date 2020.11.03 15:27 + */ + public String getFullName(String userId){ + String fieldValue = (String)redisUtils.hGet(RedisKeys.getResiUserKey(userId),"realName"); + if(StringUtils.isNotBlank(fieldValue)) return fieldValue; + List userParam = new LinkedList<>(); userParam.add(userId); + Result> userCacheResult = epmetUserOpenFeignClient.queryUserBaseInfo(userParam); + if(userCacheResult.success() && !CollectionUtils.isEmpty(userCacheResult.getData())){ + return userCacheResult.getData().iterator().next().getRealName(); + } + return null; + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index c259137f33..6c4dd40356 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -295,13 +295,44 @@ public interface ResiGroupService extends BaseService { * @return java.util.List */ List recommendedList(RecommendedListFormDTO formDTO); - + + GroupDetailResultDTO getGroupDetail(String groupId); + + void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId); + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return + * @author wangc + * @date 2020.11.03 10:19 + */ + List getEditAuditingList(CommonGridAndPageFormDTO param); + + /** + * @Description 查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + GroupEditionDetailResultDTO getEditAuditingDetail(GovGroupSummarizeFromDTO param); + + /** + * @Description 工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + void auditEdit(GroupEditionAuditFormDTO param); + /** * @return void * @param formDTO * @author yinzuomei * @description 组长开启/关闭入群审核 - * @Date 2020/11/17 14:18 + * @Date 2020/11/17 14:18 **/ void editAuditSwitch(EditAuditSwitchFormDTO formDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index c36aa614d4..cc1eac2dc2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -32,6 +32,13 @@ import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.scan.param.ImgScanParamDTO; +import com.epmet.commons.tools.scan.param.ImgTaskDTO; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.user.LoginUserUtil; +import com.epmet.commons.tools.utils.*; import com.epmet.constant.ReadFlagConstant; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; @@ -41,8 +48,10 @@ import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; +import com.epmet.modules.group.dao.GroupEditSubmitRecordDao; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupOperationDao; +import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupOperationEntity; import com.epmet.modules.group.redis.ResiGroupRedis; @@ -66,13 +75,16 @@ import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; +import com.github.pagehelper.PageHelper; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; import java.util.*; @@ -127,6 +139,27 @@ public class ResiGroupServiceImpl extends BaseServiceImpl groupLeaderUserInfo = this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId()); - if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); } else { @@ -344,38 +376,45 @@ public class ResiGroupServiceImpl extends BaseServiceImpl resiResult = - epmetUserFeignClient.getUserResiInfoDTO(resiParam); - String userName = ""; - if(resiResult.success() && null != resiResult.getData()){ - userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) - + (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName()); - } + //4.获取居民注册信息 + UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); + resiParam.setCustomerId(applyCreateGroupFormDTO.getCustomerId()); + resiParam.setUserId(applyCreateGroupFormDTO.getUserId()); + Result resiResult = + epmetUserFeignClient.getUserResiInfoDTO(resiParam); + String userName = ""; + if(resiResult.success() && null != resiResult.getData()){ + userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) + + (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName()); + } userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; - String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName()); - //3.2、插入一条待审核的操作记录 + String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName()); + //4.2、插入一条待审核的操作记录 ResiGroupOperationDTO resiGroupOperation = new ResiGroupOperationDTO(); resiGroupOperation.setResiGroupId(resiGroupEntity.getId()); resiGroupOperation.setState(GroupStateConstant.GROUP_UNDER_AUDITTING); @@ -383,7 +422,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl 0) { + // 已存在组名,拒绝提交 + throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode(), EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg()); + } + + Date now = new Date(); + int usedEditNum = groupEditSubmitRecordDao.countEditNum(groupId, DateUtils.getMonthStart(now), DateUtils.getMonthEnd(now)); + if (GroupLimitConstant.EDIT_NUM_LIMIT_MONTH <= usedEditNum) { + // 达到最大编辑次数了 + throw new RenException(EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getCode(), EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getMsg()); + } + + // 3.内容检查 + scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto); + + String app = loginUserUtil.getLoginUserApp(); + String userId = loginUserUtil.getLoginUserId(); + String messageText = generateGroupEditMessageText(app, userId, group.getCustomerId(), group.getGridId(), groupName); + + // 4.创建编辑提交记录 + GroupEditSubmitRecordEntity editRecord = new GroupEditSubmitRecordEntity(); + editRecord.setAuditStatus(GroupAuditStatusConstant.UNDER_AUDITING); + editRecord.setCustomerId(group.getCustomerId()); + editRecord.setGridId(group.getGridId()); + editRecord.setGroupHeadPhoto(groupHeadPhoto); + editRecord.setGroupIntroduction(groupIntroduction); + editRecord.setGroupId(groupId); + editRecord.setGroupName(groupName); + editRecord.setReadFlag(ReadFlagConstant.UN_READ); + editRecord.setMessageText(messageText); + + if (groupEditSubmitRecordDao.insert(editRecord) == 0) { + throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), EpmetErrorCode.GROUP_EDIT_ERROR.getMsg()); + } + + resiGroupRedis.addWorkGrassrootsGroupRedDotValue(group.getGridId()); + + } + + /** + * 生成组信息编辑简介文本:xxx申请编辑组信息,请审核 + * @param app + * @param userId + * @param customerId + * @param gridId + * @param groupName + * @return + */ + private String generateGroupEditMessageText(String app, String userId, String customerId, String gridId, String groupName) { + List resiRoles = getResiRoles(app, customerId, userId, gridId); + boolean isPartymember = false; + boolean isWarmhearted = false; + for (UserRoleResultDTO role : resiRoles) { + if (EpmetRoleKeyConstant.WARMHEARTED.equals(role.getRoleKey())) { + isWarmhearted = true; + } + if (EpmetRoleKeyConstant.PARTYMEMBER.equals(role.getRoleKey())) { + isPartymember = true; + } + } + if (!isWarmhearted && isPartymember) { + throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode(), "只有党员和热心居民才能创建和编辑小组"); + } + String roleName = ""; + if (isPartymember) { + roleName = ModuleConstant.PARTYMEMBER; + } else if (isWarmhearted) { + roleName = ModuleConstant.WAREMHEARTED_RESI; + } + + //3.获取居民注册信息 + UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); + resiParam.setCustomerId(customerId); + resiParam.setUserId(userId); + Result resiResult = + epmetUserFeignClient.getUserResiInfoDTO(resiParam); + String userName = ""; + if (resiResult.success() && null != resiResult.getData()) { + userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) + + (StringUtils.isBlank(resiResult.getData().getName()) ? "" : resiResult.getData().getName()); + } + userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; + return String.format(UserMessageConstant.EDIT_OF_GROUP_MESSAGE_TEMPLATE, roleName, userName, groupName); + } + + /** + * 查询居民的角色列表 + * @param app + * @param customerId + * @param userId + * @param gridId + * @return + */ + private List getResiRoles(String app, String customerId, String userId, String gridId) { + UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); + userRoleFormDTO.setApp(app); + userRoleFormDTO.setCustomerId(customerId); + userRoleFormDTO.setUserId(userId); + userRoleFormDTO.setGridId(gridId); + Result> rolesResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); + + if (! rolesResult.success()) { + logger.error("修改组信息:查询居民角色失败,详情:{}", rolesResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "查询居民角色失败"); + } else { + List roles = rolesResult.getData(); + if (CollectionUtils.isEmpty(roles)) { + roles = new ArrayList<>(); + } + return roles; + } + } + + /** + * 内容检查 + * @param groupName + * @param groupIntroduction + * @param groupHeadPhoto + */ + private void scanGroupEditContent(String groupName, String groupIntroduction, String groupHeadPhoto) { + // 文本内容审核 + TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); + TextTaskDTO taskDTO = new TextTaskDTO(); + String content = groupName.concat("-").concat(groupIntroduction); + taskDTO.setContent(content); + taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); + textScanParamDTO.getTasks().add(taskDTO); + Result textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + logger.error("调用内容审核服务审核文本发生错误:{}", textSyncScanResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode(), EpmetErrorCode.TEXT_SCAN_FAILED.getMsg()); + } + } + + // 图片内容审核 + ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); + ImgTaskDTO task = new ImgTaskDTO(); + task.setDataId(UUID.randomUUID().toString().replace("-", "")); + task.setUrl(groupHeadPhoto); + imgScanParamDTO.getTasks().add(task); + + Result imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO); + if (!imgScanResult.success()){ + logger.error("调用内容审核服务审核图片发生错误:{}", textSyncScanResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode(), EpmetErrorCode.IMG_SCAN_FAILED.getMsg()); + } + } + } + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return + * @author wangc + * @date 2020.11.03 10:19 + */ + @Override + public List getEditAuditingList(CommonGridAndPageFormDTO param) { + return Optional.ofNullable(PageHelper.startPage(null == param.getPageNo() ? NumConstant.ONE : param.getPageNo() , null == param.getPageSize() ? NumConstant.TWELVE : param.getPageSize()) + .doSelectPage(() -> { + groupEditSubmitRecordDao.selectGroupEditApplyList(param.getGridId());}).getResult()).orElse(new LinkedList<>()) + .stream().map(o -> { return (ApplyingGroupResultDTO)o; }).collect(Collectors.toList()); + } + + /** + * @Description 查询小组修改信息的详情内容 不加事务! + * @param param + * @return com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @Override + public GroupEditionDetailResultDTO getEditAuditingDetail(GovGroupSummarizeFromDTO param) { + GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),null); + if(null == edit) { + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.getEditAuditingDetail,未找到小组变更信息记录,传参:{}",JSON.toJSONString(param)); + return null;} + //取消未读状态 + GroupEditSubmitRecordEntity _update = new GroupEditSubmitRecordEntity(); + _update.setId(edit.getId());_update.setReadFlag(ModuleConstant.READ); + groupEditSubmitRecordDao.updateById(_update); + GroupEditionDetailResultDTO result = ConvertUtils.sourceToTarget(edit, GroupEditionDetailResultDTO.class); + result.setGroupLeaderName(resiGroupRedis.getFullName(edit.getCreatedBy())); + return result; + } + + /** + * @Description 工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void auditEdit(GroupEditionAuditFormDTO param) { + if(StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT) && StringUtils.isBlank(param.getRemark())){ + throw new RenException("拒绝理由不能为空"); + } + GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),null); + if(null == edit){ + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,找不到待审核的组更新记录,传参:{}",JSON.toJSONString(param)); + throw new RenException("找不到待审核的组更新记录"); + } + + int affectedRows = groupEditSubmitRecordDao.updateAuditResult(param.getGroupId(),param.getStaffId(),param.getAuditResult(),param.getRemark()); + if(affectedRows <= NumConstant.ZERO){ + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,更新组编辑记录时受影响行数小于1,传参:{}",JSON.toJSONString(param)); + throw new RenException("更新组编辑记录时受影响行数小于1"); + } + if(!StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT)){ + //同意 + ResiGroupEntity _update = ConvertUtils.sourceToTarget(edit,ResiGroupEntity.class); + _update.setId(param.getGroupId()); + baseDao.updateById(_update); + } + resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(edit.getGridId()); + resiGroupRedis.delGroup(param.getGroupId()); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 1a5d8964a3..6e34af14da 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -18,7 +18,6 @@ package com.epmet.modules.topic.service.impl; - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -75,9 +74,9 @@ import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO; import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; -import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.form.CheckTopicPublisherFormDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; +import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -1156,48 +1155,49 @@ public class ResiTopicServiceImpl extends BaseServiceImpl issueResult = govIssueFeignClient.issueShiftedToTopic(issueInfo); + if (issueResult == null || !issueResult.success() || StringUtils.isBlank(issueResult.getData())) { + throw new RenException(ModuleConstant.CREATE_ISSUE_ERROR); + } //5.修改话题shiftIssue字段 - if(issueResult.success() && StringUtils.isNotBlank(issueResult.getData())){ - ResiTopicEntity topic2Upd = new ResiTopicEntity(); - topic2Upd.setId(topicTurnIssueFromDTO.getTopicId()); - topic2Upd.setUpdatedBy(topicTurnIssueFromDTO.getUserId()); - topic2Upd.setShiftIssue(Boolean.TRUE); - topic2Upd.setIssueId(issueResult.getData()); - topic2Upd.setUpdatedTime(now); - int topicResult = baseDao.updateOne(topic2Upd); - //6.新增话题操作记录 - if(topicResult == NumConstant.ONE) { - ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); - operation.setCreatedTime(now); - operation.setCreatedBy(topicTurnIssueFromDTO.getUserId()); - operation.setTopicId(topicTurnIssueFromDTO.getTopicId()); - operation.setOperationType(ModuleConstant.TOPIC_OPERATION_TYPE_SHIFT_ISSUE); - int operationResult = resiTopicOperationDao.insertOneByParams(operation); - if(operationResult != NumConstant.ONE){ - logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION); - } - } - //7.更新组统计信息 议题数量+1 - resiGroupStatisticalDao.incryTotalIssues(group.getGroupId()); - if(null != groupCache && null != groupCache.getGroupStatisticalInfo()){ - groupCache.getGroupStatisticalInfo().setTotalIssues( - null == groupCache.getGroupStatisticalInfo().getTotalIssues() ? NumConstant.ONE - : groupCache.getGroupStatisticalInfo().getTotalIssues() + NumConstant.ONE - ); - resiGroupRedis.set(groupCache); - } - logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC); + ResiTopicEntity topic2Upd = new ResiTopicEntity(); + topic2Upd.setId(topicTurnIssueFromDTO.getTopicId()); + topic2Upd.setUpdatedBy(topicTurnIssueFromDTO.getUserId()); + topic2Upd.setShiftIssue(Boolean.TRUE); + topic2Upd.setIssueId(issueResult.getData()); + topic2Upd.setUpdatedTime(now); + int topicResult = baseDao.updateOne(topic2Upd); + //6.新增话题操作记录 + if (topicResult == NumConstant.ONE) { + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setCreatedTime(now); + operation.setCreatedBy(topicTurnIssueFromDTO.getUserId()); + operation.setTopicId(topicTurnIssueFromDTO.getTopicId()); + operation.setOperationType(ModuleConstant.TOPIC_OPERATION_TYPE_SHIFT_ISSUE); + int operationResult = resiTopicOperationDao.insertOneByParams(operation); + if (operationResult != NumConstant.ONE) { + logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION); + } + } + //7.更新组统计信息 议题数量+1 + resiGroupStatisticalDao.incryTotalIssues(group.getGroupId()); + if (null != groupCache && null != groupCache.getGroupStatisticalInfo()) { + groupCache.getGroupStatisticalInfo().setTotalIssues( + null == groupCache.getGroupStatisticalInfo().getTotalIssues() ? NumConstant.ONE + : groupCache.getGroupStatisticalInfo().getTotalIssues() + NumConstant.ONE + ); + resiGroupRedis.set(groupCache); } + logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC); } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index bf00b9e475..4ed27345bb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -327,7 +327,19 @@ public interface ModuleConstant extends Constant { String FIELD_OPERATION_TYPE = "OPERATION_TYPE"; - String CLOSED_TOPIC_REASON_PREFIX="话题已关闭:"; + String CLOSED_TOPIC_REASON_PREFIX = "话题已关闭:"; + + String CREATE_ISSUE_ERROR = "创建议题失败"; + + /** + * 审核操作 同意 + */ + String AUDITING_OPERATION_APPROVAL = "approved"; + + /** + * 审核操作 拒绝 + */ + String AUDITING_OPERATION_REJECT = "rejected"; /** * 获取二维码的url diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index a6984c950a..717cff838d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -134,3 +134,9 @@ thread: maxPoolSize: @thread.pool.max-pool-size@ queueCapacity: @thread.pool.queue-capacity@ keepAlive: @thread.pool.keep-alive@ + + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql new file mode 100644 index 0000000000..1e53a7d6f1 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql @@ -0,0 +1,24 @@ +CREATE TABLE `group_edit_submit_record` +( + `ID` varchar(64) NOT NULL, + `GROUP_ID` varchar(64) NOT NULL COMMENT '小组ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `GRID_ID` varchar(64) DEFAULT NULL COMMENT '网格ID', + `GROUP_HEAD_PHOTO` varchar(255) NOT NULL COMMENT '头像', + `GROUP_NAME` varchar(10) NOT NULL COMMENT '小组名称', + `GROUP_INTRODUCTION` varchar(500) NOT NULL COMMENT '小组介绍', + `AUDIT_STATUS` varchar(30) NOT NULL COMMENT '审核状态。under_auditting:审核中,approved:通过,rejected:驳回', + `STAFF_ID` varchar(64) DEFAULT NULL COMMENT '审核人ID', + `REMARK` varchar(255) DEFAULT NULL COMMENT '回复', + `AUDIT_TIME` datetime DEFAULT NULL COMMENT '审核时间', + `DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识', + `REVISION` int(8) NOT NULL DEFAULT '0' COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人 提交人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '修改人ID', + `UPDATED_TIME` datetime NOT NULL COMMENT '修改时间', + `READ_FLAG` varchar(8) NOT NULL COMMENT '已读read 未读unread', + `MESSAGE_TEXT` varchar(255) NOT NULL COMMENT '审核人员查看待审核列表时的文案,如:党员李华申请变更小组【原小组名】,请审核。', + PRIMARY KEY (`ID`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='组编辑提交记录表' \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml index 40fb0f8615..705387b8cb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,16 +127,19 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} - + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml new file mode 100644 index 0000000000..b9b2924cdb --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml @@ -0,0 +1,150 @@ + + + + + + + id, + group_id, + customer_id, + grid_id, + group_head_photo, + group_name, + group_introduction, + audit_status, + staff_id, + remark, + audit_time, + read_flag, + message_text, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE + group_edit_submit_record + SET + AUDIT_STATUS = #{auditStatus}, + STAFF_ID = #{staffId}, + + REMARK = #{remark}, + + AUDIT_TIME = NOW(),UPDATED_TIME = NOW(),UPDATED_BY = #{staffId} + WHERE + DEL_FLAG = '0' + AND + GROUP_ID = #{groupId} + AND + AUDIT_STATUS = 'under_auditIng' + AND + STAFF_ID IS NULL + LIMIT 1 + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 9f7b719a64..4e42f4abc6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -398,4 +398,25 @@ GRID_ID = #{gridId} + + diff --git a/epmet-module/resi-guide/resi-guide-server/pom.xml b/epmet-module/resi-guide/resi-guide-server/pom.xml index 098b7a0ba5..1282b2f3e8 100644 --- a/epmet-module/resi-guide/resi-guide-server/pom.xml +++ b/epmet-module/resi-guide/resi-guide-server/pom.xml @@ -140,6 +140,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -172,6 +178,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -204,6 +216,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -233,6 +251,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml b/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml index ed94f661c3..836ea9f4ca 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml @@ -118,4 +118,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml b/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml index 936ac0df8c..174beb8e91 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/resi-hall/resi-hall-server/pom.xml b/epmet-module/resi-hall/resi-hall-server/pom.xml index a44a834c35..61c2a76ffe 100644 --- a/epmet-module/resi-hall/resi-hall-server/pom.xml +++ b/epmet-module/resi-hall/resi-hall-server/pom.xml @@ -98,6 +98,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -124,6 +130,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -150,6 +162,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -173,6 +191,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml b/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml index 58e251be5b..479945892d 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml @@ -70,3 +70,8 @@ hystrix: ribbon: ReadTimeout: 300000 ConnectTimeout: 300000 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml b/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml index 39a130d7e1..be2d2c27e7 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/resi-home/resi-home-server/pom.xml b/epmet-module/resi-home/resi-home-server/pom.xml index d43f84aaa6..dac75fd41b 100644 --- a/epmet-module/resi-home/resi-home-server/pom.xml +++ b/epmet-module/resi-home/resi-home-server/pom.xml @@ -116,6 +116,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -140,6 +146,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -164,6 +176,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -185,6 +203,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml b/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml index afb7ab3e38..3c5dee1515 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml @@ -69,3 +69,8 @@ hystrix: ribbon: ReadTimeout: 300000 ConnectTimeout: 300000 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ diff --git a/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml b/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml index a53039bc12..81dec45754 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/resi-mine/resi-mine-server/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml index 96597e773c..f68f226c46 100644 --- a/epmet-module/resi-mine/resi-mine-server/pom.xml +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -140,6 +140,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -163,6 +169,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -186,6 +198,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -206,6 +224,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml b/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml index 6e5eb54cc2..eff0b2bbb3 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml @@ -97,3 +97,8 @@ hystrix: ribbon: ReadTimeout: 300000 ConnectTimeout: 300000 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml index ffa4fdd447..2893426200 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index 74088b3ac0..63d0d5e4bf 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -146,6 +146,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -178,6 +185,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -210,6 +224,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -239,6 +260,14 @@ true + + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml index a2118ff3a3..62322c11c8 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml @@ -117,4 +117,9 @@ ribbon: #pageHelper分页插件 pagehelper: helper-dialect: mysql - reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 \ No newline at end of file + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml index 02b45f2efc..ce07d2963b 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-module/resi-voice/resi-voice-server/pom.xml b/epmet-module/resi-voice/resi-voice-server/pom.xml index 9985f3c6a5..4a1a3a18dc 100644 --- a/epmet-module/resi-voice/resi-voice-server/pom.xml +++ b/epmet-module/resi-voice/resi-voice-server/pom.xml @@ -102,6 +102,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -126,6 +133,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -150,6 +164,13 @@ false + + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -174,6 +195,14 @@ false + + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml b/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml index 03891ed01a..589e4fb19e 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml @@ -65,3 +65,8 @@ hystrix: ribbon: ReadTimeout: 300000 ConnectTimeout: 300000 + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml b/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml index 98bc0a986b..c6e86ca128 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-openapi/epmet-openapi-scan/pom.xml b/epmet-openapi/epmet-openapi-scan/pom.xml index c77bafe339..b80b8a843e 100644 --- a/epmet-openapi/epmet-openapi-scan/pom.xml +++ b/epmet-openapi/epmet-openapi-scan/pom.xml @@ -104,6 +104,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -129,6 +135,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -150,6 +162,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -175,6 +193,14 @@ false + + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml b/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml index 84000daee9..2c2a29d61a 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml +++ b/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml @@ -77,3 +77,8 @@ aliyun: regionId: cn-shanghai bizType: epmet_img_text +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ + diff --git a/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml b/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml index d244b6fa2a..9d2ad51e14 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml +++ b/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml @@ -5,6 +5,8 @@ + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java index c674685ee5..2c23abe08b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java @@ -1,6 +1,6 @@ package com.epmet.dto.result; -import com.fasterxml.jackson.annotation.JsonIgnore; + import lombok.Data; import java.io.Serializable; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index ea80ac97fc..b00b21c704 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -335,6 +335,15 @@ public interface EpmetUserOpenFeignClient { @PostMapping("/epmetuser/customerstaff/getstaffbasicinfo") Result getStaffBasicInfo(@RequestBody StaffBasicInfoFromDTO fromDTO); + /** + * @Description 根据角色key查询具有该key的所有角色列表 + * @return + * @author wxz + * @date 2020.11.17 16:20 + */ + @PostMapping("/epmetuser/govstaffrole/list-roles-by-rolekey/{role-key}") + Result> listRolesByRoleKey(@PathVariable("role-key") String roleKey); + /** * 根据userId集合查询用户注册信息 * @author sun diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 3ea59d86a6..11e774ff6b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -226,6 +226,11 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffBasicInfo", fromDTO); } + @Override + public Result> listRolesByRoleKey(String roleKey) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "listRolesByRoleKey", roleKey); + } + @Override public Result> getUserResiInfoList(UserResiInfoListFormDTO fromDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", fromDTO); diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 61c5b17203..385f86164d 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -155,6 +155,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -187,6 +193,12 @@ false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -219,6 +231,12 @@ true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + @@ -248,6 +266,13 @@ true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GovStaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GovStaffRoleController.java index 81a79972c0..40cab6cb5a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GovStaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GovStaffRoleController.java @@ -100,4 +100,16 @@ public class GovStaffRoleController { return new Result(); } + /** + * @Description 根据角色key查询具有该key的所有角色列表 + * @return + * @author wxz + * @date 2020.11.17 16:20 + */ + @PostMapping("list-roles-by-rolekey/{role-key}") + public Result> listRolesByRoleKey(@PathVariable("role-key") String roleKey) { + List roles = govStaffRoleService.listRolesByRoleKey(roleKey); + return new Result>().ok(roles); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java index aab3c4ae30..f7875d63d5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GovStaffRoleDao.java @@ -75,4 +75,6 @@ public interface GovStaffRoleDao extends BaseDao { int updateColumnsById(@Param("roleId") String roleId, @Param("roleName") String roleName); int updateSortById(@Param("roleId") String roleId, @Param("sort") int sort); + + List listRolesByRoleKey(@Param("roleKey") String roleKey); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java index ef513d0ac7..d0f6b2def7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java @@ -75,4 +75,6 @@ public interface UserWechatDao extends BaseDao{ **/ List selectResiAndStrangerInfo(@Param("userIds") List userIds, @Param("realName")String realName); + //临时用下in + List selectNotInUserBaseInfoTemp(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GovStaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GovStaffRoleService.java index eef3e6f0b0..346fad61b2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GovStaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GovStaffRoleService.java @@ -138,4 +138,6 @@ public interface GovStaffRoleService extends BaseService { int updateRole(String roleId, String roleName); void saveSortOrder(List roleIdList); + + List listRolesByRoleKey(String roleKey); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java index 6a22460731..726be2370d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java @@ -222,4 +222,15 @@ public class GovStaffRoleServiceImpl extends BaseServiceImpl listRolesByRoleKey(String roleKey) { + return govStaffRoleDao.listRolesByRoleKey(roleKey); + } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 7143b7d171..326e74912d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -166,7 +166,7 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl userWechatDTOList=userWechatDao.selectAll(); + List userWechatDTOList=userWechatDao.selectNotInUserBaseInfoTemp(); List userIdList=new ArrayList<>(); for(UserWechatDTO userWechatDTO:userWechatDTOList){ userIdList.add(userWechatDTO.getUserId()); @@ -202,12 +202,12 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl + + ${appname} @@ -125,11 +127,14 @@ 15 - - + + ERROR ACCEPT DENY + ${webHook} + ${secret} + ${appname} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml index 1a8c27b7d0..40539c565f 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/GovStaffRoleDao.xml @@ -103,4 +103,12 @@ ) + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index fc345f9fd2..0aa445acfa 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -42,34 +42,28 @@ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml index 98a5c58075..5797e95eef 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml @@ -115,4 +115,24 @@ ORDER BY base.REAL_NAME , wechat.NICKNAME + + +