Antiloveg 8 years ago
parent
commit
c6630ca3fd

+ 50 - 18
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -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;
 	}
 
 }

+ 4 - 1
src/main/java/com/goafanti/common/mapper/DemandMapper.xml

@@ -798,13 +798,16 @@
 	  d.id, d.serial_number as serialNumber, d.data_category as dataCategory, 
 	  d.name, d.keyword, d.demand_type as demandType, 
 	  d.validity_period as validityPeriod, d.status, d.release_status as releaseStatus, 
-	  d.release_date as releaseDate, d.employer_id as employerId
+	  d.release_date as releaseDate, d.employer_id as employerId, d.audit_status as auditStatus
 	from  demand d 
 	where d.deleted_sign = 0 
 	and d.employer_id = #{employerId, jdbcType=VARCHAR}
 	<if test="serialNumber != null">
 		and  d.serial_number = #{serialNumber,jdbcType=INTEGER}
 	</if>
+	<if test="auditStatus != null">
+		and  d.audit_status = #{auditStatus,jdbcType=INTEGER}
+	</if>
 	<if test="name != null">
 		and  d.name = #{name,jdbcType=VARCHAR}
 	</if>

+ 2 - 2
src/main/java/com/goafanti/demand/controller/DemandApiController.java

@@ -36,7 +36,7 @@ public class DemandApiController extends CertifyApiController{
 	 * 用户需求列表
 	 */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
-	public Result list(Integer serialNumber, String name, String keyword, Integer demandType,
+	public Result list(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer demandType,
 			String validityPeriodStartDate, String validityPeriodEndDate, Integer status,
 			Integer releaseStatus, String releaseDateStartDate, String releaseDateEndDate, String pageNo,
 			String pageSize) {
@@ -50,7 +50,7 @@ public class DemandApiController extends CertifyApiController{
 		if (StringUtils.isNumeric(pageNo)) {
 			pNo = Integer.parseInt(pageNo);
 		}
-		res.setData(demandService.listDemand(serialNumber, name, keyword, demandType,
+		res.setData(demandService.listDemand(auditStatus, serialNumber, name, keyword, demandType,
 				validityPeriodStartDate, validityPeriodEndDate, status, releaseStatus, releaseDateStartDate,
 				releaseDateEndDate, pNo, pSize));
 		return res;

+ 1 - 1
src/main/java/com/goafanti/demand/service/DemandService.java

@@ -33,7 +33,7 @@ public interface DemandService {
 	Demand selectByPrimaryKey(String id);
 
 
-	Pagination<DemandListBo> listDemand(Integer serialNumber, String name, String keyword, Integer demandType,
+	Pagination<DemandListBo> listDemand(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer demandType,
 			String validityPeriodStartDate, String validityPeriodEndDate, Integer status,
 			Integer releaseStatus, String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize);
 

+ 6 - 1
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -359,7 +359,7 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<DemandListBo> listDemand(Integer serialNumber, String name, String keyword, Integer demandType,
+	public Pagination<DemandListBo> listDemand(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer demandType,
 			String validityPeriodStartDate, String validityPeriodEndDate, Integer status, Integer releaseStatus,
 			String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize) {
 		Map<String, Object> params = new HashMap<>();
@@ -413,6 +413,10 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 		if (null != rEnd) {
 			params.put("rEnd", rEnd);
 		}
+		
+		if (null != auditStatus){
+			params.put("auditStatus", auditStatus);
+		}
 
 		if (null != serialNumber) {
 			params.put("serialNumber", serialNumber);
@@ -465,6 +469,7 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			now.set(Calendar.MILLISECOND, 0);
 			d.setReleaseDate(now.getTime());
 			d.setReleaseStatus(DemandReleaseStatus.RELEASED.getCode());
+			d.setTechBrokerId(techBroderId);
 		} else {
 			d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
 		}