提交 3a86dab3 编写于 作者: zhouweidong's avatar zhouweidong

钉钉待办发多人

上级 fb5969af
...@@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
...@@ -124,6 +125,10 @@ public class NotifyCoreService { ...@@ -124,6 +125,10 @@ public class NotifyCoreService {
@Lazy @Lazy
IMsgUserAccountService userAccountService; IMsgUserAccountService userAccountService;
@Autowired
@Lazy
NotifyCoreService notifyCoreService;
/** /**
* 获取钉钉token * 获取钉钉token
* @param openAccess * @param openAccess
...@@ -529,27 +534,42 @@ public class NotifyCoreService { ...@@ -529,27 +534,42 @@ public class NotifyCoreService {
* @return * @return
*/ */
@SneakyThrows @SneakyThrows
public String createWorkRecord(Msg msg){ public Boolean createWorkRecord(Msg msg){
String authUserId=getAuthUserId(msg.getUserids(),MsgType.dingtalk); String authUserId=getAuthUserId(msg.getUserids(),MsgType.dingtalk);
MsgTemplate template=templateService.getById(msg.getTemplateid()); MsgTemplate template=templateService.getById(msg.getTemplateid());
if(template==null){ if(template==null){
throw new BadRequestAlertException(String.format("创建待办失败,无法获取到[%s]对应的rt模板",msg.getTemplateid()),"",""); throw new BadRequestAlertException(String.format("创建待办失败,无法获取到[%s]对应的rt模板",msg.getTemplateid()),"","");
} }
MsgOpenAccess openAccess =template.getOpenaccess(); MsgOpenAccess openAccess =template.getOpenaccess();
OapiWorkrecordAddRequest req = new OapiWorkrecordAddRequest(); notifyCoreService.createWorkRecordByUserIds(authUserId,msg,template,openAccess);
req.setUserid(authUserId); return true;
req.setCreateTime(new Date().getTime()); }
req.setTitle(StringUtils.isEmpty(msg.getTitle())?template.getTemplateName():msg.getTitle());
req.setUrl(StringUtils.isEmpty(msg.getUrl())?template.getTemplateUrl():msg.getUrl()); /**
List<OapiWorkrecordAddRequest.FormItemVo> list2 = new ArrayList<>(); * 异步创建待办
OapiWorkrecordAddRequest.FormItemVo obj3 = new OapiWorkrecordAddRequest.FormItemVo(); * @param userIds
list2.add(obj3); * @param msg
obj3.setTitle(StringUtils.isEmpty(msg.getTitle())?template.getTemplateName():msg.getTitle()); * @param template
obj3.setContent(StringUtils.isEmpty(msg.getContent())?template.getContent():msg.getContent()); * @param openAccess
req.setFormItemList(list2); */
OapiWorkrecordAddResponse rsp = createWorkRecordClient.execute(req, openAccess.getAccessToken()); @Async
getResult(rsp.getBody()); @SneakyThrows
return rsp.getRecordId(); public void createWorkRecordByUserIds(String userIds,Msg msg,MsgTemplate template,MsgOpenAccess openAccess){
for(String userId:userIds.split(",")){
OapiWorkrecordAddRequest req = new OapiWorkrecordAddRequest();
req.setUserid(userId);
req.setCreateTime(new Date().getTime());
req.setTitle(StringUtils.isEmpty(msg.getTitle())?template.getTemplateName():msg.getTitle());
req.setUrl(StringUtils.isEmpty(msg.getUrl())?template.getTemplateUrl():msg.getUrl());
List<OapiWorkrecordAddRequest.FormItemVo> list2 = new ArrayList<>();
OapiWorkrecordAddRequest.FormItemVo obj3 = new OapiWorkrecordAddRequest.FormItemVo();
list2.add(obj3);
obj3.setTitle(StringUtils.isEmpty(msg.getTitle())?template.getTemplateName():msg.getTitle());
obj3.setContent(StringUtils.isEmpty(msg.getContent())?template.getContent():msg.getContent());
req.setFormItemList(list2);
OapiWorkrecordAddResponse rsp = createWorkRecordClient.execute(req, openAccess.getAccessToken());
getResult(rsp.getBody());
}
} }
/** /**
......
...@@ -48,7 +48,7 @@ public class NotifyCoreResource { ...@@ -48,7 +48,7 @@ public class NotifyCoreResource {
* @return * @return
*/ */
@RequestMapping(method = RequestMethod.POST,value = "/dingtalk/createworkrecord") @RequestMapping(method = RequestMethod.POST,value = "/dingtalk/createworkrecord")
public ResponseEntity<String> createDingTalkWorkRecord(@RequestBody Msg msg){ public ResponseEntity<Boolean> createDingTalkWorkRecord(@RequestBody Msg msg){
return ResponseEntity.status(HttpStatus.OK).body(notifyCoreService.createWorkRecord(msg)); return ResponseEntity.status(HttpStatus.OK).body(notifyCoreService.createWorkRecord(msg));
} }
/** /**
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册