Browse Source

Merge branch 'dev_wx_msg' of http://121.42.41.42:7070/r/epmet-cloud into dev_wx_msg

dev_shibei_match
liushaowen 5 years ago
parent
commit
68495228a0
  1. 5
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/WxMsgAuthInfoResultDTO.java
  2. 13
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java
  3. 6
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java
  4. 5
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpTemplateMsgSubscribeStatusEntity.java
  5. 9
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java
  6. 48
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java
  7. 1
      epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__sub_status_add_column.sql
  8. 8
      epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml
  9. 32
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxmpTemplateListFormDTO.java
  10. 30
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/WxmpTemplateListResultDTO.java

5
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/WxMsgAuthInfoResultDTO.java

@ -38,4 +38,9 @@ public class WxMsgAuthInfoResultDTO {
* wx订阅状态 订阅状态(订阅:subscribe 取消订阅:unsubscribe)
*/
private String wxSubscribeStatus;
/**
* 微信openId
*/
private String wxOpenId;
}

13
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java

@ -24,8 +24,10 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.GetTemplateListFormDTO;
import com.epmet.dto.form.WxMsgAuthInfoFormDTO;
import com.epmet.dto.form.WxSubscribeMessageFormDTO;
import com.epmet.dto.form.WxmpTemplateListFormDTO;
import com.epmet.dto.result.GetTemplateListResultDTO;
import com.epmet.dto.result.WxMsgAuthInfoResultDTO;
import com.epmet.dto.result.WxmpTemplateListResultDTO;
import com.epmet.service.WxmpMessageService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -142,4 +144,15 @@ public class WxmpMessageController {
return new Result();
}
/**
* @return
* @Description (外挂)消息-获取订阅消息模板列表
* @author sun
*/
@PostMapping("wxmptemplatelist")
public Result<List<WxmpTemplateListResultDTO>> wxmpTemplateList(@RequestBody WxmpTemplateListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, WxmpTemplateListFormDTO.AddUserInternalGroup.class);
return new Result<List<WxmpTemplateListResultDTO>>().ok(wxmpMessageService.wxmpTemplateList(formDTO));
}
}

6
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java

@ -35,10 +35,12 @@ public interface WxmpTemplateMsgSubscribeStatusDao extends BaseDao<WxmpTemplateM
WxMsgAuthInfoResultDTO getUserSubscribeStatusDTO(@Param("userId") String userId,
@Param("customerId") String customerId,
@Param("clientType") String clientType,
@Param("templateId") String templateId);
@Param("templateId") String templateId,
@Param("openId") String openId);
WxmpTemplateMsgSubscribeStatusEntity getUserSubscribeStatusEntity(@Param("userId") String userId,
@Param("customerId") String customerId,
@Param("clientType") String clientType,
@Param("templateId") String templateId);
@Param("templateId") String templateId,
@Param("openId") String openId);
}

5
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/WxmpTemplateMsgSubscribeStatusEntity.java

@ -76,4 +76,9 @@ public class WxmpTemplateMsgSubscribeStatusEntity extends BaseEpmetEntity {
/**模板id*/
private String templateId;
/**
* 微信openId
*/
private String wxOpenId;
}

9
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/WxmpMessageService.java

@ -19,8 +19,10 @@ package com.epmet.service;
import com.epmet.dto.form.GetTemplateListFormDTO;
import com.epmet.dto.form.WxSubscribeMessageFormDTO;
import com.epmet.dto.form.WxmpTemplateListFormDTO;
import com.epmet.dto.result.GetTemplateListResultDTO;
import com.epmet.dto.result.WxMsgAuthInfoResultDTO;
import com.epmet.dto.result.WxmpTemplateListResultDTO;
import java.util.List;
@ -54,4 +56,11 @@ public interface WxmpMessageService {
* @author sun
*/
List<GetTemplateListResultDTO> templateList(GetTemplateListFormDTO formDTO);
/**
* @return
* @Description 消息-获取订阅消息模板列表
* @author sun
*/
List<WxmpTemplateListResultDTO> wxmpTemplateList(WxmpTemplateListFormDTO formDTO);
}

48
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java

