Browse Source

任务通知消息 新增内容

zyh
WIN-IDGBLFHC1K6\Administrator 3 years ago
parent
commit
103837e0f3
  1. 40
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/annotation/FarmMsgAspect.java

40
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/annotation/FarmMsgAspect.java

@ -6,6 +6,9 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.farm.controller.admin.task.dto.TaskAssemblyDTO;
import cn.iocoder.yudao.module.farm.controller.admin.task.dto.TaskDetailDTO;
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.discuss.DiscussDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.logMsg.LogMsgDO;
import cn.iocoder.yudao.module.farm.dal.dataobject.project.ProjectDO;
@ -16,6 +19,8 @@ import cn.iocoder.yudao.module.farm.dal.mysql.logMsg.LogMsgMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.project.ProjectMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.task.TaskMapper;
import cn.iocoder.yudao.module.farm.dal.mysql.taskCate.TaskCateMapper;
import cn.iocoder.yudao.module.farm.service.area.AreaService;
import cn.iocoder.yudao.module.farm.service.task.TaskService;
import cn.iocoder.yudao.module.system.dal.dataobject.CpUser.CpUserDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.dal.mysql.CpUser.CpUserMapper;
@ -66,6 +71,10 @@ public class FarmMsgAspect {
private AdminUserMapper adminUserMapper;
@Resource
private WxCpService wxCpService;
@Resource
private TaskService taskService;
@Resource
private AreaService areaService;
@Value("${wxma.app_id}")
private String appid;
@ -131,6 +140,8 @@ public class FarmMsgAspect {
return object;
}
//发送小程序通知消息
public void sendMiniMsg(CpUserDO createUser, FarmMsgDTO farmMsgDTO, String toUserStr) throws WxErrorException {
// 发小程序
@ -148,17 +159,36 @@ public class FarmMsgAspect {
message.setDescription(LocalDateTimeUtil.formatNormal(LocalDateTime.now()));
message.setPage(farmMsgDTO.getType().equals(FarmMsgTypeEnum.PROJECT) ? "pages/project/index" : "pages/task/taskDetail/index?id="+ farmMsgDTO.getId());
Map<String, String> map2 = new HashMap<>();
map2.put("发起人", createUser.getName());
map2.put("内容", ObjectUtil.isEmpty(farmMsgDTO.getMsg()) ? farmMsgDTO.getTitle() : farmMsgDTO.getMsg());
message.setContentItems(map2);
LinkedHashMap<String, String> map = new LinkedHashMap<>();
map.put("发起人", createUser.getName());
if (farmMsgDTO.getType().equals(FarmMsgTypeEnum.PROJECT)){
map.put("内容", farmMsgDTO.getTitle());
}else if(farmMsgDTO.getType().equals(FarmMsgTypeEnum.TASK)){
this.taskDetail(farmMsgDTO.getId(), map);
}
message.setContentItems(map);
log.info("企业微信小程序通知消息发送内容:{}", message);
WxCpMessageSendResult result = wxCpMessageService.send(message);
log.info("企业微信小程序通知消息发送结果:{}",result);
}
/**
* 发送消息为任务时的内容
*/
public Map<String, String> taskDetail(Long taskId, Map<String, String> map){
Map<Long, TaskAssemblyDTO> assemblyMap = taskService.taskAssemble(Arrays.asList(taskService.getTask(taskId)));
TaskAssemblyDTO dto = assemblyMap.get(taskId) ;
dto.getAreas().forEach(area ->{
AreaDO sonArea = areaService.getArea(area);
AreaDO parentArea = areaService.getArea(sonArea.getParentId());
map.put("田区", parentArea.getName());
map.put("田区代号", sonArea.getName());
});
map.put("类型", dto.getTaskName());
map.put("内容", dto.getTaskMsg());
return map;
}
/**
* @Description 获取需要接受信息的成员

Loading…
Cancel
Save