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-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 50041b3be2..0e40375e3a 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -274,6 +274,7 @@ epmet: - /gov/org/** - /oper/access/** - /resi/guide/stranger/getgridhome + - /resi/guide/user/entergrid - /auth/login/logout - /resi/mine/** - /resi/group/** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java index 7d90d3a060..ed7db2c1c7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java @@ -97,7 +97,7 @@ public class CustomerGridController { /** * 供epmet-user服务调用 查询客户网格表数据 * @author sun - * @param formDTO + * @param customerGridFormDTO * @return * @throws Exception */ diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index cf1bcee971..a0b7899e9c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -60,5 +60,5 @@ public interface CustomerGridDao extends BaseDao { **/ List selectRestGridWithoutGivenAreaCode(Map paramsMap); - CustomerGridDTO selectCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO); + CustomerGridDTO getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO); } \ 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 0c05d61870..ea8bc48c65 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 @@ -149,7 +149,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO) { - return new Result().ok(baseDao.selectCustomerGridByGridId(customerGridFormDTO)); + return new Result().ok(baseDao.getCustomerGridByGridId(customerGridFormDTO)); } } diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/UserGuideController.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/UserGuideController.java index bf19d03521..fe4d4d15ea 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/UserGuideController.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/UserGuideController.java @@ -6,6 +6,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.UserEnterGridFormDTO; import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; +import com.epmet.service.UserAccessService; +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; @@ -21,13 +23,15 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("user") public class UserGuideController { + @Autowired + private UserAccessService userAccessService; @PostMapping("entergrid") Result enterGrid(@LoginUser TokenDto token, @RequestBody UserEnterGridFormDTO userEnterGridFormDTO){ ValidatorUtils.validateEntity(userEnterGridFormDTO); - return null; + return userAccessService.enterGrid(token,userEnterGridFormDTO); } } diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 31582eecd3..84d0a19912 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -2,10 +2,13 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.EnterGridFormDTO; import com.epmet.dto.form.VisitedFormDTO; +import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * @Description 居民端陌生人导览 调用epmet-user服务 @@ -23,6 +26,16 @@ public interface EpmetUserFeignClient { Result saveVisitedRecord(VisitedFormDTO formDTO); + /** + * @Description 在用户进入网格时查询用户的注册信息(且统计)以及角色列表 + * @Param enterGridFormDTO + * @return UserInfoOnEnterGridResultDTO + * @Author wangc + * @Date 2020.03.30 15:06 + **/ + @PostMapping("/epmetuser/registerrelation/getuserinfoandroles") + Result getUserInfoAndRoles(@RequestBody EnterGridFormDTO enterGridFormDTO); + } diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index 06b6ed803a..05ab717c74 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -3,7 +3,9 @@ package com.epmet.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.EnterGridFormDTO; import com.epmet.dto.form.VisitedFormDTO; +import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; import com.epmet.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; @@ -20,5 +22,10 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "savevisitedrecord",formDTO); } + @Override + public Result getUserInfoAndRoles(EnterGridFormDTO enterGridFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getuserinfoandroles",enterGridFormDTO); + } + } diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/UserAccessService.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/UserAccessService.java index 747fbb32cb..4856607fd2 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/UserAccessService.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/UserAccessService.java @@ -11,6 +11,7 @@ import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; * @Author wangc * @date 2020.03.30 14:02 */ + public interface UserAccessService { /** diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java index 148394dad2..ffd5dcba62 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java @@ -203,12 +203,12 @@ public class StrangerAccessRecordServiceImpl extends BaseServiceImpl getGridHome(TokenDto tokenDTO, StrangerFormDTO strangerFormDTO) { //1.先判断参数 - //居民端 所以参数必须是居民端的参数 否则就是参数错误s + //居民端 所以参数必须是居民端的参数 否则就是参数错误 if (!AppClientConstant.APP_RESI.equals(tokenDTO.getApp())) { return new Result().error(StrangerResiGuideConstant.PARAMETER_EXCEPTION); } //token里边有所属端 userId这些参数 前台传递customerID和gridId - //2:调用epmet-user服务查询数据 新建网格记录数据 + /*//2:调用epmet-user服务查询数据 新建网格记录数据 VisitedFormDTO visitedFormDTO = new VisitedFormDTO(); visitedFormDTO.setGridId(strangerFormDTO.getGridId()); visitedFormDTO.setCustomerId(strangerFormDTO.getCustomerId()); @@ -216,7 +216,7 @@ public class StrangerAccessRecordServiceImpl extends BaseServiceImpl result = getCustomerHomeData(strangerFormDTO.getCustomerId()); return result; diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java index d008450ade..e2e629e79e 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/UserAccessServiceImpl.java @@ -2,9 +2,17 @@ package com.epmet.service.impl; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.StrangerResiGuideConstant; +import com.epmet.dto.form.EnterGridFormDTO; import com.epmet.dto.form.UserEnterGridFormDTO; +import com.epmet.dto.form.VisitedFormDTO; import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.service.UserAccessService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; /** * @Description @@ -12,13 +20,39 @@ import com.epmet.service.UserAccessService; * @Author wangc * @date 2020.03.30 14:05 */ +@Service public class UserAccessServiceImpl implements UserAccessService { + + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + + private static final Logger log = LoggerFactory.getLogger(StrangerAccessRecordServiceImpl.class); + @Override public Result enterGrid(TokenDto tokenDto, UserEnterGridFormDTO formDTO) { - //TODO 加入不放行白名单 + EnterGridFormDTO userInfoParams = new EnterGridFormDTO(); + userInfoParams.setUserId(tokenDto.getUserId()); + userInfoParams.setCustomerId(formDTO.getCustomerId()); + userInfoParams.setGridId(formDTO.getGridId()); + Result userInfoResult = + epmetUserFeignClient.getUserInfoAndRoles(userInfoParams); + if(userInfoResult.success()){ + //2:调用epmet-user服务查询数据 新建网格记录数据 + VisitedFormDTO visitedFormDTO = new VisitedFormDTO(); + visitedFormDTO.setGridId(userInfoParams.getGridId()); + visitedFormDTO.setCustomerId(userInfoParams.getCustomerId()); + visitedFormDTO.setUserId(userInfoParams.getUserId()); + Result re = epmetUserFeignClient.saveVisitedRecord(visitedFormDTO); + if (!re.success()) { + log.warn(StrangerResiGuideConstant.EPMET_USER_EXCEPTION); + } + }else{ + //getUserInfoAndRoles调用失败 + + } - return null; + return userInfoResult; } } 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/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml index 1ba86f3a63..27f935166a 100644 --- a/epmet-module/resi-mine/resi-mine-server/pom.xml +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -76,6 +76,18 @@ 2.0.0 compile + + com.epmet + resi-partymember-client + 2.0.0 + compile + + + com.epmet + resi-partymember-client + 2.0.0 + compile + 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 new file mode 100644 index 0000000000..042adc8dad --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/ResiPartymemberFeignClient.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.ResiPartymemberFeignClientFallBack; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +/** + * @Description 居民端陌生人导览 调用epmet-user服务 + * @Author sun + */ +@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartymemberFeignClientFallBack.class) +public interface ResiPartymemberFeignClient { + + /** + * @return com.epmet.dto.result.ResiWarmheartedResultDTO + * @Author sun + * @Description 居民端-热心居民申请页面初始化-查询有无申请、新增访问行为记录数据 + **/ + @PostMapping(value = "resi/partymember/resiwarmheartedapply/init") + Result init(ResiWarmheartedFormDTO formDTO); +} 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 new file mode 100644 index 0000000000..6580756d0e --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/ResiPartymemberFeignClientFallBack.java @@ -0,0 +1,29 @@ +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.ResiPartymemberFeignClient; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; +import org.springframework.stereotype.Component; + +/** + * @Description 居民端-陌生人导览 调用epmet-user服务 + * @Author sun + * @Date 2020/3/16 + */ +@Component +public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignClient { + + /** + * @return com.epmet.dto.result.ResiWarmheartedResultDTO + * @Author sun + * @Description 居民端-热心居民申请页面初始化-查询有无申请、新增访问行为记录数据 + * @Date 2020/3/30 + **/ + @Override + public Result init(ResiWarmheartedFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "init", formDTO); + } +} 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 new file mode 100644 index 0000000000..1d16ebf454 --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedController.java @@ -0,0 +1,47 @@ +package com.epmet.modules.warmhearted.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.warmhearted.service.ResiWarmheartedService; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; +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; + +/** + * @Description 居民端热心居民申请接口入口 + * @Author sun + * @since v1.0.0 + */ +@RestController +@RequestMapping("warmhearted") +public class ResiWarmheartedController { + @Autowired + private ResiWarmheartedService resiWarmheartedService; + + /** + * @param + * @Author sun + * @Description 居民端-热心居民申请页面初始化-查询有无申请、新增访问行为记录数据 + **/ + @PostMapping("init") + public Result init(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmheartedFormDTO resiWarmheartedFormDTO) { + 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-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedService.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedService.java new file mode 100644 index 0000000000..a02d86f29f --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedService.java @@ -0,0 +1,24 @@ +package com.epmet.modules.warmhearted.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; + +/** + * @Description 居民端居民注册信息service + * @Author sun + */ +public interface ResiWarmheartedService { + + + /** + * 居民端-热心居民申请页面初始化-查询有无申请、新增访问行为记录数据 + * + * @param + * @return void + * @author sun + */ + Result init(TokenDto tokenDTO, ResiWarmheartedFormDTO formDTO); + +} diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java new file mode 100644 index 0000000000..c83c97e3af --- /dev/null +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java @@ -0,0 +1,33 @@ +package com.epmet.modules.warmhearted.service.impl; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.modules.feign.ResiPartymemberFeignClient; +import com.epmet.modules.utils.ModuleConstant; +import com.epmet.modules.warmhearted.service.ResiWarmheartedService; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description 居民端居民注册信息service + * @Author sun + * @Date 2020/3/30 + */ +@Service +public class ResiWarmheartedServiceImpl implements ResiWarmheartedService { + + @Autowired + private ResiPartymemberFeignClient resiPartymemberFeignClient; + + @Override + public Result init(TokenDto tokenDTO, ResiWarmheartedFormDTO formDTO) { + if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) { + return new Result().error(ModuleConstant.USER_NOT_NULL); + } + formDTO.setUserId(tokenDTO.getUserId()); + return resiPartymemberFeignClient.init(formDTO); + } +} diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedFormDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedFormDTO.java new file mode 100644 index 0000000000..4c05ab5391 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedFormDTO.java @@ -0,0 +1,59 @@ +/** + * 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.resi.partymember.dto.warmhearted.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 居民端-居民注册页面初始化-居民访问记录表新增数据-配置入参 + * @author sun + */ +@Data +public class ResiWarmheartedFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id CUSTOMER.id + */ + @NotBlank(message = "客户ID不能为空") + private String customerId; + + /** + * 网格Id + */ + @NotBlank(message = "网格ID不能为空") + private String gridId; + + /** + * 访问来源 指的是用户点的那个功能进入到的注册页面,就是一个功能模块的Id(value:feature+action) + */ + @NotBlank(message = "访问来源不能为空") + private String visitFrom; + + /** + * 用户Id + */ + @NotBlank(message = "用户ID不能为空") + private String userId; + +} \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiWarmheartedResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiWarmheartedResultDTO.java new file mode 100644 index 0000000000..d6338f9b26 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiWarmheartedResultDTO.java @@ -0,0 +1,45 @@ +/** + * 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.resi.partymember.dto.warmhearted.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 居民端-热心居民申请页面初始化-查询有无申请、新增访问行为记录数据-配置入参 + * @author sun + */ +@Data +public class ResiWarmheartedResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 是否已申请热心居民 0:否, 1:是 + */ + private String isApplied; + + /** + * 热心居民申请访问记录表(resi_warmhearted_visit)Id + */ + private String resiWarmheartedVisitId; + +} \ No newline at end of file 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/constant/ResiWarmheartedVisitConstant.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java new file mode 100644 index 0000000000..31199697f9 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + *

+ * https://www.renren.io + *

+ * 版权所有,侵权必究! + */ + +package com.epmet.modules.warmhearted.constant; + +/** + * 常量 + * @author sun + * @since 1.0.0 + */ +public interface ResiWarmheartedVisitConstant { + + /** + * 最后一次操作行为-初始化 + */ + String INITIALIZE = "initialize"; + + /** + * 最后一次操作行为-提交成功 + */ + String SUCCESS = "success"; + + /** + * 最后一次操作行为-提交失败 + */ + String FAILD="faild"; +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java index e56036a8bd..cf9f8d7b7b 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java @@ -28,6 +28,8 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.warmhearted.excel.ResiWarmheartedApplyExcel; import com.epmet.modules.warmhearted.service.ResiWarmheartedApplyService; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -91,4 +93,9 @@ public class ResiWarmheartedApplyController { ExcelUtils.exportExcelToTarget(response, null, list, ResiWarmheartedApplyExcel.class); } + @PostMapping("init") + public Result init(@RequestBody ResiWarmheartedFormDTO resiWarmheartedFormDTO){ + return resiWarmheartedApplyService.getResiWarmheartedApply(resiWarmheartedFormDTO); + } + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java index eacea14ded..ad326b0f38 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java @@ -19,6 +19,8 @@ package com.epmet.modules.warmhearted.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity; +import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; import org.apache.ibatis.annotations.Mapper; /** @@ -29,5 +31,11 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiWarmheartedApplyDao extends BaseDao { - + + /** + * 查询用户是否已存在热心居民申请 + * @param formDTO + * @return + */ + ResiWarmheartedApplyDTO selectResiWarmheartedApply(ResiWarmheartedFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedVisitDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedVisitDao.java index ed332ea0e9..acf8b76c7b 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedVisitDao.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedVisitDao.java @@ -19,6 +19,7 @@ package com.epmet.modules.warmhearted.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.warmhearted.entity.ResiWarmheartedVisitEntity; +import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedVisitDTO; import org.apache.ibatis.annotations.Mapper; /** @@ -29,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiWarmheartedVisitDao extends BaseDao { - + + void saveResiWarmheartedVisit(ResiWarmheartedVisitDTO resiWarmheartedVisitDTO); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java index be1b919590..de325fdd16 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java @@ -19,8 +19,11 @@ 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.ResiWarmheartedApplyEntity; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import java.util.List; import java.util.Map; @@ -92,4 +95,13 @@ public interface ResiWarmheartedApplyService extends BaseService getResiWarmheartedApply(ResiWarmheartedFormDTO formDTO); } \ 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 03959324c6..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 @@ -21,6 +21,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.modules.warmhearted.entity.ResiWarmheartedVisitEntity; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedVisitDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import java.util.List; import java.util.Map; @@ -92,4 +94,13 @@ public interface ResiWarmheartedVisitService extends BaseService page(Map params) { @@ -65,8 +74,8 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + 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); @@ -101,4 +110,21 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl getResiWarmheartedApply(ResiWarmheartedFormDTO formDTO) { + //1:热心居民申请行为记录表新增数据 + ResiWarmheartedResultDTO resiWarmheartedResultDTO = resiWarmheartedVisitService.saveResiWarmheartedVisit(formDTO); + //2:查询是否已申请热心居民 + ResiWarmheartedApplyDTO resiWarmheartedApplyDTO = resiWarmheartedApplyDao.selectResiWarmheartedApply(formDTO); + if (null == resiWarmheartedApplyDTO || StringUtils.isEmpty(resiWarmheartedApplyDTO.getId())) { + //是否已申请热心居民 0:否, 1:是 + resiWarmheartedResultDTO.setIsApplied(NumConstant.ZERO_STR); + } else { + resiWarmheartedResultDTO.setIsApplied(NumConstant.ONE_STR); + } + return new Result().ok(resiWarmheartedResultDTO); + } + + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedVisitServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedVisitServiceImpl.java index ddecdc1900..b2841e1b14 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedVisitServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedVisitServiceImpl.java @@ -19,21 +19,27 @@ package com.epmet.modules.warmhearted.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.warmhearted.constant.ResiWarmheartedVisitConstant; import com.epmet.modules.warmhearted.dao.ResiWarmheartedVisitDao; import com.epmet.modules.warmhearted.entity.ResiWarmheartedVisitEntity; import com.epmet.modules.warmhearted.redis.ResiWarmheartedVisitRedis; import com.epmet.modules.warmhearted.service.ResiWarmheartedVisitService; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedVisitDTO; +import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; 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.Date; import java.util.List; import java.util.Map; @@ -48,6 +54,8 @@ public class ResiWarmheartedVisitServiceImpl extends BaseServiceImpl page(Map params) { @@ -101,4 +109,29 @@ public class ResiWarmheartedVisitServiceImpl extends BaseServiceImpl - + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmAutoDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmAutoDao.xml index 901c0d701a..96c6658558 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmAutoDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmAutoDao.xml @@ -1,7 +1,7 @@ - + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmManualDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmManualDao.xml index 344dc2c9b0..0d7f0a6b13 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmManualDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmManualDao.xml @@ -1,7 +1,7 @@ - + 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 2440797312..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 @@ -1,7 +1,7 @@ - + @@ -27,6 +27,29 @@ + + \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberRegisterRelationDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberRegisterRelationDao.xml index 53103da6ac..9db883d4ae 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberRegisterRelationDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberRegisterRelationDao.xml @@ -1,7 +1,7 @@ - + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberVisitDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberVisitDao.xml index 53f84e7325..ea2b8a0ced 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberVisitDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberVisitDao.xml @@ -1,7 +1,7 @@ - + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml index eb20140c23..609c5ba8ee 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml @@ -1,7 +1,7 @@ - + @@ -20,5 +20,39 @@ + + rw.id AS "id", + rw.customer_id AS "customerid", + rw.grid_id AS "gridid", + rw.user_id AS "userid", + rw.reason AS "reason", + rw.audit_status AS "auditstatus", + rw.refuse_reason AS "refusereason", + rw.resi_warm_visit_id AS "resiwarmvisitid", + rw.del_flag AS "delflag", + rw.revision AS "revision", + rw.created_by AS "createdby", + rw.created_time AS "createdtime", + rw.updated_by AS "updatedby", + rw.updated_time AS "updatedtime" + + + + \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedVisitDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedVisitDao.xml index d0ec7f88b6..ff6c879e83 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedVisitDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedVisitDao.xml @@ -1,7 +1,7 @@ - + @@ -19,5 +19,36 @@ + + INSERT INTO resi_warmhearted_visit ( + id, + customer_id, + grid_id, + user_id, + visit_from, + operate_visit, + visit_time, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + )VALUES( + #{id}, + #{customerId}, + #{gridId}, + #{userId}, + #{visitFrom}, + #{operateVisit}, + #{visitTime}, + #{delFlag}, + #{revision}, + #{createdBy}, + #{createdTime}, + #{updatedBy}, + #{updatedTime} + ) + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java index aff710a2d7..2b18303846 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java @@ -20,6 +20,9 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.RegisterRelationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 注册关系表 用于统计客户网格的注册居民数 @@ -29,5 +32,8 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface RegisterRelationDao extends BaseDao { + + List getListByUserId(@Param("userId") String userId); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiRegisterVisitDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiRegisterVisitDao.java index d5e564f559..e1a13706dc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiRegisterVisitDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiRegisterVisitDao.java @@ -22,6 +22,8 @@ import com.epmet.dto.UserResiRegisterVisitDTO; import com.epmet.entity.UserResiRegisterVisitEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 用户居民端注册访问记录表 * @@ -32,4 +34,6 @@ import org.apache.ibatis.annotations.Mapper; public interface UserResiRegisterVisitDao extends BaseDao { void saveUserResiRegisterVisit(UserResiRegisterVisitDTO userResiRegisterVisitDTO); + + List selectUserResiRegisterVisit(UserResiRegisterVisitDTO userResiRegisterVisitDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java index 919fe3c366..d4fecbc78b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserWechatDao.java @@ -6,6 +6,9 @@ import com.epmet.dto.UserWechatDTO; import com.epmet.dto.form.WxLoginUserInfoFormDTO; import com.epmet.entity.UserWechatEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description 用户-微信关系DAO @@ -33,4 +36,13 @@ public interface UserWechatDao extends BaseDao{ * @Date 2020/3/30 13:06 **/ UserDTO selectUserDTOByOpenId(WxLoginUserInfoFormDTO formDTO); + + /** + * @Description 根据userId查询用户微信登录时的信息 + * @Param userId + * @return List + * @Author wangc + * @Date 2020.03.30 17:25 + **/ + List selectByUserId(@Param("userId")String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index acbb5833f7..8f39fc6cc5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @Author sun * @Date 2020/3/16 */ -@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) +@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class ) public interface GovOrgFeignClient { /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 8b4d87717f..e3402a196f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -18,6 +18,6 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { @Override public Result getCustomerGridByGridId(CustomerGridFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCustomerGridByGridId", formDTO); + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getcustomergridbygridid", formDTO); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java index 5c5358527c..4568078521 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java @@ -24,14 +24,20 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; -import com.epmet.dao.RegisterRelationDao; -import com.epmet.dao.UserResiInfoDao; -import com.epmet.dao.UserRoleDao; -import com.epmet.dao.UserWechatDao; +import com.epmet.dao.*; +import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.RegisterRelationDTO; +import com.epmet.dto.UserResiInfoDTO; +import com.epmet.dto.UserResiRegisterVisitDTO; +import com.epmet.dto.form.CustomerGridFormDTO; import com.epmet.dto.form.EnterGridFormDTO; +import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.dto.form.UserRoleFormDTO; import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.RegisterRelationEntity; +import com.epmet.entity.UserWechatEntity; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.RegisterRelationRedis; import com.epmet.service.RegisterRelationService; import org.apache.commons.lang3.StringUtils; @@ -39,9 +45,7 @@ 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; +import java.util.*; /** * 注册关系表 用于统计客户网格的注册居民数 @@ -64,6 +68,12 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -126,16 +136,108 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl getUserInfoAndRoles(EnterGridFormDTO enterGridFormDTO) { + Result result = new Result<>(); + UserInfoOnEnterGridResultDTO resultObj = new UserInfoOnEnterGridResultDTO(); + resultObj.setCurrentCustomerId(enterGridFormDTO.getCustomerId()); + resultObj.setCurrentGridId(enterGridFormDTO.getGridId()); + final String customerId = enterGridFormDTO.getCustomerId(); + final String gridId = enterGridFormDTO.getGridId(); + + //查询用户微信关系表 + List strangerWechatInfo = userWechatDao.selectByUserId(enterGridFormDTO.getUserId()); + if(null != strangerWechatInfo && strangerWechatInfo.size() > 0){ + resultObj.setNickname(strangerWechatInfo.get(0).getNickname()); + resultObj.setUserHeadPhoto(strangerWechatInfo.get(0).getHeadImgUrl()); + } + + List registerRecords = baseDao.getListByUserId(enterGridFormDTO.getUserId()); //1.查找用户注册关系表,如果没有表示当前用户为陌生人(拉取用户微信表信息),如果有表示当前用户已经进行居民认证 - - //2.根据居民认证的网格、客户进行统计 - - //3.去网格表中查询网格对应的名称 - - - - - return null; + if(null == registerRecords || registerRecords.size() <= 0){ + //当前用户尚未注册过居民信息 + + }else{ + + //2.根据居民认证的网格、客户进行统计 + RegisterRelationEntity registerRelationToSave = new RegisterRelationEntity(); + + registerRelationToSave.setCustomerId(customerId); + registerRelationToSave.setUserId(enterGridFormDTO.getUserId()); + registerRelationToSave.setGridId(gridId); + + + Optional registerRecordWithSameCustAndGrid = + registerRecords.stream().filter(obj -> customerId.equals(obj.getCustomerId()) && gridId.equals(obj.getGridId())).findFirst(); + + //是否存在相同客户相同网格的注册记录 + if(!registerRecordWithSameCustAndGrid.isPresent()){ + Optional registerRecordWithSameCustAndDiffGrid = + registerRecords.stream().filter(obj -> customerId.equals(obj.getCustomerId()) && !gridId.equals(obj.getGridId())).findAny(); + + if(registerRecordWithSameCustAndDiffGrid.isPresent()){ + //存在相同客户不同网格的注册记录 + //参与用户 + registerRelationToSave.setFirstRegister("0"); + registerRelationToSave.setRegister("0"); + registerRelationToSave.setParticipation("1"); + + baseDao.insert(registerRelationToSave); + }else{ + //不存在相同客户不同网格的注册记录 + Optional registerRecordWithDiffCustAndGrid = + registerRecords.stream().filter(obj -> !customerId.equals(obj.getCustomerId()) && !gridId.equals(obj.getGridId())).findAny(); + if(registerRecordWithDiffCustAndGrid.isPresent()){ + //如果存在不同客户不同网格的注册信息 + //注册用户 参与用户 + registerRelationToSave.setFirstRegister("0"); + registerRelationToSave.setRegister("1"); + registerRelationToSave.setParticipation("1"); + + baseDao.insert(registerRelationToSave); + }else{ + + //如果不存在不同客户不同网格数据,说明在居民注册时没有成功记录register_relation信息 + UserResiRegisterVisitDTO userResiRegisterVisitDTO = new UserResiRegisterVisitDTO(); + userResiRegisterVisitDTO.setDelFlag(0); + userResiRegisterVisitDTO.setUserId(enterGridFormDTO.getUserId()); + List UserResiRegisterVisitRecord = + userResiRegisterVisitDao.selectUserResiRegisterVisit(userResiRegisterVisitDTO); + } + } + } + + UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); + userResiInfoFormDTO.setUserId(enterGridFormDTO.getUserId()); + userResiInfoFormDTO.setCustomerId(enterGridFormDTO.getCustomerId()); + UserResiInfoDTO userResiInfo = userResiInfoDao.selectUserResiInfoDTO(userResiInfoFormDTO); + resultObj.setNickname(userResiInfo.getSurname() + userResiInfo.getName()); + + } + + //3.获取权限 + UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); + userRoleFormDTO.setUserId(enterGridFormDTO.getUserId()); + userRoleFormDTO.setCustomerId(enterGridFormDTO.getCustomerId()); + List roleList = userRoleDao.getUserRoleInfo(userRoleFormDTO); + List roleListString = new ArrayList<>(); + for(UserRoleResultDTO role : roleList){ + roleListString.add(role.getRoleKey()); + } + resultObj.setUserRoleList(roleListString); + + //4.去网格表中查询网格对应的名称 + CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); + customerGridFormDTO.setGridId(gridId); + Result gridDTOResult = + govOrgFeignClient.getCustomerGridByGridId(customerGridFormDTO); + if(gridDTOResult.success()){ + resultObj.setCurrentGridName(gridDTOResult.getData().getGridName()); + }else{ + //查询网格名称失败 + + } + + result.setData(resultObj); + return result; } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java index 976a4d1358..38438ec41f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; @@ -123,8 +124,8 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml index 5e8221dd5d..b715cf1b32 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml @@ -21,22 +21,27 @@ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml index 468e37264f..c177b6fe84 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml @@ -51,4 +51,16 @@ AND uw.DEL_FLAG = '0' AND u.FROM_APP = #{app} + + +