Browse Source

在分享链接注册居民之后触发的接口:发放积分

dev
wangchao 5 years ago
parent
commit
f856c9c6e9
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java
  2. 29
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/SharableIssueAndInviteeFormDTO.java
  3. 14
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java
  4. 5
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java
  5. 18
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java
  6. 22
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java
  7. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java
  8. 15
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java
  9. 26
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml
  10. 27
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/SharableTopicAndInviteeFormDTO.java
  11. 14
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java
  12. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java
  13. 16
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java
  14. 22
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java
  15. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java
  16. 15
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java
  17. 26
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml
  18. 35
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AfterRegisterResidentInSharableLinkFormDTO.java
  19. 12
      epmet-user/epmet-user-server/pom.xml
  20. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java
  21. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserCustomerDao.java
  22. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java
  23. 54
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java
  24. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java
  25. 4
      epmet-user/epmet-user-server/src/main/resources/mapper/UserCustomerDao.xml

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java

@ -10,6 +10,7 @@ public enum EventEnum {
ACTIVE_SEND_POINT("active_send_point", "epmet_heart", "活动发放积分"),
REGISTER_VOLUNTEER("register_volunteer", "epmet_heart", "认证志愿者"),
ACTIVE_INSERT_LIVE("active_insert_live", "epmet_heart", "添加活动实况"),
PULL_NEW_RESIDENT("pull_new_resident","epmet_user","拉新用户")
;
private String eventClass;

29
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/SharableIssueAndInviteeFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 议题分享链接和被邀请人传参DTO
* @ClassName SharableIssueAndInviteeFormDTO
* @Auth wangc
* @Date 2020-12-18 15:10
*/
@Data
public class SharableIssueAndInviteeFormDTO implements Serializable {
private static final long serialVersionUID = -2777459178190245842L;
/**
* 议题分享链接
*/
@NotBlank(message = "分享链接不能为空")
private String shareLinkId;
/**
* 通过链接进入议题页面用户的Id
*/
@NotBlank(message = "用户Id不能为空")
private String inviteeId;
}

14
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java

@ -209,4 +209,18 @@ public interface GovIssueOpenFeignClient {
**/
@PostMapping(value = "/gov/issue/issueapplication/queryuserpubauditingissues")
Result<List<UserPubAuditingIssueResDTO>> queryUserPubAuditingIssues(@RequestBody UserPubAuditingIssueFormDTO fomrDTO);
/**
* @Description 检查邀请关系如果确实存在邀请关系则返回邀请人Id
* 符合条件
* 链接Id对应
* 邀请人Id对应
* 邀请人在被邀请时的状态为陌生人
* @param param
* @return com.epmet.commons.tools.utils.Result<java.lang.String>
* @author wangc
* @date 2020.12.18 14:53
*/
@PostMapping("/gov/issue/issuesharelinkvisitrecord/checkinviterelationship")
Result<String> checkInviteRelationship(@RequestBody SharableIssueAndInviteeFormDTO param);
}

5
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java

@ -193,4 +193,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient
public Result<List<UserPubAuditingIssueResDTO>> queryUserPubAuditingIssues(UserPubAuditingIssueFormDTO fomrDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryUserPubAuditingIssues", fomrDTO);
}
@Override
public Result<String> checkInviteRelationship(SharableIssueAndInviteeFormDTO param) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "checkInviteRelationship", param);
}
}

18
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java

@ -8,6 +8,7 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IssueShareLinkVisitRecordDTO;
import com.epmet.dto.form.SharableIssueAndInviteeFormDTO;
import com.epmet.service.IssueShareLinkVisitRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -64,4 +65,21 @@ public class IssueShareLinkVisitRecordController {
return new Result();
}
/**
* @Description 检查邀请关系如果确实存在邀请关系则返回邀请人Id
* 符合条件
* 链接Id对应
* 邀请人Id对应
* 邀请人在被邀请时的状态为陌生人
* @param param
* @return com.epmet.commons.tools.utils.Result<java.lang.String>
* @author wangc
* @date 2020.12.18 14:53
*/
@PostMapping("checkinviterelationship")
public Result<String> checkInviteRelationship(@RequestBody SharableIssueAndInviteeFormDTO param){
ValidatorUtils.validateEntity(param);
return new Result<String>().ok(issueShareLinkVisitRecordService.checkInviteRelationship(param));
}
}

