增加任务分类
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
package cn.iocoder.yudao.module.system.enums.wxcp;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum WxCpMsgTypeEnum {
|
||||
|
||||
project,
|
||||
|
||||
task;
|
||||
|
||||
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package cn.iocoder.yudao.module.system.controller.admin.CpUser.dto;
|
||||
|
||||
import cn.iocoder.yudao.module.system.enums.wxcp.WxCpMsgTypeEnum;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@ApiModel("企业微信发送推送消息")
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CpMessageDto {
|
||||
|
||||
private WxCpMsgTypeEnum typeEnum;
|
||||
|
||||
private Long id;
|
||||
|
||||
// 标题
|
||||
private String title;
|
||||
|
||||
// 子标题
|
||||
private String description;
|
||||
private Map<String,String> contentItems;
|
||||
|
||||
// 是否放大第一对item
|
||||
private Boolean emphasisFirstItem;
|
||||
|
||||
/**
|
||||
* 用于微信消息推送的 - 模板ID 不一定适用于企业微信
|
||||
*/
|
||||
private String templateId;
|
||||
|
||||
/**
|
||||
* 接收人userid
|
||||
*/
|
||||
private List<String> reciveIds;
|
||||
|
||||
}
|
||||
+3
@@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.system.service.CpUser;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
|
||||
import cn.iocoder.yudao.module.system.controller.admin.CpUser.dto.CpMessageDto;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.CpUser.vo.*;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.CpUser.CpUserDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
@@ -73,4 +75,5 @@ public interface CpUserService extends IService<CpUserDO> {
|
||||
|
||||
void cpUserSync() throws WxErrorException;
|
||||
|
||||
void sendMessage(CpMessageDto cpMessage) throws WxErrorException;
|
||||
}
|
||||
|
||||
+25
@@ -1,6 +1,9 @@
|
||||
package cn.iocoder.yudao.module.system.service.CpUser;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.CpUser.dto.CpMessageDto;
|
||||
import cn.iocoder.yudao.module.system.enums.wxcp.WxCpMsgTypeEnum;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -8,6 +11,7 @@ import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.cp.api.WxCpService;
|
||||
import me.chanjar.weixin.cp.bean.WxCpDepart;
|
||||
import me.chanjar.weixin.cp.bean.WxCpUser;
|
||||
import me.chanjar.weixin.cp.bean.message.WxCpMessage;
|
||||
import me.chanjar.weixin.cp.config.WxCpConfigStorage;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -102,6 +106,7 @@ public class CpUserServiceImpl extends ServiceImpl<CpUserMapper,CpUserDO> implem
|
||||
return cpUserMapper.selectList(exportReqVO);
|
||||
}
|
||||
|
||||
|
||||
public void cpUserSync() throws WxErrorException {
|
||||
WxCpConfigStorage config = wxCpService.getWxCpConfigStorage();
|
||||
List<WxCpDepart> departList = wxCpService.getDepartmentService().list(null);
|
||||
@@ -131,4 +136,24 @@ public class CpUserServiceImpl extends ServiceImpl<CpUserMapper,CpUserDO> implem
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void sendMessage(CpMessageDto cpMessage) throws WxErrorException {
|
||||
WxCpMessage message = new WxCpMessage();
|
||||
String agentId = wxCpService.getWxCpConfigStorage().getAgentId().toString();
|
||||
|
||||
String page = String.format("/pages/task/%sDetail/index?id=%d",
|
||||
cpMessage.getTypeEnum().equals(WxCpMsgTypeEnum.project) ? "project" : "task",
|
||||
cpMessage.getId());
|
||||
|
||||
message.setMsgType("miniprogram_notice");
|
||||
message.setAppId(agentId);
|
||||
message.setPage(page);
|
||||
message.setTitle(cpMessage.getTitle());
|
||||
message.setDescription(cpMessage.getDescription());
|
||||
message.setContentItems(cpMessage.getContentItems());
|
||||
message.setToUser(String.join("|", cpMessage.getReciveIds()));
|
||||
wxCpService.getMessageService().send(message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user