@ -32,7 +32,6 @@ import com.epmet.dao.WxmpResiUserSubscribeDao;
import com.epmet.dao.WxmpTemplateMsgSubscribeStatusDao;
import com.epmet.dao.WxmpUserSubscribeRecordDao;
import com.epmet.dao.WxmpWorkUserSubscribeDao;
import com.epmet.dto.UserWechatDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.*;
@ -94,7 +93,17 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
*/
@Override
public void saveSysAuthorizeInfo(String customerId, String clientType, String alwaysVisit, String subscribeStatus, String userId, String templateId) {
WxmpTemplateMsgSubscribeStatusEntity userSubscribeStatusEntity = msgSubscribeStatusDao.getUserSubscribeStatusEntity(userId, customerId, clientType, templateId);
String openId = null;
switch (clientType) {
case AppClientConstant.APP_GOV:
openId = getWorkOpenId(userId);
break;
case AppClientConstant.APP_RESI:
openId = getResiOpenId(userId);
break;
}
WxmpTemplateMsgSubscribeStatusEntity userSubscribeStatusEntity = msgSubscribeStatusDao.getUserSubscribeStatusEntity(userId, customerId, clientType, templateId, openId);
if (userSubscribeStatusEntity != null) {
userSubscribeStatusEntity.setAlwaysVisit(alwaysVisit);
userSubscribeStatusEntity.setSubscribeStatus(subscribeStatus);
@ -107,6 +116,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
userSubscribeStatusEntity.setClientType(clientType);
userSubscribeStatusEntity.setTemplateId(templateId);
userSubscribeStatusEntity.setAlwaysVisit(alwaysVisit);
userSubscribeStatusEntity.setWxOpenId(openId);
userSubscribeStatusEntity.setSubscribeStatus(subscribeStatus);
userSubscribeStatusEntity.setUserId(userId);
msgSubscribeStatusDao.insert(userSubscribeStatusEntity);
@ -440,7 +450,16 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
@Override
public WxMsgAuthInfoResultDTO getAuthorizationInfo(String customerId, String clientType, String loginUserId, String templateId) {
return msgSubscribeStatusDao.getUserSubscribeStatusDTO(loginUserId, customerId, clientType, templateId);
String openId = null;
switch (clientType) {
case AppClientConstant.APP_RESI:
openId = getResiOpenId(loginUserId);
break;
case AppClientConstant.APP_GOV:
openId = getWorkOpenId(loginUserId);
break;
}
return msgSubscribeStatusDao.getUserSubscribeStatusDTO(loginUserId, customerId, clientType, templateId, openId);
}
@Transactional
@ -472,7 +491,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
subscribeRecordDao.insert(record);
// 3.更新用户模板订阅状态
WxmpTemplateMsgSubscribeStatusEntity subscribeStatusEntity = msgSubscribeStatusDao.getUserSubscribeStatusEntity(userId, customerId, clientType, templateId);
WxmpTemplateMsgSubscribeStatusEntity subscribeStatusEntity = msgSubscribeStatusDao.getUserSubscribeStatusEntity(userId, customerId, clientType, templateId, openId);
if (subscribeStatusEntity == null) {
subscribeStatusEntity = new WxmpTemplateMsgSubscribeStatusEntity();
subscribeStatusEntity.setUserId(userId);
@ -481,6 +500,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
subscribeStatusEntity.setWxAlwaysVisit(wxAlwaysVisit);
subscribeStatusEntity.setCustomerId(customerId);
subscribeStatusEntity.setClientType(clientType);
subscribeStatusEntity.setWxOpenId(openId);
msgSubscribeStatusDao.insert(subscribeStatusEntity);
return;
}
@ -598,4 +618,24 @@ public class WxmpMessageServiceImpl implements WxmpMessageService {
}
return staffBasicInfo.getOpenId();
}
/**
* @return
* @Description 消息-获取订阅消息模板列表
* @author sun
*/
@Override
public List<WxmpTemplateListResultDTO> wxmpTemplateList(WxmpTemplateListFormDTO formDTO) {
List<WxmpTemplateListResultDTO> resultList = new ArrayList<>();
CustomerTemplateListFormDTO dto = ConvertUtils.sourceToTarget(formDTO, CustomerTemplateListFormDTO.class);
List<CustomerTemplateListResultDTO> list = customerTemplateList(dto);
list.forEach(l->{
if(formDTO.getClientType().equals(l.getClientType())){
WxmpTemplateListResultDTO result = ConvertUtils.sourceToTarget(l, WxmpTemplateListResultDTO.class);
resultList.add(result);
}
});
return resultList;
}
}

1
epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.12.3__sub_status_add_column.sql

@ -0,0 +1 @@
alter table wxmp_template_msg_subscribe_status add column WX_OPEN_ID varchar(64) not null ;

8
epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/WxmpTemplateMsgSubscribeStatusDao.xml

@ -17,12 +17,14 @@
created_by,
created_time,
updated_by,
updated_time
updated_time,
WX_OPEN_ID
from wxmp_template_msg_subscribe_status status
where USER_ID = #{userId}
and CUSTOMER_ID = #{customerId}
and CLIENT_TYPE = #{clientType}
and TEMPLATE_ID = #{templateId}
and WX_OPEN_ID = #{openId}
</select>
<select id="getUserSubscribeStatusEntity" resultType="com.epmet.entity.WxmpTemplateMsgSubscribeStatusEntity">
@ -39,11 +41,13 @@
created_by,
created_time,
updated_by,
updated_time
updated_time,
WX_OPEN_ID
from wxmp_template_msg_subscribe_status status
where USER_ID = #{userId}
and CUSTOMER_ID = #{customerId}
and CLIENT_TYPE = #{clientType}
and TEMPLATE_ID = #{templateId}
and OPEN_ID = #{openId}
</select>
</mapper>

32
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/WxmpTemplateListFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 消息-获取订阅消息模板列表-接口入参
* @Author sun
*/
@Data
public class WxmpTemplateListFormDTO implements Serializable {
/**
* 客户Id
*/
@NotBlank(message="客户Id不能为空", groups = {AddUserInternalGroup.class})
private String customerId;
/**
* 微信公共模板库模板Id
*/
@NotBlank(message="公共模板Id不能为空", groups = {AddUserInternalGroup.class})
private String publicId;
/**
* 所属端(居民端:resi 工作端:work)
*/
@NotBlank(message="所属端不能为空", groups = {AddUserInternalGroup.class})
private String clientType;
public interface AddUserInternalGroup {}
}

30
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/WxmpTemplateListResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 消息-获取订阅消息模板列表-接口返参
* @Author sun
*/
@Data
public class WxmpTemplateListResultDTO implements Serializable {
private static final long serialVersionUID = 6856602932571839314L;
/**
* 模板Id
*/
private String templateId;
/**
* 模板类型站内信提醒
*/
private String templateType;
/**
* 所属端居民端resi 工作端work
*/
private String clientType;
}
Loading…
Cancel
Save