22
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java

@ -20,6 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IssueShareLinkVisitRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 议题分享链接访问记录表
@ -29,5 +30,24 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IssueShareLinkVisitRecordDao extends BaseDao<IssueShareLinkVisitRecordEntity> {
/**
* @Description 根据邀请Id和邀请人Id查询邀请人的Id
* @param linkId
* @param invitee
* @return java.lang.String
* @author wangc
* @date 2020.12.18 15:50
*/
String selectInviterIdByLinkIdAndInvitee(@Param("linkId") String linkId, @Param("invitee") String invitee);
/**
* @Description 修改是否通过链接注册居民由0改为1
* @param linkId
* @param invitee
* @return int
* @author wangc
* @date 2020.12.18 15:50
*/
int updateInviteRegister(@Param("linkId") String linkId, @Param("invitee") String invitee);
}

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java

@ -20,8 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueShareLinkVisitRecordDTO;
import com.epmet.dto.form.SharableIssueAndInviteeFormDTO;
import com.epmet.entity.IssueShareLinkVisitRecordEntity;
import java.util.List;
import java.util.Map;
@ -92,4 +92,13 @@ public interface IssueShareLinkVisitRecordService extends BaseService<IssueShare
* @date 2020-12-18
*/
void delete(String[] ids);
/**
* @Description
* @param param
* @return java.lang.String
* @author wangc
* @date 2020.12.18 15:24
*/
String checkInviteRelationship(SharableIssueAndInviteeFormDTO param);
}

15
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java

@ -25,6 +25,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IssueShareLinkVisitRecordDao;
import com.epmet.dto.IssueShareLinkVisitRecordDTO;
import com.epmet.dto.form.SharableIssueAndInviteeFormDTO;
import com.epmet.entity.IssueShareLinkVisitRecordEntity;
import com.epmet.service.IssueShareLinkVisitRecordService;
import org.apache.commons.lang3.StringUtils;
@ -96,4 +97,18 @@ public class IssueShareLinkVisitRecordServiceImpl extends BaseServiceImpl<IssueS
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description
* @param param
* @return java.lang.String
* @author wangc
* @date 2020.12.18 15:18
*/
@Override
public String checkInviteRelationship(SharableIssueAndInviteeFormDTO param) {
String inviterId = baseDao.selectInviterIdByLinkIdAndInvitee(param.getShareLinkId(),param.getInviteeId());
if(StringUtils.isNotBlank(inviterId)) baseDao.updateInviteRegister(param.getShareLinkId(),param.getInviteeId());
return inviterId;
}
}

26
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml

@ -3,5 +3,31 @@
<mapper namespace="com.epmet.dao.IssueShareLinkVisitRecordDao">
<select id="selectInviterIdByLinkIdAndInvitee" resultType="string">
SELECT
share_user_id
FROM issue_share_link_visit_record
WHERE
del_flag = '0'
AND
share_link_rec_id = #{linkId}
AND
invitee_user_id = #{invitee}
AND
is_invite_register = 0
LIMIT 1
</select>
<update id="updateInviteRegister">
UPDATE
issue_share_link_visit_record
SET
is_invite_register = '1'
WHERE
del_flag = '0'
AND
share_link_rec_id = #{linkId}
AND
invitee_user_id = #{invitee}
</update>
</mapper>

