diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ActivationSubscribeFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ActivationSubscribeFormDTO.java new file mode 100644 index 0000000000..3531f5b36d --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ActivationSubscribeFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Description 居民端、工作端-重新激活授权页-接口入参 + * @author sun + */ +@Data +public class ActivationSubscribeFormDTO { + + @NotBlank(message = "客户id不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String customerId; + @NotBlank(message = "客户端类型不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String clientType; + @NotBlank(message = "模板ID不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String templateId; + @NotBlank(message = "'是否总是允许'选项不能为空", groups = { UpdateWxSubscribeInfoGroup.class }) + private String alwaysVisit; + /** + * token中用户Id + */ + private String userId; + /** + * 用户对应的openId(居民端一对一,工作端一对多) + */ + private String openId; + public interface UpdateWxSubscribeInfoGroup {} + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java index 035bc45c2d..b600285971 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/WxmpMessageController.java @@ -21,6 +21,7 @@ import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.ActivationSubscribeFormDTO; import com.epmet.dto.form.GetTemplateListFormDTO; import com.epmet.dto.form.WxMsgAuthInfoFormDTO; import com.epmet.dto.form.WxSubscribeMessageFormDTO; @@ -145,4 +146,17 @@ public class WxmpMessageController { return new Result(); } + /** + * @return + * @Description 居民端、工作端-重新激活授权页 + * @author sun + */ + @PostMapping("activationsubscribe") + public Result activationSubscribe(@RequestBody ActivationSubscribeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ActivationSubscribeFormDTO.UpdateWxSubscribeInfoGroup.class); + formDTO.setUserId(loginUserUtil.getLoginUserId()); + wxmpMessageService.activationSubscribe(formDTO); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java index 75b577fce7..abf82c8ed9 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/WxmpTemplateMsgSubscribeStatusDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ActivationSubscribeFormDTO; import com.epmet.dto.result.WxMsgAuthInfoResultDTO; import com.epmet.entity.WxmpTemplateMsgSubscribeStatusEntity; import org.apache.ibatis.annotations.Mapper; @@ -43,4 +44,12 @@ public interface WxmpTemplateMsgSubscribeStatusDao extends BaseDao templateList(GetTemplateListFormDTO formDTO); + /** + * @return + * @Description 居民端、工作端-重新激活授权页 + * @author sun + */ + void activationSubscribe(ActivationSubscribeFormDTO formDTO); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index f7ba9f59be..2fa844c869 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -619,4 +619,29 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { return staffBasicInfo.getOpenId(); } + /** + * @return + * @Description 居民端、工作端-重新激活授权页 + * @author sun + */ + @Override + public void activationSubscribe(ActivationSubscribeFormDTO formDTO) { + //1.根据所属端和用户Id查询对应的openId + String openId = ""; + if (AppClientConstant.APP_GOV.equals(formDTO.getClientType())) { + // 工作端 + openId = getWorkOpenId(formDTO.getUserId()); + } else { + //居民端 + openId = getResiOpenId(formDTO.getUserId()); + } + formDTO.setOpenId(openId); + //2.更新我们自己授权页用户授权状态 + if(msgSubscribeStatusDao.updateUserSubscribe(formDTO) + + + UPDATE wxmp_template_msg_subscribe_status + SET ALWAYS_VISIT = #{alwaysVisit}, + UPDATED_BY = #{userId}, + UPDATED_TIME = NOW() + WHERE + del_flag = '0' + AND customer_id = #{customerId} + AND client_type = #{clientType} + AND user_id = #{userId} + AND wx_open_id = #{openId} + AND template_id = #{templateId} + + \ No newline at end of file