|
|
@@ -14,8 +14,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.goafanti.achievement.bo.AchievementListBo;
|
|
|
+import com.goafanti.achievement.bo.AchievementUserOwnerDetailBo;
|
|
|
import com.goafanti.achievement.service.AchievementService;
|
|
|
import com.goafanti.common.constant.AFTConstants;
|
|
|
+import com.goafanti.common.dao.AchievementKeywordMapper;
|
|
|
import com.goafanti.common.dao.AchievementMapper;
|
|
|
import com.goafanti.common.dao.NoticeMapper;
|
|
|
import com.goafanti.common.dao.UserRoleMapper;
|
|
|
@@ -28,6 +30,7 @@ import com.goafanti.common.enums.NoticeReadStatus;
|
|
|
import com.goafanti.common.enums.NoticeStatus;
|
|
|
import com.goafanti.common.enums.UserType;
|
|
|
import com.goafanti.common.model.Achievement;
|
|
|
+import com.goafanti.common.model.AchievementKeyword;
|
|
|
import com.goafanti.common.model.Admin;
|
|
|
import com.goafanti.common.model.Notice;
|
|
|
import com.goafanti.common.utils.DateUtils;
|
|
|
@@ -44,12 +47,14 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
private UserRoleMapper userRoleMapper;
|
|
|
@Autowired
|
|
|
private NoticeMapper noticeMapper;
|
|
|
+ @Autowired
|
|
|
+ private AchievementKeywordMapper achievementKeywordMapper;
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
- public Pagination<AchievementListBo> listAchievement(Integer auditStatus, Integer serialNumber, String name,
|
|
|
- String keyword, Integer category, Integer ownerType, Integer status, String releaseDateStartDate,
|
|
|
- String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize) {
|
|
|
+ public Pagination<AchievementListBo> listUserOwnerAchievement(String ownerId, Integer auditStatus,
|
|
|
+ Integer serialNumber, String name, String keyword, Integer category, Integer status,
|
|
|
+ String releaseDateStartDate, String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize) {
|
|
|
if (pNo == null || pNo < 0) {
|
|
|
pNo = 1;
|
|
|
}
|
|
|
@@ -57,14 +62,32 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
if (pSize == null || pSize < 0) {
|
|
|
pSize = 10;
|
|
|
}
|
|
|
- return (Pagination<AchievementListBo>) findPage("findManageAchievementListByPage", "findManageAchievementCount",
|
|
|
- disposeParams(auditStatus, serialNumber, name, keyword, category, ownerType, status,
|
|
|
- releaseDateStartDate, releaseDateEndDate, releaseStatus),
|
|
|
+ return (Pagination<AchievementListBo>) findPage("findUserOwnerAchievementListByPage",
|
|
|
+ "findUserOwnerAchievementCount", disposeParams(ownerId, auditStatus, serialNumber, name, keyword,
|
|
|
+ category, status, releaseDateStartDate, releaseDateEndDate, releaseStatus),
|
|
|
pNo, pSize);
|
|
|
}
|
|
|
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
- public void saveAchievement(Achievement a) {
|
|
|
+ public Pagination<AchievementListBo> listOrgOwnerAchievement(String ownerId, Integer auditStatus,
|
|
|
+ Integer serialNumber, String name, String keyword, Integer category, Integer status,
|
|
|
+ String releaseDateStartDate, String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize) {
|
|
|
+ if (pNo == null || pNo < 0) {
|
|
|
+ pNo = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (pSize == null || pSize < 0) {
|
|
|
+ pSize = 10;
|
|
|
+ }
|
|
|
+ return (Pagination<AchievementListBo>) findPage("findOrgOwnerAchievementListByPage",
|
|
|
+ "findOrgOwnerAchievementCount", disposeParams(ownerId, auditStatus, serialNumber, name, keyword,
|
|
|
+ category, status, releaseDateStartDate, releaseDateEndDate, releaseStatus),
|
|
|
+ pNo, pSize);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void saveAchievement(Achievement a, String[] keywords) {
|
|
|
a.setId(UUID.randomUUID().toString());
|
|
|
a.setDeletedSign(DeleteStatus.UNDELETE.getCode());
|
|
|
Calendar now = Calendar.getInstance();
|
|
|
@@ -83,14 +106,16 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
|
|
|
a.setCreateTime(now.getTime());
|
|
|
achievementMapper.insert(a);
|
|
|
+ disposeAchievementKeyword(keywords, a, false);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int updateAchievement(Achievement a) {
|
|
|
+ public int updateAchievement(Achievement a, String[] keywords) {
|
|
|
if (AchievementAuditStatus.SUBMIT.getCode().equals(a.getAuditStatus())) {
|
|
|
a.setAuditStatus(DemandAuditStatus.INAUDIT.getCode());
|
|
|
createAuditorNotice(a);
|
|
|
}
|
|
|
+ disposeAchievementKeyword(keywords, a, true);
|
|
|
return achievementMapper.updateByPrimaryKeySelective(a);
|
|
|
}
|
|
|
|
|
|
@@ -101,6 +126,7 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
|
|
|
@Override
|
|
|
public int deleteByPrimaryKey(List<String> id) {
|
|
|
+ achievementKeywordMapper.batcheDeleteByDemandIds(id);
|
|
|
return achievementMapper.batchDeleteByPrimaryKey(id);
|
|
|
}
|
|
|
|
|
|
@@ -109,9 +135,8 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
public Pagination<AchievementListBo> listUserAchievement(Integer auditStatus, Integer serialNumber, String name,
|
|
|
String keyword, Integer category, Integer ownerType, Integer status, String releaseDateStartDate,
|
|
|
String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize) {
|
|
|
- Map<String, Object> params = disposeParams(auditStatus, serialNumber, name, keyword, category, ownerType,
|
|
|
- status, releaseDateStartDate, releaseDateEndDate, releaseStatus);
|
|
|
- params.put("ownerId", TokenManager.getUserId());
|
|
|
+ Map<String, Object> params = disposeParams(TokenManager.getUserId(), auditStatus, serialNumber, name, keyword,
|
|
|
+ category, status, releaseDateStartDate, releaseDateEndDate, releaseStatus);
|
|
|
if (pNo == null || pNo < 0) {
|
|
|
pNo = 1;
|
|
|
}
|
|
|
@@ -123,8 +148,8 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
pNo, pSize);
|
|
|
}
|
|
|
|
|
|
- private Map<String, Object> disposeParams(Integer auditStatus, Integer serialNumber, String name, String keyword,
|
|
|
- Integer category, Integer ownerType, Integer status, String releaseDateStartDate, String releaseDateEndDate,
|
|
|
+ private Map<String, Object> disposeParams(String ownerId, Integer auditStatus, Integer serialNumber, String name,
|
|
|
+ String keyword, Integer category, Integer status, String releaseDateStartDate, String releaseDateEndDate,
|
|
|
Integer releaseStatus) {
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
|
|
|
@@ -157,6 +182,10 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
params.put("auditStatus", auditStatus);
|
|
|
}
|
|
|
|
|
|
+ if (!StringUtils.isBlank(ownerId)) {
|
|
|
+ params.put("ownerId", ownerId);
|
|
|
+ }
|
|
|
+
|
|
|
if (null != serialNumber) {
|
|
|
params.put("serialNumber", serialNumber);
|
|
|
}
|
|
|
@@ -173,10 +202,6 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
params.put("category", category);
|
|
|
}
|
|
|
|
|
|
- if (null != ownerType) {
|
|
|
- params.put("ownerType", ownerType);
|
|
|
- }
|
|
|
-
|
|
|
if (null != status) {
|
|
|
params.put("status", status);
|
|
|
}
|
|
|
@@ -211,6 +236,12 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
achievementMapper.updateReleaseDate(a.getId());
|
|
|
return achievementMapper.updateByPrimaryKeySelective(a);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AchievementUserOwnerDetailBo selectUserOwnerDetail(String id) {
|
|
|
+ return achievementMapper.selectUserOwnerDetail(id);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private void createTechBorkerNotice(Achievement a) {
|
|
|
noticeMapper.insert(disposeNotice(a, null));
|
|
|
@@ -264,8 +295,25 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
|
|
|
n.setNoticeType(NoticeStatus.ORGANIZATIONACHIEVEMENT.getCode());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return n;
|
|
|
}
|
|
|
+
|
|
|
+ private void disposeAchievementKeyword(String[] keywords, Achievement a, boolean delete){
|
|
|
+ if (null != keywords && keywords.length > 0) {
|
|
|
+ if (delete){
|
|
|
+ achievementKeywordMapper.batcheDeleteByDemandId(a.getId());
|
|
|
+ }
|
|
|
+ List<AchievementKeyword> list = new ArrayList<>();
|
|
|
+ for (int i = 0; i < keywords.length; i++) {
|
|
|
+ AchievementKeyword ak = new AchievementKeyword();
|
|
|
+ ak.setId(UUID.randomUUID().toString());
|
|
|
+ ak.setAchievementId(a.getId());
|
|
|
+ ak.setKeyword(keywords[i].trim());
|
|
|
+ list.add(ak);
|
|
|
+ }
|
|
|
+ achievementKeywordMapper.insertBatch(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+
|
|
|
}
|