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 05b505594b..9de4b0d167 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 @@ -76,23 +76,23 @@ public enum RequirePermissionEnum { /** * 基层治理-议题管理 */ - WORK_GRASSROOTS_ISSUE_VOTINGLIST("work_grassroots_issue_voting_list","表决中","表决中议题列表查询"), - WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST("work_grassroots_issue_shifted_project_list", "已转项目列表查询","已转项目议题列表查询"), - WORK_GRASSROOTS_ISSUE_CLOSED_LIST("work_grassroots_issue_closed_list","已关闭","已关闭议题列表查询"), - WORK_GRASSROOTS_ISSUE_DETAIL("work_grassroots_issue_detail", "议题详情","议题详情界面所有的api添加此校验"), - WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT("work_grassroots_issue_shift_project", "转项目","转项目(选择处理部门api也需要添加此校验)"), - WORK_GRASSROOTS_ISSUE_CLOSE("work_grassroots_issue_close","关闭议题","关闭议题"), + WORK_GRASSROOTS_ISSUE_VOTINGLIST("work_grassroots_issue_voting_list","基层治理:议题管理:表决中","表决中议题列表查询"), + WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST("work_grassroots_issue_shifted_project_list", "基层治理:议题管理:已转项目列表查询","已转项目议题列表查询"), + WORK_GRASSROOTS_ISSUE_CLOSED_LIST("work_grassroots_issue_closed_list","基层治理:议题管理:已关闭","已关闭议题列表查询"), + WORK_GRASSROOTS_ISSUE_DETAIL("work_grassroots_issue_detail", "基层治理:议题管理:议题详情","议题详情界面所有的api添加此校验"), + WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT("work_grassroots_issue_shift_project", "基层治理:议题管理:转项目","转项目(选择处理部门api也需要添加此校验)"), + WORK_GRASSROOTS_ISSUE_CLOSE("work_grassroots_issue_close","基层治理:议题管理:关闭议题","关闭议题"), /** * 工作-项目跟踪 */ - WORK_PROJECT_TRACE_PENDING_LIST("work_project_trace_pending_list","待处理","待处理的项目,列表查询"), - WORK_PROJECT_TRACE_CREATED_LIST("work_project_trace_created_list","我发起","我发起的项目,列表查询"), - WORK_PROJECT_TRACE_INVOLVED_LIST("work_project_trace_involved_list","我参与","我参与的项目,列表查询"), - WORK_PROJECT_TRACE_DETAIL("work_project_trace_detail","项目详情","项目详情界面所有的api添加此校验"), - WORK_PROJECT_TRACE_CLOSE("work_project_trace_close","结案","结案"), - WORK_PROJECT_TRACE_TRANSFER("work_project_trace_transfer","转其他部门","转其他部门(选择处理部门api也需要添加此校验)"), - WORK_PROJECT_TRACE_RETURN("work_project_trace_return","退回","退回"), + WORK_PROJECT_TRACE_PENDING_LIST("work_project_trace_pending_list","项目跟踪:待处理","待处理的项目,列表查询"), + WORK_PROJECT_TRACE_CREATED_LIST("work_project_trace_created_list","项目跟踪:我发起","我发起的项目,列表查询"), + WORK_PROJECT_TRACE_INVOLVED_LIST("work_project_trace_involved_list","项目跟踪:我参与","我参与的项目,列表查询"), + WORK_PROJECT_TRACE_DETAIL("work_project_trace_detail","项目跟踪:项目详情","项目详情界面所有的api添加此校验"), + WORK_PROJECT_TRACE_CLOSE("work_project_trace_close","项目跟踪:结案","结案"), + WORK_PROJECT_TRACE_TRANSFER("work_project_trace_transfer","项目跟踪:转其他部门","转其他部门(选择处理部门api也需要添加此校验)"), + WORK_PROJECT_TRACE_RETURN("work_project_trace_return","项目跟踪:退回","退回"), /** * 党务工作-党建声音 @@ -106,7 +106,17 @@ public enum RequirePermissionEnum { WORK_PARTY_VOICE_PUBLISH("work_party_voice_publish", "党建声音:创建文章", ""), WORK_PARTY_VOICE_EDIT("work_party_voice_edit", "党建声音:重新编辑", ""), WORK_PARTY_VOICE_OFFLINE("work_party_voice_offline", "党建声音:下线文章", ""), - WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录",""); + WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录",""), + + /** + * 基层治理-支部管理 + */ + WORK_GRASSROOTS_PARTY_BRANCH_ADD("work_grassroots_party_branch_add","基层治理:支部管理:添加党支部","支部管理-添加党支部"), + WORK_GRASSROOTS_PARTY_BRANCH_EDIT("work_grassroots_party_branch_edit","基层治理:支部管理:编辑党支部","支部管理-编辑党支部信息"), + WORK_GRASSROOTS_PARTY_BRANCH_DELETE("work_grassroots_party_branch_delete","基层治理:支部管理:删除党支部","支部管理-删除党支部"), + WORK_GRASSROOTS_PARTY_MEMBER_ADD("work_grassroots_party_member_add","基层治理:支部管理:添加党员","支部管理-添加党员"), + WORK_GRASSROOTS_PARTY_MEMBER_EDIT("work_grassroots_party_member_edit","基层治理:支部管理:编辑党员","支部管理-编辑党员"), + WORK_GRASSROOTS_PARTY_MEMBER_DELETE("work_grassroots_party_member_delete","基层治理:支部管理:删除党员","支部管理-删除党员"); private String key; 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 04aabbf38f..e12787cc3b 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 @@ -37,7 +37,13 @@ public enum EpmetErrorCode { MOBILE_GET_CODE_ERROR(8104,"获取验证码失败"), MESSAGE_SMS_SEND_ERROR(8105, "短信发送失败"), NOT_DEL_GRID(8106,"该网格存在工作人员,不允许删除"), + ORG_IS_NOT_NULL(8107,"党组织关系不能为空"), + CANNOT_DELETE_PARTY_BRANCH(8108,"当前支部存在党员,不允许删除"), + IDCARDNO_ALREADY_EXITS(8109,"系统已存在相同身份证号码,请重新输入"), + IDCARDNO_ERROR(8110,"身份证号格式错误,请重新输入"), + CANNOT_DELETE_PARTY_MEMBER(8111,"该用户已注册党员,不允许删除"), + CANNOT_AUDIT_WARM(8201, "请完善居民信息"), NOT_DEL_AGENCY(8202, "该机关存在下级机关,不允许删除"), @@ -89,7 +95,7 @@ public enum EpmetErrorCode { return epmetErrorCodeEnum.getMsg(); } } - return null; + return EpmetErrorCode.SERVER_ERROR.getMsg(); } public int getCode(){ diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java new file mode 100644 index 0000000000..2aa3e2c964 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java @@ -0,0 +1,212 @@ +package com.epmet.commons.tools.validator; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.Hashtable; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static java.util.regex.Pattern.*; + +/** + * 身份证号校验 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/18 9:59 + */ +public class IdCardNoValidatorUtils { + + private static Logger logger = LoggerFactory.getLogger(IdCardNoValidatorUtils.class); + + /** + * 身份证验证 + * + * @param idCardNo + * @return 校验信息,correct为成功,失败会返回对应的失败原因 + */ + public static boolean checkIsIdCardNo(String idCardNo) { + String[] wf = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"}; + String[] checkCode = {"7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"}; + String iDCardNo = ""; + try { + //判断号码的长度 15位或18位 + if (idCardNo.length() != 15 && idCardNo.length() != 18) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证号码长度应该为15位或18位")); + return false; + } + if (idCardNo.length() == 18) { + String lastStr = idCardNo.substring(idCardNo.length() - 1); + if (!Character.isDigit(lastStr.charAt(0))) { + if (Character.isLowerCase(lastStr.charAt(0))) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "18身份证号最后一位字母需要大写")); + return false; + } + } else { + logger.info(String.format("身份证号%s最后一位为数字")); + } + } + if (idCardNo.length() == 18) { + iDCardNo = idCardNo.substring(0, 17); + } else if (idCardNo.length() == 15) { + iDCardNo = idCardNo.substring(0, 6) + "19" + idCardNo.substring(6, 15); + } + if (isStrNum(iDCardNo) == false) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证15位号码都应为数字;18位号码除最后一位外,都应为数字")); + return false; + } + //判断出生年月 + String strYear = iDCardNo.substring(6, 10);// 年份 + String strMonth = iDCardNo.substring(10, 12);// 月份 + String strDay = iDCardNo.substring(12, 14);// 月份 + if (isStrDate(strYear + "-" + strMonth + "-" + strDay) == false) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证生日无效")); + return false; + } + GregorianCalendar gc = new GregorianCalendar(); + SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd"); + if ((gc.get(Calendar.YEAR) - Integer.parseInt(strYear)) > 150 || (gc.getTime().getTime() - s.parse(strYear + "-" + strMonth + "-" + strDay).getTime()) < 0) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证生日不在有效范围")); + return false; + } + if (Integer.parseInt(strMonth) > 12 || Integer.parseInt(strMonth) == 0) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证月份无效")); + return false; + } + if (Integer.parseInt(strDay) > 31 || Integer.parseInt(strDay) == 0) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证日期无效")); + return false; + } + //判断地区码 + Hashtable h = GetAreaCode(); + if (h.get(iDCardNo.substring(0, 2)) == null) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证地区编码错误")); + return false; + } + //判断最后一位 + int theLastOne = 0; + for (int i = 0; i < 17; i++) { + theLastOne = theLastOne + Integer.parseInt(String.valueOf(iDCardNo.charAt(i))) * Integer.parseInt(checkCode[i]); + } + int modValue = theLastOne % 11; + String strVerifyCode = wf[modValue]; + iDCardNo = iDCardNo + strVerifyCode; + + if (idCardNo.length() == 18 && !iDCardNo.equals(idCardNo)) { + logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证无效,不是合法的身份证号码")); + return false; + } + + } catch (Exception e) { + logger.error(String.format("校验身份证号方法异常")); + e.printStackTrace(); + } + return true; + } + + /** + * 地区代码 + * + * @return Hashtable + */ + private static Hashtable GetAreaCode() { + Hashtable hashtable = new Hashtable(); + hashtable.put("11", "北京"); + hashtable.put("12", "天津"); + hashtable.put("13", "河北"); + hashtable.put("14", "山西"); + hashtable.put("15", "内蒙古"); + hashtable.put("21", "辽宁"); + hashtable.put("22", "吉林"); + hashtable.put("23", "黑龙江"); + hashtable.put("31", "上海"); + hashtable.put("32", "江苏"); + hashtable.put("33", "浙江"); + hashtable.put("34", "安徽"); + hashtable.put("35", "福建"); + hashtable.put("36", "江西"); + hashtable.put("37", "山东"); + hashtable.put("41", "河南"); + hashtable.put("42", "湖北"); + hashtable.put("43", "湖南"); + hashtable.put("44", "广东"); + hashtable.put("45", "广西"); + hashtable.put("46", "海南"); + hashtable.put("50", "重庆"); + hashtable.put("51", "四川"); + hashtable.put("52", "贵州"); + hashtable.put("53", "云南"); + hashtable.put("54", "西藏"); + hashtable.put("61", "陕西"); + hashtable.put("62", "甘肃"); + hashtable.put("63", "青海"); + hashtable.put("64", "宁夏"); + hashtable.put("65", "新疆"); + hashtable.put("71", "台湾"); + hashtable.put("81", "香港"); + hashtable.put("82", "澳门"); + hashtable.put("91", "国外"); + return hashtable; + } + + /** + * 判断字符串是否为数字 + * + * @param str + * @return + */ + private static boolean isStrNum(String str) { + Pattern pattern = compile("[0-9]*"); + Matcher isNum = pattern.matcher(str); + if (isNum.matches()) { + return true; + } else { + return false; + } + } + + /** + * 判断字符串是否为日期格式 + * + * @param strDate + * @return + */ + public static boolean isStrDate(String strDate) { + Pattern pattern = compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$"); + Matcher m = pattern.matcher(strDate); + if (m.matches()) { + return true; + } else { + return false; + } + } + + + //根据身份证号判断性别 1男2女0未知 + public static String getGender(String idCard) { + String gender = "0"; + if (!IdCardNoValidatorUtils.checkIsIdCardNo(idCard)) { + return gender; + } + if (idCard.length() == 18) { + if (Integer.parseInt(idCard.substring(16).substring(0, 1)) % 2 == 0) { + gender = "2"; + } else { + gender = "1"; + } + } else if (idCard.length() == 15) { + String usex = idCard.substring(14, 15); + if (Integer.parseInt(usex) % 2 == 0) { + gender = "2"; + } else { + gender = "1"; + } + } + return gender; + } + +} + diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigOpeDefaultScopesFormDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigOpeDefaultScopesFormDTO.java new file mode 100644 index 0000000000..86dad3a7a3 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigOpeDefaultScopesFormDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 权限配置-操作默认范围form dto + */ +@Data +public class AccessConfigOpeDefaultScopesFormDTO { + + public interface ListOpeDefaultScopesGroup {} + public interface SaveOpeDefaultScopesGroup {} + + @NotBlank(message = "角色Key不能为空", groups = { ListOpeDefaultScopesGroup.class, SaveOpeDefaultScopesGroup.class }) + private String roleKey; + + @NotBlank(message = "操作Key不能为空", groups = { ListOpeDefaultScopesGroup.class, SaveOpeDefaultScopesGroup.class }) + private String operationKey; + + private List scopeKeys; +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigRoleDefaultOpesFormDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigRoleDefaultOpesFormDTO.java new file mode 100644 index 0000000000..cb6f196403 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigRoleDefaultOpesFormDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +/** + * 角色默认操作权限列表from DTO + */ +@Data +public class AccessConfigRoleDefaultOpesFormDTO { + + @NotBlank(message = "角色Key不能为空") + private String roleKey; + + private List operationKeys; +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/AccessConfigOpeDefaultScopesResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/AccessConfigOpeDefaultScopesResultDTO.java new file mode 100644 index 0000000000..53023bd459 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/AccessConfigOpeDefaultScopesResultDTO.java @@ -0,0 +1,16 @@ +package com.epmet.dto.result; + +import lombok.Data; + +/** + * 权限配置-操作的默认范围result dto + */ +@Data +public class AccessConfigOpeDefaultScopesResultDTO { + private String scopeKey; + private String scopeName; + private String scopeIndex; + private String operationKey; + private String roleKey; + private Boolean assigned; +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java new file mode 100644 index 0000000000..4c1f593712 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +@Data +public class OperationScopeDefaultResultDTO { + + private String roleKey; + + /** + * 操作key + */ + private String operationKey; + + /** + * 范围key + */ + private String scopeKey; + +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java index a757844fe3..6961dad6ca 100755 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java @@ -18,7 +18,6 @@ package com.epmet.dto.result; import java.io.Serializable; -import java.util.Date; import lombok.Data; @@ -48,4 +47,14 @@ public class RoleOperationDefaultResultDTO implements Serializable { */ private String operationKey; + /** + * 操作名称 + */ + private String operationName; + + /** + * 是否已经具有该操作权限 + */ + private Boolean assigned; + } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java index c419c8a257..b4ca57f24b 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java @@ -8,6 +8,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +//@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallBack.class, url = "http://localhost:8099") @FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallBack.class) public interface GovAccessFeignClient { diff --git a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml index abaec853c1..8780612264 100644 --- a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-access-server: container_name: gov-access-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.29 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.32 ports: - "8099:8099" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-access/gov-access-server/pom.xml b/epmet-module/gov-access/gov-access-server/pom.xml index 417d37bd68..93a1bd00f9 100644 --- a/epmet-module/gov-access/gov-access-server/pom.xml +++ b/epmet-module/gov-access/gov-access-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.29 + 0.3.32 gov-access com.epmet @@ -120,7 +120,7 @@ 6379 123456 - false + true 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b 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 49374b9084..ec11eaa26f 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 @@ -2,12 +2,13 @@ package com.epmet.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.AccessConfigOpesFormDTO; -import com.epmet.dto.form.AccessConfigOptionsFormDTO; -import com.epmet.dto.form.AccessConfigSaveConfigDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO; import com.epmet.dto.result.AccessConfigOpesResultDTO; import com.epmet.dto.result.AccessConfigOptionsResultDTO; +import com.epmet.dto.result.RoleOperationDefaultResultDTO; import com.epmet.service.AccessConfigService; +import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,7 +23,18 @@ public class AccessConfigController { private AccessConfigService accessConfigService; /** - * 列出角色的操作列表(及该操作的scope范围) + * 根据roleKey查询角色默认操作列表(包括assigned字段,标识该角色是否已经具有该操作权限) + * @param roleKey + * @return + */ + @PostMapping("roledefaultops/{roleKey}") + public Result listRoleDefaultOps(@PathVariable("roleKey") String roleKey) { + List defaultOps = accessConfigService.listRoleDefaultOpsByRoleKey(roleKey); + return new Result().ok(defaultOps); + } + + /** + * 根据角色ID列出角色的操作列表(及该操作的scope范围) * @param roleId * @return */ @@ -68,4 +80,40 @@ public class AccessConfigController { return new Result(); } + /** + * 保存角色默认操作权限列表 + * @param form + * @return + */ + @PostMapping("roledefaultopes/save") + public Result saveRoleDefaultOperations(@RequestBody AccessConfigRoleDefaultOpesFormDTO form) { + ValidatorUtils.validateEntity(form); + accessConfigService.saveRoleDefaultOperations(form.getRoleKey(), form.getOperationKeys()); + return new Result(); + } + + /** + * 查询操作的默认范围列表 + * @param form + * @return + */ + @PostMapping("opedefaultscopes/list") + public Result listOpeDefaultScopes(@RequestBody AccessConfigOpeDefaultScopesFormDTO form) { + ValidatorUtils.validateEntity(form, AccessConfigOpeDefaultScopesFormDTO.ListOpeDefaultScopesGroup.class); + List scopes = accessConfigService.listOpeDefaultScopes4Role(form.getRoleKey(), form.getOperationKey()); + return new Result().ok(scopes); + } + + /** + * 保存操作的默认范围配置 + * @param form + * @return + */ + @PostMapping("opedefaultscopes/save") + public Result saveOpeDefaultScopes(@RequestBody AccessConfigOpeDefaultScopesFormDTO form) { + ValidatorUtils.validateEntity(form, AccessConfigOpeDefaultScopesFormDTO.SaveOpeDefaultScopesGroup.class); + accessConfigService.saveOpeDefaultScopes(form.getRoleKey(), form.getOperationKey(), form.getScopeKeys()); + return new Result(); + } + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java new file mode 100755 index 0000000000..2c9a049e83 --- /dev/null +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java @@ -0,0 +1,64 @@ +/** + * 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.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO; +import com.epmet.dto.result.OperationScopeDefaultResultDTO; +import com.epmet.entity.OperationScopeDefaultEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 默认操作范围表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@Mapper +public interface OperationScopeDefaultDao extends BaseDao { + List listAllValid(); + + /** + * 根据角色key和操作key查询默认操作权限列表 + * @param roleKey + * @return + */ + List listDefaultOpeScopes(@Param("roleKey") String roleKey); + + /** + * 查询操作的默认范围 + * @param roleKey + * @param operationKey + * @return + */ + List listOpeDefaultScopes4Config( + @Param("roleKey") String roleKey, + @Param("operationKey") String operationKey); + + List listOpeDefaultScopesByRoleAndOpeKey( + @Param("roleKey") String roleKey, + @Param("operationKey") String operationKey); + + int delete( + @Param("roleKey") String roleKey, + @Param("operationKey") String operationKey, + @Param("scopeKey") String scopeKey); +} \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java index 820c23bba6..19ccbf901e 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO; import com.epmet.dto.result.RoleOperationDefaultResultDTO; import com.epmet.entity.RoleOperationDefaultEntity; import org.apache.ibatis.annotations.Mapper; @@ -47,4 +48,10 @@ public interface RoleOperationDefaultDao extends BaseDao listByRoleKey(@Param("roleKey") String roleKey); + + List listRoleDefaultOpsByRoleKey(@Param("roleKey") String roleKey); + + int deleteByRoleKeyAndOpeKey( + @Param("roleKey") String roleKey, + @Param("operationKey") String operationKey); } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java new file mode 100755 index 0000000000..6ec89eb12b --- /dev/null +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java @@ -0,0 +1,53 @@ +/** + * 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.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-06-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("operation_scope_default") +public class OperationScopeDefaultEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + private String roleKey; + + /** + * 操作key + */ + private String operationKey; + + /** + * 范围key + */ + private String scopeKey; + +} diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleOperationDefaultEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleOperationDefaultEntity.java index b19c7e08e0..8ea82b13b9 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleOperationDefaultEntity.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleOperationDefaultEntity.java @@ -18,12 +18,13 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper=false) +@TableName("role_operation_default") public class RoleOperationDefaultEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; 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 e6dfec5878..3fc28b675f 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 @@ -1,7 +1,10 @@ package com.epmet.service; +import com.epmet.dto.form.AccessConfigRoleDefaultOpesFormDTO; +import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO; import com.epmet.dto.result.AccessConfigOpesResultDTO; import com.epmet.dto.result.AccessConfigOptionsResultDTO; +import com.epmet.dto.result.RoleOperationDefaultResultDTO; import java.util.List; import java.util.Set; @@ -14,4 +17,12 @@ public interface AccessConfigService { AccessConfigOptionsResultDTO listScopeOptionsForAccessConfig(String roleId, String operationKey); void saveConfig(String roleId, String operationKey, Set scopeKeys); + + List listRoleDefaultOpsByRoleKey(String roleKey); + + void saveRoleDefaultOperations(String roleKey, List operationKeys); + + List listOpeDefaultScopes4Role(String roleKey, String operationKey); + + void saveOpeDefaultScopes(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 78594a96fd..7b635cedf0 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 @@ -4,6 +4,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; 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.redis.RoleOpeScopeRedis; @@ -30,9 +32,15 @@ public class AccessConfigServiceImpl implements AccessConfigService { @Autowired private RoleOperationDao roleOperationDao; + @Autowired + private RoleOperationDefaultDao roleOperationDefaultDao; + @Autowired private RoleScopeDao roleScopeDao; + @Autowired + private OperationScopeDefaultDao operationScopeDefaultDao; + @Override public List listOpesByRole(String roleId) { return roleOperationDao.listOpesForAccessConfig(roleId); @@ -118,4 +126,74 @@ public class AccessConfigServiceImpl implements AccessConfigService { // 清空redis缓存 roleOpeScopeRedis.delRoleAllOpeScopes(roleId); } + + @Override + public List listRoleDefaultOpsByRoleKey(String roleKey) { + return roleOperationDefaultDao.listRoleDefaultOpsByRoleKey(roleKey); + } + + /** + * + * @param roleKey + * @param operationKeys + */ + @Transactional(rollbackFor = Exception.class) + @Override + public void saveRoleDefaultOperations(String roleKey, List operationKeys) { + + List opesExists = roleOperationDefaultDao.listByRoleKey(roleKey); + Set opeKeysExists = opesExists.stream().map(ope -> ope.getOperationKey()).collect(Collectors.toSet()); + + // 过滤出删掉的 + Set deletedOpes = opeKeysExists.stream().filter(oke -> !operationKeys.contains(oke)).collect(Collectors.toSet()); + // 过滤出新增的 + Set newOpes = operationKeys.stream().filter(okn -> !opeKeysExists.contains(okn)).collect(Collectors.toSet()); + + for (String deletedOpe : deletedOpes) { + roleOperationDefaultDao.deleteByRoleKeyAndOpeKey(roleKey, deletedOpe); + } + + for (String newOpe : newOpes) { + RoleOperationDefaultEntity entity = new RoleOperationDefaultEntity(); + entity.setRoleKey(roleKey); + entity.setOperationKey(newOpe); + roleOperationDefaultDao.insert(entity); + } + } + + /** + * 查询默认的 + * @param roleKey + * @param operationKey + * @return + */ + @Override + public List listOpeDefaultScopes4Role(String roleKey, String operationKey) { + return operationScopeDefaultDao.listOpeDefaultScopes4Config(roleKey, operationKey); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveOpeDefaultScopes(String roleKey, String operationKey, List submitScopeKeys) { + List exists = operationScopeDefaultDao.listOpeDefaultScopesByRoleAndOpeKey(roleKey, operationKey); + + Set existsScopeKeys = exists.stream().map(ope -> ope.getScopeKey()).collect(Collectors.toSet()); + + // 删掉的 + Set deleteds = existsScopeKeys.stream().filter(esk -> !submitScopeKeys.contains(esk)).collect(Collectors.toSet()); + // 新增的 + Set addeds = submitScopeKeys.stream().filter(ssk -> !existsScopeKeys.contains(ssk)).collect(Collectors.toSet()); + + for (String scopeKey : deleteds) { + operationScopeDefaultDao.delete(roleKey, operationKey, scopeKey); + } + + for (String scopeKey : addeds) { + OperationScopeDefaultEntity entity = new OperationScopeDefaultEntity(); + entity.setOperationKey(operationKey); + entity.setRoleKey(roleKey); + entity.setScopeKey(scopeKey); + operationScopeDefaultDao.insert(entity); + } + } } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java index a1320faf7b..28943e74b8 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java @@ -23,13 +23,18 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.OperationScopeDefaultDao; import com.epmet.dao.RoleOperationDao; import com.epmet.dao.RoleOperationDefaultDao; +import com.epmet.dao.RoleScopeDao; import com.epmet.dto.RoleOperationDTO; import com.epmet.dto.form.InitDefaultOperationsFormDTO; +import com.epmet.dto.result.OperationScopeDefaultResultDTO; import com.epmet.dto.result.RoleOperationDefaultResultDTO; import com.epmet.dto.result.RoleOperationResultDTO; +import com.epmet.entity.OperationScopeDefaultEntity; import com.epmet.entity.RoleOperationEntity; +import com.epmet.entity.RoleScopeEntity; import com.epmet.service.RoleOperationService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -37,9 +42,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 角色能进行那些操作 @@ -56,6 +59,12 @@ public class RoleOperationServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -116,7 +125,6 @@ public class RoleOperationServiceImpl extends BaseServiceImpl roles) { - //roleOperationDefaultDao.listAllValid(); for (InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO role : roles) { String roleId = role.getRoleId(); String roleKey = role.getRoleKey(); @@ -124,6 +132,7 @@ public class RoleOperationServiceImpl extends BaseServiceImpl operations) { + HashMap> opeScopeMap = listDefaultOpeScopesMap(roleKey); + for (RoleOperationDefaultResultDTO operation : operations) { + // 该角色,该操作的操作范围列表 + Set scopeKeys4ThisOpe = opeScopeMap.get(operation.getOperationKey()); + if (!CollectionUtils.isEmpty(scopeKeys4ThisOpe)) { + for (String scopeKey : scopeKeys4ThisOpe) { + RoleScopeEntity roleScopeEntity = new RoleScopeEntity(); + roleScopeEntity.setOperationKey(operation.getOperationKey()); + roleScopeEntity.setRoleId(roleId); + roleScopeEntity.setScopeKey(scopeKey); + roleScopeDao.insert(roleScopeEntity); + } + } + } + } + + private HashMap> listDefaultOpeScopesMap(String roleKey) { + List defaultScopes = operationScopeDefaultDao.listDefaultOpeScopes(roleKey); + return convertScopeDefaultDto2Map(defaultScopes); + } + + /** + * 将默认范围entity转换为map + * @param entities + * @return + */ + private HashMap> convertScopeDefaultEntity2Map(List entities) { + HashMap> map = new HashMap<>(); + for (OperationScopeDefaultEntity entity : entities) { + Set scopes = map.get(entity.getOperationKey()); + if (scopes == null) { + scopes = new HashSet<>(); + map.put(entity.getOperationKey(), scopes); + } + scopes.add(entity.getScopeKey()); + } + return map; + } + + /** + * 将默认范围dto转换为map + * @param dtos + * @return + */ + private HashMap> convertScopeDefaultDto2Map(List dtos) { + HashMap> map = new HashMap<>(); + for (OperationScopeDefaultResultDTO dto : dtos) { + Set scopes = map.get(dto.getOperationKey()); + if (scopes == null) { + scopes = new HashSet<>(); + map.put(dto.getOperationKey(), scopes); + } + scopes.add(dto.getScopeKey()); + } + return map; + } + } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml index c1772b7c54..0591776c96 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml @@ -32,6 +32,16 @@ + + + + SELECT * + FROM operation_scope_default WHERE DEL_FLAG=0 + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml index dfd74bfea0..98cd9f675b 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml @@ -15,6 +15,11 @@ + + + DELETE FROM role_operation_default WHERE ROLE_KEY = #{roleKey} AND OPERATION_KEY = #{operationKey} + + - + \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-client/pom.xml b/epmet-module/gov-grid/gov-grid-client/pom.xml index 297cb07121..5c477c501f 100644 --- a/epmet-module/gov-grid/gov-grid-client/pom.xml +++ b/epmet-module/gov-grid/gov-grid-client/pom.xml @@ -19,6 +19,12 @@ org.projectlombok lombok + + com.epmet + epmet-commons-tools + 2.0.0 + compile + diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/DeletePartyMemberFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/DeletePartyMemberFormDTO.java new file mode 100644 index 0000000000..bcce3cb4bd --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/DeletePartyMemberFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 删除党员入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/18 18:05 + */ +@Data +public class DeletePartyMemberFormDTO implements Serializable { + private static final long serialVersionUID = 2325963253025239121L; + + public interface AddUserInternalGroup {} + /** + * 党员id + */ + @NotBlank(message = "党员id不能为空",groups = {PartyMemberIdFormDTO.AddUserInternalGroup.class}) + private String partyMemberId; + + /** + * 党支部id + */ + @NotBlank(message = "党支部id不能为空",groups = {PartyMemberIdFormDTO.AddUserInternalGroup.class}) + private String partyBranchId; + +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchAddFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchAddFormDTO.java new file mode 100644 index 0000000000..3de9a6f231 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchAddFormDTO.java @@ -0,0 +1,50 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 添加党支部入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 12:35 + */ +@Data +public class PartyBranchAddFormDTO implements Serializable { + private static final long serialVersionUID = -8102877381223078842L; + + public interface AddUserInternalGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + /** + * 客户id + */ + @NotBlank(message = "客户id不能为空", groups = {AddUserInternalGroup.class}) + private String customerId; + + /** + * 网格id + */ + @NotBlank(message = "网格id不能为空", groups = {AddUserInternalGroup.class}) + private String gridId; + + /** + * 党支部名称 + */ + @NotBlank(message = "请输入支部名称", groups = {AddUserShowGroup.class}) + @Length(max = 20, message = "支部名称不能超过20个字", groups = AddUserShowGroup.class) + private String partyBranchName; + + /** + * 党支部概要信息 + */ + @Length(max = 500, message = "支部概要信息不能超过500个字", groups = AddUserShowGroup.class) + private String profile; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchEditFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchEditFormDTO.java new file mode 100644 index 0000000000..d4f03416a6 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchEditFormDTO.java @@ -0,0 +1,40 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 修改党支部信息入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 14:00 + */ +@Data +public class PartyBranchEditFormDTO implements Serializable { + private static final long serialVersionUID = -6739109166420798965L; + public interface AddUserInternalGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + @NotBlank(message = "党支部id不能为空", groups = {AddUserInternalGroup.class}) + private String partyBranchId; + /** + * 党支部名称 + */ + @NotBlank(message = "请输入支部名称", groups = {AddUserShowGroup.class}) + @Length(max = 20, message = "支部名称不能超过20个字", groups = AddUserShowGroup.class) + private String partyBranchName; + + /** + * 党支部概要信息 + */ + @NotBlank(message = "请输入支部概要信息", groups = {AddUserShowGroup.class}) + @Length(max = 500, message = "支部概要信息不能超过500个字", groups = AddUserShowGroup.class) + private String profile; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchIdFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchIdFormDTO.java new file mode 100644 index 0000000000..1849a8481b --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchIdFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 党支部id + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 17:02 + */ +@Data +public class PartyBranchIdFormDTO implements Serializable { + private static final long serialVersionUID = 5321430865413383354L; + public interface AddUserInternalGroup { + } + /** + * 党支部id + */ + @NotBlank(message = "党支部id不能为空",groups = {AddUserInternalGroup.class}) + private String partyBranchId; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchListFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchListFormDTO.java new file mode 100644 index 0000000000..5f1c8681e4 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchListFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 3、党支部列表查询入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 16:11 + */ +@Data +public class PartyBranchListFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + /** + * 客户id + */ + @NotBlank(message = "客户id不能为空", groups = {PartyBranchListFormDTO.AddUserInternalGroup.class}) + private String customerId; + + /** + * 网格id + */ + @NotBlank(message = "网格id不能为空", groups = {PartyBranchListFormDTO.AddUserInternalGroup.class}) + private String gridId; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyMemberIdFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyMemberIdFormDTO.java new file mode 100644 index 0000000000..1e69866bbf --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyMemberIdFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 党员id + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/18 14:48 + */ +@Data +public class PartyMemberIdFormDTO implements Serializable { + private static final long serialVersionUID = 3088195909670495675L; + + public interface AddUserInternalGroup {} + /** + * 党员id + */ + @NotBlank(message = "党员id不能为空",groups = {AddUserInternalGroup.class}) + private String partyMemberId; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/SaveOrUpdateParyMemberFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/SaveOrUpdateParyMemberFormDTO.java new file mode 100644 index 0000000000..3414805602 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/SaveOrUpdateParyMemberFormDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 新增、修改党员入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 22:15 + */ +@Data +public class SaveOrUpdateParyMemberFormDTO implements Serializable { + private static final long serialVersionUID = -6896349967046364830L; + + public interface UpdatePatyMemberGroup { + } + + public interface SavePatyMemberGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + @NotBlank(message = "党支部id不能为空", groups = {SavePatyMemberGroup.class}) + private String partyBranchId; + + @NotBlank(message = "姓名不能为空", groups = {AddUserShowGroup.class}) + private String name; + + @NotBlank(message = "身份证不能为空", groups = {AddUserShowGroup.class}) + private String idCard; + + @NotBlank(message = "手机号不能为空", groups = {AddUserShowGroup.class}) + private String mobile; + + @NotBlank(message = "党员id不能为空", groups = {UpdatePatyMemberGroup.class}) + private String partyMemberId; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchAddResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchAddResultDTO.java new file mode 100644 index 0000000000..a959eb8e1a --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchAddResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 添加党支部返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 12:45 + */ +@Data +public class PartyBranchAddResultDTO implements Serializable { + private static final long serialVersionUID = 5610858988982913682L; + /** + * 党支部id + */ + private String partyBranchId; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchInfoResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchInfoResultDTO.java new file mode 100644 index 0000000000..df3b4bc492 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchInfoResultDTO.java @@ -0,0 +1,48 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 党支部详情信息返参 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 21:45 + */ +@Data +public class PartyBranchInfoResultDTO implements Serializable { + private static final long serialVersionUID = 1184531127569286576L; + + /** + * 党支部id + */ + private String partyBranchId; + + /** + * 党支部名称 + */ + private String partyBranchName; + + /** + * 党支部概要 + */ + private String profile; + + /** + * 党支部所属网格名称 + */ + private String gridName; + + /** + * 党支部所属网格id + */ + private String gridId; + + public PartyBranchInfoResultDTO(){ + this.partyBranchId=""; + this.partyBranchName=""; + this.profile=""; + this.gridName=""; + } +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchListResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchListResultDTO.java new file mode 100644 index 0000000000..8057699458 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchListResultDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 3、党支部列表查询返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 16:13 + */ +@Data +public class PartyBranchListResultDTO implements Serializable { + private static final long serialVersionUID = 8342529186641647970L; + /** + * 支部id + */ + private String partyBranchId; + /** + * 支部名称 + */ + private String partyBranchName; + + /** + * 党员总数 + */ + private Integer totalPartyMember; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberIdResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberIdResultDTO.java new file mode 100644 index 0000000000..09f2e6b1a9 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberIdResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 党员id:添加党员后返参、修改党员后返参 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 22:13 + */ +@Data +public class PartyMemberIdResultDTO implements Serializable { + private static final long serialVersionUID = 7467454908831748131L; + private String partyMemberId; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoDetailResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoDetailResultDTO.java new file mode 100644 index 0000000000..b64a8b5462 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoDetailResultDTO.java @@ -0,0 +1,72 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 党员信息详情返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/18 15:19 + */ +@Data +public class PartyMemberInfoDetailResultDTO implements Serializable { + private static final long serialVersionUID = -4887670791276512339L; + /** + * 党员id + */ + private String partyMemberId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 手机号 + */ + private String mobile; + + /** + * 1男2女0未知 + */ + private String gender; + + /** + * true已激活,false未激活 + */ + private Boolean status; + + /** + * 返回:账号于2019年10月31日在海泊桥社区-第一网格激活 + */ + private String activeDesc; + + /** + * 党支部名称(机关-网格-支部名) + */ + private String partyBranchName; + + /** + * 党支部id + */ + private String partyBranchId; + + public PartyMemberInfoDetailResultDTO(){ + this.partyMemberId=""; + this.name=""; + this.idCard=""; + this.mobile=""; + this.gender=""; + this.status=Boolean.FALSE; + this.activeDesc=""; + this.partyBranchName=""; + this.partyBranchId=""; + } +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoResultDTO.java new file mode 100644 index 0000000000..7f812531c5 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 党员列表返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/18 10:04 + */ +@Data +public class PartyMemberInfoResultDTO implements Serializable { + private static final long serialVersionUID = 627412197353847930L; + /** + * 党员id + */ + private String partyMemberId; + + /** + * 姓名 + */ + private String name; + + /** + * 性别1男2女0未知 + */ + private String gender; +} diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml index 4189f2d981..1cd20945f9 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-grid-server: container_name: gov-grid-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.30 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.36 ports: - "8097:8097" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml index 889491379c..08aedd497f 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-grid-server: container_name: gov-grid-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.30 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.36 ports: - "8097:8097" network_mode: host # 使用现有网络 @@ -14,4 +14,4 @@ services: resources: limits: cpus: '0.1' - memory: 400M \ No newline at end of file + memory: 350M \ 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 d31e134a9a..4e0313a293 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/epmet-module/gov-grid/gov-grid-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - 0.3.30 + 0.3.36 com.epmet gov-grid diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/PartyBranchManageController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/PartyBranchManageController.java new file mode 100644 index 0000000000..c74412719a --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/PartyBranchManageController.java @@ -0,0 +1,179 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.enums.RequirePermissionEnum; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; +import com.epmet.service.PartyBranchManageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 基层治理-支部管理 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 12:25 + */ +@RestController +@RequestMapping("partybranch") +public class PartyBranchManageController { + @Autowired + private PartyBranchManageService partyBranchManageService; + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 添加党支部 + * @Date 2020/6/17 12:47 + **/ + @PostMapping("add") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_BRANCH_ADD) + public Result addPartyBranch(@RequestBody PartyBranchAddFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, PartyBranchAddFormDTO.AddUserShowGroup.class, PartyBranchAddFormDTO.AddUserInternalGroup.class); + PartyBranchAddResultDTO partyBranchAddResultDTO = partyBranchManageService.addPartyBranch(formDTO); + return new Result().ok(partyBranchAddResultDTO); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 修改党支部信息 + * @Date 2020/6/17 15:31 + **/ + @PostMapping("edit") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_BRANCH_EDIT) + public Result editPartyBranch(@RequestBody PartyBranchEditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, PartyBranchEditFormDTO.AddUserShowGroup.class, PartyBranchEditFormDTO.AddUserInternalGroup.class); + partyBranchManageService.editPartyBranch(formDTO); + PartyBranchAddResultDTO partyBranchAddResultDTO = new PartyBranchAddResultDTO(); + partyBranchAddResultDTO.setPartyBranchId(formDTO.getPartyBranchId()); + return new Result().ok(partyBranchAddResultDTO); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @description 党支部列表查询 + * @Date 2020/6/17 16:15 + **/ + @PostMapping("list") + public Result> listPartyBranch(@RequestBody PartyBranchListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, PartyBranchListFormDTO.AddUserInternalGroup.class); + return new Result>().ok(partyBranchManageService.listPartyBranch(formDTO)); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 删除党支部 + * @Date 2020/6/17 18:23 + **/ + @PostMapping("delete") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_BRANCH_DELETE) + public Result deleteBranch(@RequestBody PartyBranchIdFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + partyBranchManageService.deleteBranch(formDTO.getPartyBranchId()); + return new Result(); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 5、党支部详情信息查询 + * @Date 2020/6/17 21:49 + **/ + @PostMapping("info") + public Result queryPartyBranchInfo(@RequestBody PartyBranchIdFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO,PartyBranchIdFormDTO.AddUserInternalGroup.class); + PartyBranchInfoResultDTO partyBranchInfoResultDTO = partyBranchManageService.queryPartyBranchInfo(formDTO.getPartyBranchId()); + return new Result().ok(partyBranchInfoResultDTO); + } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param formDTO + * @author yinzuomei + * @description 6、党员列表查询 + * @Date 2020/6/18 0:17 + **/ + @PostMapping("/partymember/list") + public Result> listPartyMember(@RequestBody PartyBranchIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,PartyBranchIdFormDTO.AddUserInternalGroup.class); + List list=partyBranchManageService.listPartyMember(formDTO.getPartyBranchId()); + return new Result>().ok(list); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 7、添加党员 + * @Date 2020/6/17 22:25 + **/ + @PostMapping("/partymember/add") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_MEMBER_ADD) + public Result addPartyMember(@RequestBody SaveOrUpdateParyMemberFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, SaveOrUpdateParyMemberFormDTO.AddUserShowGroup.class + , SaveOrUpdateParyMemberFormDTO.SavePatyMemberGroup.class); + PartyMemberIdResultDTO partyMemberIdResultDTO = new PartyMemberIdResultDTO(); + partyMemberIdResultDTO.setPartyMemberId(partyBranchManageService.addPartyMember(formDTO)); + return new Result().ok(partyMemberIdResultDTO); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 8、编辑党员 + * @Date 2020/6/17 23:29 + **/ + @PostMapping("/partymember/edit") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_MEMBER_EDIT) + public Result editPartyMember(@RequestBody SaveOrUpdateParyMemberFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, SaveOrUpdateParyMemberFormDTO.AddUserShowGroup.class + , SaveOrUpdateParyMemberFormDTO.UpdatePatyMemberGroup.class); + PartyMemberIdResultDTO partyMemberIdResultDTO = new PartyMemberIdResultDTO(); + partyMemberIdResultDTO.setPartyMemberId(partyBranchManageService.editPartyMember(formDTO)); + return new Result().ok(partyMemberIdResultDTO); + } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param formDTO + * @author yinzuomei + * @description 10、党员详情 + * @Date 2020/6/18 15:25 + **/ + @PostMapping("/partymember/detail") + public Result queryPartyMemberDetail(@RequestBody PartyMemberIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, PartyMemberIdFormDTO.AddUserInternalGroup.class); + return new Result().ok(partyBranchManageService.queryPartyMemberDetail(formDTO.getPartyMemberId())); + } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param deletePartyMemberFormDTO + * @author yinzuomei + * @description 删除党员 + * @Date 2020/6/18 17:51 + **/ + @PostMapping("partymember/delete") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_MEMBER_DELETE) + public Result deletePartyMember(@RequestBody DeletePartyMemberFormDTO deletePartyMemberFormDTO){ + ValidatorUtils.validateEntity(deletePartyMemberFormDTO, DeletePartyMemberFormDTO.AddUserInternalGroup.class); + partyBranchManageService.deletePartyMember(deletePartyMemberFormDTO); + return new Result(); + } +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/PartyBranchManageService.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/PartyBranchManageService.java new file mode 100644 index 0000000000..e87a4dad57 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/PartyBranchManageService.java @@ -0,0 +1,104 @@ +package com.epmet.service; + +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; + +import java.util.List; + +/** + * 基层治理-支部管理 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 12:47 + */ +public interface PartyBranchManageService { + /** + * @param formDTO + * @return com.epmet.dto.result.PartyBranchAddResultDTO + * @author yinzuomei + * @description 添加党支部 + * @Date 2020/6/17 13:24 + **/ + PartyBranchAddResultDTO addPartyBranch(PartyBranchAddFormDTO formDTO); + + /** + * @param formDTO + * @return com.epmet.dto.result.PartyBranchAddResultDTO + * @author yinzuomei + * @description 修改党支部信息 + * @Date 2020/6/17 14:30 + **/ + void editPartyBranch(PartyBranchEditFormDTO formDTO); + + /** + * @param formDTO + * @return java.util.List + * @author yinzuomei + * @description 党支部列表查询 + * @Date 2020/6/17 16:15 + **/ + List listPartyBranch(PartyBranchListFormDTO formDTO); + + /** + * @return void + * @param partyBranchId + * @author yinzuomei + * @description 删除党支部 + * @Date 2020/6/17 17:04 + **/ + void deleteBranch(String partyBranchId); + + /** + * @return com.epmet.dto.result.PartyBranchInfoResultDTO + * @param partyBranchId + * @author yinzuomei + * @description 5、党支部详情信息查询 + * @Date 2020/6/17 21:49 + **/ + PartyBranchInfoResultDTO queryPartyBranchInfo(String partyBranchId); + + /** + * @return java.util.List + * @param partyBranchId + * @author yinzuomei + * @description 党员列表查询 + * @Date 2020/6/18 10:06 + **/ + List listPartyMember(String partyBranchId); + + /** + * @return java.lang.String + * @param formDTO + * @author yinzuomei + * @description 7、添加党员 + * @Date 2020/6/17 22:26 + **/ + String addPartyMember(SaveOrUpdateParyMemberFormDTO formDTO); + + /** + * @return java.lang.String + * @param formDTO + * @author yinzuomei + * @description 8、编辑党员 + * @Date 2020/6/17 23:29 + **/ + String editPartyMember(SaveOrUpdateParyMemberFormDTO formDTO); + + /** + * @param partyMemberId + * @return com.epmet.dto.result.PartyMemberInfoDetailResultDTO + * @author yinzuomei + * @description 10、党员详情:根据党员id查询党员详情 + * @Date 2020/6/18 15:25 + **/ + PartyMemberInfoDetailResultDTO queryPartyMemberDetail(String partyMemberId); + + /** + * @return void + * @param deletePartyMemberFormDTO + * @author yinzuomei + * @description 删除党员 + * @Date 2020/6/18 17:51 + **/ + void deletePartyMember(DeletePartyMemberFormDTO deletePartyMemberFormDTO); +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/PartyBranchManageServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/PartyBranchManageServiceImpl.java new file mode 100644 index 0000000000..0cf320e03f --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/PartyBranchManageServiceImpl.java @@ -0,0 +1,219 @@ +package com.epmet.service.impl; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerPartyBranchDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; +import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO; +import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFormDTO; +import com.epmet.resi.partymember.dto.partymember.form.PartyMemberBaseInfoAddFormDTO; +import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO; +import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient; +import com.epmet.service.PartyBranchManageService; +import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 基层治理-支部管理 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 13:23 + */ +@Service +public class PartyBranchManageServiceImpl implements PartyBranchManageService { + private Logger logger = LogManager.getLogger(PartyBranchManageServiceImpl.class); + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Autowired + private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient; + + @Override + public PartyBranchAddResultDTO addPartyBranch(PartyBranchAddFormDTO formDTO) { + CustomerPartyBranchDTO customerPartyBranchDTO = ConvertUtils.sourceToTarget(formDTO, CustomerPartyBranchDTO.class); + customerPartyBranchDTO.setTotalPartyMember(0); + PartyBranchAddResultDTO partyBranchAddResultDTO = new PartyBranchAddResultDTO(); + Result result = govOrgOpenFeignClient.savePartyBranch(customerPartyBranchDTO); + if (result.success()) { + partyBranchAddResultDTO.setPartyBranchId(result.getData()); + } else { + logger.error("添加党支部错误,调用gov-org-server接口返回失败"); + } + return partyBranchAddResultDTO; + } + + @Override + public void editPartyBranch(PartyBranchEditFormDTO formDTO) { + CustomerPartyBranchDTO customerPartyBranchDTO = ConvertUtils.sourceToTarget(formDTO, CustomerPartyBranchDTO.class); + customerPartyBranchDTO.setId(formDTO.getPartyBranchId()); + Result result = govOrgOpenFeignClient.updatePartyBranch(customerPartyBranchDTO); + if (result.success()) { + logger.info("修改党支部信息成功"); + } + } + + @Override + public List listPartyBranch(PartyBranchListFormDTO formDTO) { + ListPartyBranchFormDTO listPartyBranchFormDTO = ConvertUtils.sourceToTarget(formDTO, ListPartyBranchFormDTO.class); + Result> result = govOrgOpenFeignClient.listPartyBranch(listPartyBranchFormDTO); + List resultList=result.getData(); + if (result.success()) { + List list = ConvertUtils.sourceToTarget(resultList, PartyBranchListResultDTO.class); + return list; + } else { + logger.error(String.format("党支部列表查询失败入参:"), JSON.toJSONString(formDTO)); + } + return new ArrayList<>(); + } + + @Override + public void deleteBranch(String partyBranchId) { + Result customerPartyBranchDTOResult = govOrgOpenFeignClient.getPartyBranchById(partyBranchId); + if (!customerPartyBranchDTOResult.success()||null==customerPartyBranchDTOResult.getData()) { + logger.error(String.format("查询党支部信息失败入参:partyBranchId=%s",partyBranchId)); + return; + }else{ + if (null != customerPartyBranchDTOResult.getData() && customerPartyBranchDTOResult.getData().getTotalPartyMember() > 0) { + throw new RenException(EpmetErrorCode.CANNOT_DELETE_PARTY_BRANCH.getCode()); + } + } + Result delteResult=govOrgOpenFeignClient.deletePartyBranchById(partyBranchId); + if(!delteResult.success()){ + logger.error(String.format("删除党支部失败入参:partyBranchId=%s",partyBranchId)); + } + } + + @Override + public PartyBranchInfoResultDTO queryPartyBranchInfo(String partyBranchId) { + PartyBranchInfoResultDTO partyBranchInfo = new PartyBranchInfoResultDTO(); + Result customerPartyBranchDTOResult = govOrgOpenFeignClient.getPartyBranchById(partyBranchId); + if (!customerPartyBranchDTOResult.success() || null == customerPartyBranchDTOResult.getData()) { + logger.error(String.format("党支部详情信息查询异常,partyBranchId=%s", partyBranchId)); + return partyBranchInfo; + } + partyBranchInfo.setPartyBranchId(partyBranchId); + partyBranchInfo.setPartyBranchName(customerPartyBranchDTOResult.getData().getPartyBranchName()); + partyBranchInfo.setProfile(customerPartyBranchDTOResult.getData().getProfile()); + partyBranchInfo.setGridId(customerPartyBranchDTOResult.getData().getGridId()); + Result gridInfoResult = govOrgOpenFeignClient.queryGridInfo(customerPartyBranchDTOResult.getData().getGridId()); + if (gridInfoResult.success() && null != gridInfoResult.getData() && StringUtils.isNotBlank(gridInfoResult.getData().getParentAgencyName())) { + partyBranchInfo.setGridName(String.format("%s-%s", gridInfoResult.getData().getParentAgencyName(), gridInfoResult.getData().getGridName())); + } else { + logger.error(String.format("查询网格基本信息失败,gridId=%s", customerPartyBranchDTOResult.getData().getGridId())); + } + return partyBranchInfo; + } + + @Override + public List listPartyMember(String partyBranchId) { + Result> result = resiPartyMemberOpenFeignClient.listPartyMemberBaseInfo(partyBranchId); + if (result.success()) { + List list = ConvertUtils.sourceToTarget(result.getData(), PartyMemberInfoResultDTO.class); + return list; + } + logger.error("党员列表查询失败"); + return new ArrayList<>(); + } + + @Override + public String addPartyMember(SaveOrUpdateParyMemberFormDTO formDTO) { + //1、查询党支部信息 + Result customerPartyBranchResult = govOrgOpenFeignClient.getPartyBranchById(formDTO.getPartyBranchId()); + if (!customerPartyBranchResult.success() || null == customerPartyBranchResult.getData()) { + throw new RenException("党支部信息获取失败"); + } + //2、构造党员入参 + CustomerPartyBranchDTO customerPartyBranch = customerPartyBranchResult.getData(); + PartyMemberBaseInfoAddFormDTO partyMemberBaseInfoAddFormDTO = this.getPartyMemberBaseInfoAddFormDTO(formDTO, customerPartyBranch); + Result result = resiPartyMemberOpenFeignClient.addPartyMemberBaseInfo(partyMemberBaseInfoAddFormDTO); + //3、党支部总人数+1 + if (result.success() && StringUtils.isNotBlank(result.getData())) { + //党支部总人数+1 + customerPartyBranch.setTotalPartyMember(customerPartyBranch.getTotalPartyMember() + 1); + Result updatePartyBranchResult = govOrgOpenFeignClient.updatePartyBranch(customerPartyBranch); + if (updatePartyBranchResult.success()) { + logger.info(String.format("党支部(%s)总人数+1", formDTO.getPartyBranchId())); + } + } else { + logger.error("添加党员异常"); + throw new RenException(result.getCode()); + } + return result.getData(); + } + + @Override + public String editPartyMember(SaveOrUpdateParyMemberFormDTO formDTO) { + PartymemberBaseInfoDTO partymemberBaseInfoDTO = new PartymemberBaseInfoDTO(); + partymemberBaseInfoDTO.setIdCard(formDTO.getIdCard().trim()); + partymemberBaseInfoDTO.setName(formDTO.getName().trim()); + partymemberBaseInfoDTO.setMobile(formDTO.getMobile().trim()); + partymemberBaseInfoDTO.setId(formDTO.getPartyMemberId()); + Result updateResult = resiPartyMemberOpenFeignClient.update(partymemberBaseInfoDTO); + if (updateResult.success() && StringUtils.isNotBlank(updateResult.getData())) { + logger.info("修改党员信息成功"); + return updateResult.getData(); + }else{ + logger.error("修改党员信息失败"); + throw new RenException(updateResult.getCode()); + } + } + + @Override + public PartyMemberInfoDetailResultDTO queryPartyMemberDetail(String partyMemberId) { + PartyMemberInfoDetailResultDTO partyMemberInfoDetailResultDTO=new PartyMemberInfoDetailResultDTO(); + Result partyMemberResult=resiPartyMemberOpenFeignClient.queryPartyMemberBaseInfoById(partyMemberId); + if(partyMemberResult.success()&&null!=partyMemberResult.getData()){ + partyMemberInfoDetailResultDTO=ConvertUtils.sourceToTarget(partyMemberResult.getData(),PartyMemberInfoDetailResultDTO.class); + Result partyBranchDTOResult=govOrgOpenFeignClient.getPartyBranchById(partyMemberResult.getData().getPartyBranchId()); + if(partyBranchDTOResult.success()){ + String agencyName=partyBranchDTOResult.getData().getAgencyName(); + String gridName=partyBranchDTOResult.getData().getGridName(); + String branchName=partyBranchDTOResult.getData().getPartyBranchName(); + partyMemberInfoDetailResultDTO.setPartyBranchName(String.format("%s-%s-%s",agencyName,gridName,branchName)); + return partyMemberInfoDetailResultDTO; + }else{ + logger.error("党员详情查询异常"); + } + } + return partyMemberInfoDetailResultDTO ; + } + + @Override + public void deletePartyMember(DeletePartyMemberFormDTO deletePartyMemberFormDTO) { + DelPartyMemberBaseInfoFormDTO formDTO = ConvertUtils.sourceToTarget(deletePartyMemberFormDTO, DelPartyMemberBaseInfoFormDTO.class); + Result result = resiPartyMemberOpenFeignClient.deltePartyMemberBaseInfo(formDTO); + if (!result.success()) { + throw new RenException(result.getCode()); + } + //党支部总人数-1 + Result decrResult = govOrgOpenFeignClient.decrPartyBranchMember(deletePartyMemberFormDTO.getPartyBranchId()); + if (decrResult.success()) { + logger.info("删除党员成功,党支部总人数已-1"); + } + } + + private PartyMemberBaseInfoAddFormDTO getPartyMemberBaseInfoAddFormDTO(SaveOrUpdateParyMemberFormDTO formDTO, + CustomerPartyBranchDTO customerPartyBranchDTO) { + PartyMemberBaseInfoAddFormDTO partyMemberBaseInfoAddFormDTO=new PartyMemberBaseInfoAddFormDTO(); + partyMemberBaseInfoAddFormDTO.setBranchId(formDTO.getPartyBranchId()); + partyMemberBaseInfoAddFormDTO.setIdCard(formDTO.getIdCard().trim()); + partyMemberBaseInfoAddFormDTO.setMobile(formDTO.getMobile().trim()); + partyMemberBaseInfoAddFormDTO.setName(formDTO.getName().trim()); + + partyMemberBaseInfoAddFormDTO.setBranch(customerPartyBranchDTO.getPartyBranchName()); + partyMemberBaseInfoAddFormDTO.setOrganization(customerPartyBranchDTO.getAgencyName()); + partyMemberBaseInfoAddFormDTO.setCustomerId(customerPartyBranchDTO.getCustomerId()); + return partyMemberBaseInfoAddFormDTO; + } +} diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml index 7825e009a5..56d3dd745b 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-issue-server: container_name: gov-issue-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.42 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.43 ports: - "8101:8101" network_mode: host # 使用现有网络 @@ -14,4 +14,4 @@ services: resources: limits: cpus: '0.1' - memory: 400M \ No newline at end of file + memory: 350M \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index e92c8aa434..2dd11868f2 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.42 + 0.3.43 gov-issue com.epmet diff --git a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml index 16a76313ad..d8052e5fba 100644 --- a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-mine-server: container_name: gov-mine-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.27 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.29 ports: - "8098:8098" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index d57997ab36..06d94d62d1 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.27 + 0.3.29 com.epmet gov-mine diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerPartyBranchDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerPartyBranchDTO.java new file mode 100644 index 0000000000..c396f90605 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerPartyBranchDTO.java @@ -0,0 +1,111 @@ +/** + * 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.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 党支部信息 + * + * @author yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@Data +public class CustomerPartyBranchDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 支部名称 + */ + private String partyBranchName; + + /** + * 概要 + */ + private String profile; + + /** + * 党支部所属网格id + */ + private String gridId; + + /** + * 客户id + */ + private String customerId; + + /** + * 党员总数 + */ + private Integer totalPartyMember; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 网格名称 + */ + private String gridName; + + /** + * 网格所属机关id + */ + private String agencyId; + + /** + * 网格所属机关名字 + */ + private String agencyName; +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListPartyBranchFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListPartyBranchFormDTO.java new file mode 100644 index 0000000000..ede50112e5 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListPartyBranchFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 党支部列表查询 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 16:27 + */ +@Data +public class ListPartyBranchFormDTO implements Serializable { + private static final long serialVersionUID = -5693132528876149747L; + + /** + * 客户id + */ + @NotBlank(message = "客户id不能为空") + private String customerId; + + /** + * 网格id + */ + @NotBlank(message = "网格id不能为空") + private String gridId; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java index fff7b43caf..83bf82bfbf 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java @@ -77,5 +77,15 @@ public class GridInfoResultDTO implements Serializable { * 省级组织名称 */ private String proviceName; + + /** + * 网格所属机关id + */ + private String parentAgencyId; + + /** + * 网格所属机关名称 + */ + private String parentAgencyName; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/LatestCustomerResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/LatestCustomerResultDTO.java index 8a5249c6ae..3c96aa6df6 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/LatestCustomerResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/LatestCustomerResultDTO.java @@ -21,9 +21,15 @@ public class LatestCustomerResultDTO implements Serializable { */ private String customerName; /** - * 用户所属组织id(任意一条) + * 用户所属组织id */ private String agencyId; + + /** + * 用户所属组织名称 + */ + private String agencyName; + /** * 工作人员头像 */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ListPartyBranchResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ListPartyBranchResultDTO.java new file mode 100644 index 0000000000..b5d7e6cbce --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ListPartyBranchResultDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 党支部列表查询返参 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/17 16:30 + */ +@Data +public class ListPartyBranchResultDTO implements Serializable { + private static final long serialVersionUID = 2306892144298853581L; + /** + * 支部id + */ + private String partyBranchId; + /** + * 支部名称 + */ + private String partyBranchName; + + /** + * 党员总数 + */ + private Integer totalPartyMember; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java index f19eb67cea..241f2eb44f 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java @@ -40,4 +40,14 @@ public class MineResultDTO implements Serializable { * 角色 */ private List roleList; + + /** + * 我所属的机关id + */ + private String agencyId; + + /** + * 我所属的机关名称 + */ + private String myAgencyName; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index ff0a23f716..99bccaa484 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -1,16 +1,20 @@ package com.epmet.feign; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerPartyBranchDTO; +import com.epmet.dto.form.ListPartyBranchFormDTO; import com.epmet.dto.result.ArticleGridResultDTO; +import com.epmet.dto.result.GridInfoResultDTO; +import com.epmet.dto.result.ListPartyBranchResultDTO; import com.epmet.dto.result.PublishAgencyListResultDTO; +import com.epmet.feign.fallback.GovOrgOpenFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.*; -import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.feign.fallback.GovOrgOpenFeignClientFallback; +import java.util.List; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -18,14 +22,13 @@ import com.epmet.feign.fallback.GovOrgOpenFeignClientFallback; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:37 */ -// @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgOpenFeignClientFallback.class, url = -// "localhost:8092") +// @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgOpenFeignClientFallback.class, url = "localhost:8092") @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgOpenFeignClientFallback.class) public interface GovOrgOpenFeignClient { /** * 根据Id查询agency - * + * * @param agencyId * @return */ @@ -34,7 +37,7 @@ public interface GovOrgOpenFeignClient { /** * 根据staffId查询所属的组织机构 - * + * * @param staffId * @return */ @@ -58,4 +61,74 @@ public interface GovOrgOpenFeignClient { **/ @PostMapping(value = "gov/org/customeragency/getpublishagencylist/{staffId}", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) Result getPublishAgencyList(@PathVariable("staffId") String staffId); + + /** + * @param customerPartyBranchDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 添加党支部 + * @Date 2020/6/17 13:36 + **/ + @PostMapping(value = "gov/org/customerpartybranch/save", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result savePartyBranch(@RequestBody CustomerPartyBranchDTO customerPartyBranchDTO); + + /** + * @param customerPartyBranchDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 修改党支部信息 + * @Date 2020/6/17 15:31 + **/ + @PutMapping(value = "gov/org/customerpartybranch/update", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result updatePartyBranch(@RequestBody CustomerPartyBranchDTO customerPartyBranchDTO); + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 根据客户id、网格id查询党支部列表 + * @Date 2020/6/17 16:28 + **/ + @PostMapping(value = "gov/org/customerpartybranch/listpartybranch", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result> listPartyBranch(@RequestBody ListPartyBranchFormDTO formDTO); + + /** + * @param partyBranchId + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 根据党支部id,查询党支部信息 + * @Date 2020/6/17 18:01 + **/ + @GetMapping(value = "gov/org/customerpartybranch/get/{id}") + Result getPartyBranchById(@PathVariable("id") String partyBranchId); + + /** + * @return com.epmet.commons.tools.utils.Result + * @param partyBranchId + * @author yinzuomei + * @description 根据党支部id,删除党支部(存在党员的不允许删除) + * @Date 2020/6/17 18:08 + **/ + @GetMapping(value = "gov/org/customerpartybranch/delete/{id}") + Result deletePartyBranchById(@PathVariable("id") String partyBranchId); + + /** + * @param gridId + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 根据网格id查询所属组织信息 + * @Date 2020/4/26 23:16 + **/ + @GetMapping("/gov/org/customergrid/getGridInfo/{gridId}") + Result queryGridInfo(@PathVariable("gridId") String gridId); + + /** + * @return com.epmet.commons.tools.utils.Result + * @param partyBranchId + * @author yinzuomei + * @description 党支部宗人数-1 + * @Date 2020/6/18 18:28 + **/ + @GetMapping(value = "gov/org/customerpartybranch/decrPartyBranchMember/{partyBranchId}") + Result decrPartyBranchMember(@PathVariable("partyBranchId") String partyBranchId); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 8f6c108a7d..bcc224dd86 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -4,11 +4,17 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerPartyBranchDTO; +import com.epmet.dto.form.ListPartyBranchFormDTO; import com.epmet.dto.result.ArticleGridResultDTO; +import com.epmet.dto.result.GridInfoResultDTO; +import com.epmet.dto.result.ListPartyBranchResultDTO; import com.epmet.dto.result.PublishAgencyListResultDTO; import com.epmet.feign.GovOrgOpenFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 * @@ -37,4 +43,38 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getPublishAgencyList", staffId); } + @Override + public Result savePartyBranch(CustomerPartyBranchDTO customerPartyBranchDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "save", customerPartyBranchDTO); + } + + @Override + public Result updatePartyBranch(CustomerPartyBranchDTO customerPartyBranchDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "update", customerPartyBranchDTO); + } + + @Override + public Result> listPartyBranch(ListPartyBranchFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "listpartybranch", formDTO); + } + + @Override + public Result getPartyBranchById(String partyBranchId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "get", partyBranchId); + } + + @Override + public Result deletePartyBranchById(String partyBranchId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "deleteById", partyBranchId); + } + + @Override + public Result queryGridInfo(String gridId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridInfo",gridId); + } + + @Override + public Result decrPartyBranchMember(String partyBranchId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "decrPartyBranchMember",partyBranchId); + } } diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml index b126058bb6..03baf78da2 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-org-server: container_name: gov-org-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.66 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.69 ports: - "8092:8092" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml index 8df1c9c874..57f13f3fc7 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-org-server: container_name: gov-org-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.66 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.67 ports: - "8092:8092" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index d7df708edb..bab4db384b 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.66 + 0.3.69 com.epmet gov-org diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerPartyBranchController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerPartyBranchController.java new file mode 100644 index 0000000000..04ebd8e0a0 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerPartyBranchController.java @@ -0,0 +1,132 @@ +/** + * 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.controller; + +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.CustomerPartyBranchDTO; +import com.epmet.dto.form.ListPartyBranchFormDTO; +import com.epmet.dto.result.ListPartyBranchResultDTO; +import com.epmet.excel.CustomerPartyBranchExcel; +import com.epmet.service.CustomerPartyBranchService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 党支部信息 + * + * @author yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@RestController +@RequestMapping("customerpartybranch") +public class CustomerPartyBranchController { + + @Autowired + private CustomerPartyBranchService customerPartyBranchService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = customerPartyBranchService.page(params); + return new Result>().ok(page); + } + + @GetMapping("get/{id}") + public Result get(@PathVariable("id") String id){ + CustomerPartyBranchDTO data = customerPartyBranchService.get(id); + return new Result().ok(data); + } + + @PostMapping("save") + public Result save(@RequestBody CustomerPartyBranchDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + return new Result().ok(customerPartyBranchService.save(dto)); + } + + @PutMapping("update") + public Result update(@RequestBody CustomerPartyBranchDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + customerPartyBranchService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + customerPartyBranchService.delete(ids); + return new Result(); + } + + @GetMapping("delete/{id}") + public Result deleteById(@PathVariable("id") String id){ + CustomerPartyBranchDTO data = customerPartyBranchService.get(id); + if(null!=data&&data.getTotalPartyMember()>0){ + throw new RenException(EpmetErrorCode.CANNOT_DELETE_PARTY_BRANCH.getCode()); + } + customerPartyBranchService.deleteById(id); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = customerPartyBranchService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, CustomerPartyBranchExcel.class); + } + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param formDTO + * @author yinzuomei + * @description 党支部列表查询,供gov-grid服务调用 + * @Date 2020/6/17 16:33 + **/ + @PostMapping("listpartybranch") + public Result> listpartybranch(@RequestBody ListPartyBranchFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(customerPartyBranchService.listpartybranch(formDTO)); + } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param partyBranchId + * @author yinzuomei + * @description 党支部人数-1 + * @Date 2020/6/18 18:31 + **/ + @GetMapping("decrPartyBranchMember/{partyBranchId}") + public Result decrPartyBranchMember(@PathVariable("partyBranchId") String partyBranchId){ + customerPartyBranchService.decrPartyBranchMember(partyBranchId); + return new Result(); + } +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerPartyBranchDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerPartyBranchDao.java new file mode 100644 index 0000000000..007af50fde --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerPartyBranchDao.java @@ -0,0 +1,41 @@ +/** + * 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.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ListPartyBranchFormDTO; +import com.epmet.dto.result.ListPartyBranchResultDTO; +import com.epmet.entity.CustomerPartyBranchEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 党支部信息 + * + * @author yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@Mapper +public interface CustomerPartyBranchDao extends BaseDao { + //根据客户id、网格id查询党支部列表 + List selectListPartyBranchResultDTO(ListPartyBranchFormDTO formDTO); + + //党支部人数-1 + int decrPartyBranchMember(String partyBranchId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerPartyBranchEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerPartyBranchEntity.java new file mode 100644 index 0000000000..98610e75f7 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerPartyBranchEntity.java @@ -0,0 +1,66 @@ +/** + * 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.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 yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("customer_party_branch") +public class CustomerPartyBranchEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 支部名称 + */ + private String partyBranchName; + + /** + * 概要 + */ + private String profile; + + /** + * 党支部所属网格id + */ + private String gridId; + + /** + * 客户id + */ + private String customerId; + + /** + * 党员总数 + */ + private Integer totalPartyMember; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerPartyBranchExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerPartyBranchExcel.java new file mode 100644 index 0000000000..7766ed1260 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerPartyBranchExcel.java @@ -0,0 +1,71 @@ +/** + * 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.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 党支部信息 + * + * @author yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@Data +public class CustomerPartyBranchExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "支部名称") + private String partyBranchName; + + @Excel(name = "概要") + private String profile; + + @Excel(name = "党支部所属网格id") + private String gridId; + + @Excel(name = "客户id") + private String customerId; + + @Excel(name = "党员总数") + private Integer totalPartymember; + + @Excel(name = "删除标识") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerPartyBranchRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerPartyBranchRedis.java new file mode 100644 index 0000000000..e5d8d70e5e --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerPartyBranchRedis.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.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 党支部信息 + * + * @author yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@Component +public class CustomerPartyBranchRedis { + @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/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerPartyBranchService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerPartyBranchService.java new file mode 100644 index 0000000000..e373bcb0f1 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerPartyBranchService.java @@ -0,0 +1,115 @@ +/** + * 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.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.CustomerPartyBranchDTO; +import com.epmet.dto.form.ListPartyBranchFormDTO; +import com.epmet.dto.result.ListPartyBranchResultDTO; +import com.epmet.entity.CustomerPartyBranchEntity; + +import java.util.List; +import java.util.Map; + +/** + * 党支部信息 + * + * @author yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +public interface CustomerPartyBranchService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-06-17 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-06-17 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return CustomerPartyBranchDTO + * @author generator + * @date 2020-06-17 + */ + CustomerPartyBranchDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-06-17 + */ + String save(CustomerPartyBranchDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-06-17 + */ + void update(CustomerPartyBranchDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-06-17 + */ + void delete(String[] ids); + + /** + * @return java.util.List + * @param formDTO + * @author yinzuomei + * @description 党支部列表查询,供gov-grid服务调用 + * @Date 2020/6/17 16:33 + **/ + List listpartybranch(ListPartyBranchFormDTO formDTO); + + /** + * @return void + * @param partyBranchId + * @author yinzuomei + * @description 党支部人数-1 + * @Date 2020/6/18 18:31 + **/ + void decrPartyBranchMember(String partyBranchId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index bcc4ecf11c..00436e9b59 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -27,7 +27,6 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerGridConstant; import com.epmet.dao.CustomerAgencyDao; @@ -452,6 +451,8 @@ public class CustomerGridServiceImpl extends BaseServiceImpl + * 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.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; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.CustomerPartyBranchDao; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.CustomerPartyBranchDTO; +import com.epmet.dto.form.ListPartyBranchFormDTO; +import com.epmet.dto.result.ListPartyBranchResultDTO; +import com.epmet.entity.CustomerPartyBranchEntity; +import com.epmet.redis.CustomerPartyBranchRedis; +import com.epmet.service.CustomerAgencyService; +import com.epmet.service.CustomerGridService; +import com.epmet.service.CustomerPartyBranchService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 党支部信息 + * + * @author yinzuomei yinzuomei@elink-cn.com + * @since v1.0.0 2020-06-17 + */ +@Service +public class CustomerPartyBranchServiceImpl extends BaseServiceImpl implements CustomerPartyBranchService { + + @Autowired + private CustomerPartyBranchRedis customerPartyBranchRedis; + @Autowired + private CustomerGridService customerGridService; + @Autowired + private CustomerAgencyService customerAgencyService; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, CustomerPartyBranchDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, CustomerPartyBranchDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public CustomerPartyBranchDTO get(String id) { + CustomerPartyBranchEntity entity = baseDao.selectById(id); + CustomerPartyBranchDTO customerPartyBranchDTO=ConvertUtils.sourceToTarget(entity, CustomerPartyBranchDTO.class); + if(null!=customerPartyBranchDTO){ + CustomerGridDTO customerGridDTO=customerGridService.get(entity.getGridId()); + if(null!=customerGridDTO){ + customerPartyBranchDTO.setGridName(customerGridDTO.getGridName()); + CustomerAgencyDTO customerAgencyDTO=customerAgencyService.get(customerGridDTO.getPid()); + if(null!=customerAgencyDTO){ + customerPartyBranchDTO.setAgencyId(customerAgencyDTO.getId()); + customerPartyBranchDTO.setAgencyName(customerAgencyDTO.getOrganizationName()); + } + } + } + return customerPartyBranchDTO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String save(CustomerPartyBranchDTO dto) { + CustomerPartyBranchEntity entity = ConvertUtils.sourceToTarget(dto, CustomerPartyBranchEntity.class); + insert(entity); + return entity.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(CustomerPartyBranchDTO dto) { + CustomerPartyBranchEntity entity = ConvertUtils.sourceToTarget(dto, CustomerPartyBranchEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public List listpartybranch(ListPartyBranchFormDTO formDTO) { + return baseDao.selectListPartyBranchResultDTO(formDTO); + } + + @Override + public void decrPartyBranchMember(String partyBranchId) { + baseDao.decrPartyBranchMember(partyBranchId); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java index 17f9f75731..ba90138f12 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java @@ -131,6 +131,11 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl + + + + + + + + + + + + + + + + + + + + + + + + UPDATE customer_party_branch + SET TOTAL_PARTY_MEMBER = TOTAL_PARTY_MEMBER - 1 + WHERE + id = #{partyBranchId} + AND DEL_FLAG = '0' + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml index d55974b2db..16ec28dfbb 100644 --- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-project-server: container_name: gov-project-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-project-server:0.3.27 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-project-server:0.3.28 ports: - "8102:8102" network_mode: host # 使用现有网络 @@ -14,4 +14,4 @@ services: resources: limits: cpus: '0.1' - memory: 400M \ No newline at end of file + memory: 350M \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 6bec282580..382580cd85 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.27 + 0.3.28 gov-project com.epmet diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddArticleTagsFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddArticleTagsFormDTO.java index 06c5b49ab8..da5f4c1504 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddArticleTagsFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddArticleTagsFormDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.form; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @Author zxc @@ -53,6 +54,11 @@ public class AddArticleTagsFormDTO implements Serializable { */ private String createdBy; + /** + * 创建时间 + */ + private Date createdTime; + /** * 更新人 */ diff --git a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml index 80855c22df..a08cd1f375 100644 --- a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-voice-server: container_name: gov-voice-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-voice-server:0.3.54 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-voice-server:0.3.56 ports: - "8105:8105" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml index 36b6cb3e26..75870071a0 100644 --- a/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml +++ b/epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-voice-server: container_name: gov-voice-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-voice-server:0.3.54 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-voice-server:0.3.55 ports: - "8105:8105" network_mode: host # 使用现有网络 @@ -14,4 +14,4 @@ services: resources: limits: cpus: '0.1' - memory: 400M \ No newline at end of file + memory: 350M \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/pom.xml b/epmet-module/gov-voice/gov-voice-server/pom.xml index 713902afb2..3e684e0f72 100644 --- a/epmet-module/gov-voice/gov-voice-server/pom.xml +++ b/epmet-module/gov-voice/gov-voice-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - 0.3.54 + 0.3.56 gov-voice com.epmet diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 7cc723b070..b22716bc16 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -105,7 +105,6 @@ public class ArticleController { * @date 2020/6/2 16:50 **/ @PostMapping("oprationlist") - @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_OPERATION_LIST) public Result> operationList(@RequestBody ArticleOperationFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, ArticleOperationFormDTO.AddUserInternalGroup.class); List list = @@ -121,7 +120,6 @@ public class ArticleController { * @date 2020/6/3 9:44 **/ @PostMapping("articledetail") - @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DETAIL) public Result articleDetail(@RequestBody GovArticleDetailFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, GovArticleDetailFormDTO.AddUserInternalGroup.class); GovArticleDetailResultDTO articleDetail = articleService.queryGovArticleDetail(formDTO.getArticleId()); diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 10c59c6450..2e3d296122 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -1058,13 +1058,13 @@ public class ArticleServiceImpl extends BaseServiceImpl updateGridTagCacheDTOS = this.updateGridTag(tokenDto, draftId, updateCustomerTagCacheDTO); - this.addArticleTags(updateCustomerTagCacheDTO, draftId, tokenDto); + this.addArticleTags(updateCustomerTagCacheDTO, draftId, tokenDto, articleEntity.getCreatedTime()); //更新redis try { @@ -1279,10 +1279,11 @@ public class ArticleServiceImpl extends BaseServiceImpl addArticleTags = new ArrayList<>(); List tagsInfo = formDto.getTagsInfo(); DraftDTO draft = draftService.get(draftId); @@ -1296,6 +1297,7 @@ public class ArticleServiceImpl extends BaseServiceImpl - ( REPLACE ( UUID(), '-', '' ),#{tag.customerId}, #{tag.articleId}, #{tag.tagId}, #{tag.tagName}, #{tag.delFlag}, - #{tag.revision}, #{tag.createdBy}, NOW(),#{tag.updatedBy}, NOW()) + ( REPLACE ( UUID(), '-', '' ),#{tag.customerId}, #{tag.articleId}, #{tag.tagId}, #{tag.tagName}, + #{tag.delFlag}, + #{tag.revision}, #{tag.createdBy}, #{tag.createdTime,jdbcType=TIMESTAMP},#{tag.updatedBy}, NOW()) + select * from partymember_auth_record + where DEL_FLAG='0' + and PARTYMEMBER_BASE_INFO_ID=#{partymemberBaseInfoId} + + \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberBaseInfoDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberBaseInfoDao.xml index 2cbad32ae0..b7aa868f90 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberBaseInfoDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberBaseInfoDao.xml @@ -120,4 +120,46 @@ applyTime DESC LIMIT #{pageNo},#{pageSize} + + + + + + + + + \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml index 5802d6a79c..10c2835084 100644 --- a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml +++ b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-openapi-scan: container_name: epmet-openapi-scan-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-openapi-scan:0.3.8 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-openapi-scan:0.3.11 ports: - "8107:8107" network_mode: host # 不会创建新的网络 diff --git a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml index abe98cfc1d..62b847b4d6 100644 --- a/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml +++ b/epmet-openapi/epmet-openapi-scan/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-openapi-scan: container_name: epmet-openapi-scan-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-openapi-scan:0.3.8 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-openapi-scan:0.3.11 ports: - "8107:8107" network_mode: host # 不会创建新的网络 diff --git a/epmet-openapi/epmet-openapi-scan/pom.xml b/epmet-openapi/epmet-openapi-scan/pom.xml index 9bb20ac89a..8a80b425df 100644 --- a/epmet-openapi/epmet-openapi-scan/pom.xml +++ b/epmet-openapi/epmet-openapi-scan/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - 0.3.8 + 0.3.11 epmet-openapi-scan jar diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java index 6848de234f..709fc7aef4 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java @@ -12,7 +12,6 @@ import com.aliyuncs.green.model.v20180509.TextScanRequest; import com.aliyuncs.http.FormatType; import com.aliyuncs.http.HttpResponse; import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.openapi.scan.common.constant.SysConstant; import com.epmet.openapi.scan.common.enu.ImgSceneEnum; import com.epmet.openapi.scan.common.enu.SuggestionEnum; @@ -24,9 +23,9 @@ import com.epmet.openapi.scan.support.param.ImgScanParam; import com.epmet.openapi.scan.support.param.ImgTask; import com.epmet.openapi.scan.support.param.TextScanParam; import com.epmet.openapi.scan.support.param.TextTask; -import com.epmet.openapi.scan.support.result.SceneDetailResult; import com.epmet.openapi.scan.support.result.ImgAsyncScanResult; import com.epmet.openapi.scan.support.result.ScanTaskResult; +import com.epmet.openapi.scan.support.result.SceneDetailResult; import com.epmet.openapi.scan.support.result.SyncScanResult; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpStatus; @@ -189,14 +188,19 @@ public class ScanServiceImpl implements ScanService { //如果是多个场景 则为对个 BaseScanResult List sceneResults = taskResult.getResults(); //是文本检测 目前就一种场景 + boolean isSuccess = true; for (SceneDetailResult sceneResult : sceneResults) { String suggestion = sceneResult.getSuggestion(); - if (SuggestionEnum.BLOCK.getCode().equals(suggestion)) { - result.getFailDataIds().add(taskResult.getDataId()); - } else { - result.getSuccessDataIds().add(taskResult.getDataId()); + if (SuggestionEnum.PASS.getCode().equals(suggestion)) { + isSuccess = false; + break; } } + if (isSuccess){ + result.getFailDataIds().add(taskResult.getDataId()); + } else { + result.getSuccessDataIds().add(taskResult.getDataId()); + } } else { result.getFailDataIds().add(taskResult.getDataId()); log.warn("executeSyncText task process fail:code:{},msg:{}", taskResult.getCode(), taskResult.getMsg()); @@ -284,21 +288,20 @@ public class ScanServiceImpl implements ScanService { } //如果是多个场景 则为对个 BaseScanResult List sceneResults = taskResult.getResults(); - //是文本检测 目前就一种场景 + + boolean isSuccess = true; for (SceneDetailResult sceneResult : sceneResults) { String suggestion = sceneResult.getSuggestion(); if (SuggestionEnum.BLOCK.getCode().equals(suggestion)) { - if (result.getFailDataIds().contains(taskResult.getDataId())) { - continue; - } - result.getFailDataIds().add(taskResult.getDataId()); - } else { - if (result.getSuccessDataIds().contains(taskResult.getDataId())) { - continue; - } - result.getSuccessDataIds().add(taskResult.getDataId()); + isSuccess = false; + break; } } + if (isSuccess){ + result.getSuccessDataIds().add(taskResult.getDataId()); + }else{ + result.getFailDataIds().add(taskResult.getDataId()); + } } return result; } else { diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/TextScanParam.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/TextScanParam.java index 16ad063428..2b05d34e20 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/TextScanParam.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/TextScanParam.java @@ -26,14 +26,14 @@ public class TextScanParam implements Serializable { * * @see com.epmet.openapi.scan.common.enu.ImgSceneEnum; */ - @Valid - @NotEmpty(message = "任务列表不能为空") private List scenes; /** * 要检测的内容列表,必填 * remark:一组任务列表中的taskId不能相同 */ + @Valid + @NotEmpty(message = "任务列表不能为空") private List tasks; /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GovStaffRoleResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GovStaffRoleResultDTO.java index 51586242da..1708d17f32 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GovStaffRoleResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GovStaffRoleResultDTO.java @@ -34,6 +34,7 @@ public class GovStaffRoleResultDTO implements Serializable { private static final long serialVersionUID = 1L; + private String customerId; /** * 角色ID */ @@ -54,6 +55,8 @@ public class GovStaffRoleResultDTO implements Serializable { */ private String roleName; + private String orgType; + /** * 姓名 */ diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml index d857fabc16..1b546e9355 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.58 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.60 ports: - "8087:8087" network_mode: host # 不会创建新的网络 diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-test.yml b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml index 1c7cf953b3..5c9f3966ff 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-test.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-user-server:0.3.58 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-user-server:0.3.59 ports: - "8087:8087" network_mode: host # 不会创建新的网络 diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index ee56a0293e..7da3cceed3 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.58 + 0.3.60 com.epmet epmet-user 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 new file mode 100644 index 0000000000..8b8ccd1048 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GovStaffRoleController.java @@ -0,0 +1,43 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.RoleDTO; +import com.epmet.dto.result.GovStaffRoleResultDTO; +import com.epmet.dto.result.GovStaffRoleTemplateDTO; +import com.epmet.service.GovStaffRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RequestMapping("govstaffrole") +@RestController +public class GovStaffRoleController { + + @Autowired + private GovStaffRoleService govStaffRoleService; + + /** + * 根据客户ID查询该客户的角色列表 + * @param customerId + * @return + */ + @PostMapping("rolesbycustomer/{customerId}") + public Result listGovStaffRolesByCustomer(@PathVariable("customerId") String customerId) { + List roleEntities = govStaffRoleService.listRolesByCustomer(customerId); + return new Result().ok(roleEntities); + } + + /** + * 查询角色模板列表 + * @return + */ + @PostMapping("roletemplates") + public Result listGovStaffRoleTemplates() { + List roleTemplates = govStaffRoleService.listRoleTemplates(); + return new Result().ok(roleTemplates); + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RoleController.java index 9958251e8f..e7c82100a6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RoleController.java @@ -49,19 +49,6 @@ public class RoleController { @Autowired private RoleService roleService; - /** - * 根据客户ID查询该客户的角色列表 - * @param customerId - * @return - */ - @PostMapping("rolesbycustomer/{customerId}") - public Result listRolesByCustomer(@PathVariable("customerId") String customerId) { - List roleEntities = roleService.listRolesByCustomer(customerId); - return new Result().ok(roleEntities); - } - - - @GetMapping("page") public Result> page(@RequestParam Map params){ PageData page = roleService.page(params); 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 907bb84ea1..d7562fafad 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 @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.GovStaffRoleDTO; +import com.epmet.dto.result.GovStaffRoleResultDTO; import com.epmet.entity.GovStaffRoleEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -56,4 +57,6 @@ public interface GovStaffRoleDao extends BaseDao { * @return */ GovStaffRoleDTO getRoleByCustomerIdAndRoleKey(@Param("customerId") String customerId, @Param("roleKey") String roleKey); + + List listRolesByCustomer(@Param("customerId") String customerId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java index d175c919b1..398406a8cf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RoleDao.java @@ -41,11 +41,4 @@ public interface RoleDao extends BaseDao { * @return RoleEntity */ RoleEntity selectRoleByKey(RoleEntity param); - - /** - * 通过客户ID查询客户的角色列表 - * @param customerId - * @return - */ - List listRolesByCustomer(@Param("customerId") String customerId); } \ No newline at end of file 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 d7985c8758..25d6fe495b 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 @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.result.GovStaffRoleResultDTO; +import com.epmet.dto.result.GovStaffRoleTemplateDTO; import com.epmet.entity.GovStaffRoleEntity; import java.util.List; @@ -120,4 +121,8 @@ public interface GovStaffRoleService extends BaseService { * @param roleKey */ GovStaffRoleDTO getRoleByCustomerIdAndRoleKey(String customerId, String roleKey); + + List listRolesByCustomer(String customerId); + + List listRoleTemplates(); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java index d758c6a64b..72e055c4b1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RoleService.java @@ -99,6 +99,4 @@ public interface RoleService extends BaseService { * @return RoleDTO */ RoleDTO getRoleByKey(RoleDTO role); - - List listRolesByCustomer(String customerId); } \ 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 fb922499b5..000ea2cd40 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 @@ -29,6 +29,7 @@ import com.epmet.dao.GovStaffRoleDao; import com.epmet.dao.GovStaffRoleTemplateDao; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.form.InitDefaultOperationsFormDTO; +import com.epmet.dto.result.GovStaffRoleResultDTO; import com.epmet.dto.result.GovStaffRoleTemplateDTO; import com.epmet.entity.GovStaffRoleEntity; import com.epmet.feign.GovAccessFeignClient; @@ -165,4 +166,14 @@ public class GovStaffRoleServiceImpl extends BaseServiceImpl listRolesByCustomer(String customerId) { + return govStaffRoleDao.listRolesByCustomer(customerId); + } + + @Override + public List listRoleTemplates() { + return govStaffRoleTemplateDao.listValidateRoles(); + } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java index c95446d0dd..8322ee7226 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RoleServiceImpl.java @@ -106,12 +106,4 @@ public class RoleServiceImpl extends BaseServiceImpl implem RoleEntity entity = baseDao.selectRoleByKey(ConvertUtils.sourceToTarget(role, RoleEntity.class)); return ConvertUtils.sourceToTarget(entity, RoleDTO.class); } - - - - @Override - public List listRolesByCustomer(String customerId) { - return baseDao.listRolesByCustomer(customerId); - } - } \ No newline at end of file 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 5788da7ba8..aa495b89f5 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 @@ -49,4 +49,14 @@ AND ROLE_KEY = #{roleKey} AND DEL_FLAG = '0' + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml index 38e35cf8c3..2bc5147051 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/RoleDao.xml @@ -27,11 +27,4 @@ and ROLE_KEY = #{roleKey} and DEL_FLAG = 0 - - - \ No newline at end of file