27
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/SharableTopicAndInviteeFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.resi.group.dto.topic.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 话题分享链接和被邀请人入参Dto
* @ClassName SharableTopicAndInviteeFormDTO
* @Auth wangc
* @Date 2020-12-18 13:43
*/
@Data
public class SharableTopicAndInviteeFormDTO implements Serializable {
private static final long serialVersionUID = 4943940805360726855L;
/**
* 话题分享链接
*/
private String shareLinkId;
/**
* 通过链接进入话题页面用户的Id
*/
private String inviteeId;
}

14
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java

@ -149,4 +149,18 @@ public interface ResiGroupOpenFeignClient {
*/
@PostMapping("resi/group/topicsharelink/topicbelonggroup")
Result<TopicBelongGroupResultDTO> selectTopicBelongGroup(@RequestBody TopicBelongGroupFormDTO formDTO);
/**
* @Description 检查邀请关系如果确实存在邀请关系则返回邀请人Id
* 符合条件
* 链接Id对应
* 邀请人Id对应
* 邀请人在被邀请时的状态为陌生人
* @param param
* @return com.epmet.commons.tools.utils.Result<java.lang.String>
* @author wangc
* @date 2020.12.18 14:53
*/
@PostMapping("resi/group/topicsharelinkvisitrecord/checkinviterelationship")
Result<String> checkInviteRelationship(@RequestBody SharableTopicAndInviteeFormDTO param);
}

5
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java

@ -105,4 +105,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien
public Result<TopicBelongGroupResultDTO> selectTopicBelongGroup(TopicBelongGroupFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectTopicBelongGroup",formDTO);
}
@Override
public Result<String> checkInviteRelationship(SharableTopicAndInviteeFormDTO param) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectTopicBelongGroup",param);
}
}

16
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java

@ -9,6 +9,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService;
import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO;
import com.epmet.resi.group.dto.topic.form.SharableTopicAndInviteeFormDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -64,4 +65,19 @@ public class TopicShareLinkVisitRecordController {
return new Result();
}
/**
* @Description 检查邀请关系如果确实存在邀请关系则返回邀请人Id
* 符合条件
* 链接Id对应
* 邀请人Id对应
* 邀请人在被邀请时的状态为陌生人
* @param param
* @return com.epmet.commons.tools.utils.Result<java.lang.String>
* @author wangc
* @date 2020.12.18 14:53
*/
@PostMapping("checkinviterelationship")
public Result<String> checkInviteRelationship(@RequestBody SharableTopicAndInviteeFormDTO param){
return new Result<String>().ok(topicShareLinkVisitRecordService.checkInviteRelationship(param));
}
}

22
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java

@ -3,6 +3,7 @@ package com.epmet.modules.topic.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 话题分享链接访问记录表
@ -12,5 +13,24 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface TopicShareLinkVisitRecordDao extends BaseDao<TopicShareLinkVisitRecordEntity> {
/**
* @Description 根据邀请Id和邀请人Id查询邀请人的Id
* @param linkId
* @param invitee
* @return String
* @author wangc
* @date 2020.12.18 14:00
*/
String selectByLinkIdAndInvitee(@Param("linkId") String linkId, @Param("invitee") String invitee);
/**
* @Description 修改是否通过链接注册居民由0改为1
* @param linkId
* @param invitee
* @return int
* @author wangc
* @date 2020.12.18 15:46
*/
int updateInviteRegister(@Param("linkId") String linkId, @Param("invitee") String invitee);
}

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java

@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity;
import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO;
import com.epmet.resi.group.dto.topic.form.SharableTopicAndInviteeFormDTO;
import java.util.List;
import java.util.Map;
@ -75,4 +76,13 @@ public interface TopicShareLinkVisitRecordService extends BaseService<TopicShare
* @date 2020-12-18
*/
void delete(String[] ids);
/**
* @Description 校验邀请人与被邀请人是否存在邀请关系如果存在则返回邀请人Id否则返回空
* @param param
* @return java.lang.String
* @author wangc
* @date 2020.12.18 13:56
*/
String checkInviteRelationship(SharableTopicAndInviteeFormDTO param);
}

