|
|
@@ -1,6 +1,7 @@
|
|
|
package com.goafanti.achievement.service.impl;
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
@@ -195,9 +196,11 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
now.set(Calendar.MILLISECOND, 0);
|
|
|
a.setReleaseDate(now.getTime());
|
|
|
a.setReleaseStatus(DemandReleaseStatus.RELEASED.getCode());
|
|
|
+ a.setTechBrokerId(techBroderId);
|
|
|
} else {
|
|
|
a.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
|
|
|
}
|
|
|
+ createTechBorkerNotice(a);
|
|
|
return achievementMapper.updateByPrimaryKeySelective(a);
|
|
|
}
|
|
|
|
|
|
@@ -209,31 +212,60 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
return achievementMapper.updateByPrimaryKeySelective(a);
|
|
|
}
|
|
|
|
|
|
+ private void createTechBorkerNotice(Achievement a) {
|
|
|
+ noticeMapper.insert(disposeNotice(a, null));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
// 给所有审核员发送审核通知
|
|
|
private void createAuditorNotice(Achievement a) {
|
|
|
List<String> ids = userRoleMapper.listAuditor();
|
|
|
+ List<Notice> list = new ArrayList<>();
|
|
|
if (null != ids && ids.size() > 0) {
|
|
|
for (String s : ids) {
|
|
|
- Notice n = new Notice();
|
|
|
- Calendar now = Calendar.getInstance();
|
|
|
- now.set(Calendar.MILLISECOND, 0);
|
|
|
- n.setId(UUID.randomUUID().toString());
|
|
|
- n.setCreateTime(now.getTime());
|
|
|
- n.setReaded(NoticeReadStatus.UNREAD.getCode());
|
|
|
- n.setRid(a.getId());
|
|
|
- n.setAid(s);
|
|
|
- if (UserType.PERSONAL.getCode().equals(a.getOwnerType())) {
|
|
|
- n.setContent(NoticeStatus.PERSONALACHIEVEMENTT.getDesc() + " "
|
|
|
- + AchievementAuditStatus.SUBMIT.getDesc());
|
|
|
- n.setNoticeType(NoticeStatus.PERSONALACHIEVEMENTT.getCode());
|
|
|
- } else if (UserType.ORGANIZATION.getCode().equals(a.getOwnerType())) {
|
|
|
- n.setContent(NoticeStatus.ORGANIZATIONACHIEVEMENT.getDesc() + " "
|
|
|
- + AchievementAuditStatus.SUBMIT.getDesc());
|
|
|
- n.setNoticeType(NoticeStatus.ORGANIZATIONACHIEVEMENT.getCode());
|
|
|
- }
|
|
|
- noticeMapper.insert(n);
|
|
|
+ list.add(disposeNotice(a, s));
|
|
|
+ }
|
|
|
+ noticeMapper.insertBatch(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private Notice disposeNotice(Achievement a, String aid) {
|
|
|
+ Notice n = new Notice();
|
|
|
+ Calendar now = Calendar.getInstance();
|
|
|
+ now.set(Calendar.MILLISECOND, 0);
|
|
|
+ n.setId(UUID.randomUUID().toString());
|
|
|
+ n.setCreateTime(now.getTime());
|
|
|
+ n.setReaded(NoticeReadStatus.UNREAD.getCode());
|
|
|
+ n.setRid(a.getId());
|
|
|
+ if (StringUtils.isBlank(aid)) {
|
|
|
+ n.setAid(a.getTechBrokerId());
|
|
|
+ if (UserType.PERSONAL.getCode().equals(a.getOwnerType())) {
|
|
|
+ n.setContent(NoticeStatus.PERSONALACHIEVEMENTT.getDesc() + " "
|
|
|
+ + (AchievementAuditStatus.AUDITED.getCode().equals(a.getAuditStatus())
|
|
|
+ ? AchievementAuditStatus.AUDITED.getDesc()
|
|
|
+ : AchievementAuditStatus.UNAUDITED.getDesc()));
|
|
|
+ n.setNoticeType(NoticeStatus.PERSONALACHIEVEMENTT.getCode());
|
|
|
+ } else if (UserType.ORGANIZATION.getCode().equals(a.getOwnerType())) {
|
|
|
+ n.setContent(NoticeStatus.ORGANIZATIONACHIEVEMENT.getDesc() + " "
|
|
|
+ + (AchievementAuditStatus.AUDITED.getCode().equals(a.getAuditStatus())
|
|
|
+ ? AchievementAuditStatus.AUDITED.getDesc()
|
|
|
+ : AchievementAuditStatus.UNAUDITED.getDesc()));
|
|
|
+ n.setNoticeType(NoticeStatus.ORGANIZATIONACHIEVEMENT.getCode());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ n.setAid(aid);
|
|
|
+ if (UserType.PERSONAL.getCode().equals(a.getOwnerType())) {
|
|
|
+ n.setContent(
|
|
|
+ NoticeStatus.PERSONALACHIEVEMENTT.getDesc() + " " + AchievementAuditStatus.SUBMIT.getDesc());
|
|
|
+ n.setNoticeType(NoticeStatus.PERSONALACHIEVEMENTT.getCode());
|
|
|
+ } else if (UserType.ORGANIZATION.getCode().equals(a.getOwnerType())) {
|
|
|
+ n.setContent(
|
|
|
+ NoticeStatus.ORGANIZATIONACHIEVEMENT.getDesc() + " " + AchievementAuditStatus.SUBMIT.getDesc());
|
|
|
+ n.setNoticeType(NoticeStatus.ORGANIZATIONACHIEVEMENT.getCode());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ return n;
|
|
|
}
|
|
|
|
|
|
}
|