diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
index 5171524907..fe3e8b4a0d 100644
--- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
@@ -122,5 +122,17 @@ public class RedisKeys {
return rootPrefix.concat("phone:sms:history:").concat(phone);
}
+ /**
+ *
+ * 党员认证手机验证码key
+ *
+ * @param userId 用户id
+ * @param mobile 手机号
+ * @param code 验证码
+ * @return String
+ */
+ public static String getUserMobileCodeKey(String userId, String mobile, String code) {
+ return rootPrefix.concat("party:member:confirm:").concat(userId).concat("-").concat(mobile).concat("-").concat(code);
+ }
}
diff --git a/epmet-module/resi-mine/resi-mine-client/pom.xml b/epmet-module/resi-mine/resi-mine-client/pom.xml
index 3841644651..b27b423eb6 100644
--- a/epmet-module/resi-mine/resi-mine-client/pom.xml
+++ b/epmet-module/resi-mine/resi-mine-client/pom.xml
@@ -26,6 +26,12 @@
io.springfox
springfox-swagger-ui
+
+ com.epmet
+ resi-partymember-client
+ 2.0.0
+ compile
+
diff --git a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/PartyMemberInitFromDTO.java b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/PartyMemberInitFromDTO.java
new file mode 100644
index 0000000000..99e02573fa
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/PartyMemberInitFromDTO.java
@@ -0,0 +1,39 @@
+package com.epmet.resi.mine.dto.from;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ *
+ * 党员认证页面初始化参数
+ *
+ * @author zhaoqifeng
+ * @date 2020/3/30 11:17
+ */
+@Data
+public class PartyMemberInitFromDTO implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户ID
+ */
+ @NotBlank(message = "客户id不能为空")
+ private String customerId;
+ /**
+ * 网格ID
+ */
+ @NotBlank(message = "网格id不能为空")
+ private String gridId;
+ /**
+ * 用户ID
+ */
+ private String userId;
+ /**
+ * 访问来源
+ */
+ @NotBlank(message = "访问来源")
+ private String visitFrom;
+
+}
diff --git a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/VerificationCodeFromDTO.java b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/VerificationCodeFromDTO.java
new file mode 100644
index 0000000000..65113a2a7d
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/VerificationCodeFromDTO.java
@@ -0,0 +1,34 @@
+package com.epmet.resi.mine.dto.from;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/3/30 16:45
+ */
+@Data
+public class VerificationCodeFromDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户ID
+ */
+ private String userId;
+
+ /**
+ * 手机号
+ */
+ @NotBlank(message = "手机号不能为空")
+ private String mobile;
+
+ /**
+ * 行为记录表ID
+ */
+ @NotBlank(message = "行为记录表ID不能为空")
+ private String visitId;
+}
diff --git a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/PartyMemberInitResultDTO.java b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/PartyMemberInitResultDTO.java
new file mode 100644
index 0000000000..2dd29fdcd1
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/PartyMemberInitResultDTO.java
@@ -0,0 +1,32 @@
+package com.epmet.resi.mine.dto.result;
+
+import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 党员认证页面初始化返回结果
+ *
+ * @author zhaoqifeng
+ * @date 2020/3/30 11:05
+ */
+@Data
+public class PartyMemberInitResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 提交状态 0:未提交,1:已提交
+ */
+ private String submitStatus;
+
+ /**
+ * 党员认证行为记录表ID
+ */
+ private String visitId;
+ /**
+ * 党员认证信息
+ */
+ private PartymemberInfoDTO partyMemberInfo;
+}
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/PartyMemberConfirmFeignClient.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/PartyMemberConfirmFeignClient.java
new file mode 100644
index 0000000000..85505e516e
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/PartyMemberConfirmFeignClient.java
@@ -0,0 +1,25 @@
+package com.epmet.modules.feign;
+
+import com.epmet.commons.tools.constant.ServiceConstant;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.modules.feign.fallback.PartyMemberConfirmFeignClientFallBack;
+import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
+import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
+import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/3/30 16:03
+ */
+@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = PartyMemberConfirmFeignClientFallBack.class)
+public interface PartyMemberConfirmFeignClient {
+ @PostMapping("/resi/partymember/confirm/init")
+ Result init(@RequestBody PartyMemberInitFromDTO fromDto);
+
+ @PostMapping("/resi/partymember/confirm/getverificationcode")
+ Result getVerificationCode(@RequestBody VerificationCodeFromDTO fromDto);
+}
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/ResiPartymemberFeignClient.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/ResiPartymemberFeignClient.java
index 052a1c0cd0..042adc8dad 100644
--- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/ResiPartymemberFeignClient.java
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/ResiPartymemberFeignClient.java
@@ -2,7 +2,6 @@ package com.epmet.modules.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
-import com.epmet.dto.result.ResiRegisterResultDTO;
import com.epmet.modules.feign.fallback.ResiPartymemberFeignClientFallBack;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
@@ -13,7 +12,7 @@ import org.springframework.web.bind.annotation.PostMapping;
* @Description 居民端陌生人导览 调用epmet-user服务
* @Author sun
*/
-@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartymemberFeignClientFallBack.class,url="http://localhost:8096")
+@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartymemberFeignClientFallBack.class)
public interface ResiPartymemberFeignClient {
/**
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/PartyMemberConfirmFeignClientFallBack.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/PartyMemberConfirmFeignClientFallBack.java
new file mode 100644
index 0000000000..a42b5b8198
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/PartyMemberConfirmFeignClientFallBack.java
@@ -0,0 +1,28 @@
+package com.epmet.modules.feign.fallback;
+
+import com.epmet.commons.tools.constant.ServiceConstant;
+import com.epmet.commons.tools.utils.ModuleUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.modules.feign.PartyMemberConfirmFeignClient;
+import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
+import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
+import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/3/30 16:04
+ */
+@Component
+public class PartyMemberConfirmFeignClientFallBack implements PartyMemberConfirmFeignClient {
+ @Override
+ public Result init(PartyMemberInitFromDTO fromDto) {
+ return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "init", fromDto);
+ }
+
+ @Override
+ public Result getVerificationCode(VerificationCodeFromDTO fromDto) {
+ return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "getVerificationCode", fromDto);
+ }
+}
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/ResiPartymemberFeignClientFallBack.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/ResiPartymemberFeignClientFallBack.java
index 2f5d1c91c4..6580756d0e 100644
--- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/ResiPartymemberFeignClientFallBack.java
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/ResiPartymemberFeignClientFallBack.java
@@ -3,10 +3,6 @@ package com.epmet.modules.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
-import com.epmet.dto.form.ResiRegisterFormDTO;
-import com.epmet.dto.result.LatestGridInfoResultDTO;
-import com.epmet.dto.result.ResiRegisterResultDTO;
-import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.ResiPartymemberFeignClient;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java
new file mode 100644
index 0000000000..4f1ae79c86
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java
@@ -0,0 +1,52 @@
+package com.epmet.modules.partymember.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.modules.partymember.service.PartyMemberService;
+import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
+import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
+import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
+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;
+
+/**
+ * 党员认证
+ *
+ * @author zhaoqifeng
+ * @date 2020/3/30 16:11
+ */
+@RestController
+@RequestMapping("partymemberbaseinfo")
+public class PartyMemberController {
+
+ @Autowired
+ private PartyMemberService partyMemberService;
+
+ /**
+ * 党员认证页面初始化
+ *
+ * @param fromDto param
+ * @return Result
+ */
+ @PostMapping("init")
+ public Result init(@LoginUser TokenDto tokenDto, @RequestBody PartyMemberInitFromDTO fromDto) {
+ fromDto.setUserId(tokenDto.getUserId());
+ return partyMemberService.init(fromDto);
+ }
+
+ /**
+ * 党员认证页获取手机验证码
+ *
+ * @param fromDto 参数
+ * @return Result
+ * @date 2020/3/30 13:50
+ */
+ @PostMapping("getverificationcode")
+ public Result getVerificationCode(@LoginUser TokenDto tokenDto, @RequestBody VerificationCodeFromDTO fromDto) {
+ return partyMemberService.getVerificationCode(tokenDto, fromDto);
+ }
+}
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberService.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberService.java
new file mode 100644
index 0000000000..41b2884d25
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberService.java
@@ -0,0 +1,32 @@
+package com.epmet.modules.partymember.service;
+
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
+import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
+import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
+
+/**
+ * 党员认证
+ *
+ * @author zhaoqifeng
+ * @date 2020/3/30 11:00
+ */
+public interface PartyMemberService {
+ /**
+ * 党员认证页面初始化
+ *
+ * @param fromDto param
+ * @return Result
+ */
+ Result init(PartyMemberInitFromDTO fromDto);
+
+ /**
+ * 获取手机验证码
+ *
+ * @param tokenDto token
+ * @param fromDTO 参数
+ * @return Result
+ */
+ Result getVerificationCode(TokenDto tokenDto, VerificationCodeFromDTO fromDTO);
+}
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java
new file mode 100644
index 0000000000..292729f11f
--- /dev/null
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java
@@ -0,0 +1,35 @@
+package com.epmet.modules.partymember.service.impl;
+
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.modules.feign.PartyMemberConfirmFeignClient;
+import com.epmet.modules.partymember.service.PartyMemberService;
+import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
+import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
+import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 党员认证页面初始化
+ *
+ * @author zhaoqifeng
+ * @date 2020/3/30 11:01
+ */
+@Service
+public class PartyMemberServiceImpl implements PartyMemberService {
+
+ @Autowired
+ PartyMemberConfirmFeignClient partyMemberConfirmFeignClient;
+
+ @Override
+ public Result init(PartyMemberInitFromDTO fromDto) {
+ return partyMemberConfirmFeignClient.init(fromDto);
+ }
+
+ @Override
+ public Result getVerificationCode(TokenDto tokenDto, VerificationCodeFromDTO fromDTO) {
+ fromDTO.setUserId(tokenDto.getUserId());
+ return partyMemberConfirmFeignClient.getVerificationCode(fromDTO);
+ }
+}
diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java
index 46033e7952..1d16ebf454 100644
--- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java
+++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java
@@ -33,4 +33,15 @@ public class ResiWarmheartedController {
return resiWarmheartedService.init(tokenDTO, resiWarmheartedFormDTO);
}
+ /**
+ * @param
+ * @Author sun
+ * @Description 居民端-热心居民申请-提交申请数据
+ **/
+ @PostMapping("submit")
+ public Result submit(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmheartedFormDTO resiWarmheartedFormDTO) {
+ return resiWarmheartedService.init(tokenDTO, resiWarmheartedFormDTO);
+ }
+
+
}
diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml
index f9741d6372..4cdb866055 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml
+++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml
@@ -58,6 +58,18 @@
feign-httpclient
10.3.0
+
+ com.epmet
+ resi-mine-client
+ 2.0.0
+ compile
+
+
+ com.epmet
+ epmet-user-client
+ 2.0.0
+ compile
+
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java
new file mode 100644
index 0000000000..5cccc88819
--- /dev/null
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java
@@ -0,0 +1,43 @@
+package com.epmet.constant;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/3/30 15:24
+ */
+public interface PartyMemberConstant {
+ /**
+ * 初始化
+ */
+ String OPERATE_INITIALIZE = "initialize";
+
+ /**
+ * 获取验证码
+ */
+ String OPERATE_OPERATE_SMS_CODE = "sms_code";
+
+ /**
+ * 自动认证成功
+ */
+ String OPERATE_AUTO_SUCCESS = "auto_success";
+
+ /**
+ * 自动认证失败
+ */
+ String OPERATE_AUTO_FAILED = "auto_failed";
+
+ /**
+ * 信息补充
+ */
+ String OPERATE_EXTRA = "auto_extra";
+
+ /**
+ * 未提交
+ */
+ String NOT_SUBMITTED = "0";
+
+ /**
+ * 已提交
+ */
+ String SUBMITTED = "1";
+}
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/UserResiInfoFeignClient.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/UserResiInfoFeignClient.java
new file mode 100644
index 0000000000..1ba46a8572
--- /dev/null
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/UserResiInfoFeignClient.java
@@ -0,0 +1,28 @@
+package com.epmet.modules.feign;
+
+import com.epmet.commons.tools.constant.ServiceConstant;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.UserResiInfoDTO;
+import com.epmet.dto.form.UserResiInfoFormDTO;
+import com.epmet.modules.feign.fallback.UserResiInfoFeignClientFallBack;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/3/30 14:51
+ */
+@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = UserResiInfoFeignClientFallBack.class)
+public interface UserResiInfoFeignClient {
+
+ /**
+ * 查询用户注册信息
+ * @param userResiInfoFormDTO 参数
+ * @return Result
+ */
+ @PostMapping("/epmetuser/userresiinfo/getUserResiInfoDTO")
+ Result getUserResiInfoDTO(@RequestBody UserResiInfoFormDTO userResiInfoFormDTO);
+
+}
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/UserResiInfoFeignClientFallBack.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/UserResiInfoFeignClientFallBack.java
new file mode 100644
index 0000000000..abde8a0c44
--- /dev/null
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/UserResiInfoFeignClientFallBack.java
@@ -0,0 +1,22 @@
+package com.epmet.modules.feign.fallback;
+
+import com.epmet.commons.tools.constant.ServiceConstant;
+import com.epmet.commons.tools.utils.ModuleUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.UserResiInfoDTO;
+import com.epmet.dto.form.UserResiInfoFormDTO;
+import com.epmet.modules.feign.UserResiInfoFeignClient;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/3/30 14:53
+ */
+@Component
+public class UserResiInfoFeignClientFallBack implements UserResiInfoFeignClient {
+ @Override
+ public Result getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoDTO", userResiInfoFormDTO);
+ }
+}
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java
new file mode 100644
index 0000000000..6142fde61d
--- /dev/null
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java
@@ -0,0 +1,51 @@
+package com.epmet.modules.partymember.controller;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.modules.partymember.service.PartyMemberConfirmService;
+import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
+import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
+import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
+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;
+
+/**
+ *
+ * 党员认证
+ *
+ * @author zhaoqifeng
+ * @date 2020/3/30 13:49
+ */
+@RestController
+@RequestMapping("confirm")
+public class PartyMemberConfirmController {
+
+ @Autowired
+ private PartyMemberConfirmService partyMemberConfirmService;
+
+ /**
+ * 党员认证页面初始化
+ *
+ * @param fromDto 参数
+ * @return Result
+ * @date 2020/3/30 13:50
+ */
+ @PostMapping("init")
+ public Result init(@RequestBody PartyMemberInitFromDTO fromDto) {
+ return partyMemberConfirmService.init(fromDto);
+ }
+
+ /**
+ * 党员认证页获取手机验证码
+ *
+ * @param fromDto 参数
+ * @return Result
+ * @date 2020/3/30 13:50
+ */
+ @PostMapping("getverificationcode")
+ public Result getVerificationCode(@RequestBody VerificationCodeFromDTO fromDto) {
+ return partyMemberConfirmService.getVerificationCode(fromDto);
+ }
+}
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberInfoDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberInfoDao.java
index 44e062bf11..f01ba56abc 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberInfoDao.java
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberInfoDao.java
@@ -19,15 +19,28 @@ package com.epmet.modules.partymember.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.PartymemberInfoEntity;
+import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import org.apache.ibatis.annotations.Mapper;
/**
- * 党员认证信息表
+ * 党员认证信息表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-30
*/
@Mapper
public interface PartymemberInfoDao extends BaseDao {
-
+ /**
+ * 获取党员认证信息
+ * @param param 用户信息
+ * @return PartymemberInfoEntity
+ */
+ PartymemberInfoEntity selectPartyMemberInfo(PartymemberInfoDTO param);
+
+ /**
+ * 通过手机号获取党员认证信息
+ * @param param 手机号
+ * @return PartymemberInfoEntity
+ */
+ PartymemberInfoEntity selectPartyMemberInfoByMobile(PartymemberInfoEntity param);
}
\ No newline at end of file
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/redis/PartymemberInfoRedis.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/redis/PartymemberInfoRedis.java
index 73933fe5e3..02adb2ee95 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/redis/PartymemberInfoRedis.java
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/redis/PartymemberInfoRedis.java
@@ -17,6 +17,7 @@
package com.epmet.modules.partymember.redis;
+import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -44,4 +45,14 @@ public class PartymemberInfoRedis {
return null;
}
+ public void setUserMobileCode(String userId, String mobile, String code){
+ String key = RedisKeys.getUserMobileCodeKey(userId, mobile, code);
+ redisUtils.set(key, code);
+ }
+
+ public String getUserMobileCode(String userId, String mobile, String code){
+ String key = RedisKeys.getUserMobileCodeKey(userId, mobile, code);
+ return (String) redisUtils.get(key);
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberConfirmService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberConfirmService.java
new file mode 100644
index 0000000000..ce67b62177
--- /dev/null
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberConfirmService.java
@@ -0,0 +1,33 @@
+package com.epmet.modules.partymember.service;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
+import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
+import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
+
+/**
+ *
+ * 党员认证
+ *
+ * @author zhaoqifeng
+ * @date 2020/3/30 13:58
+ */
+public interface PartyMemberConfirmService {
+
+ /**
+ *
+ * 党员认证页面初始化
+ *
+ * @param fromDto 参数
+ * @return Result
+ */
+ Result init(PartyMemberInitFromDTO fromDto);
+
+ /**
+ * 获取手机验证码
+ * @param fromDTO 参数
+ * @return Result
+ */
+ Result getVerificationCode( VerificationCodeFromDTO fromDTO);
+
+}
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java
index f238c5ca83..125780d0ff 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java
@@ -92,4 +92,25 @@ public interface PartymemberInfoService extends BaseService init(PartyMemberInitFromDTO fromDto) {
+
+ PartyMemberInitResultDTO result = new PartyMemberInitResultDTO();
+ // 获取党员认证信息,判断是否提交认证
+ PartymemberInfoDTO partyMemberInfoParam = new PartymemberInfoDTO();
+ partyMemberInfoParam.setCustomerId(fromDto.getCustomerId());
+ partyMemberInfoParam.setGridId(fromDto.getGridId());
+ partyMemberInfoParam.setUserId(fromDto.getUserId());
+ PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfo(partyMemberInfoParam);
+ // 若已提交,获取提交的党员信息
+ if (null != partyMemberInfoResult) {
+ result.setSubmitStatus(PartyMemberConstant.SUBMITTED);
+ result.setPartyMemberInfo(partyMemberInfoResult);
+ return new Result().ok(result);
+ } else {
+ // 若没有提交,获取注册居民信息,判断是否已注册居民
+ result.setSubmitStatus(PartyMemberConstant.NOT_SUBMITTED);
+
+ UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO();
+ userResiInfoFormDTO.setCustomerId(fromDto.getCustomerId());
+ userResiInfoFormDTO.setUserId(fromDto.getUserId());
+ Result userResiInfoResult = userResiInfoFeignClient.getUserResiInfoDTO(userResiInfoFormDTO);
+ result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class));
+ }
+
+ // 将访问行为存入热心居民申请行为记录表
+ PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity();
+ partymemberVisitEntity.setCustomerId(fromDto.getCustomerId());
+ partymemberVisitEntity.setGridId(fromDto.getGridId());
+ partymemberVisitEntity.setUserId(fromDto.getUserId());
+ partymemberVisitEntity.setOperateVisit(PartyMemberConstant.OPERATE_INITIALIZE);
+ partymemberVisitEntity.setVisitFrom(fromDto.getVisitFrom());
+ partymemberVisitEntity.setVisitTime(new Date());
+ partymemberVisitService.insert(partymemberVisitEntity);
+
+ result.setVisitId(partymemberVisitEntity.getId());
+
+ return new Result().ok(result);
+ }
+
+ @Override
+ public Result getVerificationCode(VerificationCodeFromDTO fromDTO) {
+ Result result = new Result();
+ //手机是否可用
+ PartymemberInfoEntity partyMemberInfoParam= new PartymemberInfoEntity();
+ partyMemberInfoParam.setMobile(fromDTO.getMobile());
+ PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam);
+ if (null != partyMemberInfoResult) {
+ //TODO
+ result.setCode(0);
+ result.setMsg("");
+ return result;
+ }
+
+ //TODO 生成短信验证码
+ String code = "0000";
+
+ //将验证码存入Redis
+ partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), code);
+
+ //将访问记录更新到热心居民申请行为记录表
+ PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity();
+ partymemberVisitEntity.setId(fromDTO.getVisitId());
+ partymemberVisitEntity.setVisitTime(new Date());
+ partymemberVisitEntity.setOperateVisit(PartyMemberConstant.OPERATE_OPERATE_SMS_CODE);
+ partymemberVisitService.updateById(partymemberVisitEntity);
+
+ return result;
+ }
+}
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java
index 111b521c6e..5ee4e4f1de 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java
@@ -38,7 +38,7 @@ import java.util.List;
import java.util.Map;
/**
- * 党员认证信息表
+ * 党员认证信息表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-30
@@ -46,59 +46,74 @@ import java.util.Map;
@Service
public class PartymemberInfoServiceImpl extends BaseServiceImpl implements PartymemberInfoService {
- @Autowired
- private PartymemberInfoRedis partymemberInfoRedis;
-
- @Override
- public PageData page(Map params) {
- IPage page = baseDao.selectPage(
- getPage(params, FieldConstant.CREATED_TIME, false),
- getWrapper(params)
- );
- return getPageData(page, PartymemberInfoDTO.class);
- }
-
- @Override
- public List list(Map params) {
- List entityList = baseDao.selectList(getWrapper(params));
-
- return ConvertUtils.sourceToTarget(entityList, PartymemberInfoDTO.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 PartymemberInfoDTO get(String id) {
- PartymemberInfoEntity entity = baseDao.selectById(id);
- return ConvertUtils.sourceToTarget(entity, PartymemberInfoDTO.class);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void save(PartymemberInfoDTO dto) {
- PartymemberInfoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberInfoEntity.class);
- insert(entity);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void update(PartymemberInfoDTO dto) {
- PartymemberInfoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberInfoEntity.class);
- updateById(entity);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void delete(String[] ids) {
- // 逻辑删除(@TableLogic 注解)
- baseDao.deleteBatchIds(Arrays.asList(ids));
- }
+ @Autowired
+ private PartymemberInfoRedis partymemberInfoRedis;
+ @Autowired
+ private PartymemberInfoDao partyMemberInfoDao;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, PartymemberInfoDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, PartymemberInfoDTO.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 PartymemberInfoDTO get(String id) {
+ PartymemberInfoEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, PartymemberInfoDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(PartymemberInfoDTO dto) {
+ PartymemberInfoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberInfoEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(PartymemberInfoDTO dto) {
+ PartymemberInfoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberInfoEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ @Override
+ public PartymemberInfoDTO getPartyMemberInfo(PartymemberInfoDTO partymemberInfoDTO) {
+ PartymemberInfoEntity entity = partyMemberInfoDao.selectPartyMemberInfo(partymemberInfoDTO);
+ return ConvertUtils.sourceToTarget(entity, PartymemberInfoDTO.class);
+ }
+
+ @Override
+ public PartymemberInfoDTO getPartyMemberInfoByMobile(PartymemberInfoEntity entity) {
+ PartymemberInfoEntity result = partyMemberInfoDao.selectPartyMemberInfoByMobile(entity);
+ return ConvertUtils.sourceToTarget(result, PartymemberInfoDTO.class);
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedVisitService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedVisitService.java
index 6295386850..5547cfa243 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedVisitService.java
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedVisitService.java
@@ -19,7 +19,6 @@ package com.epmet.modules.warmhearted.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
-import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.warmhearted.entity.ResiWarmheartedVisitEntity;
import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedVisitDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO;
diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml
index 0d284ec1d9..b17f134905 100644
--- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml
+++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml
@@ -27,6 +27,29 @@
+
+
\ No newline at end of file