15
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java

@ -10,6 +10,7 @@ import com.epmet.modules.topic.dao.TopicShareLinkVisitRecordDao;
import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity;
import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService;
import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO;
import com.epmet.resi.group.dto.topic.form.SharableTopicAndInviteeFormDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -79,4 +80,18 @@ public class TopicShareLinkVisitRecordServiceImpl extends BaseServiceImpl<TopicS
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 校验邀请人与被邀请人是否存在邀请关系如果存在则返回邀请人Id否则返回空
* @param param
* @return java.lang.String
* @author wangc
* @date 2020.12.18 13:56
*/
@Override
public String checkInviteRelationship(SharableTopicAndInviteeFormDTO param) {
String inviterId = baseDao.selectByLinkIdAndInvitee(param.getShareLinkId(),param.getInviteeId());
if(StringUtils.isNotBlank(inviterId)) baseDao.updateInviteRegister(param.getShareLinkId(),param.getInviteeId());
return inviterId;
}
}

26
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml

@ -3,5 +3,31 @@
<mapper namespace="com.epmet.modules.topic.dao.TopicShareLinkVisitRecordDao">
<select id="selectByLinkIdAndInvitee" resultType="String">
SELECT
share_user_id
FROM topic_share_link_visit_record
WHERE
del_flag = '0'
AND
share_link_rec_id = #{linkId}
AND
invitee_user_id = #{invitee}
AND
is_invite_register = 0
LIMIT 1
</select>
<update id="updateInviteRegister">
UPDATE
topic_share_link_visit_record
SET
is_invite_register = '1'
WHERE
del_flag = '0'
AND
share_link_rec_id = #{linkId}
AND
invitee_user_id = #{invitee}
</update>
</mapper>

35
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AfterRegisterResidentInSharableLinkFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 在链接中完成了注册居民之后的入参DTO 主要是为了给邀请人发送积分事件并更改邀请关系中的"是否通过邀请注册的居民"标识
* @ClassName AfterRegisterResidentInSharableLinkFormDTO
* @Auth wangc
* @Date 2020-12-18 16:25
*/
@Data
public class AfterRegisterResidentInSharableLinkFormDTO implements Serializable {
private static final long serialVersionUID = 6921156923900693361L;
/**
* 分享链接
*/
@NotBlank(message = "链接Id不能为空")
private String shareLinkId;
/**
* 链接类型 issue议题 topic话题
*/
@NotBlank(message = "链接类型不能为空")
private String linkType;
/**
* 受邀人Id
*/
@NotBlank(message = "用户Id不能为空")
private String inviteeId;
}

12
epmet-user/epmet-user-server/pom.xml

@ -100,6 +100,18 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>resi-group-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-issue-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

11
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -31,6 +33,7 @@ import com.epmet.dto.result.IssueInitiatorResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.excel.UserResiInfoExcel;
import com.epmet.service.UserResiInfoService;
import jdk.nashorn.internal.parser.Token;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -198,4 +201,12 @@ public class UserResiInfoController {
userResiInfoService.editMobile(formDTO);
return new Result();
}
@PostMapping("submitinlink")
public Result submitInLink(@RequestBody AfterRegisterResidentInSharableLinkFormDTO param, @LoginUser TokenDto token){
param.setInviteeId(token.getUserId());
ValidatorUtils.validateEntity(param);
userResiInfoService.submitInLink(param);
return new Result();
}
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserCustomerDao.java

@ -22,4 +22,13 @@ public interface UserCustomerDao extends BaseDao<UserCustomerEntity> {
* @return
*/
int updateRegistered(@Param("customerId") String customerId, @Param("userId") String userId);
/**
* @Description 根据用户Id查询用户-客户关系
* @param userId
* @return com.epmet.entity.UserCustomerEntity
* @author wangc
* @date 2020.12.18 18:05
*/
UserCustomerEntity selectByUserId(@Param("userId") String userId);
}

