|
@@ -1,9 +1,11 @@
|
|
|
package cn.com.ctop.okr.service.impl;
|
|
|
|
|
|
+import cn.com.ctop.okr.controller.QyWxController;
|
|
|
import cn.com.ctop.okr.dto.UserInfoDto;
|
|
|
import cn.com.ctop.okr.entity.*;
|
|
|
import cn.com.ctop.okr.mapper.*;
|
|
|
import cn.com.ctop.okr.service.*;
|
|
|
+import cn.com.ctop.okr.utils.CorpWexinUtils;
|
|
|
import cn.com.ctop.okr.utils.DateUtils;
|
|
|
import cn.com.ctop.okr.utils.ResultMapUtils;
|
|
|
import cn.com.ctop.okr.utils.StatusCode;
|
|
@@ -29,7 +31,7 @@ public class OkrServiceImpl implements OkrService {
|
|
|
@Autowired
|
|
|
private IOkrTaskInfoService okrTaskInfoService;
|
|
|
@Autowired
|
|
|
- private QYWxUserInfoMapper wxUserInfoMapper;
|
|
|
+ private IQYWxUserInfoService wxUserInfoService;
|
|
|
@Autowired
|
|
|
private IOkrTaskInfoDisclosureService okrTaskInfoDisclosureService;
|
|
|
@Autowired
|
|
@@ -150,7 +152,7 @@ public class OkrServiceImpl implements OkrService {
|
|
|
okrTaskInfoService.insertTaskInfo(taskInfo);
|
|
|
|
|
|
insertTaskPublicIds(taskInfo,taskInfo.getPublicIds());
|
|
|
- insertTaskRemindIds(taskInfo,taskInfo.getRemindIds());
|
|
|
+ insertTaskRemindIds(sysUser.getName(),taskInfo,taskInfo.getRemindIds());
|
|
|
//日志留存
|
|
|
Integer opration;
|
|
|
if(taskInfo.getType() == 1){
|
|
@@ -180,7 +182,7 @@ public class OkrServiceImpl implements OkrService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- private void insertTaskRemindIds(OkrTaskInfo taskInfo,List<String>remindIds){
|
|
|
+ private void insertTaskRemindIds(String userName,OkrTaskInfo taskInfo,List<String>remindIds){
|
|
|
if(null!=remindIds&&!remindIds.isEmpty()){
|
|
|
for(String remindId:remindIds){
|
|
|
OkrTaskInfoRemind remind = new OkrTaskInfoRemind();
|
|
@@ -190,18 +192,27 @@ public class OkrServiceImpl implements OkrService {
|
|
|
//部门
|
|
|
if(ids.length == 1){
|
|
|
remind.setRemindType(1);
|
|
|
+ List<String>wechatIds = qyWxDepartInfoService.getUserIdByDepartId(Long.parseLong(ids[0]));
|
|
|
+ CorpWexinUtils.sendMessage(wechatIds,userName+"在okr中@了你: "+taskInfo.getTaskTitle());
|
|
|
}
|
|
|
if(ids.length == 2){
|
|
|
remind.setRemindType(2);
|
|
|
+ QYWxUserInfo userInfo = wxUserInfoService.getByOpenId(ids[0]);
|
|
|
+ if(null!=userInfo){
|
|
|
+ CorpWexinUtils.sendMessageByWeChatId(userInfo.getUserid(),userName+"在okr中@了你: "+taskInfo.getTaskTitle());
|
|
|
+ }
|
|
|
}
|
|
|
remind.setRemindId(ids[0]);
|
|
|
remind.setStatus(1);
|
|
|
okrTaskInfoRemindService.save(remind);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //更新任务
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private QYWxDepartInfoService qyWxDepartInfoService;
|
|
|
+ //更新任务
|
|
|
@Override
|
|
|
public void updateTaskInfo(OkrTaskInfo taskInfo){
|
|
|
List<String>publicIds = taskInfo.getRemindIds();
|
|
@@ -213,11 +224,11 @@ public class OkrServiceImpl implements OkrService {
|
|
|
taskInfo = okrTaskInfoService.selectById(taskInfo.getId());
|
|
|
okrTaskInfoDisclosureService.deleteByTaskId(taskInfo.getId());
|
|
|
okrTaskInfoRemindService.deleteByTaskId(taskInfo.getId());
|
|
|
- insertTaskPublicIds(taskInfo,publicIds);
|
|
|
- insertTaskRemindIds(taskInfo,remindIds);
|
|
|
-
|
|
|
QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
|
String userId = sysUser.getOpenId();
|
|
|
+ insertTaskPublicIds(taskInfo,publicIds);
|
|
|
+ insertTaskRemindIds(sysUser.getName(),taskInfo,remindIds);
|
|
|
+
|
|
|
//日志留存
|
|
|
Integer operation;
|
|
|
if(taskInfo.getType() == 1){
|
|
@@ -270,13 +281,13 @@ public class OkrServiceImpl implements OkrService {
|
|
|
krInfo.setQuarter(quarter);
|
|
|
okrKrInfoMapper.insertOkrKrInfo(krInfo);
|
|
|
insertKrPublicIds(krInfo,krInfo.getPublicIds());
|
|
|
- insertKrRemindIds(krInfo,krInfo.getRemindIds());
|
|
|
+ insertKrRemindIds(sysUser.getName(),krInfo,krInfo.getRemindIds());
|
|
|
//日志留存
|
|
|
okrLogService.insertOkrLog(1,2,krInfo.getId(),year,quarter,JSONObject.toJSONString(krInfo),userId);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void insertKrRemindIds(OkrKrInfo krInfo,List<String>remindIds){
|
|
|
+ private void insertKrRemindIds(String username,OkrKrInfo krInfo,List<String>remindIds){
|
|
|
if(null!=remindIds&&!remindIds.isEmpty()){
|
|
|
for(String remindId:remindIds){
|
|
|
OkrObjectInfoRemind remind = new OkrObjectInfoRemind();
|
|
@@ -286,9 +297,17 @@ public class OkrServiceImpl implements OkrService {
|
|
|
//部门
|
|
|
if(ids.length == 1){
|
|
|
remind.setRemindType(1);
|
|
|
+ List<String>wechatIds = qyWxDepartInfoService.getUserIdByDepartId(Long.parseLong(ids[0]));
|
|
|
+ if(null!=wechatIds&&!wechatIds.isEmpty()){
|
|
|
+ CorpWexinUtils.sendMessage(wechatIds,username+"在OKR中@你了: "+krInfo.getKrInfo());
|
|
|
+ }
|
|
|
}
|
|
|
if(ids.length == 2){
|
|
|
remind.setRemindType(2);
|
|
|
+ QYWxUserInfo userInfo = wxUserInfoService.getByOpenId(ids[0]);
|
|
|
+ if(null!=userInfo){
|
|
|
+ CorpWexinUtils.sendMessageByWeChatId(userInfo.getUserid(),username+"在OKR中@你了: "+krInfo.getKrInfo());
|
|
|
+ }
|
|
|
}
|
|
|
remind.setRemindId(ids[0]);
|
|
|
remind.setStatus(1);
|
|
@@ -334,11 +353,11 @@ public class OkrServiceImpl implements OkrService {
|
|
|
krInfoservice.updateKrInfo(krInfo);
|
|
|
okrObjectInfoDisclosureService.deleteByKrId(krInfo.getId());
|
|
|
okrObjectInfoRemindService.deleteByKrId(krInfo.getId());
|
|
|
- insertKrPublicIds(krInfo,publicIds);
|
|
|
- insertKrRemindIds(krInfo,remindIds);
|
|
|
-
|
|
|
QYWxUserInfo sysUser = (QYWxUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
|
String userId = sysUser.getOpenId();
|
|
|
+ insertKrPublicIds(krInfo,publicIds);
|
|
|
+ insertKrRemindIds(sysUser.getName(),krInfo,remindIds);
|
|
|
+
|
|
|
//日志留存
|
|
|
okrLogService.insertOkrLog(2,2,krInfo.getId(),DateUtils.getYear(new Date()),DateUtils.getQuarter(new Date()),JSONObject.toJSONString(krInfo),userId);
|
|
|
}
|
|
@@ -442,7 +461,7 @@ public class OkrServiceImpl implements OkrService {
|
|
|
}
|
|
|
|
|
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
- List<OkrObjectInfo> OkrObjectInfoList = okrObjectInfoService.getFollowQuarterObject(name,year, quarter,(pageNumber-1)*pageSize,pageSize);
|
|
|
+ List<OkrObjectInfo> OkrObjectInfoList = okrObjectInfoService.getFollowQuarterObject(openId,name,year, quarter,(pageNumber-1)*pageSize,pageSize);
|
|
|
for(OkrObjectInfo object:OkrObjectInfoList){
|
|
|
Map<String, Object> okrmap = getOkrMap(object,openId,year,quarter);
|
|
|
mapList.add(okrmap);
|
|
@@ -459,7 +478,7 @@ public class OkrServiceImpl implements OkrService {
|
|
|
Map<String,Object>okrmap = new HashMap<>();
|
|
|
List<OkrKrInfo> krList = okrKrInfoMapper.getKrByObjectId(object.getId(), object.getUserId(), year, quarter);
|
|
|
List<OkrKrInfo>setList =checkKrList(krList,openId);
|
|
|
- QYWxUserInfo userInfo = wxUserInfoMapper.getUserInfoByOpenId(object.getUserId());
|
|
|
+ QYWxUserInfo userInfo = wxUserInfoService.getByOpenId(object.getUserId());
|
|
|
OkrFocusInfo focusInfo = focusInfoService.getByParams(object.getUserId(),openId);
|
|
|
if(null == focusInfo){
|
|
|
okrmap.put("follow",false);
|
|
@@ -629,7 +648,7 @@ public class OkrServiceImpl implements OkrService {
|
|
|
okrKrInfoMapper.insertOkrKrInfo(krInfo);
|
|
|
|
|
|
insertKrPublicIds(krInfo,krInfo.getPublicIds());
|
|
|
- insertKrRemindIds(krInfo,krInfo.getRemindIds());
|
|
|
+ insertKrRemindIds(sysUser.getName(),krInfo,krInfo.getRemindIds());
|
|
|
|
|
|
//日志留存
|
|
|
okrLogService.insertOkrLog(1,2,krInfo.getId(),year,quarter,JSONObject.toJSONString(krInfo),userId);
|