12
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java

@ -175,4 +175,16 @@ public interface UserResiInfoService extends BaseService<UserResiInfoEntity> {
* @return void
*/
void editMobile(EditMobileFormDTO formDTO);
/**
* @Description 在分享链接之后完成注册居民之后调用的接口
* 作用
* 给邀请人加积分
* 更改邀请浏览记录里"是否通过邀请链接注册居民"
* @param param
* @return void
* @author wangc
* @date 2020.12.18 16:34
*/
void submitInLink(AfterRegisterResidentInSharableLinkFormDTO param);
}

54
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

@ -24,12 +24,17 @@ import com.epmet.common.token.util.UserUtil;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.EpmetRoleKeyConstant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.MqConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO;
import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg;
import com.epmet.commons.tools.enums.EventEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.constant.UserRoleConstant;
import com.epmet.dao.UserCustomerDao;
@ -46,8 +51,12 @@ import com.epmet.entity.UserBaseInfoEntity;
import com.epmet.entity.UserResiInfoEntity;
import com.epmet.entity.UserWechatEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.GovIssueOpenFeignClient;
import com.epmet.redis.UserResiInfoRedis;
import com.epmet.resi.group.dto.topic.form.SharableTopicAndInviteeFormDTO;
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient;
import com.epmet.service.*;
import com.epmet.util.ModuleConstant;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -88,6 +97,10 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
private UserBaseInfoService userBaseInfoService;
@Autowired
private UserWechatDao userWechatService;
@Autowired
private ResiGroupOpenFeignClient resiGroupClient;
@Autowired
private GovIssueOpenFeignClient govIssueClient;
@Override
public PageData<UserResiInfoDTO> page(Map<String, Object> params) {
@ -396,4 +409,45 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
userBaseInfoService.insertOrUpdate(baseInfo);
}
/**
* @Description 在分享链接之后完成注册居民之后调用的接口
* 作用
* 给邀请人加积分
* 更改邀请浏览记录里"是否通过邀请链接注册居民"
* @param param
* @return void
* @author wangc
* @date 2020.12.18 16:34
*/
@Override
public void submitInLink(AfterRegisterResidentInSharableLinkFormDTO param) {
Result<String> response;
if(StringUtils.equals(ModuleConstant.SHARABLE_LINK_FROM_ISSUE,param.getLinkType()))
response = govIssueClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param,SharableIssueAndInviteeFormDTO.class));
else
response = resiGroupClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param, SharableTopicAndInviteeFormDTO.class));
if(null == response || !response.success() || StringUtils.isBlank(response.getData())){
//mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
//事件code
mqBaseMsgDTO.setEventTag(EventEnum.PULL_NEW_RESIDENT.getEventTag());
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(userCustomerDao.selectByUserId(response.getData()).getCustomerId());
pointEventMsg.setUserId(response.getData());
pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false);
pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO);
if(!result.success()){
log.error("拉新用户事件发送失败");
}
}
}
}

8
epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java

@ -46,4 +46,12 @@ public interface ModuleConstant {
String BADGE_AUDIT_MESSAGE = "徽章审核消息";
/**
* 链接类型- 话题
*/
String SHARABLE_LINK_FROM_TOPIC = "topic";
/**
* 链接类型- 议题
*/
String SHARABLE_LINK_FROM_ISSUE = "issue";
}

4
epmet-user/epmet-user-server/src/main/resources/mapper/UserCustomerDao.xml

@ -7,4 +7,8 @@
update user_customer set IS_REGISTER = 1 where CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} and USER_ID = #{userId,jdbcType=VARCHAR}
</update>
<select id="selectByUserId" resultType="com.epmet.entity.UserCustomerEntity">
SELECT * FROM FROM user_customer WHERE del_flag = '0' AND USER_ID = #{userId} LIMIE 1
</select>
</mapper>
Loading…
Cancel
Save